Tests (3) | 100 pts each | 300 |
Programming assignments (5) | 30 pts each | 150 |
Final Exam | 200 pts | 200 |
TOTAL | 650 |
At/Above 585 pts. | for a 4.0; |
At/Above 520 pts. | for a 3.0; |
At/Above 455 pts. | for a 2.0; |
At/Above 430 pts. (>66%) | for a 1.0; |
<=66% | for a 0.0; |
Topical Outline and Reading Assignments This Schedule is Subject to Change |
Date* | Topic | Assignment | Due** | |
1 |
Wednesday August 21 |
Course Introduction Course overview and requirements. CS 221 web page. |
Chapter 1 and supplemental material from instructor. |
HW0 Due Friday, Aug. 23 |
2 |
Monday August 26 |
Back to Basics Review of basic C/C++ programming Using Visual Studio C++ Preparing programming assignments, |
Chapter 2 and supplemental material from instructor |
|
3 |
Wednesday August 28 |
Software Engineering Classical steps in Software Engineering Documenting the software process |
Supplemental material from instructor |
|
Monday September 2 |
No Class - Labor Day - University Holiday |
|
|
|
4 |
Wednesday September 4 |
Software Engineering The Software Life Cycle The Capability Maturity Model Integrated Unified Modeling Language (UML) |
Supplemental material from instructor |
|
5 |
Monday September 9 |
Software Testing Approaches to testing Types of testing Writing tests for programming assignments Debugging with the VS Debugger |
Supplemental material from instructor |
|
6 |
Wednesday September 11 |
C++ Foundation for all ADTs Pointers |
Programming assignment 1 posted Chapters 2, 3.3 & supplemental material from instructor. |
|
7 |
Monday September 16 |
C++ Foundation for all ADTs Data Structures and Classes |
Chapter 2 & supplemental material from instructor. |
|
8 |
Wednesday September 18 |
C++ Foundation for all ADTs Finish Classes Hints on implementing and testing programming assignment 1 |
Chapter 2 & supplemental material from instructor. |
|
9 |
Monday September 23 |
Abstract Data Types as Collections Introduction to Abstract Data Types |
Chapter 2 & supplemental material from instructor. |
Prog 1 Docs |
10 |
Wednesday September 25 |
Abstract Data Types as Collections Strings: a first ADT Introduction to STL: Vectors as Arrays |
Chapter 2 & supplemental material from instructor. |
|
11 |
Monday September 30 |
First Exam |
||
12 |
Wednesday October 2 |
Introduction to Linked Data Structures Exam 1 Review |
Chapters 3, 4 and supplemental material from instructor |
Program 1 |
13 |
Monday October 7 |
Linked Lists ADT: Lists--Sorted and Unsorted |
Programming assignment 2 posted Chapters 5, 6 and supplemental material from instructor |
|
14 |
Wednesday October 9 |
Speciality Lists
Stacks and Queues Lists in the STL: list, deque, stack, queue, priority_queue |
Chapters 8 and supplemental material from instructor |
|
15 |
Monday October 14 |
Binary Trees Introduction to Trees Binary Search Trees |
Chapter 9.2 and supplemental material from instructor |
|
16 |
Wednesday October 16 |
Other types of trees AVL trees, Heaps, 2-3 trees, b-trees, tries Hints on implementing and testing programming assignment 2 |
Chapter 9.2 and supplemental material from instructor |
Prog 2 Docs Program 1 DDD1 |
17 |
Monday October 21 |
Second Exam |
||
18 |
Wednesday October 23 |
Analysis of Algorithms Hints on implementing and testing programming assignment 2 Recursion Programming with Recursion |
Chapter 2.6, 7 and supplemental material from instructor |
|
19 |
Monday October 28 |
Graphs Graph Basics Implementing Graphs Graph Algorithms |
Programming assignment 3 posted Chapter 9.3 and supplemental material from instructor. |
|
20 |
Wednesday October 30 |
Sets Set Basics Implementing Sets Sets in the STL |
Chapter 9.4 and supplemental material from instructor. |
Program 2 |
21 |
Monday November 4 |
Hash Tables Hash Table Basics Collision Resolution Hash Functions |
Chapter 10.3 and supplemental material from instructor. |
|
22 |
Wednesday November 6 |
Third Exam |
Program 2 DDD1 | |
23 |
Monday November 11 |
Sorting Algorithms Bubble Sort Insertion Sort Tree Sort Selection Sort Heap Sort Quick Sort Merge Sort |
Programming assignment 4 posted Chapter 10.1, 10.4 and supplemental material from instructor. |
Program 3 Docs |
24 |
Wednesday November 13 |
Sorting Algorithms Shell Sort Proxmap Sort Radix Sort Hints on implementing and testing programming assignment 4 |
Chapter 10.1, 10.4 and supplemental material from instructor. |
|
25 |
Monday November 18 |
Topics in Advanced C++ Programming Building your own Templates Function overloading Namespaces |
Supplemental material from instructor. |
Program 3 |
26 |
Wednesday November 20 |
Topics in Advanced C++ Programming Handling exceptions Run time type identification Threading |
Supplemental material from instructor |
Prog 4 Docs |
27 |
Monday November 25 |
Topics in Advanced C++ Programming C/C++: Header files C/C++: The C Preprocessor |
Supplemental material from instructor |
Program 3 DDD1 |
Wednesday November 27 |
No Class - Thanksgiving Holiday |
|||
28 |
Monday December 2 |
Last Day of Class "It's fun to be a computer Geek!" |
Supplemental material from instructor |
Program 4 |
Friday, December 6 11:30 a.m. - 2:00 p.m. |
|
Final exam will be comprehensive | Program 4 DDD1 |
* The dates on this topical outline are approximate and subject to
change and probably already have if you are reading this. ** Any time programming assignment or document due dates fall on the date of an examination, these may be turned in at the next class period without penalty. 1DDD = Drop Dead Date, i.e. last day to turn in programming assignment. A programming assignment will NOT be accepted after its' DDD expires. No assignments will be accepted after the DDD except under extenuating circumstances and then, only if you have checked with the instructor beforehand. Note: "My hard drive crashed", "I lost my thumb drive and all my source code", "I had to reformat my hard drive", etc. will NOT be considered extenuating circumstances. |