Course Designers:
Course Instructors:
IMPORTANT:
The course has lecture and lab twice a week and required quizzes each class
This is a HYBRID course which means that you are responsible for independently reading the weekly Lab found in the "Handouts" column in the Course Outline below.
Starting June 3, there are programming assignments due at 9:30a EVERY Monday and Wednesday day. Programming Assignments are directly related to Labs and Lectures.
Lecture notes will also be posted weekly in the "Handouts" column in Course Outline below.
Prof. Howitt Lecture/Lab: Tuesday/Thursday 9:50-12:58 on Zoom
Prof. Korpan Lecture/Lab: Monday/Wednesday 9:50-12:58 on Zoom
Module: | Topics: | Handouts: | Quiz: | Reading: | ||||||
---|---|---|---|---|---|---|---|---|---|---|
#1 | Lecture: Class 1 |
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: Class 1 |
Getting started with Python & IDLE; Using modules and definite loops | Lab 1 | Academic Integrity | |||||||
#2 | Lecture: Class 2 |
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: Class 1 |
String methods; Problem solving and the design process (simple parsing and translating) | Lab 2 | Loops & Turtles | |||||||
#3 | Lecture: Class 2 |
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: Class 2 |
Arrays and images in numpy, hexadecimal representation of colors (image processing) | Lab 3 | Strings & Loops | |||||||
#4 | Lecture: Class 3 |
More on Lists & Arrays; Images; Decisions; Airplane Design |
Loop & Slice Challenges, Decision Challenges, turtleString.py, Lecture notes |
Think CS: Chapter 7 & Chapter 11 | ||||||
Lab & Quiz: Class 3 | Programming with decisions & files (flood maps) | Lab 4 | Loops & Unix | |||||||
#5 | Lecture: Class 4 |
Logical Expressions, Circuits, Binary Numbers; |
Types & Decisions Challenges, Logical Operators Challenges, SemesterIfAndExample, Basic Gates, Circuit Challenge1, Circuit Challenge2, Circuit Challenge3, Lecture notes |
Think CS: Chapter 7, Burch's Logic & Circuits, Explain Logic Gates |
||||||
Lab & Quiz: Class 4 |
More on Decisions (snow pack); Circuits & Logical Expressions |
Lab 5 | Decisions & Color | #6 | Lecture: Class 5 |
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: Class 5 |
CSV files via pandas (population change); Shell Scripts, github |
Lab 6 | Circuits, Truth Tables, & Logical Expressions | |||||||
#7 | Lecture: Class 6 |
Functions; NYC OpenData |
Motto Challenge, quarterImage.py, Hello with main(), Prep #1.2, 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: Class 6 |
OpenData NYC (shelter data); Using main() functions; Python from the command line |
Lab 7 | Formatted Data & Shell Commands | |||||||
#8 | Lecture: Class 7 |
More Functions & Parameters; |
Decisions & Functions Example, Dessert Exam Questions, Foo example, Koalas, Lecture notes |
Think CS: Chapter 6 | ||||||
Lab & Quiz: Class 7 |
Binning data (parking tickets); Top-down design (herd of turtles); Command line git |
Lab 8 | Functions & More Pandas | |||||||
#9 | Lecture: Class 8 |
Programming with Functions, Top-down Design; Mapping GIS Data (Folium); Random Number Generation; Preview: Indefinite Loops |
Sisters Example, numsConvert.py num2string example, Distance Check, Random Walk, Lecture notes |
Think CS: Chapter 6, folium tutorial |
||||||
Lab & Quiz: Class 8 |
Folium/leaflet.js (mapping CUNY locations);
Finding errors; Regular expressions (command line) |
Lab 9 | Parameters & Functions | |||||||
#10 | Lecture: Class 9 |
Indefinite Loops; Simulations; Design Patterns: Max; |
Nums & While, Max Num, Random Search (turtles), Lecture notes |
Think CS: Chapter 8 | ||||||
Lab & Quiz: Class 9 |
More on Indefinite loops; Writing functions; unit testing | Lab 10 | More on Functions & Top-down Design | |||||||
#11 | Lecture: Class 10 |
Python Recap; Simplified Machine Language; Design Patterns: Searching; |
Search, WeMIPS Emulator, Lecture notes |
U Idaho reference sheet, MIPS Wikibooks | ||||||
Lab & Quiz: Class 10 |
Simplified machine language | Lab 11 | Indefinite Loops & Simulations | |||||||
#12 | Lecture: Class 11 |
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++ |
||||||
Lab & Quiz: Class 11 |
Using gcc | Lab 12 | Simplified Machine Language & More Unix | |||||||
#13 | Lecture: Class 11 |
C++ control structures Final Exam Overview |
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: Class 11 |
Control Structures in C++ | Lab 13 | Introduction to C++ | |||||||
FINAL CLASS MEETING 9:50am-11:50am |
Final Exam | Final Exam | Final Exam Information |