SyllabusFall Semester 2019Instructor: Dr. Richard L. Coleman, former Senior Software Engineer, SAIC Inc. Now retired. E-mail: rcoleman@cs.uah.edu CS 307 Web Page: http://www.cs.uah.edu/~rcoleman Office: N345, Technology Hall Office Hours: See posted announcement on office door. |
||||||||||||
Course Catalog Description: Emphasis upon object-oriented concepts and design in developing student programs in C++. Comparison with other object-oriented languages. Inheritance. Prerequisite: CS 221. Textbooks (Recommended but not required):
Course Objectives: When you have completed this course you should:
|
||||||||||||
Course Subject Matter:
Programming Assignments:
Final Grade:
|
||||||||||||
Note on WX grade: The administration of UAH has established a grade of WX or faculty initiated student withdrawal. Basically, this allows the instructor to withdraw a student from class without any request from the student. It's primary purpose is to allow a faculty member to remove a student from class who is not attending class or putting forth any effort to complete the class work. This grade will not be used to avoid a grade of F for the course. UAlert Emergency Notification System: UAHuntsville has implemented the UAlert emergency notification system. UAlert allows you to receive time-sensitive emergency messages in the form of e-mail, voice mail, and text messages. Everyone who has a UAH e-mail address will receive emergency alerts to their campus e-mail address. In order to also receive text and voice message alerts, you are asked to provide up-to-date phone contact information. Participation in UAlert text and voice messaging is optional, but enrollment is strongly encouraged. You can’t be reached through UAlert unless you participate. The information you supply is considered confidential and will not be shared or used for purposes other than emergency notification. To review your UAlert account, add or update phone and alternate e-mail addresses, and set the priority for your contact methods, please visit the UAlert web site: http://ualert.uah.edu. |
Topical OutlineThis Schedule is Subject to ChangeIn the Due column DDD = Drop Dead Date, the final date a programming assignment will be accepted. Expires midnight of that date. |
Date* | Topic | Assignment | Due | |
1 |
Thursday, August 22 |
Introduction and Course Outline, |
||
2 |
Tuesday, August 27 |
The "Objects" of OOP |
|
|
3 |
Thursday, August 29 |
Thinking of Objects - CRC Exercise |
|
|
4 |
Tuesday, September 3 |
OO Software Engineering with the Unified Process Life Cycle Model |
||
5 |
Thursday, September 5 |
Instructor will be out of town. An assignment will be posted on the Announcements page. |
||
6 |
Tuesday, September 10 |
OO Development with Agile Brief overview of program 1 |
Programming Assignment 1 posted |
|
7 |
Thursday, September 12 |
Drawing SW pictures with UML. Using StarUML and ArgoUML Capability Maturity Model Integrated |
||
8 |
Tuesday, September 17 |
First team meeting on Program 1 This meeting will focus on defining the requirements and objects for program 1. |
||
9 |
Thursday, September 19 |
Object Oriented Requirements Analysis Writing good software. Every time! Object Oriented Design |
Prog. 1 Preliminary Class Diagram |
|
10 |
Tuesday, September 24 |
Programming Bits and Pieces A review of some C++ programming techniques useful for the first programming assignment. |
||
11 |
Thursday, September 26 |
Finish Programming Bits and Pieces Collaborative Learning Activity. Review for first test. |
DDD Prog. 1 Class Diagram Prog. 1 Class Outline |
|
12 |
Tuesday, October 1 |
First Exam |
||
Thursday, October 3 |
Object Oriented Testing Second team meeting on Program 1 This meeting will focus on the design of program 1. The discussion will focus on classes and algorithms. |
Prog 1 Functionality Outline DDD Prog 1 Class Outline |
||
13 |
Tuesday, October 8 |
Design Patterns: Using DPs to design better software Strategy, Observer, Decorator Factory Method, Abstract Factory, Singleton |
Programming Assignment 2 posted |
|
-- |
Thursday, October 10 |
No Class - Fall Break. |
||
14 |
Tuesday, October 15 |
Design Patterns Command, Adapter, Facade, Template Method Iterator, Composite, State Proxy, Bridge, Builder, |
Program 1 DDD Prog 1 Functionality Outline |
|
16 |
Thursday, October 17 |
Design Patterns Chain of Responsibility, Flyweight Interpreter, Mediator, Memento Prototype, Visitor |
||
17 |
Tuesday, October 22 |
Team Meeting on Program 2: Adding design patterns to Program 2 |
Prog 2 Preliminary Class Diagram DDD Prog 1 |
|
18 |
Thursday, October 24 |
Collaborative Learning Activity. Review for second test. |
||
19 |
Tuesday, October 29 |
Second Exam |
||
20 |
Thursday, October 31 |
Principles of GUI Development GUI Projects 1 (Message box), and 2 (Simple Window) |
Prog 2 Class Outline DDD Prog 2 PCD |
|
21 |
Tuesday, November 5 |
GUI Project 3 (MFC Dialog) Suggestions for implementing Program 3 |
Programming Assignment 3 posted Program 3 is extra credit |
|
22 |
Thursday, November 7 |
GUI Project 4 (WinForms) |
Prog 2 Functionality Outline DDD Prog 2 Class Outline |
|
23 |
Tuesday, November 12 |
GUI Project 5 (Part 1) |
||
24 |
Thursday, November 14 |
GUI Project 5 (Part 2) |
||
25 |
Tuesday, November 19 |
GUI Project 5 (Part 3) |
DDD Prog 2 Functionality Outline |
|
26 |
Thursday, November 21 |
GUI Project 5 (Part 4) |
Program 2 |
|
27 |
Tuesday, November 26 |
Third ExamThird test is open-note, open-book, in lab. |
||
Thursday, November 28 |
No Class - Thanksgiving Holiday | |||
28 |
Tuesday, December 3 |
Last Day of Class Finish GUI Project 5 - Adding load and save Review for Final |
Program 3 DDD Program 2 Last day to turn in GUI exercises Must be turned in prior to class |
|
Tuesday, December 10 3:00 - 5:30 p.m. |
|
DDD Program 3 Must be turned in BEFORE the final starts. |
* 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. |
|