Skip to main content

Module

CSC8016 : Advanced Programming

  • Offered for Year: 2024/25
  • Module Leader(s): Dr Giacomo Bergami
  • Owning School: Computing
  • Teaching Location: Newcastle City Campus
Semesters

Your programme is made up of credits, the total differs on programme to programme.

Semester 2 Credit Value: 10
ECTS Credits: 5.0
European Credit Transfer System

Aims

To give students experience of concurrent programming. The module will provide an overview of concurrent programming in the shared memory model, and concurrent object oriented programming in Java.

Outline Of Syllabus

Basic principles of concurrent programming. Thread synchronisation mechanisms.
Challenges of concurrent programming such as interference and deadlocks.
Concurrent programming synchronisation problems: Producer/Consumer problem, Readers/Writers problem.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture61:006:00Lectures (PIP)
Guided Independent StudyAssessment preparation and completion201:0020:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesPractical62:0012:00Practicals (PIP)
Guided Independent StudyProject work101:0010:00Programming coursework
Guided Independent StudyIndependent study321:0032:00Background reading
Guided Independent StudyIndependent study120:0020:00Revision for end of semester exam and exam duration
Total100:00
Teaching Rationale And Relationship

Lectures will be used to introduce the learning material and for demonstrating the key concepts by example. Students are expected to follow-up lectures within a few days by re-reading and annotating lecture notes to aid deep learning. This is a very practical subject, and it is important that the learning materials are supported by hands-on opportunities provided by practical classes. Students are expected to spend time on coursework outside timetabled practical classes.

Students aiming for distinction marks are expected to widen their knowledge beyond the content of lecture notes through background reading.

Students should set aside sufficient time to revise for the end of semester exam as well as attending the practicals - which are preparatory for the coursework.

Assessment Methods

The format of resits will be determined by the Board of Examiners

Exams
Description Length Semester When Set Percentage Comment
Digital Examination902A40Examination (on-line)
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report2M60Programming coursework (10 hrs)
Assessment Rationale And Relationship

The examination is intended to test the knowledge and understanding of the material covered in the lectures. The coursework provides further practice in writing programs and using development tools.

Reading Lists

Timetable