Postgraduate taught 

Software Development MSc

Advanced Programming (M) COMPSCI5002

  • Academic Session: 2024-25
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Semester 2
  • Available to Visiting Students: No
  • Collaborative Online International Learning: No

Short Description

The course is intended to extend the student's knowledge to encompass a number of important programming techniques necessary for building a modern computing application. The course content will include techniques in Java to deal with a range of issues drawn from the following: program design using an object oriented programming model; modelling data using programming language type systems; event and exception programming; thread programming; persistence; and distributed programming.

Timetable

TBC.

Excluded Courses

None

Co-requisites

None

Assessment

Exam 50%, coursework 50%.

Main Assessment In: April/May

Are reassessment opportunities available for all summative assessments? No

The coursework cannot be redone because the feedback provided to the students after the original coursework would give any students redoing the coursework an unfair advantage. Students can resit the class test.

Course Aims

The course is intended to extend the student's knowledge to encompass a number of important programming techniques necessary for building a modern computing application. The course content will include techniques in Java to deal with a range of issues drawn from the following: program design using an object oriented programming model; modelling data using programming language type systems; event and exception programming; thread programming; persistence; and distributed programming. It will also cover in brief the underlying Java run time system and techniques found in other languages.

Intended Learning Outcomes of Course

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

1. Use the programming language concepts covered in the earlier Programming course: type checking, scoping, abstraction, data hiding and encapsulation; in an effective way;

2.  Describe the core concepts and issues involved in programming with polymorphic constructs, multiple threads of execution, and networking mechanisms in a general way;

3. Use these concepts in Java programs.

Minimum Requirement for Award of Credits

Students must submit at least 75% by weight of the components (including examinations) of the course's summative assessment.