Course Designers:
Course Instructors:
IMPORTANT:
The course has lecture on Tuesday mornings and required weekly quizzes & code reviews in Lab 1001E (see lab hours below and your Blackboard account for scheduling information).
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 February 6, there is a programming assignment due EVERY 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.
Lecture: Tuesday 9:45-11:00 118 HN Assembly Hall
Lab Hours: There is a dedicated computer laboratory, North 1001E for this course:
Week: | Topics: | Handouts: | Quiz & Code Review: | Reading: | ||
---|---|---|---|---|---|---|
#1 | Lecture: 28 January |
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: 28-31 January, 3 February |
Getting started with Python & IDLE; Using modules and definite loops | Lab 1 | Academic Integrity | |||
#2 | Lecture: 4 February |
Strings & Lists: looping through strings, console I/O, ASCII representation CS Survey: Prof. William Sakas (computational linguistics) |
Loop Puzzle 1, Loop Puzzles 2, Caesar Cipher example, input() example, Lecture notes |
Think CS: Chapter 2 & Chapter 3 | ||
Lab, Quiz, & Code Review: 4-10 February |
String methods; Problem solving and the design process (simple parsing and translating) | Lab 2 | Loops & Turtles | |||
#3 | Lecture: 11 February |
Arithmetic; Indexing & Slicing; Colors, Hexadecimal notation; Prof. John Ranellucci, Educational Psychology |
Event Timing (Arithmetic Challenge),
Slicing Challenges, Color Challenges, Lecture notes | Think CS: Section 8.11 &
Chapter 11, Numpy tutorial (DataCamp) |
||
Lab, Quiz, & Code Review: 11-14 February |
Arrays and images in numpy, hexadecimal representation of colors (image processing) | Lab 3 | Strings & Loops | |||
12 February | Lincoln's Birthday: Lab closed | |||||
17 February | President's Day: Lab closed | |||||
#4 | Lecture: 18 February |
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, & Code Review: 18-24 February |
Programming with decisions & files (flood maps) | Lab 4 | Loops & Unix | |||
#5 | Lecture: 25 February |
Logical Expressions, Circuits, Binary Numbers; CS Survey: Bernard Desert & Elise Harris (CUNY2X@Hunter) |
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, & Code Review: 25-28 February, 2 March |
More on Decisions (snow pack); Circuits & Logical Expressions |
Lab 5 | Decisions & Color | #6 | Lecture: 3 March |
Accessing formatted data;
CS Survey: Prof. Kelle Cruz (Astrophysics) |
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: 3-9 March |
CSV files via pandas (population change); Shell Scripts, github |
Lab 6 | Circuits, Truth Tables, & Logical Expressions | |||
#7 | Lecture: 10 March |
Functions; NYC OpenData CS Survey: Brian Campbell, Hunter College Alumnus and Software Engineer at Seamless |
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, & Code Review: 10-16 March |
OpenData NYC (shelter data); Using main() functions; Python from the command line |
Lab 7 | Formatted Data & Shell Commands | |||
12-19 April | Instructional Recess - No Lecture, Online help via email and Blackboard Discussion Board available | |||||
#8 | Lecture: 24 March |
More Functions & Parameters; |
Decisions & Functions Example, Dessert Exam Questions, Foo example, Koalas, Lecture notes |
Think CS: Chapter 6 | ||
Lab, Quiz, & Code Review: 24-26 March |
Binning data (parking tickets); Top-down design (herd of turtles); Command line git |
Lab 8 | Functions & More Pandas | |||
27 March - 1 April | Recalibration Period - No Lecture, No Online Help | |||||
2-6 April | Online Help and Code Review 8 resume | |||||
7 April | Wednesday at Hunter - No Lecture | |||||
8-10 April | Spring Recess - No Online Help | |||||
#9 | Lecture: 14 April |
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, & Code Review: 14-20 April |
Folium/leaflet.js (mapping CUNY locations);
Finding errors; Regular expressions (command line) |
Lab 9 | Parameters & Functions | |||
#10 | Lecture: 21 April |
Indefinite Loops; Simulations; Design Patterns: Max; |
Nums & While, Max Num, Random Search (turtles), Lecture notes |
Think CS: Chapter 8 | ||
Lab, Quiz, & Code Review: 21-27 April |
More on Indefinite loops; Writing functions; unit testing | Lab 10 | More on Functions & Top-down Design | |||
#11 | Lecture: 28 April |
Python Recap; Simplified Machine Language; Design Patterns: Searching; |
Search, WeMIPS Emulator, Lecture notes |
U Idaho reference sheet, MIPS Wikibooks | ||
Lab, Quiz, & Code Review: 28 April - 4 May |
Simplified machine language | Lab 11 | Indefinite Loops & Simulations | |||
#12 | Lecture: 5 May |
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: 5-11 May |
Using gcc | Lab 12 | Simplified Machine Language & More Unix | |||
#13 | Lecture: 12 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, & Code Review: 12-14 May |
Control Structures in C++ | Lab 13 | Introduction to C++ | |||
MONDAY 18 May 9am-10:30am |
Final Exam | Final Exam Information |