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.
Requirements of Entry
COMPSCI4039 Programming (H)
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.