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

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 - 2023 : The overall satisfaction for students in the last offering of this course was 88.89% (`Agree` and `Strongly Agree` responses), based on a 31.25% 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: Student feedback
Feedback
Need a clearer provision about each student contribution to the final paired project - Assessment Item 3.
Recommendation
We will update the marking criteria related to teamwork part in the final project, which will set a clear provision or clause related to each team member's contribution to the project.
Action Taken
Two templates have been used for marking group and individual submissions. Marks are awarded based on the contribution of group members.
Source: Student feedback
Feedback
The current textbook emphasises software development theories. Weekly Lecture slides have too many pages.
Recommendation
We are considering reducing the number of lecture slides. The adopted textbook is a classic book in the field of software development but indeed weekly lecture slides have too many pages that need to be reduced.
Action Taken
Action deferred to next term.
Source: Self-reflection
Feedback
We should add some contents in Week 12 related to security engineering. In Assessment Item 3 (Project), we add the requirement of Authentication.
Recommendation
We are considering adding the Authentication requirement for Assessment Item 3 in the next offering. The study materials or tutorial materials in Week 12 will add SHA1/256 algorithm for encrypting the password that can be stored in a table in a MySQL database.
Action Taken
Did not include in Assessment 3. However, recommended to include an authentication task in Week 12 tutorial worksheet as well as in A3 for next term.
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
In Progress
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
In Progress
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