COIT12200 - Software Design & Development

General Information

Unit Synopsis

This unit introduces object-oriented software design and implementation, including the use of complex data structures and algorithms.You will learn data structures, algorithms, and both theoretical and practical aspects of software engineering. The theory will focus on software processes, requirements engineering, modelling, architectural design, design patterns, software development methodology, testing, and quality assurance. You will also be introduced to the principles of software reuse, and development code management. You will develop multi-tiered software application consisting of presentation, application, and data persistence tiers. You will also learn test-driven software application development using appropriate tools, thus building solid foundations for software development.

Details

Level Undergraduate
Unit Level 2
Credit Points 6
Student Contribution Band SCA Band 2
Fraction of Full-Time Student Load 0.125
Pre-requisites or Co-requisites

Pre-requisites: (COIT11134 and COIT11237) OR (COIT11134 and COIT12167).

Important note: Students enrolled in a subsequent unit who failed their pre-requisite unit, should drop the subsequent unit before the census date or within 10 working days of Fail grade notification. Students who do not drop the unit in this timeframe cannot later drop the unit without academic and financial liability. See details in the Assessment Policy and Procedure (Higher Education Coursework).

Class Timetable View Unit Timetable
Residential School No Residential School

Unit Availabilities from Term 3 - 2024

Term 1 - 2025 Profile
Brisbane
Cairns
Melbourne
Online
Rockhampton
Sydney
Term 2 - 2025 Profile
Brisbane
Cairns
Melbourne
Online
Rockhampton
Sydney
Term 1 - 2026 Profile
Brisbane
Cairns
Melbourne
Online
Rockhampton
Sydney

Attendance Requirements

All on-campus students are expected to attend scheduled classes - in some units, these classes are identified as a mandatory (pass/fail) component and attendance is compulsory. International students, on a student visa, must maintain a full time study load and meet both attendance and academic progress requirements in each study period (satisfactory attendance for International students is defined as maintaining at least an 80% attendance record).

Assessment Overview

Recommended Student Time Commitment

Each 6-credit Undergraduate unit at CQUniversity requires an overall time commitment of an average of 12.5 hours of study per week, making a total of 150 hours for the unit.

Assessment Tasks

Assessment Task Weighting
1. Practical and Written Assessment 25%
2. Practical and Written Assessment 30%
3. Project (applied) 45%

This is a graded unit: your overall grade will be calculated from the marks or grades for each assessment task, based on the relative weightings shown in the table above. You must obtain an overall mark for the unit of at least 50%, or an overall grade of ‘pass’ in order to pass the unit. If any ‘pass/fail’ tasks are shown in the table above they must also be completed successfully (‘pass’ grade). You must also meet any minimum mark requirements specified for a particular assessment task, as detailed in the ‘assessment task’ section (note that in some instances, the minimum mark for a task may be greater than 50%).

Consult the University's Grades and Results Policy for more details of interim results and final grades

Past Exams

To view Past Exams,
please login
Previous Feedback

Term 1 - 2024 : The overall satisfaction for students in the last offering of this course was 80.00% (`Agree` and `Strongly Agree` responses), based on a 25.64% response rate.

Feedback, Recommendations and Responses

Every unit is reviewed for enhancement each year. At the most recent review, the following staff and student feedback items were identified and recommendations were made.

Source: 2024 Unit Teaching Comments Report
Feedback
Assignment 2 should be a group assessment because Assessment 3 builds off of it. It would make more sense if groups designed the diagram together, then proceeded to code the program using the diagram from A2.
Recommendation
Group work can be incorporated into students' assessments through design and code walkthroughs conducted after each student has completed individual attempts at design, coding, and testing.
Action Taken
In Progress
Source: 2024 Unit Teaching Comments Report
Feedback
The availability of the recorded lectures and tutorials was delayed a little each week, so it felt I was constantly trying to catch up on weekly materials.
Recommendation
The Echo360 system currently processes recorded videos with a slight delay, likely due to an overload of simultaneous tasks. Starting in Term 2 of 2024, Echo360 will expedite video processing, and by next year, this issue should no longer be a concern.
Action Taken
In Progress
Source: Self-reflection
Feedback
The Assessment item 3 (project) should add more advanced security requirements.
Recommendation
We will enhance security by requiring passwords to be encrypted in the database table, and access to the system will necessitate answers to the built-in security questions.
Action Taken
In Progress
Source: Discipline Leader
Feedback
Existing GenAI tools negatively affect students' academic integrity in assessments.
Recommendation
Promote the legitimate use of GenAI in learning content as well as assessments.
Action Taken
Relevant document on the legitimate use of GenAI has been available on the moodle website.
Source: Unit Coordinator
Feedback
Lacking coverage of best practices in secure software development.
Recommendation
Update Week 12 tutorial material to incorporate content on password security practices.
Action Taken
This has been done.
Unit learning Outcomes

On successful completion of this unit, you will be able to:

  1. Create a software requirements specification in accordance with the principles of requirements engineering
  2. Apply modelling techniques to document architectural and system models as per the requirements specification
  3. Use complex data structures and algorithms in software application development
  4. Design and implement a multi-tiered software application consisting of presentation, application and data persistence tiers
  5. Conduct test-driven development, validation, verification testing, software project testing, and design walkthroughs in small teams.

Australian Computer Society (ACS) recognises the Skills Framework for the Information Age (SFIA). SFIA is a widely used and consistent definition of ICT skills. SFIA is increasingly being used when developing job descriptions and role profiles. ACS members can use the tool MySFIA to build a skills profile at
https://www.acs.org.au/professionalrecognition/mysfia-b2c.html. 

This unit contributes to the following workplace skills as defined by SFIA 8. The SFIA code is included:

  • Requirements Definition and management (REQM)
  • User Experience Analysis (UNAN)
  • Software Design (SWDN)
  • System Integration and Build (SINT)
  • Programming/Software Development (PROG)
  • Database Design (DBDS)
  • Testing (TEST)
  • Quality Assurance(QUAS)
  • Quality Management (QUMG)

Alignment of Assessment Tasks to Learning Outcomes
Assessment Tasks Learning Outcomes
1 2 3 4 5
1 - Practical and Written Assessment
2 - Practical and Written Assessment
3 - Project (applied)
Alignment of Graduate Attributes to Learning Outcomes
Introductory Level
Intermediate Level
Graduate Level
Graduate Attributes Learning Outcomes
1 2 3 4 5
1 - Communication
2 - Problem Solving
3 - Critical Thinking
4 - Information Literacy
6 - Information Technology Competence
Alignment of Assessment Tasks to Graduate Attributes
Introductory Level
Intermediate Level
Graduate Level
Assessment Tasks Graduate Attributes
1 2 3 4 5 6 7 8 9 10