CS 111: Introduction to Computer Science

Winter 2023, Instructors: Tom Stephens and Steve Richardson

Date Lecture Textbook Lab & Discussion Links Homework & Project
Week 1
Mon
1/9
Welcome!
    Lab 00: Getting Started
    Due Wed 1/11
    Wed
    1/11
    Functions Disc 00: Getting Started
    Fri
    1/13
    Global and Local Frames HW 01: Control
    Due Thu 1/19
    Week 2
    Mon
    1/16
    No Class — Martin Luther King Jr. Day Section: How to Debug
    Tue
    1/17
    Add/Drop Deadline: Which class is right for me?
    Wed
    1/18
    Control Lab 01: Variables & Functions, Control
    Due Fri 1/20
    Fri
    1/20
    While loops and Prime Factors exercise
    Week 3
    Mon
    1/23
    Higher-Order Functions Disc 01: Control, Environment Diagrams
    Hog
    Checkpt Fri 1/27
    Due Fri 2/3
    Wed
    1/25
    Environments Lab 02: Higher-Order Functions, Lambda Expressions
    Due Fri 1/27
    HW 02: Higher-Order Functions
    Due Tue 1/31
    Fri
    1/27
    Design
      Week 4
      Mon
      1/30
      Function Examples
      Disc 03: Recursion
      Wed
      2/1
      Recursion Section: Midterm Review
      Fri
      2/3
      Tree Recursion HW 03: Recursion, Tree Recursion
      Due Thu 2/9
      Week 5
      Mon
      2/6
      Midterm 1 [Testing Center]
      (Mon 2/6 @ 8am - Wed 2/8 @ 9pm) Late Fee: $5, 2/8 @ 3pm
      Lab 3?
      Wed
      2/8
      Containers Disc 04: Tree Recursion, Python Lists
      Fri
      2/10
      Sequences Cats
      Checkpt Fri 2/17
      Due Thu 2/23
      Week 6
      Mon
      2/13
      Data Abstraction Lab 04: Recursion, Tree Recursion, Python Lists
      Due Wed 2/15
      Wed
      2/15
      Trees Section: Work on Cats
      Fri
      2/17
      Work on Cats
      Week 7
      Tue
      2/21
      (why?)
      Mutability Disc 05: Trees, Data Abstraction, Sequences
      HW 04: Data Abstraction, Trees
      Due Tue 2/28
      Wed
      2/22
      Syntax Lab 05: Python Lists, Trees
      Due Fri 2/24
      Fri
      2/24
      Iterators
      Week 8
      Mon
      2/27
      Generators Disc 06: Mutability, Iterators and Generators
      HW 05: Iterators and Generators
      Due Tue 3/7
      Wed
      3/1
      Objects Lab 06: Mutability, Iterators
      Due Fri 10/21
      Fri
      3/3
      Inheritance Ants
      Checkpt 1 Mon 3/13
      Checkpt 2 Thu 3/16
      Due Wed 3/22
      Week 9
      Mon
      3/6
      Representation Disc 07: Object-Oriented Programming, String Representation
      Wed
      3/8
      Recursive Objects Lab 07: Object-Oriented Programming
      Due Fri 3/10
      HW 06: Object-Oriented Programming, Linked Lists
      Due Thu 3/16
      Fri
      3/10
      Work on Ants
      Week 10
      Mon
      3/13
      Efficiency Lab 08: Linked Lists, Mutable Trees
      Due Wed 3/15
      Wed
      3/15
      Decomposition Section: Midterm Review
      Fri
      3/17
      No class (why?)
      Week 11
      Mon
      3/20
      Data Examples
        Disc 10: Scheme, Scheme Lists
        Wed
        3/22
        Midterm 2 [Testing Center]
        (Wed 3/22 @ 8am - Fri 3/24 @ 9pm) Late Fee: $5, 3/24 @ 3pm
        Lab 10: Scheme
        Due Fri 3/24
        Fri
        3/24
        Scheme
        HW 07: Scheme
        Due Thu 3/30
        Week 12
        Mon
        3/27
        Exceptions Disc 11: Interpreters
        Wed
        3/29
        Calculator Lab 11: Interpreters
        Due Fri 3/31
        HW 08: Scheme Lists
        Due Thu 4/6
        Fri
        3/31
        Interpreters
        Week 13
        Mon
        4/3
        Project: Scheme Interpreter Scheme
        Checkpt 1 Fri 4/7
        Checkpt 2 Fri 4/14
        Due Wed 4/19
        Wed
        4/5
        Work on Scheme
          Section: Work on Scheme
          Fri
          4/7
          Tail Calls
          Week 14
          Mon
          4/10
          Regular Expressions Disc 12: Regular Expressions, BNF, SQL
          Wed
          4/12
          Work on Scheme
          Lab 12: Regular Expressions, BNF
          Due Fri 4/14
          Fri
          4/14
          Backus-Naur Form
          HW 09: Regular Expressions
          Due Wed 4/19
          Week 15
          Mon
          4/17
          Conclusion
            Section: Final Review
            Lab 13: Programming in C++
            Optional
            C++: 3 sets of slides (Optional, but highly recommended if you plan to take C S 235)
            Wed
            4/19
            Last day of classes
            deadline for all late assignments
              Thu
              4/20
              Reading Day
                Finals Week
                Fri
                4/21
                Final Exam [Testing Center]
                (Mon 4/21 @ 8am - Fri 4/26 @ 8pm)