CSCI 13500 ANALYSIS & DESIGN 1 HUNTER COLLEGE CITY UNIVERSITY OF NEW YORK
In this course, which is required to graduate with a computer science major, you will learn principles of programming, analysis, and design and gain a deep practical knowledge of C++.
CSCI 13500 Syllabus Gradescope (Entry Code: 5K7GDW) Coding Style Guide FAQs
Text: Cay Horstmann, Brief C++, 3rd ed. eText - please rent the eText for one semester from textbook link - do not buy or rent it from Amazon or Kindle store - you will not get access to the necessary interactive material!
Linux on Windows Tutorial: install Windows Subsystem for Linux (WSL) and Visual Studio in Windows, created by Moududur (Moody) Rahman and improved by Professor Genady Maryash.
Tutoring: The tutors and code reviews for this course are available at North Building 1001 B:
Monday – Friday: 11:30 AM – 1:00 PM, 2:30 PM - 5 PM
The tutors are there to help you with all of your labs, assignments, and projects! Get as much help as you need.
Lecture: Monday, Thursday 1:00 PM – 2:15 PM
Lecture
Instructor: Tong Yi, email address ty680@hunter.cuny.edu. Office hours: Monday Thursday
2:30 PM – 4:00 PM.
Email Questions You must get hands-on
programing help in person during your lab or from tutors. We will never debug
your code over email. You should ask questions during the lab and the lecture.
All other email questions must be sent to your lab instructor listed below. You
must always include your section, name of lab instructor, your name and EMPLID.
Recitation Instructors and their schedules are listed as follows. You must attend one section. Part of your grade comes from lab quizzes in recitation.
Section |
Lab |
Location |
Instructor |
|
13500 sec 1R01 |
Mo 9:10AM - 11:00AM |
North Bldg 1001C |
Tahj Serieux |
tahj.serieux46@myhunter.cuny.edu |
13500 sec 1R02 |
Mo 3:10PM - 5:00PM |
North Bldg 1001C |
Tahj Serieux |
tahj.serieux46@myhunter.cuny.edu |
13500 sec 1R03 |
Mo 5:30PM - 7:20PM |
North Bldg 1001C |
Tahj Serieux |
tahj.serieux46@myhunter.cuny.edu |
13500 sec 1R04 |
We 10:10AM - 12:00PM |
North Bldg 1001C |
Heng Li |
hli5@gradcenter.cuny.edu |
13500 sec 1R05 |
We 12:10PM - 2:00PM |
North Bldg 1001C |
Ryan Chevarria |
rc2876@hunter.cuny.edu |
13500 sec 1R06 |
We 4:00PM - 5:50PM |
North Bldg 1001C |
Sadab Hafiz |
sadab.hafiz@hunter.cuny.edu |
13500 sec 1R07 |
Th 3:10PM - 5:00PM |
North Bldg 1001C |
Ryan Chevarria |
rc2876@hunter.cuny.edu |
13500 sec 1R08 |
Th 5:30PM - 7:20PM |
North Bldg 1001C |
Ryan Chevarria |
rc2876@hunter.cuny.edu |
13500 sec 1R09 |
Tu 2:30PM - 4:20PM |
North Bldg 1001C |
Charles Richards |
charles.richards@cuny.edu |
13500 sec 1R10 |
Fr 2:30PM - 4:20PM |
North Bldg 1001C |
Charles Richards |
charles.richards@cuny.edu |
13500
XCSR-REC |
We 11:10AM - 1:00PM |
ThomHunter 502 |
Melissa Lynch |
COURSE OUTLINE
DATE |
TOPIC |
READING: Brief C++ |
SLIDES |
DUE DATES |
8/29 |
C++ Review Introduction Fundamental Data Types |
1.3 Machine Code and Programming Languages 1.5 Analyzing Your First Program
|
|
LAB 1 Intro to Linux and to C++ 9/8 E1.7 9/9
|
9/5 |
|
E2.10 9/16 Project 1A 9/13 |
||
9/9 |
Strings |
Project 1B 9/20 |
||
9/12 |
Arrays Loops |
Project 1C 9/27 |
||
9/16 |
More Loops |
Squares, Montecarlo code see blackboard |
E4.8 9/23 Project 1D 10/9
|
|
9/19 |
Loop examples |
Notes in blackboard |
||
9/23 |
Decisions |
3.7 Boolean Variables and Operators |
E3.1 9/30 E3.5 9/30 |
|
9/26 |
Functions
Streams
|
E5.6 10/7 |
||
9/30 |
Scope Static Vars |
|
Prime Numbers 10/13 E8.1
10/15
|
|
10/7 |
Arrays |
0’s, Squares, Copy, Sum, Avg, Min, Max, Search, Remove unordered Remove ordered, Insert unordered, Insert ordered, Read inputs and find largest, |
|
LAB 6 Strings and
Ciphers 10/20 Project 2 A 11/13 Project 2 B 11/13 Project 2 C 11/13 Project 2 D 11/13
|
10/10 |
Arrays |
6.5 PS: Discovering Algorithms by Manipulating Physical Objects
|
|
E6.8 10/21
|
10/15 *Tue follow Mon schedule |
|
Review for mid term (see blackboard notes) |
LAB 7 Automatic Style 10/27
|
|
10/17 |
MIDTERM EXAM |
|
|
|
10/21 |
Pass by Reference Pointers |
E7.1 10/28 |
||
10/24 |
|
|||
10/28 |
|
|
|
|
10/31 |
Dynamic Memory |
LAB 9 Pointers 11/10 |
||
11/4 |
|
Project 3 A 11/19 Project 3 B 11/26 Project 3 C 12/5 Project 3 D 12/12 |
||
11/7 |
|
E7.16 11/11 E7.18 11/11 LAB 10 Classes, Enums 11/17 |
||
11/11 |
|
|
||
11/14 |
Enumerations |
|
||
11/18 |
Classes |
Project 3 (in blackboard), submit to gradescope. |
|
LAB 11 More Classes 11/24 |
11/21 |
Class and Objects |
Enumerated types: bool, switch, MyBool,
LIKELY, Color, Colors 9.3 Specifying the Public Interface |
|
E9.3 11/25 E9.5 11/25 |
11/25 |
|
|
||
12/2 |
Vectors |
|
LAB 12 Vectors 12/6 |
|
12/5 |
Pointers to Objects Static Member Variables |
|
Lab 13 Dec 12 |
|
12/9 |
Inheritance |
10.2 Implementing Derived Classes |
||
12/12 |
Review |
Introduction to recursion (in blackboard) Review |
|
|
12/19 |
Final |
1:45 PM – 3:45 PM |
|
|
CheatSheet like the one that will be given to you on the exam