Module Specification

The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module.
1. Module Title The C++ Programming Language
2. Module Code COMP282
3. Year Session 2023-24
4. Originating Department Computer Science
5. Faculty Fac of Science & Engineering
6. Semester Second Semester
7. CATS Level Level 5 FHEQ
8. CATS Value 7.5
9. Member of staff with responsibility for the module
Mr AP Roxburgh Computer Science A.Roxburgh@liverpool.ac.uk
10. Module Moderator
11. Other Contributing Departments  
12. Other Staff Teaching on this Module
Mrs J Birtall School of Electrical Engineering, Electronics and Computer Science Judith.Birtall@liverpool.ac.uk
13. Board of Studies
14. Mode of Delivery
15. Location Main Liverpool City Campus
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
16. Study Hours 10

    10

    20
17.

Private Study

55
18.

TOTAL HOURS

75
 
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other
19. Timetable (if known)            
 
20. Pre-requisites before taking this module (other modules and/or general educational/academic requirements):

COMP281 Principles of C and Memory Management
21. Modules for which this module is a pre-requisite:

 
22. Co-requisite modules:

 
23. Linked Modules:

 
24. Programme(s) (including Year of Study) to which this module is available on a mandatory basis:

25. Programme(s) (including Year of Study) to which this module is available on a required basis:

26. Programme(s) (including Year of Study) to which this module is available on an optional basis:

27. Aims
 

1. To introduce the notion of object orientation to C, through the introduction of C++.

2. To familiarise students with the use of advanced software development tools, and to illustrate the synergies between the use of graphical interface building tools and the use of programming languages.

3. To introduce the notion of design patterns and their application to challenging programming problems, and to demonstrate their use in event-driven programming tasks.

 
28. Learning Outcomes
 

(LO1) Demonstrate the differences in the utilisation of object oriented principles in various C-based programming languages;

 

(LO2) Develop applications using C++ within an industry-level development environment;

 

(LO3) Demonstrate an understanding of the role of design patterns within software development;

 

(LO4) Apply appropriate design patterns when developing event-driven, GUI-based applications, and to utilise graphical GUI development tools as part of this development.

 

(S1) Learning Skills: Identify differences in the utilisation of object oriented principles in various C-based programming languages.

 

(S2) Employability Skills: Develop applications within an industry-level development environment.

 

(S3) Research Skills: Analyse existing programs.

 

(S4) Research Skills: Design new structured programs.

 

(S5) Research Skills: Debug and test programs.

 
29. Teaching and Learning Strategies
 

Teaching Method 1 - Lecture
Description:
Attendance Recorded: Not yet decided
Notes: 2 per week

Teaching Method 2 - Laboratory Work
Description:
Attendance Recorded: Not yet decided
Notes: 2 per week

(c) Standard on-campus delivery
Teaching Method 1 - Lecture
Description: Mix of on-campus/on-line synchronous/asynchronous sessions
Teaching Method 2 - Laboratory Work
Description: On-campus synchronous sessions

 
30. Syllabus
   

• Introduction to Object-Oriented C Languages (2 lectures): Evolution of object-oriented languages and the C family, in particular C++ • Introduction to C++ and templates (4 lectures, 4 labs): Provide the basics of C++ and explore the use of templates for data management. Introduce a modern IDE (such as Visual Studio) as a development environment. • Introduction to designing graphical user interfaces in C++ (2 lectures, 4 labs): Introduce a graphical GUI development environment and discuss synergy with C++ • Design Patterns (2 lectures, 2 labs): Introduce the general principles of design patterns, including MVC (model-view-controller) to support GUI development.

 
31. Recommended Texts
  Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.
 

Assessment

32. EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
   
33. CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (282.1) Assessment 2 There is a resit opportunity. Standard UoL penalty applies for late submission. This is not an anonymous assessment. Assessment Schedule (When) :Semester 2 0 50
  (282) Assessment 1 There is a resit opportunity. Standard UoL penalty applies for late submission. This is an anonymous assessment. Assessment Schedule (When) :2 0 50