|Professor Zhigang Zhu
Mr Wai L. Khoo <email@example.com>
Wed:11:00 am - 12:00 pm; 2:00 pm - 3:00 pm
(1) implement these structures as classes in C++;You will also learn part of object-oriented programming and software development methodology.
(2) determine which structures are appropriate in various situations;
(3) confidently learn new structures beyond what are presented in this class.
|To become a Data Structures Expert
start by learning...
Supplements: The Code for the Book and the Corrections for the Text will be useful and can be found by clicking here.
References: Lots of good sample codes are found in CSc102's C++ How to Program by Dietel & Dietel, 3rd Ed., Prentice Hall 2001. This course involves some of C++ language details that could be found in this book.
|Date||Planned Lecture Topics||Read/Assign/Exam|
| Sep 01 (M)
Sep 03 (W)
|Labor Day; college
is closed - no class!
Lecture 1. Introduction & Software Development
Ch. 1 ; Assignment 1
|Sep 08 (M )
Sep 10 (W)
ADT & C++ Classes
Lecture 3. More Classes and Operator Overloading
|Sep 15 (M)
Sep 17 (W)
Classes (slides for Lectures 4&5)
Lecture 6. Pointers and Dynamic Arrays (I) (Slides for Lectures 6 &7)
|Ch 3 (code), Assignment 2
Ch 4.1 - 4.2
|Sep 22 (M)
Sep 24 (W)
|Lecture 7. Pointers and Dynamic Arrays (II) (point code with
NO CLASSES (College Open)
|Ch. 4.2 - 4.5
|Sep 29 (M)
Oct 01 (W)
|Lecture 8. Dynamic
Classes and the Big Three (code)
Exam Review 1
|Oct 06 (M)
Oct 08 (W)
|First Exam (Chapters 1-4)
Lecture 9. Linked Lists ( code)
|Oct 13 (M)
Oct 15 (W)
college is closed - no class!
Lecture 10. Building &Using the Linked List Toolkit (code) & Exam 1 Discussions
Ch. 5.3 - 5.5, Assignment 4
|Oct 20 (M)
Oct 22 (W)
Software Development using Templates and Iterators
Lecture 11a. Software Development using Templates and Iterators (cont.)
|Ch. 6, code (bag4&5,
|Oct 27 (M)
Oct 29 (W)
Stacks (code) and Queues
Lecture 13. Introduction to Recursion
|Ch. 7, Ch 8
Ch. 9.1 , Assignment 5
|Nov 03 (M)
Nov 05 (W)
Using and Reasoning about Recursion
Exam Review 2
|Ch. 9.2 - 9.3
|Nov 10 (M)
Nov 12 (W)
| Second Exam (Chapters 5-9)
Lecture 15. Trees and Traversals (code)
|Nov 17 (M)
Nov 19 (W)
Binary Search Trees and the Bag Class with a BST; Exam 2 Discussions
Lecture 17. B-Trees and Set Class (code)
|Ch. 10.5, Assignment 6
|Nov 24, 26
Dec 01 (M)
| Lecture 18.
Heaps and Priority Queues(slides) ; Time
Analysis of Trees(slides)
Lecture 19. Serial Searching and Binary Searching
| Ch. 11.1, 11.3
|Dec 03 (W)
Dec 08 (M)
Hashing; Lecture 21.
Lecture 22. Recursive Sorting , Heapsort & the STL Quicksort (code)
|Ch. 12.4, Ch. 13.1
|Dec 10 (W)
23. Graph Basics; Exam Review 3
|Dec 15 (M)||Third Exam (mainly Ch 10-13, 15), NAC 4/121B|
Policies: Students may discuss ideas together. But since each student get credits for his or her submissions, all actual program code and written answers must be done individually by each student, and must not be shared.
Communications: I would like the course to run smoothly and enjoyably. Feel free to let me know what you find good and interesting about the course. Let me know as soon as possible about the reverse. You may see me in my office during my hours or send me messages by e-mail.