Module Details

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.
Title ADVANCED OBJECT ORIENTED C LANGUAGES
Code COMP282
Coordinator Dr D Jackson
Computer Science
Djackson@liverpool.ac.uk
Year CATS Level Semester CATS Value
Session 2016-17 Level 5 FHEQ Second Semester 7.5

Aims

  1. To introduce the notion of object orientation and illustrate the differences between message-based and method-based object-oriented approaches, through the introduction of two Object-oriented variants of C; namely C++ and Objective-C 2.0.
  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 application to event-driven programming tasks.

Learning Outcomes

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

Develop applications using both C++ and Objective-C 2.0 within an industry-level development environment;

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

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


Syllabus


  • Introduction of Object-Oriented C Languages (2 lectures):
    Evolution of method-based approaches from Simula to C++, vs the evolution of message-based approaches from Smalltalk to Objective-C 2.0, and a comparison of both
  • Introduction to C++ and templates (2 lectures, 4 labs):
    Provide the basics of C++ and explore the use of templates for data management. Introduce XCode as a development environment.
  • Introduction to Objective-C 2.0 (3 lectures, 4 labs):
    Provide the basics of Objective-C 2.0 and the main Foundation Classes. Introduce Interface Builder as a graphical GUI development environment, and discuss synergy with Objective-C 2.0
  • Design Patterns (3 lectures, 2 labs):
    Introduce the general principles, and introduce patterns such as MVC to support GUI development.

Teaching and Learning Strategies

Lecture -

2 per week

Laboratory Work -

2 per week


Teaching Schedule

  Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
Study Hours 10

    10

    20
Timetable (if known) 2 per week
 
    2 per week
 
     
Private Study 55
TOTAL HOURS 75

Assessment

EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
             
CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
Coursework  30 hours expected fo  Semester 2  30  Yes  Standard UoL penalty applies  Assessment 1 
Coursework  30 hours expected fo  Semester 2  35  Yes  Standard UoL penalty applies  Assessment 2 
Coursework  30 hours expected fo  Semester 2  35  Yes  Standard UoL penalty applies  Assessment 3 Notes (applying to all assessments) 3 (sets of) assessment tasks This work is not marked anonymously. Resit-arrangements: A single problem sheet to be solved in a three hour session in the departmental Mac lab replaces all three assessment tasks. Students are allowed internet access and the use of notes and textbooks during the session. The session will take place during the re-sit period and be scheduled by SAS. This lab based resit exam will replace CA components, the Learning Outcomes will be covered in the resit exam.  

Recommended Texts

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