| Module Code: ENG2042 |
Module Title: OBJECT-ORIENTED PROGRAMMING |
|
|
Module Provider: Engineering Teaching Group
|
Short Name: SE5203
|
Previous Short Name: SE5203
|
|
Level: HE2
|
Module Co-ordinator: WOODS RI Dr (Eng Teach Gp)
|
|
Number of credits: 10
|
Number of ECTS credits: 5
|
|
|
|
| Module Delivery |
| Spring Semester |
|
|
| Assessment Requirements |
|
Units of Assessment
|
Method(s)
|
Weighting towards Module Mark (%)
|
|
Examination
|
2-hour paper
|
50%
|
|
Class test
|
Timed assessment at the keyboard
|
17%
|
|
Coursework
|
1 assignment
|
17%
|
|
Continuous assessment
|
Attendance at the supervised practicals
|
16%
|
|
|
|
| Module Overview |
|
|
|
| Prerequisites/Co-requisites |
| Completion of the progress requirements of Level HE1 and Module SE5102 or equivalent |
|
|
| Module Aims |
To build on the knowledge of computer programming gained in module SE5102, providing students with a solid understanding and experience in object-oriented programming in C++.
|
|
|
| Learning Outcomes |
Upon successful completion of the module, students should be able to:
- Implement the process of object-oriented program development from problem definition to final program.
- Design reliable and maintainable C++ applications, define and implement classes to produce reliable and reusable code, implement object-oriented designs using encapsulation, inheritance and polymorphism, and use international standard libraries.
|
|
|
| Module Content |
Course bootstrap Create an application, build the user interface, add functionality (continuous assessment: names)
Brush up your syntax Variables, statements, functions (cont. ass: temperature)
Flow of control Basic constructs, loops and jumps, functions revisited (cont. ass: quadratic solver)
Data encapsulation Creating a new type, using the new type, refactoring (cont. ass: traffic control)
Relationships Associations, aggregation, composition (cont. ass: railroads)
Inheritance Class hierarchies, derived methods, separating responsibilities (timed assessment)
Polymorphism Overriding methods, virtual functions, polymorphism in action (cont. ass: Grands Prix)
Compile-time polymorphism Function overloading, function templates, class templates (coursework: Las Vegas )
Libraries Containers, iterators, algorithms
Error handling Basic error handling, C-style error handling, C++ exceptions
Rival languages C++, Java, C# |
|
|
| Methods of Teaching/Learning |
12 hours lectures, 24 hours supervised programming sessions, and 64 hours independent learning.
Total student learning time 100 hours. |
|
|
| Selected Texts/Journals |
Required reading
None
Recommended background reading
The module is supported by extensive printed notes and on-line materials. Further recommended reading includes:
Lipman S and Lajoie J, C++ Primer, 3rd ed, Addison-Wesley, 1998. (ISBN 02018 24701)
Glassborow F (with Allen R), You Can Do It! A Beginner's Introduction to Computer Programming, Wiley. (ISBN 04708 63986)
Andrew Koenig and Barbara E. Moo, Accelerated C++. Practical Programming by Example, Addison-Wesley. (ISBN 02017 0353X) |
|
|
| Last Updated |
15th August 2006 |
|
|
|