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 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.

Lecture Instructor:

MAHDI MAKKI

Sections: Time: Instructor: E-mail:
Lecture Sa 11:00 AM – 1:30 PM, Online-Synchronous MAHDI MAKKI mmakki@hunter.cuny.edu

Book & Tutorial Pages:

Outline:

Week: DATES TOPICS HANDOUTS QUIZ / READING
#1 Saturday 9/6 Lecture/Lab Syllabus, policies & introductions
Getting started with Python & IDLE
Using modules and definite loops
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
Syllabus
Programming Assignments
LAB 1
Academic Integrity
Think CS Chapter 1
&Think CS Chapter 4
#2 Saturday 9/13 Lecture/Lab String methods
Problem solving and the design process (simple parsing and translating)
Strings & Lists: looping through strings, console I/O, ASCII representation
Loop Puzzle 1
Loop Puzzles 2
Caesar Cipher example
input() example
Lecture notes
LAB 2
Loops & Turtles
Think CS Chapter 2
& Think CS Chapter 3
#3 Saturday 9/20 Lecture/Lab Files & 2D Arrays
Hexadecimal notation
Arrays and images in numpy, hexadecimal representation of colors (image processing)
Slicing Challenges
Color Challenges
Lecture notes
LAB 3
Strings & Lists
Think CS Section 8.10&
Think CS Chapter 11
&Numpy tutorial (DataCamp)
#4 Saturday 9/27 Lecture/Lab Programming with decisions & files (flood maps)
More on Lists & Arrays
Decisions
Loop & Slice Challenges
Decision Challenges
turtleString.py
Lecture notes
LAB 4
Colors & Images in Numpy
Think CS Chapter 7
&
Think CS Chapter 11
#5 Saturday 10/4 Lecture/Lab Logical Expressions
Circuits
Types & Decisions Challenges
Logical Operators Challenges
Logic Gates Simulator
Lecture notes
LAB 5
Decisions & Color
Think CS Chapter 7
Burch’s Logic & Circuits
Explain Logic Gates
#6 Saturday 10/11 Lecture/Lab CSV, Accessing formatted data
Functions
files via pandas (population change)
Shell Scripts
Arithmetic Challenges
List/String Challenges
Lecture notes
LAB 6
Circuits
Truth Tables
Logical Expressions

Think CS Chapter 6
10-minutes to Pandas Tutorial
DataCamp Pandas Tutorial
Ubuntu Terminal Reference Sheet
#7 Saturday 10/18 Lecture/Lab More on Functions
Open Data
OpenData NYC (shelter data)
Using main() functions
Python from the command line
Motto Challenge
quarterImage.py
Hello with main
Prep #1.2
Total & Tax Challenge
Lecture notes
LAB 7
Formatted Data & Shell Commands
Think CS Chapter 6
10-minutes to Pandas Tutorial
DataCamp Pandas Tutorial
#8 Saturday 10/25 Lecture/Lab Parameters & Functions
Binning data (parking tickets)
Top-down design (herd of turtles)
github
Greet Example
Happy Example
Jam Example
Decisions & Functions Example
Foo Example
Sisters Example
Lecture notes
LAB 8
Functions & More Pandas
Think CS Chapter 6
#9 Saturday 11/1 Lecture/Lab Programming with Functions & Folium/leaflet.js (mapping CUNY locations)
Dessert Exam Questions
Koalas
Lecture Notes
LAB 9
Parameters & Functions
Think CS Chapter 6
Folium tutorial
#10 Saturday 11/8 Lecture/Lab Indefinite Loops
Searching Data
Random Numbers
Distance Check
Nums & While
Max Num
Search
Random Walk
Lecture notes 10
LAB 10
More on Functions & Top-down Design
Think CS: Chapter 8
#11 Saturday 11/15 Lecture/Lab Machine language overview
Simplified machine language
WeMIPS Emulator
LAB 11
Lecture notes 11
UofI reference sheet
MIPS Tutotrial
Setia’s slides
MIPS Wikibooks
#12 Saturday 11/22 Lab Introduction to C++:
program structure
Data representation and I/O
Writing functions
Unit testing (simple recommender system)Using gcc
C++ control structures

cin/cout example
Convert example
Loops example
Growth example
Nested loops
Lecture notes 12
LAB 12
Quiz at the end:
Introduction to C++
Cplusplus Tutorial
C++ Tutorials Point
The Rook’s Guide to C++
- Saturday 11/29 | College Closed - - -
#13 Saturday 12/6 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 12_13

LAB 12
LAB 13
Cplusplus Tutorial
C++ Tutorials Point
The Rook’s Guide to C++
#14 Saturday 12/13 Review - - -
#15 Saturday 12/20 Lecture/Lab FINAL EXAM AT 11:00AM

Past Final Exams:

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

(This file was last modified on 24 August 2025.)