Skip to main content

Trinity College Dublin, The University of Dublin

Menu Search

Module Descriptor School of Computer Science and Statistics

Module CodeCS2E03
Module Short Title
Semester Taught
Contact HoursLecture hours: 3 per week, Lab hours: 1 per week, Tutorial hours: 1 per week
Module PersonnelDr. Carol O Sullivan
Learning Outcomes

Upon completion of this module, students will be able to:

  1. understand and apply object oriented programming principles to solve real problems
  2. write and debug C++ object-oriented programmes identify and apply standard data structures and algorithms;
  3. describe how C++ programmes are represented at runtime;
Learning Aims

  1. to build on the Junior Freshman Engineering 1E3 Computer Engineering I module and to give students the ability to understand and apply object oriented programming principles  to solve real problems;
  2. to teach students to develop and debug programs using an advanced integrated development environment (Microsoft Visual Studio VC++);
  3. to introduce students to standard data structures and algorithms and show how and when they can best be applied;
  4. to introduce students to both core and advanced programming skills
Module Content

Module organisation

The module runs for the first half (12 weeks) of the academic year and comprises of three lectures, one tutorial and a one-hour laboratory per week (total of 55 hours contact time).

Module Content

  1. Number systems, data representation and basic computer architecture;
  2. Migrating from C to C++;
  3. Principles of Object Oriented Programming: Encapsulation, Inheritance, Polymorphism, Abstraction.C++ classes, constructors, destructors, overloading, inheritance;
  4. Dynamic and stack based memory allocation (e.g. malloc, free, new and delete);
  5. File I/O;
  6. String, list, stack, queue and tree data structures;
  7. Simple 2D graphics;
  8. Multi-core programming.

Teaching strategies

The teaching strategy is a mixture of traditional lecturing, weekly tutorials and hands-on practical work. Practical work focuses on the development of complete working programmes.

 Associated laboratory/project/tutorial programme

There are weekly tutorials and laboratories which are marked as well as a term project which will extend over the Christmas period.

Recommended Reading List

C++ Programming: Program Design Including Data Structures, DS Malik (7th edition preferred)

Module Prerequisites
Assessment Details

Assessment is by means of continuous assessment (40%) and a two-hour end-of-year written examination (60%). The continuous assessment comprises the marked tutorials and practical work from the laboratory sessions.

Assessment in supplemental examinations is based on 100% exam.

Module Website
Academic Year of Data