Skip to content
lectern.tv
Study Paths
Editorial path·Systems & CS·graduate·6 institutions

Software Design & Human-Computer Interaction: From First Principles to Future Paradigms

This path begins with fundamental computational models and the critical analysis of software complexity, progressing to the historical evolution and future of programming paradigms. It culminates in a forward-looking perspective on notation, design, and the human-computer interface.

Explore foundational concepts of software architecture and HCI, critically examining current practices and envisioning future programming media.
6steps6htotal runtime
Start Step 1
Procedures and Processes: The Substitution Model, Recursion & Iteration
Step 1 of 6
Path progress0 of 6 watched

Curriculum sequence

6
Step 1·MIT·Hal Abelson & Gerald Jay Sussman·6.001· 58:22

Procedures and Processes: The Substitution Model, Recursion & Iteration

This lecture establishes the foundational understanding of computation through procedures, processes, and the substitution model, essential for grasping how software executes.

Step 2·Strange Loop Conference·Rich Hickey· 1:01:23

Simple Made Easy

Building on computational fundamentals, this lecture introduces critical vocabulary to diagnose and address accidental complexity in software, a common pitfall in design.

Step 3·Clojure/conj·Rich Hickey· 39:49

Hammock Driven Development

With an understanding of complexity, this lecture provides a philosophical framework for deep, deliberate thought in software design, emphasizing problem decomposition over reactive development.

Step 4·DBX Conference·Bret Victor· 32:55

The Future of Programming

Leveraging insights into thoughtful design, this lecture offers a historical critique of programming paradigms, challenging assumptions about current tools and inspiring new approaches.

Step 5·Stanford University·Pat Hanrahan· 1:10:12

On Notation: Principles and Impact in Computing

Following a critique of existing paradigms, this lecture delves into the profound impact of notation on computing systems, highlighting its role in shaping expressiveness and design.

Step 6·Carnegie Mellon University·Alan Kay· 1:20:48

Critiquing CS Education and Reinventing Programming

Finally, this lecture synthesizes the path by critically examining current CS education and research, advocating for a return to fundamental principles and ambitious innovation in programming and HCI.

Companion reading for this sequence

Amazon Associate