Note: This unit version is currently being edited and is subject to change!

SOFT3202: Software Construction and Design 2 (not offered in 2018) (2020 - Semester 1)

Download UoS Outline

Unit: SOFT3202: Software Construction and Design 2 (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Senior
Faculty/School: School of Computer Science
Unit Coordinator/s: Dr. Suleiman, Basem
Session options: Semester 1
Versions for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: SOFT2201.
Prohibitions: COMP9202 OR INFO3220.
Brief Handbook Description: This unit is a sequel of Software Construction and Design I (SOFT2201). It introduces advanced concepts which build on the topics of SOFT2201. SOFT3202 covers topics including software validation and verification, the theory of testing, and advanced design patterns. The unit has a strong focus on the theoretical underpinning of software design. In the labs, the theory is applied with contemporary tools with concrete examples.
Assumed Knowledge: None.
Lecturer/s: Dr. Suleiman, Basem
Timetable: SOFT3202 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 2.00 1 13
2 Laboratory 2.00 1 12
3 Independent Study 7.00 13

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

(6) Communication and Inquiry/ Research (Level 3)
1. Explain processes and elements in Object-Oriented Design
(4) Design (Level 4)
2. Apply advanced Object-Oriented Design approaches to Software design
(2) Engineering/ IT Specialisation (Level 4)
3. Apply advanced Object-Oriented design principles to implementation using an OO programming language.
4. Discuss and apply testing techniques to Software systems
(1) Maths/ Science Methods and Tools (Level 4)
5. Discuss and apply software validation/verification techniques to Software systems
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Weekly Quizzes No 10.00 Multiple Weeks 1, 2, 3, 4, 5,
2 Testing Assignment A1* No 5.00 Week 4 4,
3 Testing Assignment A2* No 15.00 Week 7 4,
4 Advanced Design Patterns Assignment* No 20.00 Week 11 1, 2, 3,
5 Final Exam No 50.00 Exam Period 1, 2, 3, 4, 5,
Assessment Description: * indicates an assessment tasks which must be repeated if a student misses it due to special considerations.

Tutorial quizzes/exercises: will run during tutorial time (week 2-11). Quizzes/exercises will cover the lecture of previous week and the tutorial of the current week.

Grading some assignments will require students to demonstrate their work during tutorials. Students should be able to explain their work and answer any related questions.

The penalty for lateness for assignments is 5% per calendar day.

Students must obtain at least 40% in the final exam to pass the unit, regardless of the sum of the individual marks.

There may be statistically defensible moderation when combining the marks from each component to ensure consistency of marking between markers, and alignment of final grades with unit outcomes.

Final Exam: covers all materials/topics of the course.
Assessment Feedback: Tutors will grade the assessments and will provide feedback during face-to-face assignment demos and/or in the adopted online software/website.
Grade Type Description
Standards Based Assessment Final grades in this unit are awarded at levels of HD for High Distinction, DI (previously D) for Distinction, CR for Credit, PS (previously P) for Pass and FA (previously F) for Fail as defined by University of Sydney Assessment Policy. Details of the Assessment Policy are available on the Policies website at . Standards for grades in individual assessment tasks and the summative method for obtaining a final mark in the unit will be set out in a marking guide supplied by the unit coordinator.
Minimum Pass Requirement It is a policy of the School of Computer Science that in order to pass this unit, a student must achieve at least 40% in the written examination. For subjects without a final exam, the 40% minimum requirement applies to the corresponding major assessment component specified by the lecturer. A student must also achieve an overall final mark of 50 or more. Any student not meeting these requirements may be given a maximum final mark of no more than 45 regardless of their average.
Policies & Procedures: IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism.

In assessing a piece of submitted work, the School of Computer Science may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so.

Other policies

See the policies page of the faculty website at for information regarding university policies and local provisions and procedures within the Faculty of Engineering and Information Technologies.
Prescribed Text/s: Note: Students are expected to have a personal copy of all books listed.
Recommended Reference/s: Note: References are provided for guidance purposes only. Students are advised to consult these books in the university library. Purchase is not required.

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar

Week Description
Week 1 Unit overview, Introduction to software testing and validation and verification
Week 2 Theory of Testing: Design of Tests, coverage metrics and tools
Week 3 Advanced Testing Techniques 1
Week 4 Advanced Testing Techniques 2
Assessment Due: Testing Assignment A1*
Week 5 Review of Design Patterns
Week 6 Advanced Design Patterns 1
Week 7 Advanced Design Patterns 2
Assessment Due: Testing Assignment A2*
Week 8 Advanced Design Patterns 3
Week 9 Advanced Design Patterns 4
Week 10 Advanced Design Patterns 5
Week 11 Software Verification Theory and examples
Assessment Due: Advanced Design Patterns Assignment*
Week 12 Specification language and tools
Week 13 Review, Exam structure
Exam Period Assessment Due: Final Exam

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Bachelor of Advanced Computing (Software Development) 2018, 2019, 2020
Software Mid-Year 2018, 2019, 2020
Software/ Project Management 2019, 2020
Software 2017, 2018, 2019, 2020, 2016
Software / Arts 2017, 2018, 2019, 2020, 2016
Software / Commerce 2017, 2018, 2019, 2020, 2016
Software / Medical Science 2017, 2016
Software / Music Studies 2017, 2016
Software / Project Management 2017, 2018, 2016
Software / Science 2017, 2018, 2019, 2020, 2016
Software/Science (Health) 2018, 2019, 2020
Software / Law 2017, 2018, 2019, 2020, 2016
Software/Science (Medical Science Stream) 2018, 2019, 2020
Bachelor of Advanced Computing/Bachelor of Commerce 2018, 2019, 2020
Bachelor of Advanced Computing/Bachelor of Science 2018, 2019, 2020
Bachelor of Advanced Computing/Bachelor of Science (Health) 2018, 2019, 2020
Bachelor of Advanced Computing/Bachelor of Science (Medical Science) 2018, 2019, 2020
Bachelor of Advanced Computing (Computational Data Science) 2018, 2019, 2020
Bachelor of Advanced Computing (Computer Science Major) 2018, 2019, 2020
Bachelor of Advanced Computing (Information Systems Major) 2018, 2019, 2020
Biomedical Mid-Year 2016, 2017, 2018, 2019, 2020
Biomedical 2016, 2017, 2018, 2019, 2020

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
(6) Communication and Inquiry/ Research (Level 3) No 18.6%
(7) Project and Team Skills (Level 3) No 0%
(8) Professional Effectiveness and Ethical Conduct (Level 3) No 0%
(5) Interdisciplinary, Inclusiveness, Influence (Level 4) No 0%
(4) Design (Level 4) No 18.6%
(2) Engineering/ IT Specialisation (Level 4) No 50.6%
(3) Problem Solving and Inventiveness (Level 4) No 0%
(1) Maths/ Science Methods and Tools (Level 4) No 12%

These goals are selected from Engineering & IT Graduate Outcomes Table 2018 which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table 2018 for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.