On successful completion of the module, students will be able to:
Demonstrate an understanding of trends in coding frameworks and elements;
Acquire fundamental skills in problem decomposition and programming;
Use algorithms to solve a range of mathematical and computing problems;
Demonstrate the capacity to develop software using clear and well-structured code;
Understand and implement the requirements of test-driven-development, behavioral testing and unit testing;
This is a practice-based module that introduces the fundamentals required to develop software artefacts fit for real-world organisational or commercial purposes. The module explores three stages of software development: problem specification, programming and architectural design.
In the first stage students are shown how to analyse computing problems, introducing requirements analysis and domain analysis. Students also cover basic mathematical skills relevant to software development (geometry and graphs, linear algebra, probability) developing capacity for logic and algorithmic problem solving. The second stage covers the design and coding of the software solution, using clear readable code, and processes of behavior and unit testing. In the final stage students begin to explore foundational principles of development practices (standards, software components and protocols) and software architecture (architectural analysis, architectural styles, and agile software development), which starts to prepare them for tackling larger scale software projects.
In order to develop deep understanding, the module uses a series of interactive workshops in which students are supported in designing, developing and testing small-scale software solutions to a range of algorithmic problems. The division of the module into three clear phases provides a scaffolded structure for software development, while the nature of the practical tasks facilitates a gradual introduction to mathematical problem solving and fosters computational thinking. For the final project students deploy this structure, applying independent judgement to a selected computing problem.
Workshops
Hours: 54
Intended Group Size: Cohort
Guided independent study
Hours: 146
Further details relating to assessment
Directed activities: these consist of weekly tasks that must be completed and submitted for inspection at timetabled sessions each week. The assessment will be assessed on a pass/fail basis with a pass requiring at least 75% of all weekly tasks to be completed successfully. A pass will lead to the full award of 10% towards the final module mark. A fail in directed activities will contribute 0% to the final mark.
Practical project: Students are presented with a problem for which they must find an algorithmic solution and implement that solution in code. Furthermore, the problem will be presented in the context of a real-world application. Hence, a secondary aim of the project will be to integrate their algorithmic solution within an existing software application. The application may be one they have developed in COM4002 Intro to Tech Stack. The problem students are set should require the application of basic mathematics. Finally, a third aim will be to devise an appropriate strategy for testing the behaviour and/or performance of the algorithm, both in isolation from the rest of the application codebase and after its integration. This could be in the form of unit tests.
Project report: The report documents the student’s problem-solving process and should detail any relevant theory. Suggested structure:
1) A statement of how the software artefact design provides an effective solution to the given computing problem including mathematical notation where applicable
2) An account of the development and implementation of the software artefact
3) Evidence of a testing strategy
4) A critical evaluation of the development process and resulting software artefact, including its design and workability
The project will be completed by the end of the module - half-way through the second semester (typically by week 5), in time for the commencement of COM4044 Team Project.
Integrated assessment: This is a 3-week project which occurs in the second half of Semester 2 and assesses their performance at the programme-level. It carries a single mark which applies to the Integrated Assessment component of this module along with COM4022 and COM4982.
Unseen Examination: The alternative assessment outlined above is for use by overseas franchise partners that require an unseen exam option. In this instance the exam should assess the students’ general knowledge of topics covered on the module as well as facilitating their critical analysis of approaches taken in their project work. A combination of multiple choice and essay-based questions is recommended.
001 Directed activities; pass/fail; throughout sem 1; 1st half sem 2 10%
002 Project; Artefact; 2,500-word equivalent; mid semester 2 50%
003 Project report; 1,500 words; mid semester 2 30%
004 Integrated assessment; In 2nd half of semester 2 10%
Module Coordinator - Gerard Roma
Level - 4
Credit Value - 20
Pre-Requisites - NONE
Semester(s) Offered - 4YL