COMP282

Advanced Object Oriented C Languages

Aims

1. To introduce the notion of object orientation and illustrate the differences between unmanaged and managed coding techniques, through the introduction of two object-oriented variants of C; namely C++ and 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.

Syllabus

Introduction to Object-Oriented C Languages (2 lectures): Evolution of object-oriented languages and the C family, including C++ and C#, and comparison between unmanaged and managed code development Introduction to C++ and templates (3 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 C# (3 lectures, 4 labs): Provide the basics of C# and the main features of .NET. Introduce a graphical GUI development environment and discuss synergy with C# and .NET Design Patterns (2 lectures, 2 labs): Introduce the general principles of design patterns, including MVC (model-view-controller) to support GUI development.

Recommended Texts

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

Learning Outcomes

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


(LO2) Develop applications using both C++ and 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.

Learning Strategy

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