University of Sydney Handbooks - 2021 Archive

Download full 2021 archive Page archived at: Thu, 23 Sep 2021 13:38:14 +1000

Software Development

The School of Computer Science aims to teach fundamental principles and practical skills in computer science, and to establish the foundations for an entire career. Units of study in the 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

The Software Development major and minor requirements are listed in the Software Development unit of study table.

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.