University of Sydney Handbooks - 2019 Archive

Download full 2019 archive Page archived at: Tue, 05 Nov 2019 02:36:05 +0000

Software Development

The School of Computer Science aims to teach fundamental principles and practical skills in IT, and to establish the foundations for an entire career. Units of study in Software Development major are available at standard and advanced level.

About the major

A major in software development provides the understanding and skill that allow a team to reliably produce high-quality working software that meets client needs. From a foundation of individual programming skill, you will learn the theory and practices involved in determining requirements, designing software solutions, and delivering the outcomes.

Requirements for completion

A major in Software Development requires 48 credit points from this table including:

(i) 12 credit points of 1000-level core units
(ii) 18 credit points of 2000-level core units
(iii) 12 credit points of 3000-level core units
(iv) 6 credit points of 3000-level interdisciplinary project units according to the following rules:
(a) for students in the Bachelor of Advanced Computing or Bachelor of Computing they must complete the SOFT coded interdisciplinary project units
(b) all other students may complete either the SOFT or SCPU coded units

A minor in Software Development requires 36 credit points, consisting of:

(i) 12 credit points of 1000-level core units
(ii) 18 credit points of 2000-level core units
(iii) 6 credit points of 3000-level selective units

First year

Core: INFO1110 Introduction to Programming and INFO1113 Object-Oriented Programming.

Second year

Core: COMP2X23 Data Structures and Algorithms, SOFT2201 Software Construction and Design 1, SOFT2412 Agile Software Development Practices.

Third year

Core: SOFT3202 Software Construction and Design 2, SOFT3413 Software Development Project, SOFT3410 Concurrency for Software Development.

In your third year you must take at least one designated project unit.

Fourth year

The fourth year is only offered within the combined Bachelor of Science/Bachelor of Advanced Studies course.

Advanced Coursework
The Bachelor of Advanced Studies advanced coursework option consists of 48 credit points, with a minimum of 24 credit points at 4000-level or above. Of these 24 credit points, you must complete a project unit of study worth at least 12 credit points. Advanced coursework will be included in the table for 2020.

Meritorious students in the Bachelor of Science/Bachelor of Advanced Studies may apply for admission to Honours within a subject area of the Bachelor of Advanced Studies. Admission to Honours requires the prior completion of all requirements of the Bachelor of Science, including Open Learning Environment (OLE) units. If you are considering applying for admission to Honours, ensure your degree planning takes into account the completion of a second major and all OLE requirements prior to Honours commencement.

Unit of study requirements for Honours in the area of Software Development: completion of 24 credit points of project work and 24 credit points of coursework. Honours units of study will be available in 2020.

Contact and further information


T +61 2 9351 3423

School of Computer Science J12
University of Sydney NSW 2006

Dr. Caren Han
T +61 2 9036 9759

Learning Outcomes

Students who graduate from Software Development will be able to:

  1. Exhibit a broad and coherent body of knowledge in software development, learning new tools, languages, processes and technologies as they arise, from tutorial/expository resources.
  2. Recognise and describe a diversity of programming paradigms and platforms.
  3. Use and apply contemporary software development tools and practices.
  4. Communicate concepts and findings in software development through a range of modes for a variety of audiences and purposes, using evidence-based arguments that are robust to critique.
  5. Apply foundational computer science knowledge of algorithms and data structures in the design and construction of software artefacts.
  6. Follow and apply process to ensure the delivery of quality artefacts within resource constraints, working individually and as a team.
  7. Evaluate and report on the quality and utility of software generated by both themselves and others.
  8. Explain decisions about software functionality, structure and design choices to influence others in evaluating the software artefacts.
  9. Design, construct and deliver usable software artefacts of small- to medium-scale, that meet users’ requirements and are well-structured, working both individually and as part of a team.
  10. Address authentic problems in software development, working professionally, ethically responsibly within diverse, collaborative and interdisciplinary teams.