The lecture schedule will be updated as the term progresses.
Make sure to fill out the pre-course survey that is available Piazza.
Make sure you are registered for the course Gradescope and Piazza.
Date | Topic | Reading | Assignment |
---|---|---|---|
Tue, Jan 17, 2023 |
Lecture 1 Course Introduction Terminal, Compiling [slides] [video] [Code] |
Chapter 1
|
Lab00 - Command Line, Unix, Vim
HW00 - Hello World, Compile Errors (Due Mon, Jan 23, 2023) |
Thu, Jan 19, 2023 |
Lecture 2 Variables, Data Types, Expressions [slides] [video] [Code] |
Chapter 2
|
|
Tue, Jan 24, 2023 |
Lecture 3 I/O: Input/Output [slides] [Code] |
Chapter 3
|
Lab01 - Variables, Input, Errors
HW01 - Variables (Due Wed, Feb 1, 2023) |
Thu, Jan 26, 2023 |
Lecture 4 Methods I [slides] [Code] |
Chapter 4
|
|
Tue, Jan 31, 2023 |
Lecture 5 Methods II [slides] |
Chapter 4
|
Lab02 - Methods
HW02 - Methods, Methods, Methods (Due Wed, Feb 8, 2023) |
Thu, Feb 2, 2023 |
Lecture 6 Conditionals & Logic [slides] |
Chapter 5
|
|
Fri, Feb 3, 2023 |
Last day to drop a fifth course at Bryn Mawr and Haverford.
|
||
Tue, Feb 7, 2023 |
Lecture 7 Strings, Objects |
Chapter 7.10: String Comparison Chapter 9.1: Primitives vs Objects |
Lab03 - Conditionals, Strings, Recursion
|
Thu, Feb 9, 2023 |
Lecture 8 Arrays |
Chapter 8.1 & 8.2 Chapter 9.2: The null keyword |
|
|
HW03 - Methods, Conditionals, Strings, and Arrays
(Due Thu, Feb 16, 2023)
|
||
Tue, Feb 14, 2023 |
Lecture 9 Recursion I |
Chapter 6
|
Lab04 - Arrays, Recursion
|
Thu, Feb 16, 2023 |
Lecture 10 Recursion II Loops I |
Chapter 7
HW04 - Recursion |
|
Tue, Feb 21, 2023 |
Lecture 11 Loops II |
Chapter 7
|
Lab05 - Tic Tac Toe
HW05 - Loops (Due Mon, Feb 27, 2023) |
Fri, Feb 24, 2023 |
Last day to declare Cr/NC for full semester courses (5 p.m.).
|
||
Thu, Feb 23, 2023 |
Lecture 12 Arrays & References & Objects [slides] |
Chapter 8
Chapter 9 |
|
Tue, Feb 28, 2023 |
Lecture 13 Review [slides] |
Lab05 - Tic Tac Toe
|
|
Thu, Mar 2, 2023 |
Lecture 14 Midterm I |
||
Tue, Mar 7, 2023 |
SPRING BREAK
|
||
Thu, Mar 9, 2023 |
SPRING BREAK
|
Date | Topic | Reading | Assignment |
---|---|---|---|
Tue, Mar 14, 2023 |
Lecture 15 Objects I [slides] |
Chapter 10
|
HW06 - Minesweeper
(Due Mon, Mar 20, 2023)
Lab06 - Exceptions & Files |
Thu, Mar 16, 2023 |
Lecture 16 Designing Classes [slides] |
Chapter 11
Chapter 12.1 - 12.6 (inclusive) |
|
Tue, Mar 21, 2023 |
Lecture 17 Designing Classes Class Hierarchy (Inheritance & Interfaces) [slides] |
Chapter 14
Chapter 17.4 Chapter 17.7 |
Lab07 - Designing Classes
|
Thu, Mar 23, 2023 |
Lecture 18 Relationships! [slides] |
Chapter 16
|
HW07 - Object Oriented Programming
(Due Thu, Mar 30, 2023)
|
Tue, Mar 28, 2023 |
Lecture 19 Interfaces (class actions!) |
Chapter 12.7-12.9
|
Lab08 - Interfaces & Sorting
|
Date | Topic | Reading | Assignment |
---|---|---|---|
Thu, Mar 30, 2023 |
Lecture 20 Searching |
Chapter 13
|
|
Tue, Apr 4, 2023 |
Lecture 21 Binary Search Runtime Analysis |
Chapter 13
|
No LAB TODAY
|
Thu, Apr 6, 2023 |
PASSOVER NO CLASS |
||
Tue, Apr 11, 2023 |
Lecture 22 Midterm Review (remote lecture) [slides] |
Lab09 Review
|
|
Thu, Apr 13, 2023 |
Lecture 23 Midterm II |
HW08 - Vet Clinic
(Due Fri, Apr 21, 2023)
|
|
Tue, Apr 18, 2023 |
Lecture 23 Bubble Sort Selection Sort |
Chapter 15
|
Lab10 - Sorting
|
Thu, Apr 20, 2023 |
Lecture 24 Run Time Analysis [slides] |
||
Tue, Apr 25, 2023 |
Lecture 25 Run Time Analysis Regular Expressions |
Lab11 - RunTime
HW09 - SuperDuperArray (Due Fri, Apr 28, 2023) |
|
Thu, Apr 27, 2023 |
Lecture 26 Review [slides] |
||
Wed, May 3, 2023 |
Final 9:30am-12:30pm (Park 300)
|