Note
CS Degree Day 88
What I did today?
6.1040 Software Design:
- Design principles: cohesion, coupling, single responsibility
- Design patterns: composite, decorator, visitor
- Read: A Philosophy of Software Design (Ousterhout) - first 5 chapters
6.4500 Design for Web:
- HTML semantics, accessibility (ARIA, WCAG)
- CSS layout: flexbox, grid
Two electives in one day is manageable given the material. I have years of experience with web development & Software design principles are not new to me after 6.1020, but Ousterhout’s framing of complexity as the root of all software evil, and depth vs width of modules is the clearest articulation of professional programming instinct I have read.