Note: This unit version is currently under review and is subject to change!
SOFT2201: Software Construction and Design 1 (2019 - Semester 2)
Unit: | SOFT2201: Software Construction and Design 1 (6 CP) |
Mode: | Normal-Day |
On Offer: | Yes |
Level: | Intermediate |
Faculty/School: | School of Computer Science |
Unit Coordinator/s: |
Dr Wu, Xi
|
Session options: | Semester 2 |
Versions for this Unit: |
Campus: | Camperdown/Darlington |
Pre-Requisites: | INFO1113 OR INFO1103 OR INFO1105 OR INFO1905. |
Prohibitions: | INFO3220 OR COMP9201. |
Brief Handbook Description: | This unit introduces the foundations of software design and construction. It covers the topics of modelling software (UML, CRC, use cases), software design principles, object-oriented programming theory (inheritance, polymorphism, dynamic subtyping and generics), and simple design patterns. The unit aims to foster a strong technical understanding of the underlying software design and construction theory (delivered in the lecture) but also has a strong emphasis of the practice, where students apply the theory on practical examples. |
Assumed Knowledge: | None. |
Lecturer/s: |
Dr McGrane, Martin
Dr Wu, Xi |
||||||||||||||||||||
Timetable: | SOFT2201 Timetable | ||||||||||||||||||||
Time Commitment: |
|
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.
(4) Design (Level 3)Assessment Methods: |
|
||||||||||||||||||||||||||||||||||||
Assessment Description: |
* indicates an assessment tasks which must be repeated if a student misses it due to special considerations. The penalty for lateness for assignments is 5% per day. Assignments more than 10 days late get 0. Online quizzes will cover the lecture/tutorial of the previous week. 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. |
||||||||||||||||||||||||||||||||||||
Assessment Feedback: | Each assessment is marked by tutors and the unit coordinator. Feedback is given in the form of comments on individual assessments and in the marks. | ||||||||||||||||||||||||||||||||||||
Grading: |
|
||||||||||||||||||||||||||||||||||||
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 http://sydney.edu.au/engineering/student-policies/ 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 https://web.timetable.usyd.edu.au/calendar.jsp
Week | Description |
Week 1 | Introduction to Software Construction and Design |
Week 2 | OO Theory I: Java Knowledge Revisited |
Week 3 | UML&Software Modelling Case Studies |
Week 4 | OO Theory II: Software Design Principles and Design Smells |
Week 5 | Design Pattern 1 |
Software Construction Stage 1 Preliminary Submission | |
Assessment Due: Software Construction Stage 1* | |
Week 6 | Design Pattern 2 |
Week 7 | Testing |
Week 8 | Design Pattern 3 |
Software Construction Stage 2 Preliminary Submission | |
Week 9 | Design Pattern 4 |
Assessment Due: Software Construction Stage 2 | |
Week 10 | API Design Principles |
Week 11 | Code Review |
Software Construction Stage 3 Preliminary Submission | |
Week 12 | Design Pattern 5 |
Assessment Due: Software Construction Stage 3 | |
Week 13 | Unit Review |
Exam Period | Assessment Due: Final Exam |
Course Relations
The following is a list of courses which have added this Unit to their structure.
Course Goals
This unit contributes to the achievement of the following course goals:
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.