CS 2420 Course Outline: Data Structures and Algorithms Using C++: Fall 2009
Course objectives: To be able to write C++ programs based on Data Structures including arrays, linked-lists, stacks, queues, trees, graphs, tables, and storage and retrieval structures. To extend abilities in programming advanced Object-Oriented designs using the Visual Studio development environment. To develop a repertoire of programming methods and tools to support rapid development of safe, efficient code. To gain additional insight into algorithmic efficiency by studying searching, sorting, and hashing. To become proficient at programming Abstract Data Types, static and linked Data Structures, polymorphic user-interfaces, inheritance, exception handling, container classes, and templates. Also to become familiar with advanced features of C/C++ and with the STL (C++ Standard Template Library).
Course coverage by week:
|
Week of |
Topics |
Chapters |
|
|
8/24 |
Introduction,
objectives; the
OO Paradigm; Pre-test; C++ basics |
1 |
|
|
8/31 |
OOP; Review of
C++: classes; programming
style; ADTs; Algorithmic efficiency; |
2 |
|
|
9/7 |
{Labor Day}; Polymorphism:
inheritance, operator overloading, templates; Quiz 1 |
- |
|
|
9/14 |
Pointers;
Exception
handling; C-strings, string class; String Streams; |
3, G |
Prog. 1 |
|
9/21 |
Intro STL: containers,
adapters, iterators; vector, list; Quiz 2; |
4 |
|
|
9/28 |
Linked lists,
header/sentinel, doubly- & circularly-linked; |
5 |
|
|
10/5 |
Recursion |
6 |
Prog. 2 |
|
10/12 |
Stacks: dense &
linked implementations; STL Stack; Quiz 3; |
7 |
|
|
10/19 |
Queues: dense &
linked implementation, deques; STL Queue |
8 |
|
|
10/26 |
Searching methods: linear,
binary; storage/retrieval; hashing; Quiz 4 |
9 |
|
|
11/2 |
Sorting
methods: simple, merge, Quicksort; Heapsort; STL sorting |
10 |
Prog. 3 |
|
11/9 |
General and ordered trees,
tree traversal; Binary trees, traversal |
11 |
|
|
11/16 |
Tree search, balancing
(AVL Tree, B-Tree, Red-Black Tree); Quiz 5 |
- |
|
|
11/23 |
Graphs and graph
applications |
12 |
Prog. 4 |
|
11/30 |
STL algorithms, functors; Quiz 6; review |
13 |
|
|
|
|
|
|
|
12/7 |
9:30-11:20 a.m. ***FINAL EXAM*** (comprehensive) |
|
|
***Demo programs will be due in class each Monday (Wednesday
for holidays) showing use of the current material
- - (See homework pages for the list of required topics. Late
demo programs receive no credit. Do at least 11 of 14 for maximum
credit.)
***Quizzes will be on Wednesday during the first half of class.
***Major programs will be due by the end of class time on Wednesday
of the week shown and will lose 20% per weekday for being late.
Grading:
4 programs @30 + 11 demos @5 +
6 quizzes @25 + final @225 = 550 points possible
the minimum score to get each grade is:
|
505 A |
460 B+ |
390 C+ |
320 D+ |
|
485 A- |
435 B |
365 C |
295 D |
|
|
415 B- |
345 C- |
275 D- |