CSC8404 : Advanced Programming in Java

Semester 1 Credit Value: 10
ECTS Credits: 5.0


The module aims to develop advanced skills in object-oriented design and in the practical use of Java.
It covers various aspects of sound object-oriented design and practice in Java, using practical exercises to illustrate design principles. It gives an introduction to frequently used libraries and contemporary software development tools to aid the programmer in the building and testing applications.

Outline Of Syllabus

1. The Java Object Model
2. Programming for low coupling and implementation independence including interface-based hierarchies, object factories and composition.
3. Safer programming - information hiding, defensive copying and immutability
4. Introduction to distributed programming with Java RMI
5. Java Software Development Tools including an IDE and the JUnit test framework.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion250:3012:30Revision for end of Semester exam & exam duration
Guided Independent StudyAssessment preparation and completion201:0020:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesLecture201:0020:00Lectures
Scheduled Learning And Teaching ActivitiesPractical161:0016:00Practicals
Guided Independent StudyProject work161:0016:00Coursework
Guided Independent StudyIndependent study310:3015:30Background 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.

Assessment Methods

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

Description Length Semester When Set Percentage Comment
PC Examination901A67N/A
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M331 programming exercise (16 hours)
Assessment Rationale And Relationship

The PC examination will consist of a number of factual questions to test the students' broad knowledge of advanced programming, and a section requiring the students to show greater depth of understanding of a number of key concepts introduced.

The heavy weighting of coursework (33%) in this module reflects the importance of practical aspects of this module.

Study abroad students may request to take their exam before the semester 1 exam period, in which case the length of the exam may differ from that shown in the MOF.

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

Reading Lists