30 Release Notes
This is a summary of updates made with each release of the book (excluding typos and other minor fixes).
30.1 Version 2024-09-03
This version fixes several small issues. There is minor reorganization that improves the structure of sections. It also includes links to several interesting related content from the Web that advanced students will find enriching.
30.2 Version 2023-02-21
The book has been broken down into a collection of booklets, to give it a clearer structure and organization. See Organization of the Material for details.
Several huge chapters in the earlier version have been broken down into smaller chapters and split across booklets.
The Introduction to Programming material has been substantially revised and expanded.
The ordering of materials has changed. The material on Algorithm Analysis has been moved to after the Python material.
The From Pyret to Python transition has been improved substantially.
There is now a chapter on using Pandas that builds off the corresponding Pyret example on tables.
Python dictionaries have moved into From Pyret to Python. Even though we don’t cover Pyret’s dictionaries, having the dictionaries material come before state is a more natural flow with regards to students learning Python. We then develop the implementation of dictionaries using state in Hashes, Sets, and Key-Values.
There is now a whole new unified approach to Programming With State that shows the Pyret and Python versions side-by-side. Seeing this material in two different languages helps focus on similarities and differences and can improve transfer between languages.
Material that depends on algorithm analysis has now been separated from material that does not. Furthermore, in keeping with the book’s theme, the focus is (again) on data structures. The result, in Data Structures with Analysis, refactors a lot of prior material to present it much more cleanly.
Some material has further been refactored into Advanced Topics. In addition, there are several more new advanced goodies!
30.3 Version 2022-08-28
Besides numerous small improvements, we added some new bonus material.
30.4 Version 2022-01-25
Consistently renamed the definitions and interactions window to the definitions and interactions pane.
Moved the material on working with variables out of the intro to Python section and into the Programming with State section. Mutation of structured data moved before variable mutation within the Programming with State section.
Added a comparison to How to Design Programs.
The include line for the DCIC libraries at this version is
include shared-gdrive( "dcic-2021", "1wyQZj_L0qqV9Ekgr9au6RX2iqt2Ga8Ep")
30.5 Version 2021-08-21
The original release! Based on the prior book Programming and Programming Languages.