Object Oriented Programming

Module summary

Module code: COMP1752
Level: 4
Credits: 15
School: Liberal Arts and Sciences
Department: Computing and Mathematical Sci.
Module Coordinator(s): Christopher Walshaw

Specification

Pre and co requisites

COMP1753 – Programming Foundations.

Aims

To provide a solid foundation in object-oriented programming concepts and hands-on experience in using them. The module introduces the concepts of abstraction and reusable code design via the object-oriented paradigm. Through a series of examples and exercises, together with a substantive programming project, students gain transferrable coding skills and hands-on experience as well as an appreciation of the principles of professional programming practices.

Learning outcomes

On successful completion of this course a student will be able to: 1. Recognise and apply principle features of object-oriented design such as abstraction, encapsulation, inheritance and polymorphism. 2 Design non-trivial programmes with a view to flexibility and reuse. 3 Code, test and evaluate small software systems to conform to a specification.

Indicative content

Introduction to programming object-oriented programming, in a language such as Python, Java or C++, including: Data structures & collections - lists, tuples, sets, dictionaries. Object-oriented concepts - classes, objects, abstraction, encapsulation, inheritance, polymorphism. Programme design - scope, modules, libraries. Exception handling, testing and debugging. Graphical user interfaces - widgets, layouts, frames, callbacks, responsive design.

Teaching and learning activity

A mixture of lectures (33%), which include code demonstrations and worked solutions for selected exercises, and laboratory sessions (67%) are used. The learning activities are supported by comprehensive lecture notes together with many examples. Students are encouraged to gain experience and confidence by completing numerous small coding exercises, based on the examples, throughout the course. Other formative tasks include online self-assessment activities and self-learning tutorials.

Assessment

Coursework - 100% weighting, 40% pass mark.
Learning Outcomes - 1, 2 & 3.
Outline Details - A data-driven user interface with an accompanying report (2000 words).

Formative Assessment - Tutorial exercises. Online self-assessment and feedback. Online forum for Q&A.