The course has lectures on Wednesday mornings and recitation sections offered throughout the week (you must register both for the lecture and a recitation section).
Course Coordinator:
Lecture: The lecture for the course is Wednesdays, 9:45-11am in 118 Hunter North (Assembly Hall).
Lab Hours: There is a dedicated computer laboratory, North 1001E for this course:
Week: | Topics: | Handouts: | Quiz Topics: | Reading: | |
---|---|---|---|---|---|
#1 | Lecture: 29 August |
Syllabus & Class Policies, Introductions, Introduction to Python: definite loops, simple output, primitive data types, overview of objects & modules; What is an algorithm? | Syllabus, Programming Assignments, Hello, World, Hexagon example, Fancier hexagon, Lecture Notes |
Think CS: Chapter 1 & Chapter 4 | |
Recitations: 27-31 August |
Getting started with Python & IDLE; Using modules and definite loops | Lab 1 | Academic Integrity | ||
3 September | No Classes: Labor Day | ||||
5 September | Classes Follow a Monday Schedule | ||||
#2 | Lecture: 12 September |
Strings & Lists: looping through strings, console I/O, ASCII representation |
Loop Puzzle 1, Loop Puzzles 2, Caesar Cipher example, input() example, Lecture notes |
Think CS: Chapter 2 & Chapter 3 | |
Recitations: 4-7,12 September |
String methods; Problem solving and the design process (simple parsing and translating) | Lab 2 | Loops & Turtles | ||
10-11 September | No Classes | ||||
#3 | Lecture: 26 September |
Files & 2D Arrays, Hexadecimal notation; CS Survey: Prof. William Sakas (computational linguistics) |
Slicing Challenges, Color Challenges, Lecture notes | Think CS: Section 8.10 &
Chapter 11, Numpy tutorial (DataCamp) |
|
Recitations: 13-14,17, 25-26 September |
Arrays and images in numpy, hexadecimal representation of colors (image processing); Unix: basic command line interface |
Lab 3 | Strings & Lists | ||
18-19 September | No Classes | ||||
#4 | Lecture: 3 October |
More on Lists & Arrays; Decisions; CS Survey: Bernard Desert & Elise Harris (CUNY2X@Hunter) |
Loop & Slice Challenges, Decision Challenges, turtleString.py, FizzBuzz, Lecture notes |
Think CS: Chapter 7 & Chapter 11 | |
Recitations: 20-21,24 September, 2-3 October |
Programming with decisions & files (flood maps); Unix: relative paths |
Lab 4 | Colors & Images in numpy | ||
#5 | Lecture: 10 October |
Logical Expressions, Circuits CS Survey: Melina Diaconis (WiTNY), and Lily Caplan (President, Student ACM Chapter) |
Types & Decisions Challenges, Logical Operators Challenges, Basic Gates, Circuit Challenges, Lecture notes |
Think CS: Chapter 7, Burch's Logic & Circuits, Explain Logic Gates |
|
Recitations: 27-28 September, 1,9-10 October |
More on Decisions (snow pack); Circuits & Logical Expressions; Unix: absolute paths |
Lab 5 | Decisions & Color | ||
8 October | No Classes | ||||
#6 | Lecture: 17 October |
Accessing formatted data;
Functions
CS Survey: Prof. Saad Mneimneh (modeling & algorithms) |
Arithmetic Challenges, List/String Challenges, Lecture notes |
Think CS: Chapter 6, 10-minutes to Pandas Tutorial, DataCamp Pandas Tutorial, Ubuntu Terminal Reference Sheet |
|
Recitations: 4-5,15-17 October |
CSV files via pandas (population change); Shell Scripts; github |
Lab 6 | Circuits, Truth Tables, & Logical Expressions | ||
#7 | Lecture: 24 October |
More on Functions & Open data;
CS Survey: Adrienne Schmoeker & Albert Webber (Mayor's Office of Data Analytics) |
Motto Challenge, Hello with main(), Total & Tax Challenge Greet Example, Happy Example, Jam Example, Lecture notes |
Think CS: Chapter 6, 10-minutes to Pandas Tutorial, DataCamp Pandas Tutorial |
|
Recitations: 12-13,22-24 October |
OpenData NYC (shelter data); Using main() functions; Python from the command line |
Lab 7 | Formatted Data & Shell Commands | ||
#8 | Lecture: 31 October |
More on Parameters & Functions; Top-Down Design
CS Survey: Keith Okrosy, (Career Development Services @ Hunter) |
Decisions & Functions Example, Foo example, Dessert Exam Questions, Koalas, NYC Current Job Posts, Lecture notes |
Think CS: Chapter 6 | |
Recitations: 18-19, 29-31 October |
Binning data (parking tickets); Top-down design (herd of turtles); Using git from the command line |
Lab 8 | Functions & More Pandas | ||
#9 | Lecture: 7 November |
Mapping GIS Data, Indefinite Loops, Simulations, CS Survey: Prof. Susan Epstein (machine learning) |
Sisters Example
Distance Check, Nums & While, Random Walk Lecture notes |
Think CS: Chapter 6, folium tutorial |
|
Recitations: 25-28 October, 5-7 November |
Folium/leaflet.js (mapping CUNY locations); Finding errors |
Lab 9 | Parameters & Functions | ||
#10 | Lecture: 14 November |
More on Loops & Folium; Python Recap; Representing Data; Machine Language Overview |
Random Search (turtles), Max Num, Search, num2words example, WeMIPS Emulator, Lecture notes |
Think CS: Chapter 8, U Idaho reference sheet, MIPS Wikibooks |
|
Recitations: 1-2,12-14 November |
Program design with indefinite loops;
Writing functions;
More on command-line scripts and VI (vim) editor; |
Lab 10 | More on Functions & Top-down Design | ||
#11 | Lecture: 21 November |
More on Data Representation & Machine Language; Reusing Code & Common Strategies (Design Patterns); |
WeMIPS Emulator, Sorting Demo, Bubblesort (PythonTutor), Lecture notes |
U Idaho reference sheet, MIPS Wikibooks | |
Recitations: 8-9,19-21 November |
Simplified machine language;
Unix: using pipes |
Lab 11 | Indefinite Loops & Simulations | ||
22 - 23 November | Thanksgiving Break: No Classes | ||||
#12 | Lecture: 28 November |
Introduction to C++: program structure, data representation and I/O. | cin/cout example, convert example, loops example, growth example, nested loops, Lecture notes |
Cplusplus Tutorial, C++ Tutorials Point, The Rook's Guide to C++ |
|
Recitations: 15-16, 26-28 November |
Using gcc;
Unix: identifying files: which and file |
Lab 12 | Simplified Machine Language | ||
#13 | Lecture: 5 December |
C++ control structures | Decision example (C++), Logical Expressions (C++), Input Checking (C++), Input Checking, II (C++), Growth Example (C++), NYC Urban Forest: Street Trees, Lecture notes |
Cplusplus Tutorial, C++ Tutorials Point, The Rook's Guide to C++ |
|
Recitations: 29-30 November, 3-5 December |
Control Structures in C++;
Unix: built-in help pages (man) and piping with more |
Lab 13 | Introduction to C++ | ||
#14 | Lecture: 12 December |
Review | Final Exam Information | ||
Recitations: 6-7,10-12 December |
Review | End-of-semester Survey | |||
Wednesday, 19 December, 9-11am | Final Exam |