Discover this podcast and so much more

Podcasts are free to enjoy without a subscription. We also offer ebooks, audiobooks, and so much more for just $11.99/month.

RR 317: Computer Science at University and the Future of Programming with Dave Thomas

RR 317: Computer Science at University and the Future of Programming with Dave Thomas

FromRuby Rogues


RR 317: Computer Science at University and the Future of Programming with Dave Thomas

FromRuby Rogues

ratings:
Length:
54 minutes
Released:
Jul 4, 2017
Format:
Podcast episode

Description

RR 317: Computer Science at University and the Future of Programming with Dave Thomas

Charles Max Wood interviews Dave Thomas about the Computer Science course he's teaching at Southern Methodist University, Elixir, and the future of programming. Dave is the author and co-author of several well known programming books including Programming Ruby (also known as the PickAxe Book), Programming Elixir, and the Pragmatic Programmer. This episode starts out discussing Dave's course and Computer Science education, then veers into Elixir and the future of programming. Tune in to hear where Dave thinks the programming industry is heading next.

[00:02:30] Dave's Computer Science Course at SMU 
Dave's advanced computer science course covers topics like source control and testing. He's been wanting to get into formal Computer Science for a while, so when he pulled back on his work at the Pragmatic Bookshelf, he approached SMU about teaching a course. He selected Advanced Application Development since he could teach pretty much whatever he wanted. The class is made up of Seniors and Master's students whose coursework primarily focused on theory, but lacked in the basics of coding as it happens "in the wild." The plan was to go in and subvert them with Elixir. 

All of the assignments are coding assignments and must be submitted with a pull request. Chuck recalls taking a class similar to the one that Dave describes. 

[00:06:22] Computer Science's focus on theory
People who go into academia generally get their degrees and don't spend any time in the non-academic world. So, they don't know what's important when it comes down to nuts and bolts programming. This serves the students that stay in academia, but fails to teach the skills needed by their students. They also focus on the mathematical aspects of Computer Science and fail to show students that if they get excited about software, it can be fun.

[00:09:55] This is a job where we make a difference
Sometimes we do great harm. and sometimes great good.

[00:10:23] How do you communicate all of these aspects of coding to the students?
You can't just tell them. Mostly, Dave just tries to be enthusiastic. The teaching as it's done now is like a eulogy given by someone who doesn't know the person. Instead, Dave shows his passion for coding, tells stories, and shows how fun it is to write code. Imagine walking down the street and seeing the code you wrote being used. Dave's code was used on the satellite sent to see Haley's Comet.

[00:13:04] Software as a tool for change
A painter's medium is paint. Sculptors' stone. People in software don't "write" per se, but they still express themselves. This is a medium for programmers to get their thoughts out and interact with other people all over the world. We do a really crappy job explaining this to students.

Dave is involved in after-school programs for software development as well. The ones that succeed don't approach software head on. They do fun and fancy stuff with Raspberry Pi or put a webserver up and then point out the concepts used in the programming. This approach is the future of development training.

[00:16:01] Do you feel like CS programs aren't preparing students well? or have the wrong focus?
Students come out well versed in the theoretics of programming and can write programs. These are good things to know. The assumption is that they'll pick up the rest in their first couple of jobs. They're not preparing people to walk straight into a job, but prepares them to learn the rest on the job.

A 4 year program should be done after 2 years working in the real world. Most of the things not taught don't make sense until the student has the problem that it solves. For example, source control. This would give them context for the things that are important and bring the knowledge back to the 

[00:20:26] What is in the curriculum?
In a few years, these students will probably be writing a functional language like Elixir. They start out wri
Released:
Jul 4, 2017
Format:
Podcast episode

Titles in the series (100)

All ruby related podcasts from Devchat.tv, including: - Ruby Rogues - My Ruby Story - Ruby Rants