Note

CS Degree Day 88

CS Degree in 100 Days

05 Sep'25

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.