Bachelor of Advanced Computing

Majors

Compulsory Major

All students in the Bachelor of Advanced Computing undertake one of the following four majors.

Computational Data Science


The Computational Data Science major will develop your mathematical, analytical and technical skills to create solutions to guide data-driven decision making. Data scientists build intelligent systems to manage, interpret, understand and derive key knowledge from big data sets.

Leveraging the University of Sydney's research strengths, you will explore the latest in computational statistics, large-scale data processing, data mining, machine learning and data visualisation, while also developing the skills to effectively communicate data insights to key stakeholders.

Learning Outcomes

On successful completion of the Computational Data Science major students will be able to:

  1. Develop a broad and coherent body of knowledge in computational data science, describing the relationships between context-specific knowledge and data and evaluating how these can guide data analytics.
  2. Develop deep knowledge of the underlying concepts and principles of experimental design, analysis and data outputs, of the relationships between these concepts, and of potential pitfalls.
  3. Use quantitative models or visualisation methods on multiple types of data.
  4. Identify data analytical approaches appropriate to a specific problem in data analysis, simulation-based modelling or equation-based modelling.
  5. Manage data, metadata and derived knowledge, using appropriate storage, access and administration tools.
  6. Communicate concepts and findings in computational data science through a range of modes for a variety of purposes and audiences, using evidence-based arguments that are robust to critique.
  7. Identify data analytical approaches appropriate to a specific problem in data analysis, simulation-based modelling or equation-based modelling.
  8. Create and use databases and graphical information systems using programming skills.
  9. Address authentic problems in computational data science, working professionally and ethically and with consideration of cross-cultural perspectives, within collaborative, interdisciplinary teams.

Computer Science


A major in computer science covers the key concepts of computation. You will learn the principles and techniques needed to solve tasks efficiently with computation, and how to express those solutions in software. You will also discover how computation can be modelled and how to reason about the limits of what computation can achieve. A major in computer science will provide you with the knowledge and skills needed to innovate in information technology, and create fundamentally new IT solutions to future challenges.

Learning Outcomes

On successful completion of the Computer Science major students will be able to:

  1. Develop a broad and coherent body in knowledge in computer science, including algorithms and related sub-fields, and apply an integrated understanding of these concepts to solve relevant problems.
  2. Construct models of a computational process in appropriate formalisms at appropriate levels of abstraction and relate models in different formalisms to one another.
  3. Design and code programs that can work with the capabilities of the hardware and software stack; understand and explain to others how the underlying infrastructure affects application performance.
  4. Communicate concepts and findings in computer science through a range of modes for a variety of purposes and audiences, using evidence-based arguments that are robust to critique.
  5. Evaluate the correctness and efficiency of algorithms, both standard and novel, and communicate the evaluation effectively.
  6. Apply key ideas from the theory of computation and its limits, recognise tasks where efficient perfect solutions should not be expected and where approximate solutions are appropriate and communicate the implications for users who want to solve such tasks.
  7. Design, construct, and explain efficient solutions to a wide range of computational tasks, both by applying known data structures and algorithms, including those found in the literature of the field, and by designing new algorithms using a range of algorithm design techniques to produce runnable implementations of these solutions.
  8. Work effectively with clients to achieve an efficient computational solution to a task, working individually and as part of collaborative teams, with consideration of differences in social and cultural perspectives.

Information Systems


Information Systems is the study of people and organisations in order to determine and deliver solutions that meet their technological needs. Hence Information Systems deals with the following type of issues: strategic planning, system development, system implementation, operational management, end-user needs and education. Information Systems study is related to Computer Science but the crucial distinction is that Information Systems is about making computer systems work to optimise the productivity and efficiency of organisations, whereas much of Computer Science is about developing software technologies to solve problems, which can improve quality of life and enhance delivery of service. The school's research in Information Systems encompasses natural language processing, IT economics, social networking analysis, ontology design, data mining and analysis, and knowledge management and open source software.

Learning Outcomes

On successful completion of the Information Systems major students will be able to:

  1. Develop a comprehensive understanding of the challenges in implementing an information system and be able to describe these challenges to others.
  2. Apply research skills, including acquiring and making valid inferences from relevant data, to undertake a wide range of investigations of information systems issues.
  3. Apply a range of system development methods.
  4. Plan and manage information systems projects.
  5. Design and implement information systems.
  6. Work with stakeholders, including those different from the students in various aspects, to elicit detailed requirements for an information system.
  7. Address authentic problems in information systems, working professionally and responsibly within diverse, collaborative and interdisciplinary teams.
  8. Recognise, and explain to others, the broader socio-technical systems in which computer and communications systems are embedded.

Software Development


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.

Learning Outcomes

On successful completion of the Software Development major students will be able to:

  1. Develop 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 their 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.
  11. Work effectively, productively and ethically as a software developer in a medium-scale team, with consideration of cross-cultural perspectives.

Optional Major

Students in the Bachelor of Advanced Computing may also undertake a second major or a minor. This may be either a second major from those listed above, or any major or minor from Table S.