This course presents an overview of computer science (CS) with an emphasis on problem-solving and computational thinking through 'coding': computer programming for beginners. Other topics include: organization of hardware, software, and how information is structured on contemporary computing devices. This course is pre-requisite to several introductory core courses in the CS Major. The course is also required for the CS minor. MATH 12500 or higher is strongly recommended as a co-req for intended Majors.

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:

Useful Links:

Course Outline:

 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
(This file was last modified on 27 January 2020.)