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.

The course has lectures on Wednesday mornings and recitation sections offered throughout the week (you must register both for the lecture and a recitation section).

Course Coordinators:

Lead Adjuncts:

Recitation Instructors:
Sections: Time:Instructor:E-mail:
LectureW, 9:45-11am, North 118Dr. Katherine St. Johnkatherine stjohn AT hunter cuny edu
Dr. William Sakassakas AT hunter cuny edu
L01/L37M, 9:45-11am, North 1001EMr. Gennady Maryashgenady maryash AT gmail com
L02/L70M, 11:10am-12:25pm, North 1001EMr. Gennady Maryashgenady maryash AT gmail com
L03/L32M, 1:10-2:25pm, North 1001EMs. Katherine Howittkghowitt AT gmail com
L04M, 2:45-4pm, North 1001EMs. Carly Bloomfeldcarlybloomfeld AT gmail com
L05/L34M, 4:10-5:25pm, North 1001EMr. Gwenael Gattoggatto2 AT gmail com
L06M, 5:35-6:50pm, North 1001EMr. Subhadarshi Panda f2013377 AT hyderabad bits-pilani ac in
L07M, 7-8:15pm, North 1001EMr. Subhadarshi Panda f2013377 AT hyderabad bits-pilani ac in
L08/L35T, 9:45-11am, North 1001EMr. Abdul Rafae Khanrafae015 AT gmail com
L09T, 11:10am-12:25pm, North 1001EMr. Abdul Rafae Khanrafae015 AT gmail com
L10/L36T, 12:45-2pm, North 1001EMr. Xiaoke (Jimmy) Shenjim morris shen AT gmail com
L11/L71Th, 9:45-11am, North 1001EMr. Jiaxing Tanjtan AT gradcenter cuny edu
L12Th, 11:10am-12:25pm, North 1001EMr. Minh Nguyenmnguyen AT gradcenter cuny edu
L13/L33Th, 1:10-2:25pm, North 1001EMs. Basak Taylanbtaylan AT gradcenter cuny edu
L14Th, 2:45-4pm, North 1001EMs. Basak Taylanbtaylan AT gradcenter cuny edu
L15Th, 4:10-5:25pm, North 1001EMs. Basak Taylanbtaylan AT gradcenter cuny edu
L16Th, 5:35-6:50pm, North 1001EMr. Xiaoke (Jimmy) Shenjim morris shen AT gmail com
L17Th, 7-8:15pm, North 1001EMs. Basak Taylanbtaylan AT gradcenter cuny edu
L18W, 11:10am-12:25pm, North 1001EMs. Katherine Howittkghowitt AT gmail com
L19W, 4:10-5:25pm, North 1001EMr. Gwenael Gattoggatto2 AT gmail com
L20F, 9:45-11:00am, North 1001EMr. Jiaxing Tanjtan AT gradcenter cuny edu
L21F, 12:45pm-2pm, North 1001EMs. Ekaterina Kistanovaekistanova AT gradcenter cuny edu

Lab Hours: There is a dedicated computer laboratory, North 1001E for this course:

Useful Links:

Outline:

 Week:                        Topics:  Handouts:  Reading:  Quiz Topics:
#1 Lecture:
30 August
Introductions, Syllabus, campus computer and academic integrity policies,
Introduction to Python: definite loops, simple output, primitive data types, overview of objects & modules; what is an algorithm?
Syllabus,
Programming Assignments,
Hexagon example,
Fancier hexagon,
Lecture Notes
Think CS: Chapter 1 & Chapter 4
Recitations:
25, 28-31 August
Getting started with Python & IDLE;
Using modules and definite loops
Lab 1 Academic Integrity
4 September Labor Day: Campus Closed/No Classes
#2 Lecture:
6 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
Recitations:
1,5-7,11 September
String methods; Problem solving and the design process (simple parsing and translating) Lab 2 Loops & Turtles
#3 Lecture:
13 September
Files & 2D Arrays, Hexadecimal notation;
CS Survey: Prof. Katherine St. John (computational biology)
Slicing Challenges,
Color Challenges, Lecture notes
Think CS: Section 8.10 & Chapter 11,
Numpy tutorial (DataCamp)
Recitations:
8,12-14,18 September
Arrays and images in numpy, hexadecimal representation of colors (image processing) Lab 3 Strings & Lists
19 September Classes follow Thursday schedule
20-22 September No Classes
#4 Lecture:
27 September
More on Lists & Arrays; Decisions;
CS Survey: Prof. Susan Epstein (machine learning)
Loop & Slice Challenges,
Decision Challenges,
turtleString.py,
Lecture notes
Think CS: Chapter 7 & Chapter 11
Recitations:
15,19,25-27 September
Programming with decisions & files (flood maps) Lab 4 Colors & Images in numpy
29-30 September No Classes
#5 Lecture:
4 October
Logical Expressions, Circuits;
CS Survey: Prof. William Sakas (computational linguistics)
Types & Decisions Challenges,
Logical Operators Challenges,
Basic Gates,
Circuit Challenges,
Lecture notes
Think CS: Chapter 7,
UMd Logical Gates Overview, Explain Logic Gates
Recitations:
28 September, 2-4,6 October
More on Decisions (snow pack);
Circuits & Logical Expressions
Lab 5 Decisions & Color
9 October Columbus Day: Campus Closed/No Classes
#6 Lecture:
11 October
Accessing formatted data; Functions
CS Survey: Prof. Raffi Khatchadourian (software engineering)
Arithmetic Challenges,
List/String Challenges,
Lecture notes
Think CS: Chapter 6,
10-minutes to Pandas Tutorial,
DataCamp Pandas Tutorial
Recitations:
5,10-13,17 October
CSV files via pandas (population change);
Shell Scripts
Lab 6 Ubuntu Terminal Reference Sheet Circuits, Truth Tables, & Logical Expressions
#7 Lecture:
18 October
More on Functions & Open data;
CS Survey: Dr. Judith Spitz, WiTNY
Motto Challenge,
quarterImage.py,
Hello with main(),
Prep #1.2,
Total & Tax Challenge,
triangles.py,
Lecture notes
Think CS: Chapter 6,
10-minutes to Pandas Tutorial,
DataCamp Pandas Tutorial
Recitations:
12,17-18,20,23 October
OpenData NYC (shelter data);
main(); Python from the command line
Lab 7 Formatted Data & Shell Commands
#8 Lecture:
25 October
Parameters & Functions;
CS Survey: Prof. Jia Xu (machine translation)
Greet Example,
Happy Example,
Jam Example,
Decisions & Functions Example,
Foo example,
Sisters Example,
Lecture notes
Think CS: Chapter 6
Recitations:
19,24-25,27 October
Binning data (parking tickets); Top-down design (herd of turtles);
github
Lab 8 Functions & More Pandas
#9 Lecture:
1 November
Programming with Functions & Decisions, Top-down Design, Code Reuse;
CS Survey: Prof. Jochen Albrecht (computational geography)
Dessert Exam Questions,
num2words example,
Koalas,
Lecture notes
Think CS: Chapter 6,
folium tutorial
Recitations:
26,31 October, 1,3,6 November
Folium/leaflet.js (mapping CUNY locations); Finding errors;
command line git
Lab 9 Parameters & Functions
#10 Lecture:
8 November
Indefinite Loops; Simulations Distance Check,
Nums & While,
Max Num,
Search,
Random Walk,
Lecture notes
Think CS: Chapter 8
Recitations:
2,7-8,10,13 November
Program design with indefinite loops; Writing functions; unit testing (simple recommender system); Lab 10 More on Functions & Top-down Design
#11 Lecture:
15 November
Machine Language Overview WeMIPS Emulator,
Lecture notes
U Idaho reference sheet, MIPS Wikibooks
Recitations:
9,14-15,17,20 November
Simplified machine language Lab 11 Indefinite Loops & Simulations
#12 Lecture:
22 November
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++
Recitations:
16,21-22,27-28 November
Using gcc Lab 12 Simplified Machine Language
21 November Classes follow Friday schedule
23-25 November Thanksgiving Break: No Classes
#13 Lecture:
29 November
C++ control structures and functions
CS Survey: Andrew Rasiej (Civic Hall, Personal Democracy Media, & NY Tech Alliance)
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++
Recitations:
29-30 November, 1, 4-5 December
Writing functions in C++ Lab 13 Introduction to C++
#14 Lecture:
6 December
Review: Mock Exam Lecture notes
Recitations:
6-8,11-12 December
Review Final Exam Information End-of-semester Survey
Wednesday,
20 December,
9-11am
Final Exam
(This file was last modified on 6 December 2017.)