Course Designers:
Course Instructors:
COURSE STRUCTURE:
Each week we have:
Help: Peer-Mentor Tutoring. Undergraduate Teaching Assistants (UTAs) are available to help:
Week: | Topics: | Handouts: | Quiz & Code Review: | Reading: | ||
---|---|---|---|---|---|---|
#1 | Lecture: 31 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 | ||
Lab, Quiz & Code Review: | Getting started with Python & IDLE; Using modules and definite loops | Lab 1 |
Academic Integrity + Introductory survey | |||
3-8 September | No Lecture, No Classes, No Tutoring | |||||
#2 | Lecture: 14 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 | ||
Lab, Quiz & Code Review: | String methods; Problem solving and the design process (simple parsing and translating) | Lab 2 |
Turtles & Loops | |||
15-16 September | No classes, No Tutoring | |||||
#3 | Lecture: 21 September |
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& Code Review & Code Review: |
Arrays and images in numpy, hexadecimal representation of colors (image processing) | Lab 3 |
Strings, Loops & Shell Commands | |||
#4 | Lecture: 28 September |
More on Lists & Arrays; Images; Decisions; |
Decision Challenges, turtleString.py, Lecture notes |
Think CS: Chapter 7 & Chapter 11 | ||
Lab, Quiz & Code Review | Programming with decisions & files (flood maps) | Lab 4 |
Indexing, Slicing, Colors & Shell Commands | |||
#5 | Lecture: 5 October |
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 & Code Review: | More on Decisions (snow pack); Circuits & Logical Expressions |
Lab 5 |
Loops, Decision, Numpy Arrays & Shell Commands | #6 | Lecture: 12 October |
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 & Code Review: | CSV files via pandas (population change); Shell Scripts, github |
Lab 6 |
Circuits, Logical Expressions & Shell Commands | |||
#7 | Lecture: 19 October |
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 & Code Review | OpenData NYC (shelter data); Using main() functions; Python from the command line |
Lab 7 |
Formatted Data & Shell Commands | |||
#8 | Lecture: 26 October |
More Functions & Parameters; |
Decisions & Functions Example, Dessert Exam Questions, Foo example, Koalas, Lecture notes |
Think CS: Chapter 6 | ||
Lab, Quiz & Code Review: | Binning data (parking tickets); Top-down design (herd of turtles); Command line git |
Lab 8 |
Functions | |||
#9 | Lecture: 2 November |
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 & Code Review |
Folium/leaflet.js (mapping CUNY locations);
Finding errors; Regular expressions (command line) |
Lab 9 |
Parameters & Functions | |||
#10 | Lecture: 9 November |
Indefinite Loops; Simulations; Design Patterns: Max; |
Nums & While, Max Num, Random Search (turtles), Lecture notes |
Think CS: Chapter 8 | ||
Lab, Quiz & Code Review | More on Indefinite loops; Writing functions; unit testing | Lab 10 |
Functions, Top-down Design & Shell Commands | |||
#11 | Lecture: 16 November |
Python Recap; Simplified Machine Language; Design Patterns: Searching; |
Search, WeMIPS Emulator, Lecture notes |
U Idaho reference sheet, MIPS Wikibooks | ||
Lab, Quiz & Code Review | Simplified machine language | Lab 11 |
Indefinite Loops, Simulations & Shell Commands | |||
#12 | Lecture: 23 November |
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 & Code Review | Using gcc | Lab 12 |
Simplified Machine Language & Shell Commands | |||
#13 | Lecture: 30 November |
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 & Code Review | Control Structures in C++ | Lab 13 |
C++ & Shell Commands | #14 | Lecture: 7 December |
In-Person Mock Exam | Final Exam Information |
Quiz & Code Review | No lab this week. Take advantage of drop-in tutoring for review!!! | End-of-semester Survey | ||||
14-17 December | Reading Day, No tutoring available | |||||
MONDAY 20 December 9am-11am |
Final Exam | Final Exam Information |