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.