CSCI 127   Introduction to Computer Science
Hunter College   City University of New York


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 125 or higher is strongly recommended as a co-req for intended Majors.

The course has lectures on Tuesdays and Thursdays and recitation sections on Mondays and Wednesdays. You must register for both lecture and recitation.

Course Coordinator and Lecture Instructor:

Genady Maryash
Office hours: after lecture on Tuesdays and before lecture on Thursdays

Tutor/UTA Coordinator:

Katherine Howitt

Lab and Tutor Hours:

There is a dedicated computer laboratory for this course at HUNTER NORTH 1001E. It is the same lab where you have your recitation sessions! It is staffed with tutors, who are there to help you. Please take advantage of it.
MONDAYS and WEDNESDAYS from 9:30am to 6:00pm
TUESDAYS and THURSDAYS from 3:00PM to 6:00PM

Lecture & Recitation Instructors:

Sections: Time: Instructor: E-mail:
Lecture T, Th 1:30 PM – 3:04 PM, HN510 Genady Maryash gmaryash AT hunter cuny edu
Lab 1 M, W 1:30 PM – 3:04 PM, HN1001E Basak Taylan btaylan AT gradcenter cuny edu
Lab 2 M, W 3:20 – 4:54 AM, HN1001E Basak Taylan btaylan AT gradcenter cuny edu
Lab 3 M, W 9:50 AM – 11:24AM, HN1001E Katherine Howitt kghowitt AT gmail com
Lab 4 M, W 3:20 PM – 4:54 PM, HN1001E Katherine Howitt kghowitt AT gmail com

Book & Tutorial Pages:

Outline:

DATES TOPICS HANDOUTS READING / HW
Wednesday 5/29 Recitation Syllabus, policies & introductions
Getting started with Python & IDLE
Using modules and definite loops
Syllabus
Programming Assignments
LAB 1
Academic Integrity
Thursday 5/30 Lecture Introduction to Python: definite loops
Simple output, primitive data types
Overview of objects & modules
What is an algorithm?
Hello World
Hexagon example
Fancier hexagon
Lecture Notes
Think CS Chapter 1
Think CS Chapter 4
HW: First Programs
Monday 6/3 Recitation String methods
Problem solving and the design process (simple parsing and translating)
LAB 2 HW: Loops & Turtles
Tuesday 6/4
Lecture
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
Think CS Chapter 3
Wednesday 6/5 Recitation Arrays and images in numpy, hexadecimal representation of colors (image processing) LAB 3 HW: Strings & Lists
Thursday 6/6 Lecture Files & 2D Arrays
Hexadecimal notation
Slicing Challenges
Color Challenges
Lecture notes
Think CS Section 8.10
Think CS Chapter 11
Numpy Tutorial
Monday 6/10 Recitation Programming with decisions & files (flood maps) LAB 4 HW: Colors & Images in Numpy
Tuesday 6/11 Lecture More on Lists & Arrays
Decisions
Loop & Slice, Decisions
turtleString.py
Lecture notes
Think CS Chapter 7
Think CS Chapter 11
Wednesday 6/12 Recitation More on Decisions (snow pack) Circuits & Logical Expressions LAB 5 HW: Decisions & Color
Thursday 6/13 Lecture Logical Expressions
Circuits
Types & Decisions
Logical Operators
Basic Gates; Circuits
Lecture notes
Think CS Chapter 7
Burch’s Logic & Circuits
Explain Logic Gates
Monday 6/17 Recitation CSV files via pandas (population change); Shell Scripts LAB 6 HW: Circuit Truth Tables Logical Expressions
Tuesday 6/18 Lecture Accessing formatted data
Functions
Arithmetic Challenges
List/String Challenges
Lecture notes
Think CS Chapter 6
10-minutes to Pandas
DataCamp Pandas
Ubuntu Terminal Reference Sheet
Wednesday 6/19 Recitation OpenData NYC (shelter data)
Using main() functions
Python from the command line
LAB 7 HW: Formatted Data & Shell Commands
Thursday 6/20 Lecture More on Functions
Open Data
Motto
quarterImage.py; Hello with main; Prep #1.2; Total & Tax
Lecture notes
Think CS Chapter 6
10-minutes to Pandas
DataCamp Pandas
Monday 6/24 Recitation Binning data (parking tickets)
Top-down design, github
LAB 8 HW: Functions, Pandas
Tuesday 6/25 Lecture Parameters & Functions Greet Example
Happy Example
Jam Example
Decisions & Functions
Foo Example
Sisters Example
Lecture notes
Think CS Chapter 6
Wednesday 6/26 Recitation Folium/leaflet.js (mapping CUNY locations)
Finding errors
Command line git
LAB 9 HW: Parameters & Functions
Thursday 6/27 Lecture Programming with Functions & Decisions
Top-down Design
Code Reuse
Dessert Exam Questions
num2words example
Koalas
Lecture Notes
Think CS Chapter 6
Folium tutorial
Monday 7/1 Recitation Program design with indefinite loops
Writing functions
Unit testing (simple recommender system)
LAB 10 HW: More on Functions & Top-down Design
  Indefinite Loops
Simulations
Distance Check
Nums & While
Max Num; Search
Random Walk
Lecture notes 10
Think CS: Chapter 8
  PYTHON ENDS HERE
Tuesday 7/2
Lecture
Introduction to C++:
program structure
Data representation and I/O
cin/cout; Convert; Loops; Growth
Nested loops
Lecture notes 12
Cplusplus Tutorial
C++ Tutorials Point
The Rook’s Guide to C++
Wednesday 7/3
Recitation, etc
Machine language overview
Simplified machine language
WeMIPS Emulator
LAB 11
Lecture notes 11
UofI reference sheet
Setia’s slides
MIPS Wikibooks
Thursday 7/4 4TH OF JULY COLLEGE IS CLOSED  
Monday 7/8 Recitation Using gcc
C++ control structures
LAB 12
LAB 13
Quiz at the end:
HW: Introduction to C++
Tuesday 7/9 Lecture C++ control structures Decision example (C++)
Logical Expressions (C++)
Input Checking (C++)
Input Checking, II (C++)
Growth Example (C++)
USGS Hawai’i Earthquakes
Turtle Quakes Demo
NYC Urban Forest: Street Trees
Lecture notes 13
Cplusplus Tutorial
C++ Tutorials Point
The Rook’s Guide to C++
Wednesday 7/10                   FINAL EXAM AT 1:30PM

Past Final Exams:

Mock Final Exam Answer Key Mock Exam
Past Final Exam Answer Key Exam
Mock Final Exam 2019 Answer Key Mock Exam 2019

(This file was last modified on 28 June 2019.)