CS 61A Summer 2024

CS 61A: Structure and Interpretation of Computer Programs

Calendar

WeekDateLectureTextbookLab & Discussion LinksHomework & Project
1Mon 6/17Welcome[intro] Lab 0o: Getting Started[Solutions] 
1Tue 6/18Functions[vidio][Recording1][Recording2][Ch.1.1], [Ch.1.2], [Ch.1.3]Disc 0o: Getting Started 
1Wed 6/19No Lecture: Juneteenth   
1Thu 6/20Control[Ch. 1.4], [Ch. 1.5]Disc 01: ControlHW 01: Functions, Control[pdf][zip] Hog [zip][pdf]
1Sun 6/23  Lab 01: Functions, Control[pdf][zip] 
2Mon 6/24Higher-Order FunctionsCh. 1.6  
2Tue 6/25EnvironmentsCh. 1.6Disc 02: Environment Diagrams, Higher-Order Functions Solutions Video Lab 02: Higher-Order Functions, Lambda Expressions 
2Wed 6/26Recursion   
2Thu 6/27Tree RecursionCh. 1.7Disc 03: Recursion, Tree RecursionHW 02: Higher-Order Functions, Recursion
2Sun 6/30  Lab 03: Recursion, Tree Recursion 
3Mon 7/1Containers and SequencessCh. 2.3 Cats
3Tue 7/2Data Abstraction and ADT TreesCh. 2.2 Ch.2.3Disc 04: Tree Recursion, Trees, Python ListsLab 04: Sequences, Trees 
3Wed 7/3MutabilityCh. 2.4  
3Thu 7/4No Lecture: Independence Day  HW 03: Tree Recursion, Sequences, Python Lists, Trees
3Sun 7/7  Lab 05: Data Abstraction, Mutability 
4Mon 7/8Iterators and GeneratorsCh. 4.2  
4Tue 7/9EfficiencyCh. 2.8Disc 05: Iterators, Generators, Efficiency Lab 06: Iterators, Generators 
4Wed 7/10Midterm Review   
4Thu 7/11Midterm (6-8pm)  HW 04: Iterators, Generators, Efficiency
5Mon 7/15ObjectsCh. 2.5  
5Tue 7/16Inheritance and String RepresentationCh. 2.5 Ch. 2.7Disc 06: OOP Lab 07: Object-Oriented Programming, Inheritance 
5Wed 7/17Mutable Trees  Ants
5Thu 7/18Linked Lists Disc 07: Linked Lists, Mutable TreesHW 05: Object-Oriented Programming, Mutable Trees, Linked Lists
5Sun 7/21  Lab 08: Mutable Trees, Linked Lists 
6Mon 7/22Scheme ICh. 3.1 Ch. 3.2  
6Tue 7/23Tail Calls Disc 08: Scheme, Scheme Lists, Tail Calls Lab 09: Scheme, Scheme Lists 
6Wed 7/24Scheme II   
6Thu 7/25InterpretersCh. 3.5Disc 09: InterpretersHW 06: Scheme, Scheme Lists Scheme
6Sun 7/28  Lab 10: Interpreters 
7Mon 7/29Scheme Data Abstraction   
7Tue 7/30SQL I: Intro Disc 10: SQL, Scheme Data Abstraction Lab 11: SQL, Scheme Data Abstraction 
7Wed 7/31SQL II: Aggregation   
7Thu 8/1Special Topics I Disc 11: SQLHW 07: Scheme Data Abstraction, SQL
7Sun 8/4  Lab 12: Final Review (Optional) 
8Mon 8/5Special Topics II  HW 08: Finale
8Tue 8/6Final Review   
8Wed 8/7Conclusion   
8Thu 8/8Final (7-10pm)   
WeekDateLectureTextbookLab & Discussion LinksHomework & Project
1Mon
6/17
Welcome
    Lab 00: Getting Started
    Due Mon 6/24
    Tue
    6/18
    Functions
    Disc 00: Getting Started
    Wed
    6/19
    No Lecture: Juneteenth
    Thu
    6/20
    Control
    Disc 01: Control HW 01: Functions, Control
    Due Wed 6/26

    Hog
    Checkpt Thu 6/27
    Due Tue 7/2
    Sun
    6/23
    Lab 01: Functions, Control
    Due Tue 6/25
    2Mon
    6/24
    Higher-Order Functions
    Tue
    6/25
    Environments
    Disc 02: Environment Diagrams, Higher-Order Functions
    Lab 02: Higher-Order Functions, Lambda Expressions
    Due Thu 6/27
    Wed
    6/26
    Recursion
      Thu
      6/27
      Tree Recursion
      Disc 03: Recursion, Tree Recursion HW 02: Higher-Order Functions, Recursion
      Due Wed 7/3
      Sun
      6/30
      Lab 03: Recursion, Tree Recursion
      Due Tue 7/2
      3Mon
      7/1
      Containers and Sequences
      Tue
      7/2
      Data Abstraction and ADT Trees
      Disc 04: Tree Recursion, Trees, Python Lists

        Lab 04: Sequences, Trees
        Due Thu 7/4
        Wed
        7/3
        Mutability
        Cats
        Checkpt Tue 7/9
        Due Tue 7/16
        Thu
        7/4
        No Lecture: Independence Day HW 03: Tree Recursion, Sequences, Python Lists, Trees
        Due Wed 7/10
        Sun
        7/7
        Lab 05: Data Abstraction, Mutability
        Due Tue 7/9
        4Mon
        7/8
        Iterators and Generators
        Tue
        7/9
        Efficiency
        Disc 05: Iterators, Generators, Efficiency

          Lab 06: Iterators, Generators
          Due Thu 7/11
          Wed
          7/10
          Midterm Review
            Thu
            7/11
            Midterm (6-8pm) HW 04: Iterators, Generators, Efficiency
            Due Wed 7/17
            5Mon
            7/15
            Objects
            Tue
            7/16
            Inheritance and String Representation
            Disc 06: OOP

              Lab 07: Object-Oriented Programming, Inheritance
              Due Thu 7/18
              Wed
              7/17
              Mutable Trees
                Ants
                Checkpt Mon 7/22
                Due Thu 7/25
                Thu
                7/18
                Linked Lists
                  Disc 07: Linked Lists, Mutable Trees
                    HW 05: Object-Oriented Programming, Mutable Trees, Linked Lists
                    Due Wed 7/24
                    Sun
                    7/21
                    Lab 08: Mutable Trees, Linked Lists
                    Due Tue 7/23
                    6Mon
                    7/22
                    Scheme I
                    Tue
                    7/23
                    Tail Calls
                      Disc 08: Scheme, Scheme Lists, Tail Calls

                        Lab 09: Scheme, Scheme Lists
                        Due Thu 7/25
                        Wed
                        7/24
                        Scheme II
                          Thu
                          7/25
                          Interpreters
                          Disc 09: Interpreters
                            HW 06: Scheme, Scheme Lists
                            Due Wed 7/31

                            Scheme
                            Checkpt Wed 7/31
                            Due Tue 8/6
                            Sun
                            7/28
                            Lab 10: Interpreters
                            Due Tue 7/30
                            7Mon
                            7/29
                            Scheme Data Abstraction
                              Tue
                              7/30
                              SQL I: Intro
                                Disc 10: SQL, Scheme Data Abstraction

                                  Lab 11: SQL, Scheme Data Abstraction
                                  Due Thu 8/1
                                  Wed
                                  7/31
                                  SQL II: Aggregation
                                    Thu
                                    8/1
                                    Special Topics I
                                      Disc 11: SQL
                                        HW 07: Scheme Data Abstraction, SQL
                                        Due Wed 8/7
                                        Sun
                                        8/4
                                        Lab 12: Final Review (Optional)
                                        Due Tue 8/6
                                        8Mon
                                        8/5
                                        Special Topics II
                                          HW 08: Finale
                                          Due Wed 8/7
                                          Tue
                                          8/6
                                          Final Review
                                            Wed
                                            8/7
                                            Conclusion
                                              Thu
                                              8/8
                                              Final (7-10pm)