Please note: there may be some adjustments to the teaching arrangements published in the course catalogue for 2020-21. Given current circumstances related to the Covid-19 pandemic it is anticipated that some usual arrangements for teaching on campus will be modified to ensure the safety and wellbeing of students and staff on campus; further adjustments may also be necessary, or beneficial, during the course of the academic year as national requirements relating to management of the pandemic are revised.

Introduction to Object Oriented Programming COMPSCI2001

  • Academic Session: 2022-23
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 2 (SCQF level 8)
  • Typically Offered: Semester 1
  • Available to Visiting Students: Yes
  • Available to Erasmus Students: Yes

Short Description

This course extends students' experience in programming using a strongly typed language and strengthens their problem solving skills. Students will learn the ideas that underpin object-oriented programming and will apply those concepts in developing small and medium sized software systems. Students will also learn to select and re-use existing software components and libraries, and will gain experience in concurrent programming and elementary graphical user-interface (GUI) development.


Two 1-hour lectures per week, one 1-hour Tutorial/Examples class per week, one 2-hour laboratory session per week.

Requirements of Entry

Entry to Level 2 Computing Science is guaranteed to students who achieve a GPA of B3 or better in their level 1 courses at the first sitting. All others would be at the discretion of the School.


All grades for Computing Science courses must be at D3 or better at either attempt.

Excluded Courses

Java Object Oriented Software Engineering 2




1 hour degree examination (60%), 2 hour laboratory examination (15%), best 6 laboratory exercises (3% each -- 18% total), Peer Review (2%), quizzes (5%). 

Main Assessment In: December

Are reassessment opportunities available for all summative assessments? No

Reassessments are normally available for all courses, except those which contribute to the Honours classification. For non Honours courses, students are offered reassessment in all or any of the components of assessment if the satisfactory (threshold) grade for the overall course is not achieved at the first attempt. This is normally grade D3 for undergraduate students and grade C3 for postgraduate students. Exceptionally it may not be possible to offer reassessment of some coursework items, in which case the mark achieved at the first attempt will be counted towards the final course grade. Any such exceptions for this course are described below. 


The coursework cannot be redone because the feedback provided to the students after the original coursework would give any student redoing the coursework an unfair advantage.

Course Aims

■ To further develop the students' experience in programming using a strongly typed language and strengthen their problem solving skills;

■ To introduce the ideas that underpin object-oriented programming and ensure students gain the ability to appropriately utilise these concepts in developing small and medium sized software systems;

■ To develop the ability to select and re-use existing software components and libraries from a limited subset of standard libraries;

■ To introduce and develop practical experience in concurrent programming, and to explore a variety of concurrency control mechanisms.

Intended Learning Outcomes of Course

By the end of this course students will be able to:

1. Use all features of the Object Oriented programming languages required to build substantial single-threaded programs;

2. Describe the object model of a language;

3. Explain the significance of the single and multiple inheritance hierarchies; and of implementation and interface inheritance;

4. Explain the purpose of, and pitfalls inherent in, concurrent programming;

5. Demonstrate elementary object-oriented design skills;

6. Build well-structured Object Oriented programs of moderate size using the fundamental class libraries appropriately.

Minimum Requirement for Award of Credits

Submission of at least one laboratory exercises; attendance at laboratory exam and degree exam.