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

INFO9117: Intro to Software Engineering Practice [not offered in 2019] (2021 - Semester 2)

Download UoS Outline

Unit: INFO9117: Intro to Software Engineering Practice [not running this year] (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Postgraduate
Faculty/School: School of Computer Science
Unit Coordinator/s: Dr Wong, Waiho
Prof Fekete, Alan
Session options: Semester 2
Versions for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: None.
Brief Handbook Description: This is an elective for students in the postgraduate IT degrees. It is expected to be taken early in the degree if (and only if) their undergraduate education and subsequent experience have not covered this vital aspect, namely working in groups under a defined process to deliver a software development project. Remark: the Sydney University undergraduate degrees in IT and in SE all cover this material, especially through the unit COMP3615 or INFO3600 and INFO3402; however, not all institutions guarantee this sort of experience for IT graduates. This unit will scaffold such students to do well in future group development projects, in their coursework or in industry, by providing fundamental knowledge of Software Engineering processes and practices.

Much of the student's effort will be directed towards a carefully managed small-group project to deliver a software system to meet a client's needs; they will be working with a client who may be external, or who may be a member of the teaching staff role-playing as an external client. A member of the teaching staff (separate from anyone who is acting as client) will take the role of manager for the group, checking progress and providing feedback frequently. By the end of the unit, the students will understand the processes and practices used in group projects that develop software, and they will be able to follow these processes and practices, so that they can contribute effectively in a small group that is developing software to meet clients needs.
Assumed Knowledge: Skill as an individual programmer (as expected from any IT graduate, who could be admitted to GCertIT, GDipIT or MIT degree)
Department Permission Department permission is required for enrollment in this session.
Lecturer/s: Dr Wong, Waiho
Timetable: INFO9117 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 1.00 1 13
2 Laboratory 2.00 1 13
3 Project Work - own time 6.00 1 13
T&L Activities: Students attend one lecture and lab session each week; they also work on group project tasks in their own time.

Attributes listed here represent the key course goals (see Course Map tab) designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment tabs for details of how these attributes are assessed.

Attribute Development Method Attribute Developed
Guided small-group software development project, plus lectures on tools and technologies for controlling process and products. Design (Level 3)
Experience in broad range of software engineering tasks through guided project and exposure to diversity of process methodologies through lectures. Engineering/IT Specialisation (Level 3)
Requirements analysis for software project. Information Seeking (Level 3)
Lectures and practice in using tools and technologies for communication among groups and between developers and clients. Communication (Level 3)
Students experience industry processes and practices in working with a client who may be external, or who may be a member of the teaching staff role-playing as an external client. Professional Conduct (Level 3)
Case studies of group dynamics and dysfunctional groups and practice working together in substantial team-based project. Project and Team Skills (Level 3)

For explanation of attributes and levels see Engineering & IT Graduate Outcomes Table 2018.

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.

Design (Level 3)
1. Ability to use previously unfamiliar tools and to integrate with previously unfamiliar systems, learning their use from examples and documentation.
2. Ability to contribute to designing software (perhaps as extensions and modifications of existing software), so that it meets client needs
Engineering/IT Specialisation (Level 3)
3. Ability to follow a well-managed process of software development, with appropriate mechanisms for dealing with risks, such as unforeseen factors and delays.
4. Ability to estimate time for coding, based on measurements from previous tasks
5. Knowledge of terminology and main concepts of software engineering as a discipline
6. Understanding of a diverse range of methodologies that are followed in software development projects, and their impacts
Communication (Level 3)
7. Ability to work with clients: to discover their needs and to demonstrate that the delivered system meets those needs.
8. Ability to produce a written report of the system and its rationale
Professional Conduct (Level 3)
9. Ability to reflect on the processes followed in a software development project, identifying successes and opportunities for improvement
Project and Team Skills (Level 3)
10. Ability to work in a group of approximately 6-7 students, contributing to the group's capacity to deliver substantial software (perhaps as extensions or modifications to an existing software system).
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Initial coding task No 5.00 Week 4 1, 3,
2 Project: Initial Report on Client Environment Yes 5.00 Week 5 7,
3 Project: Software Deliverables Yes 15.00 Multiple Weeks 1, 3, 10,
4 Project: Group report Yes 10.00 Multiple Weeks 3, 5, 7, 8,
5 Project: Individual Report Yes 15.00 Multiple Weeks 2, 3, 4, 9,
6 Exam No 50.00 Exam Period 5, 6, 9,
Assessment Description: During the first part of the semester, students work on a tightly-specified individual coding task in the context of a substantial system; the purpose is to familiarize them with the tools and environment, and to establish some initial data to use in estimating individual coding velocity during the main project. Concurrently, groups are formed, and initially each works with a client (perhaps external, or perhaps a staff member in the role of a client) to understand the clients needs and context; this also provides some practice in establishing good group dynamics.

The rest of the semester is focused on a substantial project to meet some needs of the client. In many cases the project will be to extend or modify an existing system. The group should produce a sequence of iterations, each accompanied by reports (from the group as a whole, on the work done and the process followed, and from each individual, on their contribution to the work and their reflections on the process).
Grading:
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 http://sydney.edu.au/policies . 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 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.
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.
  • Engineering Software as a Service

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 The diversity of process methodologies used in software development (from agile to highly planned and documented).
Week 2 Tools and technologies for controlling software artefacts (version control systems).
Week 3 Theory and case studies of group dynamics, and especially case studies of dysfunctional groups.
Week 4 Tools and technologies for communication among groups, and for monitoring/controlling development processes (issue tracking, velocity measurements).
Assessment Due: Initial coding task
Week 5 Tools and techniques for communication between developers and the other stakeholders.
Assessment Due: Project: Initial Report on Client Environment
Week 6 Issues when making design decisions as a group; tools and techniques to monitor and improve designs.
Week 7 Quality assurance mechanisms for software.
Week 8 Tools and techniques for improving development processes.
Week 9 Discussion of class experiences in initial iterations.
Week 10 Tools and techniques for deployment of software.
Week 11 Industry speaker, from a domain with high structure in processes.
Week 12 Industry speaker from a domain with low structure and high agility in processes.
Week 13 Revision and reflections.
Exam Period Assessment Due: Exam

Course Relations

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

Course Year(s) Offered
Graduate Certificate in Information Technology 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Graduate Certificate in Information Technology Management 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Graduate Diploma in Computing 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Graduate Diploma in Information Technology 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Graduate Diploma in Information Technology Management 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Graduate Certificate in Computing 2020, 2021, 2022, 2023
Master of Information Technology 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Master of Information Technology Management 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023
Master of IT/Master of IT Management 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023

Course Goals

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

Attribute Practiced Assessed
Design (Level 3) Yes 11.5%
Engineering/IT Specialisation (Level 3) Yes 57%
Information Seeking (Level 3) Yes 0%
Communication (Level 3) Yes 11%
Professional Conduct (Level 3) Yes 14.5%
Project and Team Skills (Level 3) Yes 6%

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.