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.

Advanced Programming (M) COMPSCI5002

  • Academic Session: 2020-21
  • School: School of Computing Science
  • Credits: 10
  • Level: Level 5 (SCQF level 11)
  • Typically Offered: Summer
  • 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

Four days over two weeks (2 days/week).

It is not known yet which two weeks or which days this will be.

Requirements of Entry

COMPSCI4039  Programming (H)

Excluded Courses

None

Co-requisites

None

Assessment

Class test 70%, coursework 30%.

(We note that there is no option for a Class Test in the list above)

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; 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.