I recently worked through a massively open online course (MOOC) offered through Coursera entitled, "Introduction to Systematic Program Design, Part 1", a 10-week long course provided by the University of British Columbia. I made it through the first three weeks and felt that I hadn't quite grasped the material, so I went back to day #1 and started over. In a nutshell, I spent 8 weeks doing the first three weeks. At that 8 week mark, I decided to stop working on the course, and instead, work through the text that inspired the course, page by page. That's what I'm doing now.
The course was inspired by the textbook "How to Design Programs, 2nd Edition". I started the text from the very beginning on 11/22/2013. However long it takes to get through this book, that's how long it will take me. Learning to design programs and become a programmer is part of my "5-year plan".
The authors of HtDP-2 also created DrRacket, an operating system and language used to teach prgramming via their dialect of Scheme, known as the "Racket language".
All of my study files are located in this GitHub repository: the folder named 'UBC' contains the MOOC course files, and the 'HtDP-2' folder contains my solutions to the exercise files in the textbook.
Here are a couple of other links you may find interesting:
- Simply Scheme, 2nd Edition, Harvey & Wright
- Structure & Interpretation of Computer Programs (SICP), Abelson & Sussman
- The Scheme Programming Language, 4th Edition, R. Kent Dybvig
- The Little Schemer (teaches recursion)
I've followed software development for years and made a number of attempts to learn on my own via self study. I never found a text or course that presented the material the way HtDP-2 does. I think I can finally learn this stuff -- it will be a boat-load of work.
Bring it on. :-)
last updated on 12/23/2013