To introduce data structures and advanced programming language features within the context of a high-level programming language (Java). To demonstrate principles, provide indicative examples, develop problem-solving abilities and provide students with experience and confidence in the use of advanced features to implement algorithms in a contemporary software setting.
At the end of this module the students should be :
1. familiar with data structures and advanced programming concepts within Java;
2. able to carry out the construction of software artefacts utilising these concepts;
3. capable of carrying out the development of complex elements, such as user interfaces, multiprocessing, and fault tolerant components.
Students will be expected to attend two hours of formal lectures as well as to participate in supervised practicals in a computer lab in a typical week. Lectures will introduce students to the academic content and practical skills which are the subject of the module, while computer practicals will allow students to practice those skills. In addition, students will be expected to devote approximately six hours of unsupervised time to solving continuous assessment tasks and private study. Private study will provide time for reflection and consideration of lecture material and background reading. Continuous assessment will be used to test to what extent practical skills have been learnt.