Most undergraduate CS programs start with an “introduction” to computer programming. The best versions of these courses cater not just to novices, but also to those who missed beneficial concepts and programming models while first learning to code.
Our standard recommendation for this content is the classic Structure and Interpretation of Computer Programs, which is available online for free both as a book, and as a set of MIT video lectures. While those lectures are great, our video suggestion is actually Brian Harvey’s SICP lectures (for the 61A course at Berkeley) instead. These are more refined and better targeted at new students than are the MIT lectures
We recommend working through at least the first three chapters of SICP and doing the exercises
For additional practice, work through a set of small programming problems like those on exercise.
For those who find SICP too challenging, we recommend How to Design Programs
For those who find it too easy, we recommend Concepts, Techniques, and Models of Computer Programming.
0 Comments