CSC2011 : Advanced Programming

  • Module Leader(s): Dr Marta Pietkiewicz-Koutny
  • Owning School:
Semester 1 Credit Value: 20
ECTS Credits: 10.0


To give students a deeper understanding of OO design issues and data structures implementation and use.
To illustrate these ideas using examples taken from standard Java libraries.
To introduce students to other programming paradigms, specifically concurrent programming and event-driven programming.
To provide a deeper insight into fundamental programming concepts.

This module will cover a variety of abstractions and representations (e.g. lists, stacks, queues, trees) making use of the Java Collections framework (a sophisticated Java library). It will introduce concurrent programming concepts, concurrent programming in Java, event-driven programming, event handling in Java, GUI programming with AWT/Swing, case studies taken from Java libraries (e.g. java.util, javax.swing).

Outline Of Syllabus

Using and implementing Data Structures.
Concurrent programming concepts.
Concurrent Programming in Java and Java concurrency support.
Event-driven programming.
Event handling in Java GUI programming with AWT/Swing.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture441:0044:00Lectures
Guided Independent StudyAssessment preparation and completion480:3024: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
Scheduled Learning And Teaching ActivitiesSmall group teaching111:0011:00Tutorials
Guided Independent StudyProject work221:0022:00Coursework
Guided Independent StudyIndependent study331:0033: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.

Tutorials will be used to emphasise the learning material and its application to the solution of problems and exercises set as coursework, during which students will analyse problems as individuals and in teams.

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.

Assessment Methods

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

Description Length Semester When Set Percentage Comment
Written Examination1201A70N/A
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M303 pieces of programming coursework (15 hours each)
Assessment Rationale And Relationship

The examination will consist of a number of "short-answer" questions to test the students' broad knowledge of programming and a section requiring the students to show greater depth of understanding of a number of key concepts introduced. The weighting of coursework (30%) in this module reflects the importance of practical aspects of this module.

N.B. This module has both an “Exam Assessment” and an “Other Assessment” (e.g. coursework). If either Assessment has a failing mark below 35%, the maximum mark returned for the module will normally be 35%.

Reading Lists


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.