- Welcome!
- Abstraction Programming and Education
- Four Questions about Math Education
- The Future of Education
- A New Curriculum
- Writing with Less Writing
- The Goals of Learneroo - How I Hope to Improve Online Education
- The Java Job Market
- Kickstarter Success, Thank you Backers!
- Comments and Chat
- Path to Learning Java
- Aristotle on Learning
- Programming Bootcamps as an Alternative to Lectures
- The Education Dialog
- The Mean, the Median and Startup Equity
- Membership on Learneroo
- Discounts - Satisfaction Guaranteed!
- Lecture Videos and Learning
- Learn Programming by Example and with Challenges
- Java Coding Contest Results
- Coding the Java Explorer
- New - Java Budget Bootcamp
- Java Jobs II
- The Web for All - Kickstarter
- Finding a Web Host and Creating a Site
- Web Development for Entrepreneurs, Marketers and Biz-devs
- Web Development for Non-Developers
- Lessons from my Unsuccessful Kickstarter Project
- Changes on Learneroo
- Learneroo on Reddit and the Powers of 10
- Free Membership for Teachers
- New Algorithms Tutorials
- Free Membership on Learneroo
- Algorithms for Interviews and Jobs
- Interactive Cartoon Guide to Ruby on Rails
- Kickstarter Launched
- Learn Web Development Kickstarter - Q & A
- Ruby on Rails for Web Designers
- Web App Framework vs. CMS vs. Website Builder
- Real Web Development for Entrepreneurs
- What Programming Language Should You Learn?
- Lessons from my Successful Kickstarter Project
- Ruby Coding Contest Live!
- Understanding Recursion
- Ruby Coding Contest Recap
A blog about education. On Learneroo Itself. Blog Home
Programming Bootcamps as an Alternative to Lectures
tl;dr: Lectures are not an effective way to teach programming, so colleges should offer "programming bootcamps" instead. Either way, students should consider such an option, either for web development or Java.
While many areas of the job market are still weak, one area is growing in demand: Programming[1]. This is because jobs that used to require people can now be done by programs. For example, law students are facing a difficult job market, and one reason for this is because algorithms can now analyze texts instead of lawyers.[2] This trend will continue. Millions of people in the US are employed as drivers, but once algorithms drive better than humans, the humans will need to look for new work. As the tech investor Marc Andreessen said, “software is eating the world”.[3]
One would expect colleges to expand and update their computer science (CS) departments as demand for programming grows. Instead, some universities have downsized their CS departments! They cite weak demand for programming, but that’s because their departments are so weak in the first place! If they would build up their departments, they could attract many bright students. However, they should consider a more bold solution than just hiring more professors.
Most students in Computer Science did not get that much out of the lectures in computers. The best students would usually read or program on their computers during class instead of listening to the lecture. This was independent of the quality of the lecture, but because lectures themselves are not the best way to teach computers or programming. To learn a topic like programming one needs to actively practice it, not passively listen to a lecture. To quote Aristotle:
For the things we have to learn before we can do them, we learn by doing them, e.g. men become builders by building and lyre-players by playing the lyre...
The lecture system[4] has managed to survive the invention of writing and printing, but the internet will “eat” traditional lectures just as its changed other areas. At the very least, software will play a greater role in software education! See The Future of Education[5] for more on this topic; this article will focus on a different aspect.
There’s a traditional Jewish approach to learning that is different from standard lectures - learning with a chavruta, or study partner. It is hard to study complex subjects on one’s own, so it often helps to work with a study-partner. A pair studying alone may also find it difficult to stay focused, which can be solved by joining a group that provides the right environment, structure and support. Colleges think that students learn due to their lectures, but really the environment and structure are the key to learning; the lecture is often just a distraction.
Recently, some have successfully adopted a study-group-style approach to teaching programming. 'Programming Bootcamps', such as DevBootcamp or AppAcademy, have been popping up all over to teach web development in 2-3 months. Students in these programs often learn more practical programming skills there than they would in 3 years in many colleges. Lectures play a very small role in these programs. Instead, they gather bright students together to code for most of the day, and provide them with structure and help. Students go through online tutorials, and then spend most of the time practicing coding. When they need help or feedback, they have other students or mentors to turn to. This approach has been very successful, and many students have been able to land full-time jobs after graduating from their program.
Academics, when they hear such comparisons, often snort “a college is not a trade school”, we’re not here to teach practical skills! That’s nice, but when you ask most students why they’re attending college, they cite employment as the number one reason.[6] Students aren’t taking out loans just to be “well-rounded” or to “learn to think critically”, and colleges may not help with those things either.[7] If colleges want to remain relevant they will need to adjust their offerings to match what their customers want.[8]
In theory, colleges could learn from the bootcamps and offer their own “programming bootcamp” for students. The bootcamps could be a block set aside during the day where students code for a few hours straight. Mentors will be there to provide structure and feedback for the students. Motivated students could learn a huge amount in such a structure. In fact, this model could be adopted to other subjects too, and could help save a huge sum of money too.
In practice, most colleges won’t offer such non-standard options, so students should consider such options themselves. There are a number of programming bootcamps that teach web development, and a few recently opened in New York.
If a student is interested in learning Java programming, they should check out an online bootcamp opening in January…
Note: I published a similar article in my alma mater's student paper.
[1] Software Developers ranked #1 on CareerBuilder’s rankings of Fast-growing high-paying jobs bit.ly/cb-job2014. Note that Programmers, Software Developers and Software Engineers are just different titles for the same thing.
[2] See “Armies of Expensive Lawyers, Replaced by Cheaper Software” http://www.nytimes.com/2011/03/05/science/05legal.html
[3] “Why Software Is Eating The World” Wall Street Journal, August 20, 2011
[4] For more on the problems with Lectures, see The “Change-Up” in Lectures ntlf.com/issues/v5n2/v5n2.pdf For a professor taking a more “chavrua-style” approach, see “Rethinking the Way College Students Are Taught” bit.ly/learndontlecture
[5] The Commentator, Dec. 2011. Ariel Krakowski.
[6] The two top reasons students gave for attending college were to “get a better job” and “make more money”. Educational Attainment and Private Economic Welfare postsecondary.org/last12/10293Private.pdf
[8] See yucommentator.org/2012/03/the-future-of-education-ii-a-new-curriculum for the subjects colleges should teach.