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.

Instructors:

The course has lectures on Tuesday mornings and required weekly quizzes & code reviews (see your Blackboard account for scheduling information).

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

Useful Links:

Outline:

 Week:                       Topics: Handouts: Quiz & Code Review: Reading:
#1 Lecture:
27 August
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:
27-30 August, 3-5 September
Getting started with Python & IDLE;
Using modules and definite loops
Introductory Lab Academic Integrity
2 September Labor Day: Lab closed
#2 Lecture:
3 September
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,
Lecture notes
Think CS: Chapter 2 & Chapter 3
Lab, Quiz, & Code Review:
6-12 September
String methods; Problem solving and the design process (simple parsing and translating) Lab 1 Loops & Turtles
#3 Lecture:
10 September
Indexing & Slicing; Colors, Hexadecimal notation; Preview of Images; Airplane Design

Guest Lecturer: Katherine Howitt
Event Timing (Arithmetic Challenge), Slicing Challenges,
Color Challenges, Lecture notes
Think CS: Section 8.10 & Chapter 11,
Numpy tutorial (DataCamp)
Lab, Quiz, & Code Review:
13-19 September
Arrays and images in numpy, hexadecimal representation of colors (image processing) Lab 2 Strings & Loops
#4 Lecture:
17 September
More on Lists & Arrays; Images; Decisions;

CS Survey: Prof. William Sakas (computational linguistics)
Loop & Slice Challenges,
Decision Challenges,
turtleString.py,
Lecture notes
Think CS: Chapter 7 & Chapter 11
Lab, Quiz, & Code Review:
20-26 September
Programming with decisions & files (flood maps) Lab 3 Loops & Unix
30 September- 1 October Labs closed
#5 Lecture:
24 September
Logical Expressions, Circuits;

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

Types & Decisions Challenges,
Logical Operators Challenges,
Basic Gates,
Circuit Challenges,
Lecture notes
Think CS: Chapter 7,
Burch's Logic & Circuits, Explain Logic Gates
Lab, Quiz, & Code Review:
27 September, 2-7, 10 October
More on Decisions (snow pack);
Circuits & Logical Expressions
Lab 4 Decisions & Color
8-9 October Labs closed
#6 Lecture:
15 October
Accessing formatted data; Functions

CS Survey: Prof. Katherine St. John (computational biology)

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:
October
CSV files via pandas (population change);
Shell Scripts, github
Lab 5 Circuits, Truth Tables, & Logical Expressions
14 October Lab closed
#7 Lecture:
22 October
More on Functions;
NYC OpenData


CS Survey: Brian Campbell `19, Grubhub
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:
18-24 October
OpenData NYC (shelter data);
Using main() functions;
Python from the command line
Lab 6 Formatted Data & Shell Commands
#8 Lecture:
29 October
Parameters & Functions;

CS Survey: Keith Okrosy, (Career Development Services @ Hunter)

Guest Lecturers: Katherine Howitt, Owen Kunhardt (senior UTA)
Decisions & Functions Example,
Dessert Exam Questions,
Foo example,
Koalas,
Spring 18, Version 1, #4b,
Spring 18, Version 1, #4b
Lecture notes
Think CS: Chapter 6
Lab, Quiz, & Code Review:
25-31 October
Binning data (parking tickets);
Top-down design (herd of turtles);
Command line git
Lab 7 Functions & More Pandas
#9 Lecture:
5 November
Programming with Functions, Top-down Design;
Mapping GIS Data (Folium);
Random Number Generation;
Preview: Indefinite Loops

CS Survey: Prof. Anita Raja (artifical intellegence)
Sisters Example,
numsConvert.py num2string example,
Distance Check,
Random Walk,
Lecture notes
Think CS: Chapter 6,
folium tutorial
Lab, Quiz, & Code Review:
1-7 November
Folium/leaflet.js (mapping CUNY locations); Finding errors;
Regular expressions (command line)
Lab 8 Parameters & Functions
#10 Lecture:
12 November
Indefinite Loops; Simulations;
Design Patterns: Max;
Unix Recap

Guest Lecturer: Ralph Vente (senior UTA)

CS Survey: Prof. Susan Epstein (machine learning)
Nums & While,
Max Num, Random Search (turtles),
Lecture notes
Think CS: Chapter 8
Lab, Quiz, & Code Review:
8-14 November
More on Indefinite loops; Writing functions; unit testing Lab 9 More on Functions & Top-down Design
#11 Lecture:
19 November

Python Recap;
Simplified Machine Language;
Design: Searching;

Final Exam Overview, Part 1
Search,
WeMIPS Emulator,
Lecture notes
U Idaho reference sheet, MIPS Wikibooks
Lab, Quiz, & Code Review:
15-21 November
Simplified machine language Lab 10 Indefinite Loops & Simulations
#12 Lecture:
26 November
Introduction to C++: program structure, data representation and I/O.
Design: Sorting
Final Exam Overview, Part 2
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:
22-27 November
Using gcc Lab 11 Simplified Machine Language & More Unix
28-29 November Thanksgiving Break: Lab Closed
#13 Lecture:
3 December
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++),

Lecture notes
Cplusplus Tutorial,
C++ Tutorials Point,
The Rook's Guide to C++
Lab, Quiz, & Code Review:
2-5 December
Control Structures in C++ Lab 12 Introduction to C++
#14 Lecture:
10 December
Review Final Exam Information
Lab & Quiz:
6-12 December
Review End-of-semester Survey
Monday, 16 December,
9am-11am
Final Exam
(This file was last modified on 1 December 2019.)