|
|
CS51: Abstraction and Design in Computer Programming
CS51 Lecture and Section Notes
Documents which are not assignments can be found here, including
lecture notes, section notes and other handouts.
Lecture Notes
- Week 0, Thursday Lecture - Introduction to CS51 and Scheme (The Chaos Game!)
- Week 1, Tuesday Lecture - Introduction to Scheme (Part I)
- Week 1, Thursday Lecture - Introduction to Scheme (Part II: Lists)
- Week 2, Tuesday Lecture - Functions as Abstractions
- Week 2, Thursday Lecture - The Map, Reduce, Filter Trilogy
- Week 3, Tuesday Lecture - Higher-order Functions and Lambda Almighty
- Week 3, Thursday Lecture - Data as Abstractions
- Week 4, Tuesday Lecture - Streams as a Data Abstraction
- Week 4, Thursday Lecture - Extensible Data: Tags and Objects
- Week 5, Tuesday Lecture - Designing a Freshman Advisor
- Week 5, Thursday Lecture - Mutable Data and Life after Scheme
- Week 6, Thursday Lecture - Objects, from Scheme to C++
- Week 7, Tuesday Lecture - Object-Oriented Programming
- Week 7, Thursday Lecture - Composing Objects
- Week 8, Tuesday Lecture - Object Hierarchies using Inheritance
- Week 8, Thursday Lecture - Inheritance and Polymorphism
- Week 9, Tuesday Lecture - The Standard Template Library (STL)
- Week 9, Thursday Lecture - Exceptions, Iterators, Const and the Real World
- Week 10, Tuesday Lecture - Designing a Cellular Automata Simulator
- Week 10, Thursday Lecture - Language is also an Abstraction
- Week 11, Tuesday Lecture - Language is also an Abstraction II
Lecture Code
- Week 0, Thursday Lecture - The Chaos Game
- Week 1, Tuesday Lecture - Escher Recurse
- Week 2, Thursday Lecture - Images as Lists
- Week 5, Tuesday Lecture - Freshman Advisor
- Week 6, Thursday Lecture - Dogs as Objects
- Week 7, Tues-Thurs Lecture - More about Dogs
- Week 8, Tues-Thurs Lecture - Types, Hierarchies, and Employment
- Week 10, Thurs Lecture - A Simple Arithmetic Interpreter
Section Notes
|