CSc212-AB: Data Structures

City College of New York, CUNY
Deparment of Computer Science
Spring 2005
MW 9-10:40am
77 Shepard Hall

Announcements | Handouts | Course Description
Required Textbook | Grading | People | Schedule

 Announcements

  • Welcome!
 Handouts/Resources/Links

 Course Description

CSc21200: Data Structures (3 cr.)

Prereq.: CSc 10200 and 10400 Extension of the knowledge of algorithm design and programming gained in CSc 10200 with continued emphasis on the logic underlying the transition from specification to program. Particular attention is paid to issues arising in the implementation of larger programs: introduction of data structures and data abstraction; the basics of object-oriented programming. Introduction of recursion as a design tool. Introduction of complexity analysis.Stacks, queues, linked lists, trees, and graphs.
 Required Textbook

Data Structures and Other Objects Using C++
by Michael Main, Walter Savitch
Paperback: 900 pagesbr/> Publisher: Addison Wesley
ISBN: 032119716X
3 edition (October 12, 2004)

Available at the
CCNY Bookstore, BN (with same-day delivery in Manhattan), amazon.com and amazon.co.uk, and searchable on amazon.com.
 Grading Guidelines

  • 6-7 homeworks 45%
  • 3 in-class exams - 45%)
  • attendance/participation/quizzes - 10%
 People

Instructor: Matthew P. Johnson
e-mail: tba
Office Hours: tba

 Open Door Policy

We would like the course to run smoothly, enjoyably and profitably. Feel free to let us know what you find good, interesting and fun about the course. Let us know sooner about the opposite. See us, leave us a note, or send us email. We want your feedback!

 Tentative Schedule (based on the Academic Calendar)

Reading and homework assingments appear on the days on which they are due. The lecture notes include were created for the instructor's own use, so formatting issues such as capial letters were not corrected. Nonetheless, they may be helpful.

DATE TOPICS NOTES READING HW
1 - M 1/31 Introduction & Software Development PPT    
2 - M 2/2 ADT & C++ Classes PPT Ch 1, Ch 2.1-2.3  
3 - M 2/7 More Classes and Operator Overloading PPT Ch 2.4-2.5  
4 - W 2/9 Container Classes PPT Ch 3  
5 - M 2/14 Container Classes (cont.) PPT    
6 - W 2/16 Reviews; Pointers and Dynamic Arrays (I) PPT Ch 4.1 - 4.5  
M 2/21 NO CLASS - President's Day      
7 - W 2/23 Pointers and Dynamic Arrays (II) PPT Ch 4.1 - 4.5  
8 - M 2/28 Dynamic Classes and the Big Three PPT Ch. 4.2 - 4.5  
9 - W 3/2 Exam review 1 PPT    
M 3/7 No class - review and study      
W 3/9 First Exam      
10 - M 3/14 Exam Review and Linked Lists PPT Ch. 5.1-5.2  
11 - W 3/16 Building & Using the Linked List Toolkit, another Bag implemented PPT Ch. 5.3 - 5.5  
12 - M 3/21 cont. PPT Ch. 6  
13 - W 3/23 Software Development using Templates and Iterators PPT Ch. 7, Ch 8  
M 3/28 No Classes      
14 - W 3/30 Stacks and Queues PPT Ch. 9.1  
15 - W 4/4 Introduction to Recursion PPT Ch. 9.2 - 9.3  
16 - W 4/6 Using and Reasoning about Recursion PPT Ch. 10.1-10.4, Ch. 10.5  
17 - W 4/6 Trees and Traversals PPT    
18 - M 4/11 Review for Exam 2 PPT    
W 4/13 Second Exam      
19 - M 4/18 Binary Search Trees and the Bag Class with a BST PPT Ch. 11.1, 11.3  
20 - W 4/20 Heaps and Priority Queues PPT Ch. 11.2  
M 4/25 No Class - Spring Recess      
M 4/27 No Class - Spring Recess      
21 - M 5/2 Time Analysis of Trees PPT Ch. 12.1-12.2  
22 - W 5/4 Searching PPT    
23 - M 5/9 Hashing PPT Ch. 12.2-12.4  
24 - W 5/11 Quadradic Sorting PPT Ch. 13.1  
25 - M 5/16 Recusive Sorting, Heapsort & the STL Quicksort PPT Ch. 13.2-13.4  
26 - W 5/18 B-Trees and Set Class(code); and Exam review 3 PPT    
Friday 20 & Monday 23 - Saturday 28 Final exam      

 Other Courses and Notes
Valid HTML 4.01!

tba