On successful completion of the module, students will be able to:
1 - Demonstrate comprehension and understanding of functional programming and applications of tools and libraries
2 - Demonstrate an understanding of the principles of software design and testing
3 - Apply the basic notions of Object-Oriented Programming (OOP) in modelling objects
4 - Develop a basic understanding of IDEs and version control.
This module is centred on practical application and aims to impart essential skills for crafting software artefacts suitable for real-world organisational or commercial purposes. The module delves into three key phases of software development: problem specification, programming and architectural design.
During the initial stage, students learn how to analyse computing problems, incorporating requirements analysis and domain analysis. The second stage focuses on the design and programming of the software solution, emphasising the creation of clear, readable code and the implementation of processes for behaviour and unit testing. In the concluding stage, students consider the foundational principles of development practices, including standards, software components and protocols. The exploration of software architecture aspects such as architectural analysis, architectural styles and version control begins here, setting the foundation for handling more extensive software projects in the future.
The learning and teaching approach employed in this module revolves around a sequence of predominantly hands-on, guided activities anchored in theoretical foundations. Aligned with the University's teaching and learning strategy, the instructional process unfolds in three distinct stages: preparation, delivery, and practice (pre-live-post). To maximise the learning experience, students are tasked with a set of recommended activities prior to each session. These activities encompass a spectrum of tasks, ranging from reading designated textbook pages and exploring online resources to downloading data and installing relevant software. This proactive preparation lays the groundwork for informed participation during the sessions. During the actual sessions, the focus shifts to theoretical introductions followed by interactive activities designed to advance the students through various phases of learning and skill development. Following the sessions, students are prompted to undertake additional activities independently or in small groups. These post-session tasks serve a dual purpose: reinforcing peer-to-peer learning and cultivating the students' ability to become self-reliant learners. By engaging in these follow-up activities, students not only solidify their understanding of the material but also develop the autonomy to navigate and apply their knowledge beyond the confines of the classroom.
Workshops
Contact Hours: 60
Intended Group Size: Cohort
Guided independent study
Hours: 240
Further details relating to assessment
Programming Portfolio: Students evidence progression on the module in the form of an e-portfolio of computer programmes, such as games and utilities, composed of polished, documented and extended versions of exercises started during the sessions.
Programming Practice: Students are required to develop an artefact to a given brief and attend a demonstration. This will include a question-and-answer session.
In computer science classes, formative assessment serves to bolster the skills essential for module success. This includes engaging in practical labs, undertaking design and modelling tasks, delivering case study presentations, completing short quizzes and conducting specific investigation tasks. The provision of formative feedback is integrated seamlessly into class sessions, ensuring an ongoing and iterative process to enhance learning outcomes.
Full details are available in the Module Handbook.
001 Artefact; simple app; end of semester 1 50%
002 Negotiated assessment; 2,000 word equiv.; end of semester 1 50%
Module Coordinator - Aliyu Lawal Aliyu
Level - 0
Credit Value - 30
Pre-Requisites - NONE
Semester(s) Offered - 3S1