Online Learning
Jacob and I have both explored quite a few online college courses over the past year. His completion rate is better than mine.
We started with Software Engineering for SaaS on Coursera last spring. The class was a mix of Ruby on Rails learning but included a range of other tools and processes that fall under the "software engineering" umbrella:
- Test driven development with RSpec and Cucumber
- Learning to use git and GitHub.
- Deploying with Heroku
The project work was simple but I really like how the focus was on modern tools and lifecycle concerns. Coursera is one of several online class offerings in the Massively Open Online Course category and they leverage automation heavily for assignment and test scoring. Interestingly they use the same test automation tools they are teaching to do the automated assignment grading. Jacob and I both completed this class and look forward to part 2 which may be offered next year.
Over the summer I took the Coursera Health Policy and the Affordable Care Act class for work purposes. The class was very much biased in favor of the ACA but very educational nonetheless. I didn't finish this class as it ended about the time we went backpacking in Philmont. Here I got a glimpse of how massive online classes are handling grading of assignments not well suited to automated analysis: peer scoring. Each week I was required to read and review at least five other writing assignments to get my own scored.
Next Jacob and I enrolled in CS188x - Artificial Intelligence on edX. This course was very well developed and included a Python-based framework and implementation of various elements of the Pac-Man game to explore the key concepts in the class. I made the mistake of enrolling in the Coursera Functional Programming in Scala at about the same time and had to choose between the too. I stuck with the Scala class, nearly finishing it (football coaching got in the way towards the end) and Jacob finished the AI class. This was his favorite class so far and should help give him a leg up going into an undergraduate CS program. He has time during school to work on these online CS classes during his "Computer Science Projects" period of self-study.
Meanwhile Jacob (with a few other students at his high school) is taking Multivariable Calculus via MIT OpenCourseWare as part of an independent math study at high school. While the instruction is very good in this class, it is striking how different these "old school" OpenCourseWare classes from their modern edX and Coursera counterparts.
Lastly, Jacob is currently immersed in the Coursera Cryptography class . He is enjoying it but it is much more math-intensive with little programming.