School of Computing Science

School of Computing Science

CSC8002 : Advanced Programming

  • Offered for Year: 2016/17
  • Module Leader(s): Dr Marta Koutny
  • Demonstrator: Mr Dan Nesbitt
  • Lecturer: Dr Neil Speirs
  • Owning School: Computing Science
  • Teaching Location: Newcastle City Campus
Semester 2 Credit Value: 20
ECTS Credits: 10.0
Pre Requisites
Code Title
CSC8001Programming and Data Structures
Pre Requisite Comment


Co Requisites
Co Requisite Comment



This course is intended to expose students to advanced features of Java programming. The module will:
- extend knowledge of Java
- introduce design patterns and good practice
- familiarise students with a range of simple algorithms and data structures,
- provide an overview of concurrent programming in the shared memory model, and concurrent object-oriented programming in Java,
- provide an introduction to event-driven programming in general, and event handling in the context of Java GUI programming.

Outline Of Syllabus

Design patterns and good practice.
Common data structures and manipulation of collections of objects.
Concurrent programming.
Event driven Programming.
Introduction to GUI programming using Swing.

Learning Outcomes

Intended Knowledge Outcomes

To be able to describe & discuss advanced features of Java programming including:
- design patterns and good practice,
- immutability, composition and object factories,
- concurrent programming in the shared memory model,
- concurrent object-oriented programming in Java,
- event-driven programming,
- event handling in the context of Java GUI programming

Intended Skill Outcomes

The ability to use advanced features of Java programs including:
- concurrent and event-driven programming
- simple algorithms and data structures

Graduate Skills Framework

Graduate Skills Framework Applicable: Yes
  • Cognitive/Intellectual Skills
    • Critical Thinking : Present
    • Data Synthesis : Assessed
    • Active Learning : Present
    • Numeracy : Present
    • Information Literacy
      • Source Materials : Present
      • Synthesise And Present Materials : Assessed
      • Use Of Computer Applications : Assessed
  • Self Management
    • Self Awareness And Reflection : Present
    • Planning and Organisation
      • Goal Setting And Action Planning : Assessed
      • Decision Making : Assessed
    • Personal Enterprise
      • Innovation And Creativity : Present
      • Initiative : Present
      • Independence : Present
      • Problem Solving : Present
      • Adaptability : Present
  • Application
    • Commercial Acumen
      • Market Awareness : Present

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture441:0044:00Lectures
Guided Independent StudyAssessment preparation and completion500:3025:00Revision for end of Semester exam & exam duration
Guided Independent StudyAssessment preparation and completion441:0044:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesPractical221:0022:00Practicals
Guided Independent StudyProject work221:0022:00Coursework
Guided Independent StudyIndependent study431:0043:00Background reading
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 1st class 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.

Reading Lists

Assessment Methods

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

Description Length Semester When Set Percentage Comment
Written Examination1802A80N/A
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report2M20Approx 2 pieces of equally weighted programming coursework (22 hours each)
Assessment Rationale And Relationship

The examination will consist of two sections. The first one will concern design patterns and good practice, while the second one will concern concurrent and event-driven programming. Both sections will offer a choice of questions and are intended to test the knowledge and understanding of the material covered in the lectures.

N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 40%, the maximum mark returned for the module will normally be 40%.


Past Exam Papers

General Notes


Disclaimer: The University will use all reasonable endeavours to deliver modules in accordance with the descriptions set out in this catalogue. Every effort has been made to ensure the accuracy of the information, however, the University reserves the right to introduce changes to the information given including the addition, withdrawal or restructuring of modules if it considers such action to be necessary.