CSCI 235     ANALYSIS & DESIGN 2     HUNTER COLLEGE     CITY UNIVERSITY OF NEW YORK

SYLLABUS                                PROGRAMMING GUIDELINES                                GRADESCOPE

LECTURE   Genady Maryash   gmaryash@hunter.cuny.edu
Mondays and Thursdays 11:10 AM - 12:25 PM on BlackBoard Collaborate

HELP, TUTORING, AND PROJECT LAB SESSIONS
This is an essential resource for you during this semester. Attendance is highly recommended. You must submit your questions about your code the day before through this online form:   THROUGH THIS LINK. You can also email it to cs235help@gmail.com. You will either receive a reply by email by the end of day, or it will be answered in the Project Lab Session the forllowing day. You can also ask your questions during the lab, but the lab TA, will always answer previousely submitted questions first.
Project Lab Sessions will take place on most Tuesdays, Wednesdays, and Thursdays at 2:00 PM.

TEXTBOOK   Data Abstraction and Problem Solving with C++: Walls and Mirrors, 7th Edition eText, Frank M. Carrano, ISBN-13 978-0134463971. Must be rented ($39) or purchased ($59) from Vitalsource.com in order for the chapter links to work!

SOURCE CODE FROM TEXTBOOK AND SLIDES   TextbookSourceCode.zip

COURSE OUTLINE

DATE TOPIC READING                               SLIDES ASSIGNMENTS
2/1 Introduction Syllabus
Programming Guidelines
Introduction  
2/4 Data Abstraction
OOP
Chapter 1
Appendix B
Abstraction Project 0   due 2/15
2/8       Project 1   due 2/28
2/11 Inheritance C++ Interlude 1 Inheritance SQ Basic Inheritance 
2/15        
2/18 ADTs, Templates Chapter 3.1 ADTs & Templates  
2/22        
2/25 Array
Implementation
Chapter 3.2 Array Bag SQ ArrayBag 
3/1 Pointers C++ Interlude 2.1, 2.2, 2.3, 2.5
Pointers, etc Tutorial
Pointers  
3/4 Link-Based
Implementation
Chapter 4 LinkedBag SQ LinkedBag 
Project 2   due 3/22
3/8 Copy Constructor   Copy Constructor  
3/11 Lists Chapter 8
Chapter 9
Lists SQ Lists 
3/15 Exception Handling C++ Interlude 3 Exception Handling Project 3   due 4/5
3/18 Polymorphism
(not on midterm)
C++ Interlude 2.4 Polymorphism SQ Polymorphism 9/20
3/18 Midterm Review      
3/22 MIDTRERM EXAM    
3/25 Polymorphism C++ Interlude 2.4 Polymorphism SQ Polymorphism 9/20
4/5 Recursion Chapters 2 & 5 & Appendix E
Number of Permutations
Recursion
Drawing App
Project 4   due 4/19
4/8   Number of Combinations: 1,  2 More Recursion SQ Recursion 
4/12 Algorithm Efficiency Combinations: 1,  2,  
Chapter 10
Extra math
Efficiency
SQ Algorythm Efficiency 
4/15 Searching Chapter 2.4.2
Chapter 10.2.5
Searching  
4/19 Sorting Chapter 11 Sorting SQ Sorting     
4/22 Stacks Chapter 6 Stacks Project 5   due 5/6
4/26 Stack Implementation Chapter 7 Stack Implementation SQ Stacks     
4/29 Queues Chapter 13 Queues Project 6   due 5/23
5/3 Queue Implementation Chapter 14 Queue Implementation SQ Queues     
5/6 Trees Chapter 15 Trees  
5/10       Project 7   due 5/23
(submit as a ZIP file on BlackBoard)
5/13 Smart Pointers C++ Interlude 4 Smart Pointers SQ Trees     
5/17 Tree Implementation Chapter 16 Tree Implementation  
5/24 Monday 11:30 AM to 1:30 PM FINAL EXAM  
n.a./n.a. More Polimorphism   More Polymorphism  
n.a./n.a. Heaps Chapter 17 Heaps  
n.a./n.a. Dictionaries and Hashing Chapter 18.1 & 18.4 Dictionaries and Hashing  
n.a./n.a. STL C++ Interlude 8 STL  

Instructor Evaluations:

Computer: www.hunter.cuny.edu/te

Smartphone: www.hunter.cuny.edu/mobilete