Course Catalogue

Introduction to Object Oriented Programming UESTCHN2014

  • Academic Session: 2026-27
  • School: School of Engineering
  • Credits: 10
  • Level: Level 2 (SCQF level 8)
  • Typically Offered: Semester 2
  • Available to Visiting Students: No
  • Collaborative Online International Learning: No
  • Curriculum For Life: No

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.

Timetable

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

Requirements of Entry

None

Excluded Courses

None

Co-requisites

None

Assessment

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: April/May

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

No exceptions