Course Designers:
Course Instructors:
COURSE STRUCTURE |
EACH WEEK |
---|---|
|
Lecture notes will be posted before each lecture in the "Handouts" column in Course Outline below.
Peer-Mentor Tutoring: Undergraduate Teaching Assistants (UTAs) are available to help:
Week: | Topics: | Handouts: | Quiz: | Reading: | ||
---|---|---|---|---|---|---|
#1 | Lecture: 2 February |
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: | Getting started with Python & IDLE; Using modules and definite loops | Lab 1 |
Academic Integrity + Loops & Turtles | |||
#2 | Lecture: 9 February |
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 | ||
Lab & Quiz: | String methods; Problem solving and the design process (simple parsing and translating) | Lab 2 |
Strings, Loops & Shell Commands | |||
12-15 February | No classes, No drop-in tutoring | |||||
#3 | Lecture: 16 February |
Arithmetic; Indexing & Slicing; Colors, Hexadecimal notation; |
Event Timing (Arithmetic Challenge),
Slicing Challenges, Color Challenges, Lecture notes | Think CS: Section 8.11 &
Chapter 11, Numpy tutorial (DataCamp) |
||
Lab & Quiz: |
Arrays and images in numpy, hexadecimal representation of colors (image processing) | Lab 3 |
Indexing, Slicing, Colors & Shell Commands | |||
#4 | Lecture: 23 February |
More on Lists & Arrays; Images; Decisions; |
Decision Challenges, turtleString.py, Lecture notes |
Think CS: Chapter 7 & Chapter 11 | ||
Lab & Quiz | Programming with decisions & files (flood maps) | Lab 4 |
Loops, Decision, Numpy Arrays & Shell Commands | |||
#5 | Lecture: 2 March |
Logical Expressions, Circuits, Binary Numbers; |
Types & Decisions Challenges, Logical Operators Challenges, SemesterIfAndExample, Basic Gates, Circuit Challenge1, Circuit Challenge2, Lecture notes |
Think CS: Chapter 7, Burch's Logic & Circuits, Explain Logic Gates |
||
Lab & Quiz: | More on Decisions (snow pack); Circuits & Logical Expressions |
Lab 5 |
Circuits, Logical Expressions & Shell Commands | #6 | Lecture: 9 March |
Accessing formatted data; | Arithmetic Challenges, List/String Challenges, Lecture notes |
Think CS: Chapter 6, 10-minutes to Pandas Tutorial, DataCamp Pandas Tutorial, Ubuntu Terminal Reference Sheet |
Lab & Quiz: | CSV files via pandas (population change); Shell Scripts, github |
Lab 6 |
Formatted Data & Shell Commands | |||
#7 | Lecture: 16 March |
Functions; NYC OpenData |
quarterImage.py, Hello with main(), Total & Tax Challenge, Greet Example, Happy Example, Jam Example, Month String Example, NYC OpenData Lecture notes |
Think CS: Chapter 6, 10-minutes to Pandas Tutorial, DataCamp Pandas Tutorial |
||
Lab & Quiz | OpenData NYC (shelter data); Using main() functions; Python from the command line |
Lab 7 |
Functions | |||
#8 | Lecture: 23 March |
More Functions & Parameters; |
Decisions & Functions Example, Dessert Exam Questions, Foo example, Koalas, Lecture notes |
Think CS: Chapter 6 | ||
Lab & Quiz: | Binning data (parking tickets); Top-down design (herd of turtles); Command line git |
Lab 8 |
Parameters & Functions | |||
29 March - 5 April | Spring Recess | |||||
#9 | Lecture: 6 April |
Programming with Functions, Top-down Design; Mapping GIS Data (Folium); Random Number Generation; Preview: Indefinite Loops |
Sisters Example, numsConvert.py num2string example, CUNYcampuses, Distance Check, Random Walk, Lecture notes |
Think CS: Chapter 6, folium tutorial |
||
Lab & Quiz |
Folium/leaflet.js (mapping CUNY locations);
Finding errors; Regular expressions (command line) |
Lab 9 |
Functions, Top-down Design & Shell Commands | |||
#10 | Lecture: 13 April |
Indefinite Loops; Simulations; Design Patterns: Max; |
Nums & While, Max Num, Random Search (turtles), Lecture notes |
Think CS: Chapter 8 | ||
Lab & Quiz | More on Indefinite loops; Writing functions; unit testing | Lab 10 |
Indefinite Loops, Simulations & Shell Commands | |||
#11 | Lecture: 20 April |
Python Recap; Simplified Machine Language; Design Patterns: Searching; |
Search, WeMIPS Emulator, Lecture notes |
U Idaho reference sheet, MIPS Wikibooks | ||
Lab & Quiz | Simplified machine language | Lab 11 |
Simplified Machine Language & Shell Commands | |||
#12 | Lecture: 27 April |
Introduction to C++: program structure, data representation and I/O. Final Exam Overview |
cin/cout example, convert example, loops example, growth example, nested loops, Lecture notes |
Cplusplus Tutorial, C++ Tutorials Point, The Rook's Guide to C++ |
||
Lab & Quiz | Using gcc | Lab 12 |
C++ & Shell Commands | |||
#13 | Lecture: 4 May |
C++ control structures |
Decision example (C++), Logical Expressions (C++), Input Checking (C++), Input Checking, II (C++), Growth Example (C++), Lecture notes |
Cplusplus Tutorial, C++ Tutorials Point, The Rook's Guide to C++ |
||
Lab & Quiz | Control Structures in C++ | Lab 13 |
C++ control structures | #14 | Lecture: 11 May |
Mock Exam | Final Exam Information |
Quiz | No lab this week. Take advantage of drop-in tutoring for review!!! | End-of-semester Survey | ||||
18-21 May | Reading Day, No drop-in tutoring | |||||
MONDAY 24 May 9am-11am |
Final Exam | Final Exam Information |