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 QUIZ / READING
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
Monday 6/3 Recitation String methods
Problem solving and the design process (simple parsing and translating){:target=”_blank”}
LAB 2 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 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 (DataCamp)
Monday 6/10 Recitation Programming with decisions & files (flood maps){:target=”_blank”} LAB 4 Colors & Images in Numpy
Tuesday 6/11 Lecture More on Lists & Arrays
Decisions
Loop & Slice Challenges
Decision Challenges
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 Decisions & Color
Thursday 6/13 Lecture Logical Expressions
Circuits
Types & Decisions Challenges
Logical Operators Challenges
Basic Gates
Circuit Challenges
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 Circuits
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 Tutorial
DataCamp Pandas Tutorial
Ubuntu Terminal Reference Sheet
Wednesday 6/19 Recitation OpenData NYC (shelter data)
Using main() functions
Python from the command line
LAB 7 Formatted Data & Shell Commands
Thursday 6/20 Lecture More on Functions
Open Data
Motto Challenge
quarterImage.py
Hello with main
Prep #1.2
Total & Tax Challenge
Lecture notes
Think CS Chapter 6
10-minutes to Pandas Tutorial
DataCamp Pandas Tutorial
Monday 6/24 Recitation Binning data (parking tickets)
Top-down design (herd of turtles)
github
LAB 8 Functions & More Pandas
Tuesday 6/25 Lecture Parameters & Functions Greet Example
Happy Example
Jam Example
Decisions & Functions Example
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 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 More on Functions & Top-down Design
Tuesday 7/2
Lecture
Indefinite Loops
Simulations
Introduction to C++:
program structure
Data representation and I/O
Distance Check
Nums & While
Max Num
Search
Random Walk
Lecture notes 10
cin/cout example
Convert example
Loops example
Growth example
Nested loops
Lecture notes 12
Think CS: Chapter 8
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:
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.)