Skip to main content

Software Development

Mathematics prerequisites and Mathematics Learning Support

In 2024, some mathematics prerequisites  for undergraduate students commencing in Semester 1 2025 were removed.

It has been identified that this curriculum component (Program, Major or Minor) has been affected. To ensure success, make sure you are aware of the required level of mathematics (assumed knowledge) for this curriculum component. Visit the mathematics learning support webpage, to understand your pathway to success, including the sequence of units you should complete and the support services available.

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

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.