CS 111: Introduction to Computer Science
Fall 2022, Instructors: Nancy Fulda (Sections 1-6), Brett Decker (Sections 7-12)
| Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
|---|---|---|---|---|---|
| 1 |
Mon 8/29 |
Welcome!
|
|
Lab 00: Getting Started
Due
|
|
|
Wed 8/31 |
Functions
|
Disc 00: Getting Started
|
|||
|
Fri 9/2 |
Global and Local Frames
|
HW 01: Control
Due Thu 9/8
|
|||
| 2 |
Mon 9/5 |
No Class - Labor Day | Section: How to Debug | ||
|
Wed 9/7 |
Control
|
Lab 01: Variables & Functions, Control
Due Fri 9/9
|
|||
|
Fri 9/9 |
While loops and Prime Factors exercise
|
||||
| 3 |
Mon 9/12 |
Higher-Order Functions
|
Disc 01: Control, Environment Diagrams
|
Hog
Checkpt Fri 9/16
Due Fri 9/23
|
|
|
Wed 9/14 |
Environments
|
Lab 02: Higher-Order Functions, Lambda Expressions
Due Fri 9/16
|
HW 02: Higher-Order Functions
Due Tues 9/20
|
||
|
Fri 9/16 |
Design
|
|
|||
| 4 |
Mon 9/19 |
Function Examples
|
|
||
|
Wed 9/21 |
Recursion
|
Section: Midterm Review | |||
|
Fri 9/23 |
Tree Recursion
|
HW 03: Recursion, Tree Recursion
Due Thu 10/6
|
|||
| 5 |
Mon 9/26 |
Midterm 1 [Testing Center] (Mon 9/26 @ 8am - Wed 9/28 @ 9pm) Late Fee: $5, 9/28 @ 3pm |
No Tuesday Section | ||
|
Wed 9/28 |
Containers
|
Disc 04: Tree Recursion, Python Lists
|
|||
|
Fri 9/30 |
Sequences
|
Cats
Checkpt Fri 10/7
Due Thu 10/13
|
|||
| 6 |
Mon 10/3 |
Data Abstraction
|
Lab 04: Recursion, Tree Recursion, Python Lists
Due Wed 10/5
|
||
|
Wed 10/5 |
Trees
|
Section: Work on Cats | |||
|
Fri 10/7 |
Working day -- work on Cats
|
||||
| 7 |
Mon 10/10 |
Mutability
|
Disc 05: Trees, Data Abstraction, Sequences
|
HW 04: Data Abstraction, Trees
Due Tue 10/18
|
|
|
Wed 10/12 |
Syntax
|
Lab 05: Python Lists, Trees
Due Fri 10/14
|
|||
|
Fri 10/14 |
Iterators
|
||||
| 8 |
Mon 10/17 |
Generators
|
Disc 06: Mutability, Iterators and Generators
|
HW 05: Iterators and Generators
Due Tue 10/25
|
|
|
Wed 10/19 |
Objects
|
Lab 06: Mutability, Iterators
Due Fri 10/21
|
|||
|
Fri 10/21 |
Inheritance
|
Ants
Checkpt 1 Mon 10/31
Checkpt 2 Thu 11/3
Due Wed 11/9
|
|||
| 9 |
Mon 10/24 |
Representation
|
Disc 07: Object-Oriented Programming, String Representation
|
||
|
Wed 10/26 |
Recursive Objects
|
Lab 07: Object-Oriented Programming
Due Fri 10/28
|
HW 06: Object-Oriented Programming, Linked Lists
Due Thu 11/3
|
||
|
Fri 10/28 |
Working day -- work on Ants
|
||||
| 10 |
Mon 10/31 |
Efficiency
|
Lab 08: Linked Lists, Mutable Trees
Due Wed 11/2
|
||
|
Wed 11/2 |
Decomposition
|
Midterm Review (No Disc 08)
|
|||
|
Fri 11/4 |
Data Examples
|
|
|||
| 11 |
Mon 11/7 |
Midterm 2 [Testing Center] (Mon 11/7 @ 8am - Wed 11/9 @ 9pm) Late Fee: $5, 11/9 @ 3pm |
Disc 10: Scheme, Scheme Lists
|
||
|
Wed 11/9 |
Scheme
|
Lab 10: Scheme
Due Fri 11/11
|
HW 07: Scheme
Due Tue 11/15
|
||
|
Fri 11/11 |
Exceptions
|
||||
| 12 |
Mon 11/14 |
Calculator
|
Disc 11: Interpreters
|
HW 08: Scheme Lists
Due Tue 11/22
|
|
|
Wed 11/16 |
Interpreters
|
Lab 11: Interpreters
Due Fri 11/18
|
|||
|
Fri 11/18 |
Project: Scheme Interpreter
|
Scheme
Checkpt 1 Wed 11/23
Checkpt 2 Fri 12/2
Due Thu 12/8
|
|||
| 13 |
Mon 11/21 |
No class -- start Scheme!
|
|
||
|
Tue 11/22 |
Friday classes, but no class -- work on assignments
|
||||
|
Wed 11/23 |
No class -- Holiday
|
||||
|
Fri 11/25 |
No class -- Holiday
|
||||
| 14 |
Mon 11/28 |
Tail Calls
|
Section: Work on Schemes | ||
|
Wed 11/30 |
Regular Expressions
|
Disc 12: Regular Expressions, BNF, SQL
|
|||
|
Fri 12/2 |
Working day -- work on Schemes
|
||||
| 15 |
Mon 12/5 |
Backus-Naur Form
|
Lab 12: Regular Expressions, BNF
Due Wed 12/7
|
HW 09: Regular Expressions
Due Thu 12/8
|
|
|
Wed 12/7 |
Conclusion
C++: 3 sets of slides
(Optional, but highly recommending if you plan to take CS 235)
Optional
|
|
Section: Final Review | ||
|
Thu 12/8 |
Last day of classes -- must turn in all work |
|
|||
|
Fri 12/9 |
Exam Preparation Day |
|
|||
| 16 |
Monday 12/12 |
Final Exam [Testing Center] (Mon 12/12 @ 8am - Fri 12/16 @ 8pm) |