Aims and Fit of Module
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.
Learning outcomes
A. Critically analyze and evaluate data structures and advanced object-oriented programming concepts to devise effective solutions for computational challenges.
B. Design and implement sophisticated programming techniques to develop robust software artifacts tailored to solve complex realworld problems.
C. Develop advanced software components as a member or a leader of a software development team, incorporating AI-assisted features.
D. Adopt an inclusive approach and recognise the responsibilities, benefits and importance of supporting equality, diversity and inclusion in object-oriented programming.
E. Plan and record self-learning and development as the foundation for lifelong learning in object-oriented programming.
Method of teaching and learning
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.