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.
Genady Maryash
Office hours: after lecture on Tuesdays and before lecture on Thursdays
Katherine Howitt
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
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 |
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.)