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 |
|
||
| 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) |
|||