CSci 227 Syllabus    Resources    Coursework

CS 227

CS 227

CSci 227: Programming Methods
Department of Computer Science
Hunter College, City University of New York
Spring 25

TL;DR: Data structures & algorithms in Python for CS Minors.

For questions about the course, write to: zs494 AT hunter cuny edu.

Announcements:

Course Structure:

Each we have:

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.


Calendar:

Tentative schedule, subject to change:
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
(This file was last modified on 7 August 2024.)