For questions about the course, write to: zs494 AT hunter cuny edu.
This is a HYBRID course which means that, in place of a second weekly meeting, you are responsible for independently working through the weekly lab found in the "Handouts" column in the Course Outline below.
| Week | Dates | Topics | Handouts | Coursework | Reading |
|---|---|---|---|---|---|
| Week 1 | 01/25–01/31 | Syllabus & Class Policies; Recap of Primitive Data Types & Control Structures; Intro to Collection Data Types (List, Set, Tuple, Dictionary) | Syllabus Lab 0 Lab 1 |
Programs 1–2 Quiz 0 |
Textbook: Sections 1.1–1.8.1, 1.10, 1.12 |
| 01/30 | Class 1 | ||||
| Week 2 | 02/01–2/07 | Dictionaries & Hashing; String Methods & Traversal (Slices, List Comprehension, f-strings) | Lab 2 | Programs 3–5 Quiz 1 Code Review 1 |
Textbook: Sections 1.8.1, 1.9 |
| 02/06 | Class 2 | ||||
| Week 3 | 02/08–02/14 | File I/O; Intro to Running Time Complexity | Lab 3 | Programs 6–7 Quiz 2 Code Review 2 |
Textbook: Chapter 2 ThinkCS: Chapter 11 |
| 02/13 | Class 3 | ||||
| Week 4 | 02/15–02/21 | Functions (Parameters, Return Values); Exception Handling; Recursion | Lab 4 triangle.py |
Programs 8–12 Quiz 3 Code Review 3 |
Textbook: Sections 1.11–1.12, Chapter 4 |
| 02/20 | Class 4 | ||||
| Week 5 | 02/22–02/28 | Object-Oriented Programming; Writing Classes; Standard Libraries (numpy, pandas, plotly, scipy) | Lab 5 | Programs 13–15 Quiz 4 Code Review 4 |
ThinkCS: Chapter 17 ThinkCS: Chapter 19 Textbook: Section 1.13 |
| 02/27 | Class 5 | ||||
| Week 6 | 03/01-03/07 | Linear Data Structures: Arrays, Linked Lists, Stacks | Lab 6 | Programs 16–18 Quiz 5 Code Review 5 |
Textbook: Sections 3.1–3.9 |
| 03/06 | Class 6 | ||||
| Week 7 | 03/08-03/14 | More on Linear Data Structures: Queues & Deques | Lab 7 | Programs 19–20 Quiz 6 Code Review 6 |
Textbook: Sections 3.10–3.18 |
| 03/13 | Class 7 | ||||
| Week 8 | 03/15–03/21 | No Class | |||
| Week 9 | 03/22–03/28 | Map Abstract Data Type: Dictionaries, Maps | Lab 8 | Programs 21–22 Quiz 7 Code Review 7 |
Textbook: Sections 3.19–3.25 |
| 03/27 | Class 8 | ||||
| Week 10 | 03/29–04/04 | No Class | |||
| Week 11 | 04/05–04/11 | Searching: Sequential and Binary Search; Searching Running Times | Lab 9 | Programs 23–24 Quiz 8 Code Review 8 |
Textbook: Chapter 5 |
| 04/10 | Class 9 | ||||
| Week 12 | 04/12–04/18 | Sorting: 2 Basic Sorts; Using Built-In Python Sort (timsort); Sorting Running Times | Lab 10 | Programs 25–26 Quiz 9 Code Review 9 |
Textbook: Chapter 5 |
| 04/17 | Class 10 | ||||
| Week 13 | 4/19–04/25 | Tree ADT & Heaps | Lab 11 | Programs 25–26 Quiz 10 Code Review 10 |
Textbook: Chapter 6 |
| 04/24 | Class 11 | ||||
| Week 14 | 04/26-05/2 | Binary Search Trees & Graph ADT | Lab 12 | Programs 27–28 Quiz 11 Code Review 11 |
Textbook: Chapter 6 |
| 05/01 | Class 12 | ||||
| Week 15 | 05/03-05/09 | More on Graphs; Current Topics in Algorithms | Lab 13 | Programs 29–30 Quiz 12 Code Review 12 |
Textbook: Chapter 7 |
| 05/08 | Class 13 | ||||
| Week 16 | 05/10-05/16 | Review (Mock Exam) | Quiz 13 Code Review 13 |
||
| 05/15 | Mock Exam | ||||
| Finals | 05/22 10AM-12PM | Final Exam **TIME IS SUBJECT TO CHANGE** | |||