|Semester 1 Credit Value:||20|
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).
Using and implementing Data Structures.
Concurrent programming concepts.
Concurrent Programming in Java and Java concurrency support.
Event handling in Java GUI programming with AWT/Swing.
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.
The format of resits will be determined by the Board of Examiners
|Practical/lab report||1||M||30||3 pieces of programming coursework (15 hours each)|
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%.
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.