Skip to main content

Software Development

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

W School of Computer Science
cs_undergraduate@sydney.edu.au

Dr. Rahul Gopinath
cs.honours@sydney.edu.au

Learning outcomes

Students who graduate from Software Development will be able to:

No. Learning outcome
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 processes 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 and responsibly within diverse, collaborative and interdisciplinary teams.