Skip to content

Details

Let's Teach Ourselves Computer Science - Programming!
We will follow John DeNero's book "Composing Programs" (NOT the one on the picture, that's just a stock photo).

You can find it for free here: https://www.composingprograms.com/

The book is in the tradition of "The Structure and Interpretation of Computer Programs" (SICP), but uses Python instead of Scheme. It tries to teach "deeper" programming principles and wants you to understand them more fully. There is a strong focus on functional programming, a less well-known programming paradigm than, e.g. procedural or object-oriented programming.

After having learnt how to build abstractions with functions and data, we are now ready for chapter three of the book: Interpreting Computer Programs!
For this session, please read Chapter 3.1 and 3.2 (Introduction and Functional Programming) before the meeting. We will then discuss any questions we have about the content of these sections.

From what it appears to me, the book starts slow but gets into interesting territory quickly, so be patient if this seems not that interesting yet!

If you like video lectures: John DeNero has put many (all?) of his lectures online, even though they are a bit unorganised: https://www.youtube.com/@JohnDeNero/playlists
I think taking the 61A Fall 2022 playlists (one playlist for each lecture, as each lecture usually contains several videos) seems like the best idea, as they are the most complete and consistently numbered.

Book Club
Functional Programming
Python
Computer Programming
Computer Science

Members are also interested in