Advanced Programming (M) COMPSCI5002

  • Academic Session: 2019-20
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Semester 2
  • Available to Visiting Students: No
  • Available to Erasmus Students: 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; providing a graphical user interface; thread programming; persistence; and distributed programming. It will also cover in brief the underlying Java run time system and techniques found in other languages.

Timetable

3 hours per week

Requirements of Entry

Programming (or equivalent)

Excluded Courses

None

Co-requisites

None

Assessment

Examination 70%, coursework 30%.

Main Assessment In: April/May

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 students redoing the coursework an unfair advantage.

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; providing a graphical user interface; 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, graphical user interfaces, 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.