Dear Student
Welcome to module 16-7213. Please read the information below.
The programming assignments will be posted during the course of the semester, approximately three weeks before their due date. Programs are evaluated on the correctness of the code and the output, the readability/layout of the code, and the correct usage of the programming concepts discussed in the lectures.
Please feel free to contact me if you have any questions about this course.
Alan Goude
Principal Lecturer
School of Engineering
e-mail: a.goude@shu.ac.uk
16-7213 - Object Oriented Methods
Course Syllabus
Course Objectives:
This course covers the fundamentals of Object Oriented Design(OOD) and the implementation of OOD using the C++
programming language. The course introduces the concepts and methodology of OOD
and shows how the C++ language can be used to implement these concepts. The OOD
concepts covered include: Abstraction, Encapsulation, Modularity, Inheritance
and Polymorphism.
The programming language compiler used will be Microsoft Visual C++.
Recommended reading:
Assignments
Assignments |
Weighting |
Microsoft Word Format |
Deadline |
Assignment 1 Assignment 2 |
50% 50% |
|
For the assignments see the Blackboard site for this
module. The site will also indicate the deadline dates and a link to allow
submission of the assignments via TurnItin. |
Lecture |
Topics |
Powerpoint Slides |
Example Programs etc. |
1 |
Introduction to the unit Books and other references OOD - The Object Model |
||
1 |
Introduction to C++ C++ language features Comments, Stream I/O, Argument passing, Reference variables, using const |
|
|
2 |
Classes - Basic features |
|
|
3 |
Function Overloading, Default Function Arguments, Constructor and Destructor functions, Constant member functions, Inline functions |
|
|
3 / 4 |
True object initialisation - member initialisation list Composition (a type of aggregation) Copy constructor and assignment operator = Dynamic Memory Pointers to objects |
patient2.zip(using dynamic variables) |
|
5 |
Aggregation - by value and by reference |
||
6/7 |
Operator overloading Friend functions |
patient3.zip (using a private member function and a friend function using operator overloading) patient4.zip (using standard string class for patient name) |
|
6-10 |
Inheritance Class hierarchies. Run Time Type Identification |
C++ Files: Inheritance1.zip containing code for examples ex01,ex01a,ex02,ex03,ex04
and ex04a Some example code for getting user input from the keyboard safely! |
|
11/12 |
Templates - |
C++
Files : STL examples.zip |
|
12 |
Design Patterns |
||
ongoing student centred learning |
UML - Rational Rose Tutorials as Word documents =======è |
UML & Rational Rose (Word format) Doc1 - Analysis and Use Case Diagrams.doc Doc2 - The Object Discovery Process.doc Doc3 - Classes and Class Diagrams - Part1.doc Doc4 - Classes and Class Diagrams - Part2.doc |
A good site for UML info:- http://www.intelligentedu.com/blogs/post/best_new_training_sites/3542/best-uml-tutorials |
Some
useful and interesting OOM web sites Bjarne Stroustrup's Home page,
FAQ and C++ pages http://www2.research.att.com/~bs/homepage.html http://www2.research.att.com/~bs/bs_faq.html http://www2.research.att.com/~bs/C++.html C++ : The language http://www.informit.com/guides/guide.aspx?g=cplusplus C++ FAQ Lite http://www.parashift.com/c++-faq-lite/ C, C++ and other
programming languages |