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 lectures 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.

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,
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

Prof. John Ranellucci, Educational Psychology
Loop Puzzle 1,
Loop Puzzles 2,
Caesar Cipher example,
input() example,
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
Indexing & Slicing; Colors, Hexadecimal notation; Preview of Images; Airplane Design

CS Survey: Prof. William Sakas (computational linguistics)
Event Timing (Arithmetic Challenge), Slicing Challenges,
Color Challenges,
Think CS: Section 8.10 & 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;

Loop & Slice Challenges,
Decision Challenges,
turtleString.py,
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;

CS Survey: Bernard Desert & Elise Harris (CUNY2X@Hunter)

Types & Decisions Challenges,
Logical Operators Challenges,
Basic Gates,
Circuit Challenges,
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; Functions

CS Survey: Prof. Kelle Cruz (Astrophysics)

Arithmetic Challenges,
List/String Challenges,
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
More on 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
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
#8 Lecture:
17 March
Parameters & Functions; Decisions & Functions Example,
Dessert Exam Questions,
Foo example,
Koalas,
Think CS: Chapter 6
Lab, Quiz, & Code Review:
17-23 March
Binning data (parking tickets);
Top-down design (herd of turtles);
Command line git
Lab 8 Functions & More Pandas
#9 Lecture:
24 March
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,
Think CS: Chapter 6,
folium tutorial
Lab, Quiz, & Code Review:
24-30 March
Folium/leaflet.js (mapping CUNY locations); Finding errors;
Regular expressions (command line)
Lab 9 Parameters & Functions
#10 Lecture:
31 March
Indefinite Loops; Simulations;
Design Patterns: Max;

Nums & While,
Max Num, Random Search (turtles),
Think CS: Chapter 8
Lab, Quiz, & Code Review:
31 March, 1-3, 6 April
More on Indefinite loops; Writing functions; unit testing Lab 10 More on Functions & Top-down Design
7 April Spring Recess - No Lecture
7-16 April Spring Recess - Labs closed
#11 Lecture:
21 April

Python Recap;
Simplified Machine Language;
Design Patterns: Searching;


CS Survey: Prof. Katherine St. John (Computational Biology)

Search,
WeMIPS Emulator,
U Idaho reference sheet, MIPS Wikibooks
Lab, Quiz, & Code Review:
17-23 April
Simplified machine language Lab 11 Indefinite Loops & Simulations
#12 Lecture:
28 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,
Cplusplus Tutorial,
C++ Tutorials Point,
The Rook's Guide to C++
Lab, Quiz, & Code Review:
24-30 April
Using gcc Lab 12 Simplified Machine Language & More Unix
#13 Lecture:
5 May
C++ control structures

CS Survey: Adrienne Posner, Google Mountain View

Decision example (C++),
Logical Expressions (C++),
Input Checking (C++),
Input Checking, II (C++),
Growth Example (C++),

Cplusplus Tutorial,
C++ Tutorials Point,
The Rook's Guide to C++
Lab, Quiz, & Code Review:
1-7 May
Control Structures in C++ Lab 13 Introduction to C++
#14 Lecture:
12 May
Mock Final Exam Final Exam Information
Lab & Quiz:
8-14 May
Review End-of-semester Survey
TBA
9am-11am
Final Exam
(This file was last modified on 19 September 2019.)