CSci 227 Syllabus    Resources    Coursework



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

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

For questions about the course, write to: stjohn 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:1/25-1/30 Recap: Python Basics Lab 0 Quiz 0
Week 1:1/31-2/6 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)
1/31 Lab Opens
Week 2:2/7-2/13 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)
2/12 Holiday: Lab Closed
Week 3:2/14-2/20 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)
2/19 Holiday: Lab Closed
Week 4:2/21-3/5 Functions: Parameters, Return Values; Exception Handling; Recursion Lab 4,
triangle.py (trinket)
Programs 8-12,
Quiz 4,
Code Review 4
Textbook: Sections 1.11 & 1.12 (Exception Handling & Functions), Chapter 4 (Recursion)
2/28 No Lecture: Classes Follow Monday Schedule
Week 5:3/6-3/12 Object Oriented Programming; Writing Proper Classes;
Using Standard Libraries: Survey of numpy, pandas, plotly, scipy
Lab 5 Programs 13-15,
Quiz 5,
Code Review 5
Textbook: Chapter 17 (Objects & Classes),
ThinkCS: Chapter 19 (Pillars of OOP),
Textbook: Section 1.13 (OOP in Python)
Week 6:3/13-3/19 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)
Week 7:3/20-3/26 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)
Week 8:3/27-4/2 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)
3/29 Holiday: Lab Closed
Week 9:4/3-4/9 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)
Week 10:4/10-4/16 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)
Week 11:4/17-4/21 Tree ADT & Heaps Lab 11 Programs 25-26,
Quiz 11,
Code Review 11
Textbook: Chapter 6 (Trees)
4/22-4/30 Spring Break: No Classes
Week 12:5/1-5/7 Binary Search Trees & Graph ADT Lab 12 Programs 27-28,
Quiz 12,
Code Review 12
Textbook: Chapter 7 (Graphs)
Week 13:5/8-5/14 More on Graphs;
Current Topics in Algorithms;
Review
Lab 13 Programs 29-30,
Quiz 13,
Code Review 13
Textbook: Chapter 7 (Graphs)
Week 14:5/15 Review (Mock Exam)
Finals 5/22, 9-11am Final Exam
(This file was last modified on 23 May 2024.)