
Instructor
Brian Mitchell
Drexel: (215)895-2668
Daytime: (215)761-6618
e-mail: bmitchel@mcs.drexel.edu
Class Web Page: http://www.mcs.drexel.edu/~bmitchel/course/mcs350/mcs350.html
Class Notices
This link will take you to the MCS350 class notices page
New Important Announcement, Please Check The Above Link
Class Meeting Times
MCS350 will meet from 3:00 to 4:30 on Tuesday and Thursday. Office hours are by appointment or directly after class.
Textbooks
The course textbooks are:
- Mastering Object-Oriented Design in C++, Cay S. Horstman. (John Wiley and Sons)
- The C++ Programming Language, Bjarne Stroustrup, (Addison-Wesley)
Additional materials from the class will be derived from:
- Object-Oriented Analysis and Design with Applications, Grady Booch (Benjamin/Cummings)
- UML Distilled: Applying the Standard Object Modeling Language, Martin Fowler (Addison-Wesley)
Tentative Schedule
| Topic | Description |
|---|---|
| 1 | Why Objects? |
| 2 | Objects and Classes |
| 3 | OO Design |
| 4 | Class Diagrams - UML Notation |
| 5 | Invariants |
| 6 | Inheritance, Multiple Inheritance |
| 7 | Polymorphism |
| 8 | Abstract Base Classes |
| 9 | Binding, Visibility, Scope and Access Control |
| 10 | Operator Overloading |
| 11 | Persistence |
| 12 | Templates |
| 13 | Exceptions |
| 14 | Foundation Classes - Case Study: MFC |
| 15 | Components - Case Study: COM, Java Beans |
| 16 | Distributed Object Models - Case Study: CORBA, DCOM |
Class Notes
This section has been made available so that you can download a copy of the class notes. All files are in Postscript format. If you are running Windows 95 or Windows NT you may download a public domain postcript viewer called PSView.
Programming
The primary goal of this class is to understand how to design and implement an object-oriented system by applying sound object-oriented design disciplines. While the class lectures and example programs will use the C++ programming language, I will accept assignments that are developed in either the C++ or Java programming languages. I would, however, recommend that you use Java only if you are already proficient at C++ programming.
All development should be done so that your assignments will run on the departments SUN equipment..
Assignments, Programming Problems & Projects
Use the following links to find out about class assignments, homeworks, programming problems and projects. Clicking on the assignment number will provide detailed information.
Grading
Midterm: 20%
Final Exam: 30%
Homeworks and Programming Projects: 50%