Postgraduate

Modules

Modules

CSC8404 : Advanced Programming in Java

Semesters
Semester 1 Credit Value: 10
ECTS Credits: 5.0

Aims

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

Please note that module leaders are reviewing the module teaching and assessment methods for Semester 2 modules, in light of the Covid-19 restrictions. There may also be a few further changes to Semester 1 modules. Final information will be available by the end of August 2020 in for Semester 1 modules and the end of October 2020 for Semester 2 modules.

Teaching Activities
Category Activity Number Length Student Hours Comment
Scheduled Learning And Teaching ActivitiesLecture12:002:00Guest Talk (PiP)
Structured Guided LearningLecture materials121:0012:00Recorded videos of learning materials introducing concepts and introducing practical work.
Guided Independent StudyProject work152:0030:00coursework
Guided Independent StudyIndependent study152:0030:00Background reading
Scheduled Learning And Teaching ActivitiesScheduled on-line contact time92:0018:00Online synchronous practical teaching sessions 3 x 2hour sessions per week
Scheduled Learning And Teaching ActivitiesScheduled on-line contact time42:008:00Online synchronous discussions. One 2 hour session per week + one 2 hour session wk 1 as intro
Total100:00
Teaching Rationale And Relationship

Video recordings 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. Synchronous online lecture sessions will be used to discuss learning materials and for Q&A.

This is a very practical subject, and it is important that the learning materials are supported by hands-on opportunities provided by online 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.

Assessment Methods

Please note that module leaders are reviewing the module teaching and assessment methods for Semester 2 modules, in light of the Covid-19 restrictions. There may also be a few further changes to Semester 1 modules. Final information will be available by the end of August 2020 in for Semester 1 modules and the end of October 2020 for Semester 2 modules.

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

Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M1001 programming exercise (40 hours)
Assessment Rationale And Relationship

The coursework weighting (100%) reflects the importance of practical aspects of this module.

Reading Lists

Timetable