Course Designers:
Course Instructors:
COURSE STRUCTURE:
Each week we have:
No late assignment will be accepted.
Submission is open at least 2 weeks before the due date.
You should work on programming assignment well ahead of the due dates.
Working on assignments the day they are due will increase the chance you will miss the deadline.
Help: Peer-Mentor Tutoring. Undergraduate Teaching Assistants (UTAs) are available to help:
Week: | Topics: | Handouts: | Quiz & Code Review: | Reading: | |
---|---|---|---|---|---|
#1 | Lecture: January 30 |
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 | |
Lab, Quiz & Code Review: | Getting started with Python & IDLE; Using modules and definite loops | Lab 1 |
Quiz topics | ||
#2 | Lecture: February 6 |
Strings & Lists: looping through strings, console I/O, ASCII representation |
for-loop examples, input() example, Lecture Notes |
Think CS: Chapter 2 & Chapter 3 | |
Lab, Quiz & Code Review: | String methods; Problem solving and the design process (simple parsing and translating) | Lab 2 |
Turtles & Loops | ||
Monday, February 12 | College closed -- No Tutoring/Quizzes/Code Reviews available. | ||||
#3 | Lecture: February 13 |
Arithmetic; Indexing & Slicing; Colors, Hexadecimal notation; |
Slicing Challenges, Color Challenges, Lecture Notes |
Think CS: Section 8.11 &
Chapter 11, Numpy tutorial (DataCamp) |
|
Lab, Quiz & Code Review: | Arrays and images in numpy, hexadecimal representation of colors (image processing) | Lab 3 |
Strings, Loops and Unix | ||
Monday, February 19 | President's Day -- No Tutoring/Quizzes/Code Reviews available. | ||||
#4 | Lecture: February 20 |
More on Lists & Arrays; Images; Decisions; |
Images notes
Lecture Notes |
Think CS: Chapter 7 & Chapter 11 | |
Lab, Quiz & Code Review: | Programming with decisions & files (flood maps) | Lab 4 |
Colors, Hex, and Unix | ||
#5 | Lecture: February 27 |
Logical Expressions, Circuits; |
Basic Gates, Circuit Challenge1, Circuit Challenge2, Review Lecture Notes 04 |
Think CS: Chapter 7, Burch's Logic & Circuits, Explain Logic Gates |
|
Lab, Quiz & Code Review: | More on Decisions (snow pack); Circuits & Logical Expressions |
Lab 5 |
Images and Decisions | ||
#6 | Lecture: March 5 |
Cropping images; Accessing formatted data; |
Lecture Notes | Think CS: Chapter 6, 10-minutes to Pandas Tutorial, DataCamp Pandas Tutorial, Ubuntu Terminal Reference Sheet |
|
Lab, Quiz & Code Review: | CSV files via pandas (population change); Shell Scripts, GitHub |
Lab 6 |
Circuits & Logical Expressions | ||
#7 | Lecture: March 12 |
More on pandas; Intro to functions |
Lecture slip example, continue lecture 6 notes, intro to functions |
Chapter 6, 10-minutes to Pandas Tutorial, DataCamp Pandas Tutorial |
|
Lab, Quiz & Code Review: | OpenData NYC (shelter data);
Using main() functions; Python from the command line |
Lab 7 |
Using the pandas library | ||
#8 | Lecture: March 19 |
More Functions & Parameters; |
Lecture 8 programs, List Example 1 (Python Tutor) List Example 2 (Python Tutor), Lecture Notes |
Think CS: Chapter 6 | |
Lab, Quiz & Code Review: | Binning data (parking tickets);
Top-down design (herd of turtles);
|
Lab 8 |
Top-down design; value_counts() | ||
#9 | Lecture: March 26 |
Programming with Functions, Top-down Design; Mapping GIS Data (Folium); Random Number Generation; Indefinite Loops |
Sisters Example, num2string example, Lecture Notes |
Think CS: Chapter 6, Folium tutorial |
|
Lab, Quiz & Code Review: | Folium/leaflet.js (mapping CUNY locations);
Finding errors; Regular expressions (command line) |
Lab 9 |
Folium; regular expressions | ||
Friday, March 29 | Good Friday -- No Tutoring/Quizzes/Code Reviews available. | ||||
#10 | Lecture: April 2 |
Indefinite Loops; Simulations; Design Patterns: Max; |
cunyLocations.csv, Swap if smaller (Python Tutor), Random Search (turtles), Lecture Notes |
Think CS: Chapter 8 | |
Lab, Quiz & Code Review: | Indefinite loops; random; More on command line scripts; |
Lab 10 |
Random numbers; while loops | ||
#11 | Lecture: April 9 |
Python Recap; Simplified Machine Language; Design Patterns: Searching; |
WeMIPS Emulator, Lecture slip example, Lecture Notes |
U Idaho reference sheet, MIPS Wikibooks | |
Lab, Quiz & Code Review: | WeMIPS | Lab 11 |
WeMips (Machine Language) | ||
#12 | Lecture: April 16 |
Introduction to C++: program structure, data representation and I/O. Final Exam Overview |
cin/cout example, kg/lbs example, loops example, nested loops, Lecture Notes |
Cplusplus Tutorial, C++ Tutorials Point, The Rook's Guide to C++ |
|
Lab, Quiz & Code Review: | C++ Intro | Lab 12 |
C++ | ||
Monday, April 22 to Tuesday, April 30 | Spring Break -- No Tutoring/Quizzes/Code Reviews available. | ||||
#13 | Lecture: May 7 |
C++ |
Lecture 13 programs, Lecture Notes |
Cplusplus Tutorial, C++ Tutorials Point, The Rook's Guide to C++ |
|
Lab, Quiz & Code Review: | C++ | Lab 13 |
Review quizzes for Final exam | ||
#14 | Lecture: May 14 |
MOCK EXAM |
|||
LAST DAY OF CLASS | |||||
MONDAY MAY 20 | 9 AM TO 11 AM | FINAL EXAM |
|||
Assembly Hall (118 HN) | FINAL EXAM INFORMATION |