CE221-5-AU-CO:
C++ Programming

The details
2023/24
Computer Science and Electronic Engineering (School of)
Colchester Campus
Autumn
Undergraduate: Level 5
Current
Thursday 05 October 2023
Friday 15 December 2023
15
07 November 2023

 

Requisites for this module
(none)
(none)
(none)
(none)

 

(none)

Key module for

BSC G610 Computer Games,
BSC G612 Computer Games (Including Year Abroad),
BSC G620 Computer Games (Including Foundation Year),
BSC I610 Computer Games (Including Placement Year),
BENGG420 Computer Networks,
BENGG421 Computer Networks (Including Year Abroad),
BENGG520 Computer Networks (Including Foundation Year),
BENGI120 Computer Networks (Including Placement Year)

Module description

This module explains the basic concepts and features of C++ including: the underlying memory model; the role of execution; the stack and the heap. Basic object-orientated programmes will be developed and include features such as: pointer, reference, inheritance, overriding, overloading, exceptions, polymorphism etc.

Module aims

The aim of this module is to provide an introduction to the C++ programming language. The contents covered by this module include three parts:
(1) basic concepts and features of C++ programming (e.g., operator overloading),
(2) C++ Standard Template Library, and
(3) inheritance, function overriding and exceptions.

Module learning outcomes

After completing this module, students will be expected to be able to:

1. Explain the basic concepts and features of C++.
2. Describe the underlying memory model and explain the role of the execution stack and the heap.
3. Write object oriented programs that incorporate basic C++ features such as pointer, reference, inheritance, function overriding, operator overloading, exceptions, etc.
4. Make effective use of the C++ Standard Template Library.

Module information

Outline Syllabus

. Overview
paradigms: procedural + object-oriented vs purely object-oriented
pointers and references
C++ functions: call by value and call by reference
class definition
memory management
the C++ Standard Template Library

. A model of memory
static and dynamic memory
the execution stack: existence of local variables, parameter passing
the heap: dynamic memory allocation
memory management in C++

. C++ language features
pointers: declaring and using pointer variables, the operator *
references: declaring and using reference variables, the operator &
functions: call by value and call by reference, function overloading
arrays: array identifiers, static and dynamic arrays, arrays as parameters, arrays as results
exceptions

. Classes and objects in C++
class definition: private and public members
inheritance
function overriding (polymorphism)
operator overloading
constructors, destructors, copy constructors and the assignment operator

. The Standard Template Library

Learning and teaching methods

Lectures and Labs

Bibliography

This module does not appear to have any essential texts. To see non - essential items, please refer to the module's reading list.

Assessment items, weightings and deadlines

Coursework / exam Description Deadline Coursework weighting
Coursework   Programming Assignment 1     50% 
Coursework   Programming Assignment 2     50% 
Exam  Main exam: In-Person, Open Book (Restricted), 120 minutes during Summer (Main Period) 
Exam  Reassessment Main exam: In-Person, Open Book (Restricted), 120 minutes during September (Reassessment Period) 

Exam format definitions

  • Remote, open book: Your exam will take place remotely via an online learning platform. You may refer to any physical or electronic materials during the exam.
  • In-person, open book: Your exam will take place on campus under invigilation. You may refer to any physical materials such as paper study notes or a textbook during the exam. Electronic devices may not be used in the exam.
  • In-person, open book (restricted): The exam will take place on campus under invigilation. You may refer only to specific physical materials such as a named textbook during the exam. Permitted materials will be specified by your department. Electronic devices may not be used in the exam.
  • In-person, closed book: The exam will take place on campus under invigilation. You may not refer to any physical materials or electronic devices during the exam. There may be times when a paper dictionary, for example, may be permitted in an otherwise closed book exam. Any exceptions will be specified by your department.

Your department will provide further guidance before your exams.

Overall assessment

Coursework Exam
40% 60%

Reassessment

Coursework Exam
40% 60%
Module supervisor and teaching staff
Dr Michael Barros, email: m.barros@essex.ac.uk.
Dr Michael Barros
School Office, email: csee-schooloffice (non-Essex users should add @essex.ac.uk to create full e-mail address), Telephone 01206 872770(non-Essex users should add @essex.ac.uk to create full e-mail address), Telephone 01206 872770

 

Availability
No
No
Yes

External examiner

Prof Pietro Oliveto
Southern University of Science and Technology (SUSTech)
Professor
Resources
Available via Moodle
Of 56 hours, 20 (35.7%) hours available to students:
36 hours not recorded due to service coverage or fault;
0 hours not recorded due to opt-out by lecturer(s), module, or event type.

 

Further information

Disclaimer: The University makes every effort to ensure that this information on its Module Directory is accurate and up-to-date. Exceptionally it can be necessary to make changes, for example to programmes, modules, facilities or fees. Examples of such reasons might include a change of law or regulatory requirements, industrial action, lack of demand, departure of key personnel, change in government policy, or withdrawal/reduction of funding. Changes to modules may for example consist of variations to the content and method of delivery or assessment of modules and other services, to discontinue modules and other services and to merge or combine modules. The University will endeavour to keep such changes to a minimum, and will also keep students informed appropriately by updating our programme specifications and module directory.

The full Procedures, Rules and Regulations of the University governing how it operates are set out in the Charter, Statutes and Ordinances and in the University Regulations, Policy and Procedures.