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.
Dates: | Topics: | Handouts: | Coursework:   | Reading: | ||
---|---|---|---|---|---|---|
Week 0: | 01/26-02/01 | Recap: Python Basics | Lab 0 | Quiz 0 | ||
01/29 | Holiday: No Class | |||||
Week 1: | 02/02-02/08 | Syllabus & Class Policies; Recap of Primitive Data Types & Control Structures: Conditionals & Loops; Introduction to Collection Data Types: List, Set, Tuple, and Dictionaries | Syllabus, Lab 1 |
Programs 1-2, Quiz 1, Code Review 1 |
Textbook: Sections 1.1-1.8.1, 1.10, 1.12 (Python recap) | |
02/05 | Class 1 | |||||
Week 2: | 02/09-02/15 | Holiday: No Class | ||||
Week 3: | 02/16-02/22 | More on Dictionaries & Hashing; String Methods & Traversal: Slices, List Comprehension, Formatting String (f-strings) | Lab 2 |
Programs 3-5, Quiz 2, Code Review 2 |
Textbook: Sections 1.8.1, 1.9 (Collection Data Types & String I/O) | |
02/17 | Holiday: Lab Closed | |||||
02/19 | Class 2 | |||||
Week 4: | 02/23-02/29 | File I/0; Introduction to Running Time Complexity | Lab 3 |
Programs 6-7, Quiz 3, Code Review 3 |
Textbook: Chapter 2 (running time); ThinkCS (127 textbook): Chapter 11 (files) |
|
02/26 | Class 3 | |||||
Week 5: | 03/02-03/08 | Functions: Parameters, Return Values; Exception Handling; Recursion |
Lab 4, triangle.py (trinket) |
Programs 8-12, Quiz 4.5, Code Review 4.5 |
Textbook: Sections 1.11 & 1.12 (Exception Handling & Functions), Chapter 4 (Recursion) | |
Object Oriented Programming; Writing Proper Classes; Using Standard Libraries: Survey of numpy, pandas, plotly, scipy |
Lab 5 |
Programs 13-15, Quiz 4.5, Code Review 4.5 |
Textbook: Chapter 17 (Objects & Classes), ThinkCS: Chapter 19 (Pillars of OOP), Textbook: Section 1.13 (OOP in Python) |
|||
03/05 | Class 4 | |||||
03/06 | Class 5 | |||||
Week 6: | 03/09-03/15 | Linear Data Structures: Array Implementations & Linked Lists; Stacks | Lab 6 |
Programs 16-18, Quiz 6, Code Review 6 |
Textbook: Sections 3.1-9 (Linear Data Structures: Stacks) | |
03/12 | Class 6 | |||||
Week 7: | 03/16-03/22 | More on Linear Data Structures: Queues & Deques | Lab 7 |
Programs 19-20, Quiz 7, Code Review 7 |
Textbook: Sections 3.10-18 (Linear Data Structures: Queues) | |
03/19 | Class 7 | |||||
Week 8: | 03/23-03/29 | Map Abstract Data Type: Dictionaries, Maps | Lab 8 |
Programs 21-22, Quiz 8, Code Review 8 |
Textbook: Sections 3.19-25 (Linear Data Structures: Lists) | |
03/26 | Class 8 | |||||
03/31 | Holiday: Lab Closed | |||||
Week 9: | 03/30-04/05 | Searching: Sequential and Binary Search; Searching Running Times | Lab 9 |
Programs 23-24, Quiz 9, Code Review 9 |
Textbook: Chapters 3 & 5 (Linear Data Structures & Searching and Sorting) | |
04/02 | Class 9 | |||||
Week 10: | 04/06-04/12 | Sorting: 2 Basic Sorts; Using Built-In Python Sort (timsort); Sorting Running Times | Lab 10 |
Programs 25-26, Quiz 10, Code Review 10 |
Textbook: Chapter 5 (Searching and Sorting) | |
04/09 | Class 10 | |||||
Week 11: | 04/13-04/19 | Spring Reass - No Class | ||||
Week 12: | 04/20-04/26 | Tree ADT & Heaps | Lab 11 |
Programs 25-26, Quiz 11, Code Review 11 |
Textbook: Chapter 6 (Trees) | |
04/23 | Class 11 | |||||
Week 12: | 04/27-05/03 | Binary Search Trees & Graph ADT | Lab 12 |
Programs 27-28, Quiz 12, Code Review 12 |
||
04/30 | Class 12 | |||||
Week 13: | 05/04-05/10 | More on Graphs; Current Topics in Algorithms; Review | Lab 13 |
Programs 29-30, Quiz 13, Code Review 13 |
Textbook: Chapter 7 (Graphs) | |
05/07 | Class 13 | |||||
Week 14: | 05/14-Review | Review (Mock Exam) | ||||
Finals | 05/21/2025 10am - 12pm | Final Exam |