Module Description

advertisement
Course Outline
COURSE TITLE
NAME OF LECTURER
C++ Programming
Dr. Michael Collins, Lecturer, School of Computing, Dublin Institute of
Technology, Ireland
COURSE DESCRIPTION
Module Description
This module develops the students' programming and problem solving skills, progressing from
procedural (C) to object-oriented (C++) programming.
Topics include the principles, practices, and applications of programming in an object-oriented
environment. The techniques and language features of object-oriented design are implemented
in programming projects. Emphasis is placed upon development of well-designed, efficient,
maintainable object-oriented software.
Module Aims
The aim of this module is that the student becomes familiar with Object-Oriented Programming
concepts and implements these concepts in elementary object-oriented programs using the
C++ language.
Learning Outcomes
On completion of this module, the learner will be able to:
1. Demonstrate an understanding of the underlying principles and concepts of ObjectOriented Programming
2. Write programs using an Object-Oriented programming language (C++)
3. Extensive testing to remove runtime errors from a program
4. Document an Object-Oriented program
5. Demonstrate an understanding of the advanced principles and concepts of ObjectOriented Programming
Design and implement object-oriented programs using advanced Object-Oriented constructs
and design patterns
RECOMMENDED READINGS
Reading lists will be specified during the course of the module, primarily electronic and available
on-line.
TEACHING METHODS
1. Lectures with demonstrations
2. Tutorials
3. Laboratory practical classes based on lectures and tutorials
ASSESSMENT METHODS
Module Assessment
Continuous Assessment (100%):

Individual exercises

Individual assignments

Lab tests
CLASS TOPICS (each class is 3 hrs)
Indicative Module content

Comparison of Procedural Programming with OOP

Review of procedural programming and the need for OOP

Object-Oriented Principles and Concepts

Introduction to class diagrams and OOP concepts

Relationships, Inheritance, Multiple Inheritance, Abstract Classes

Object-Oriented Programming Language Constructs

Abstract data types, classes, objects, messages, Instance variables, methods,
encapsulation, private and public access, class variables, constructors, class interface,
class implementation

Classes and objects, private and public class members, constructors, initialisation list,
static data members, overloading, inline, separation of interface and implementation

Function overloading, Operator overloading

Destructors

Virtual functions and friend functions

Inheritance: Types of Inheritance, Construction, Destruction, Multiple Inheritance

Polymorphism

Abstract Classes

String class and character arrays. Pointers and dynamic memory

Exception handling
SPECIAL COMMENTS
It is important that any students wishing to take my class must have prior knowledge of
C programming, i.e. a pre-requisite being a knowledge of C programming.
Equipment
If possible, students are encouraged to use their own laptop computers. However, the use of
computers in the laboratory will be sufficient.
Further Details
Additional information may be given prior to the start of the class. All necessary
information will be shared with students during the course.
Download