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)
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: |
|
||||||||||||||||||||
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)Assessment Methods: |
|
||||||||||||||||||||||||||||||||||||||||||
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: |
|
||||||||||||||||||||||||||||||||||||||||||
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.
|
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 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 |
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.