Bachelor of Advanced Computing

Bachelor of Advanced Computing and Bachelor of Computing

Award requirements

Bachelor of Advanced Computing

To qualify for the award of the Bachelor of Advanced Computing, a candidate must complete 192 credit points, comprising:
(a) 96 credit points of degree core units of study as set out in the table below;
(b) A major (48 credit points) from the list of majors from the table below;
(c) At least 12 credit points of 4000-level or higher electives from the table below;
(d) (Optionally) up to 12 credit points of units of study in the Open Learning Environment as listed in Table O in the Shared Pool for Undergraduate Degrees;
(e) (Optionally) a minor of 36 credit points or a second major of 48 credit points as listed and specified in Table S in the Shared Pool for Undergraduate Degrees;
(f) Where appropriate, additional elective units from the table below or Table S in the Shared Pool for Undergraduate Degrees.

Bachelor of Computing

To qualify for the award of the Bachelor of Computing, a candidate must complete 144 credit points, comprising:
(a) 78 credit points of degree core units as set out in the table below;
(b) A major (48 credit points) from the list of majors from the table below;
(c) (Optionally) up to 12 credit points of units of study in the Open Learning Environment as listed in Table O in the Shared Pool for Undergraduate Degrees;
(d) (Optionally) a minor of 36 credit points as listed and specified in Table S in the Shared Pool for Undergraduate Degrees;
(e) Where appropriate, additional elective units from the table below.

Streams

The available streams in the Bachelor of Advanced Computing are:
Dalyell
Achievement of the Dalyell stream requires:
(i) Completion of 12 credit points of Dalyell units as set out in Table S;
(ii) Admission on the basis of ATAR or first year WAM as determined by the Board of Interdisciplinary Studies;
(iii) Maintenance of the required WAM as determined by the Board of Interdisciplinary Studies.

Majors

Table A majors available in this course are:
Computer Science
Computational Data Science
Information Systems
Software Development
Requirements from the majors are listed in the Majors tabs in this Handbook.

Minors

Table A minors available in this course are:
Computer Science
Computational Data Science
Information Systems
Software Development
Requirements from the minors are listed alongside the major requirements in the Majors tabs in this Handbook.

Degree Core

The degree core units of study required for this course are listed below. Candidates who exit at the third year do not complete the 4000-level degree core units and graduate with a Bachelor of Computing.
1000-level units of study
DATA1001 Foundations of Data Science

Credit points: 6 Teacher/Coordinator: A/Prof Qiying Wang Session: Semester 1,Semester 2 Classes: 3x1-hr lectures; 1x2-hr lab/wk Prohibitions: DATA1901 or MATH1005 or MATH1905 or MATH1015 or MATH1115 or ENVX1001 or ENVX1002 or ECMT1010 or BUSS1020 or STAT1021 or STAT1022 Assessment: RQuizzes (10%); 3 x projects (30%); final exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
DATA1001 is a foundational unit in the Data Science major. The unit focuses on developing critical and statistical thinking skills for all students. Does mobile phone usage increase the incidence of brain tumours? What is the public's attitude to shark baiting following a fatal attack? Statistics is the science of decision making, essential in every industry and undergirds all research which relies on data. Students will use problems and data from the physical, health, life and social sciences to develop adaptive problem solving skills in a team setting. Taught interactively with embedded technology, DATA1001 develops critical thinking and skills to problem-solve with data. It is the prerequisite for DATA2002.
Textbooks
Statistics, (4th Edition), Freedman Pisani Purves (2007)
DATA1901 Foundations of Data Science (Adv)

Credit points: 6 Teacher/Coordinator: A/Prof Qiying Wang Session: Semester 1,Semester 2 Classes: Lecture 3 hrs/week + Computer lab 2 hr/week Prohibitions: MATH1905 or ECMT1010 or ENVX2001 or BUSS1020 or DATA1001 or MATH1115 Assumed knowledge: An ATAR of 95 or more Assessment: RQuizzes (10%), Projects (30%), Final Exam (60%). Mode of delivery: Normal (lecture/lab/tutorial) day
DATA1901 is an advanced level unit (matching DATA1001) that is foundational to the new major in Data Science. The unit focuses on developing critical and statistical thinking skills for all students. Does mobile phone usage increase the incidence of brain tumours? What is the public's attitude to shark baiting following a fatal attack? Statistics is the science of decision making, essential in every industry and undergirds all research which relies on data. Students will use problems and data from the physical, health, life and social sciences to develop adaptive problem solving skills in a team setting. Taught interactively with embedded technology and masterclasses, DATA1901 develops critical thinking and skills to problem-solve with data at an advanced level. By completing this unit you will have an excellent foundation for pursuing data science, whether directly through the data science major, or indirectly in whatever field you major in. The advanced unit has the same overall concepts as the regular unit but material is discussed in a manner that offers a greater level of challenge and academic rigour.
Textbooks
All learning materials will be on Canvas. In addition, the textbook is Statistics (4th Edition) { Freedman, Pisani, and Purves (2007), which is available in 3 forms: 1) E-text $65 (www.wileydirect.com.au/buy/statistics-4th-international-student-edition/), 2) hard copy (Co-op Bookshop), and 3) the Library.
ELEC1601 Introduction to Computer Systems

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories, Tutorials Assumed knowledge: HSC Mathematics extension 1 or 2 Assessment: Through semester assessment (60%) and Final Exam (40%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit of study introduces the fundamental digital concepts upon which the design and operation of modern digital computers are based. A prime aim of the unit is to develop a professional view of, and a capacity for inquiry into, the field of computing.
Topics covered include: data representation, basic computer organisation, the CPU, elementary gates and logic, machine language, assembly language and high level programming constructs.
INFO1110 Introduction to Programming

Credit points: 6 Session: Semester 1,Semester 2 Classes: lectures, laboratories, seminars Prohibitions: INFO1910 OR INFO1103 OR INFO1903 OR INFO1105 OR INFO1905 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit is an essential starting point for software developers, IT consultants, and computer scientists to build their understanding of principle computer operation. Students will obtain knowledge and skills with procedural programming. Crucial concepts include defining data types, control flow, iteration, functions, recursion, the model of addressable memory. Students will be able to reinterpret a general problem into a computer problem, and use their understanding of the computer model to develop source code. This unit trains students with software development process, including skills of testing and debugging. It is a prerequisite for more advanced programming languages, systems programming, computer security and high performance computing.
INFO1111 Computing 1A Professionalism

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratories, Project Work - own time Prohibitions: ENGG1805 OR ENGG1111 OR ENGD1000 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit introduces students to the fundamental principles that underlie professional practice in computing. It lays the foundation for later studies, and presents to the students challenges common to a multidisciplinary IT environment. The subject also provides students with the opportunity to develop important attributes such as communication skills, an understanding of professional ethics, and of working as a part of a team. Tool use is an important aspect of this unit: students are required to learn to use tools for planning and completing work, managing artefacts including reports, and communicating within the team. A selection of guest speakers will address students on different career paths.
Dalyell students may enrol in ENGD1000 Building a Sustainable World in place of INFO1111
INFO1112 Computing 1B OS and Network Platforms

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories Corequisites: ELEC1601 AND (INFO1110 OR INFO1910 OR INFO1103 OR INFO1113) Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
The unit introduces principles and concepts of modern computer systems, including mobile computers and the Internet, to provide students with fundamental knowledge of the environments in which modern, networked applications operate. Students will have basic knowledge to understand how computers work and are aware of principles and concepts they are likely to encounter in their career. The unit covers: Principles of operating systems and the way applications interact with the OS, including the particularities of modern operating systems for mobile devices Principles of computer networking, including mobile networking Writing applications that use facilities of the OS and networking, including understanding the challenges that are common in distributed systems
INFO1113 Object-Oriented Programming

Credit points: 6 Session: Semester 1,Semester 2,Summer Main Classes: lectures, laboratories, seminars Prerequisites: INFO1110 OR INFO1910 Prohibitions: INFO1103 OR INFO1105 OR INFO1905 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
Object-oriented (OO) programming is a technique that arranges code into classes, each encapsulating in one place related data and the operations on that data. Inheritance is used to reuse code from a more general class, in specialised situations. Most modern programming languages provide OO features. Understanding and using these are an essential skill to software developers in industry. This unit provides the student with the concepts and individual programming skills in OO programming, starting from their previous mastery of procedural programming.
INFO1910 Introduction to Programming (Advanced)

Credit points: 6 Session: Semester 1,Semester 2 Classes: lectures, laboratories, e-learning Prohibitions: INFO1110 OR INFO1103 OR INFO1903 OR INFO1105 OR INFO1905 Assumed knowledge: ATAR sufficient to enter Dalyell program, or passing an online programming knowledge test, which will be administered during the O-week prior to the commencement of the semester. Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
The focus of this unit will cover the ground up programming components necessary for study in the computer science discipline. Students will engage with procedural programming using two related programming languages. Students will further their understanding of internal operations as well as reasoning about processing, memory model and conventional programming practices. As an advanced offering, all the course contents of INFO1110 will be covered and there will be additional teaching materials and assessments.
MATH1002 Linear Algebra

Credit points: 3 Teacher/Coordinator: A/Prof Sharon Stephen Session: Semester 1,Summer Main Classes: 2x1-hr lectures; 1x1-hr tutorial/wk Prohibitions: MATH1012 or MATH1014 or MATH1902 Assumed knowledge: HSC Mathematics or MATH1111. Students who have not completed HSC Mathematics (or equivalent) are strongly advised to take the Mathematics Bridging Course (offered in February). Assessment: Online quizzes (20%); 4 x assignments (15%); final exam (65%) Mode of delivery: Normal (lecture/lab/tutorial) day
MATH1002 is designed to provide a thorough preparation for further study in mathematics and statistics. It is a core unit of study providing three of the twelve credit points required by the Faculty of Science as well as a Junior level requirement in the Faculty of Engineering.
This unit of study introduces vectors and vector algebra, linear algebra including solutions of linear systems, matrices, determinants, eigenvalues and eigenvectors.
Textbooks
Linear Algebra: A Modern Introduction, (4th edition), David Poole
MATH1021 Calculus Of One Variable

Credit points: 3 Teacher/Coordinator: A/Prof Sharon Stephen Session: Semester 1,Semester 2,Summer Main Classes: 2x1-hr lectures; 1x1-hr tutorial/wk Prerequisites: NSW HSC 2 unit Mathematics or equivalent or a credit or above in MATH1111 Prohibitions: MATH1011 or MATH1901 or MATH1906 or ENVX1001 or MATH1001 or MATH1921 or MATH1931 Assumed knowledge: HSC Mathematics Extension 1 or equivalent. Assessment: 2 x quizzes (30%); 2 x assignments (5%); final exam (65%) Mode of delivery: Normal (lecture/lab/tutorial) day
Calculus is a discipline of mathematics that finds profound applications in science, engineering, and economics. This unit investigates differential calculus and integral calculus of one variable and the diverse applications of this theory. Emphasis is given both to the theoretical and foundational aspects of the subject, as well as developing the valuable skill of applying the mathematical theory to solve practical problems. Topics covered in this unit of study include complex numbers, functions of a single variable, limits and continuity, differentiation, optimisation, Taylor polynomials, Taylor's Theorem, Taylor series, Riemann sums, and Riemann integrals.
Textbooks
Calculus of One Variable (Course Notes for MATH1021)
MATH1064 Discrete Mathematics for Computation

Credit points: 6 Teacher/Coordinator: A/Prof Sharon Stephen Session: Semester 2 Classes: 3x1-hr lecture/wk for 13 weeks; 1x1-hr practice class/wk for 13 weeks; 1x1-hr tutorial/wk for 12 wks. Prohibitions: MATH1004 or MATH1904 Assessment: Examination (60%), assignments (10%), quiz (20%), online quizzes (10%). Mode of delivery: Normal (lecture/lab/tutorial) day
This unit introduces students to the language and key methods of the area of Discrete Mathematics. The focus is on mathematical concepts in discrete mathematics and their applications, with an emphasis on computation. For instance, to specify a computational problem precisely one needs to give an abstract formulation using mathematical objects such as sets, functions, relations, orders, and sequences. In order to prove that a proposed solution is correct, one needs to apply the principles of mathematical logic, and to use proof techniques such as induction. To reason about the efficiency of an algorithm, one often needs to estimate the growth of functions or count the size of complex mathematical objects. This unit provides the necessary mathematical background for such applications of discrete mathematics. Students will be introduced to mathematical logic and proof techniques; sets, functions, relations, orders, and sequences; counting and discrete probability; asymptotic growth; and basic graph theory.
Textbooks
As set out in the Junior Mathematics Handbook.
2000-level units of study
COMP2123 Data Structures and Algorithms

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Prerequisites: INFO1110 OR INFO1910 OR INFO1113 OR DATA1002 OR DATA1902 OR INFO1103 OR INFO1903 Prohibitions: INFO1105 OR INFO1905 OR COMP2823 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will teach some powerful ideas that are central to solving algorithmic problems in ways that are more efficient than naive approaches. In particular, students will learn how data collections can support efficient access, for example, how a dictionary or map can allow key-based lookup that does not slow down linearly as the collection grows in size. The data structures covered in this unit include lists, stacks, queues, priority queues, search trees, hash tables, and graphs. Students will also learn efficient techniques for classic tasks such as sorting a collection. The concept of asymptotic notation will be introduced, and used to describe the costs of various data access operations and algorithms.
COMP2823 Data Structures and Algorithms (Adv)

Credit points: 6 Session: Semester 1 Classes: lectures, tutorials Prerequisites: INFO1110 OR INFO1910 OR INFO1113 OR DATA1002 OR DATA1902 OR INFO1103 OR INFO1903 Prohibitions: INFO1105 OR INFO1905 OR COMP2123 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit will teach some powerful ideas that are central to solving algorithmic problems in ways that are more efficient than naive approaches. In particular, students will learn how data collections can support efficient access, for example, how a dictionary or map can allow key-based lookup that does not slow down linearly as the collection grows in size. The data structures covered in this unit include lists, stacks, queues, priority queues, search trees, hash tables, and graphs. Students will also learn efficient techniques for classic tasks such as sorting a collection. The concept of asymptotic notation will be introduced, and used to describe the costs of various data access operations and algorithms.
INFO2222 Computing 2 Usability and Security

Credit points: 6 Session: Semester 1 Classes: Meetings, Laboratories, Project Work - own time Prerequisites: (INFO1103 OR INFO1105 OR INFO1905 OR INFO1113) AND (INFO1111 OR INFO1711 OR ENGG1111 OR ENGD1000 OF ENGG1805) Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit provides an integrated treatment of two critical topics for a computing professional: human computer interaction (HCI) and security. The techniques and core ideas of HCI will be studied with a particular focus on examples and case studies related to security. This unit builds the students' awareness of the deep challenges in creating computing systems that can meet people's needs for both HCI and security. It will develop basic skills to evaluate systems for their effectiveness in meeting people's needs within the contexts of their use, building knowledge of common mistakes in systems, and approaches to avoid those mistakes.
ISYS2120 Data and Information Management

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials, Laboratories, Project Work - own time Prerequisites: INFO1113 OR INFO1103 OR INFO1105 OR INFO1905 OR INFO1003 OR INFO1903 OR DECO1012 Prohibitions: INFO2120 OR INFO2820 OR COMP5138 Assumed knowledge: Programming skills Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
The ubiquitous use of information technology leaves us facing a tsunami of data produced by users, IT systems and mobile devices. The proper management of data is hence essential for all applications and for effective decision making within organizations.
This unit of study will introduce the basic concepts of database designs at the conceptual, logical and physical levels. We will place particular emphasis on introducing integrity constraints and the concept of data normalization which prevents data from being corrupted or duplicated in different parts of the database. This in turn helps in the data remaining consistent during its lifetime. Once a database design is in place, the emphasis shifts towards querying the data in order to extract useful information. The unit will introduce the SQL database query languages, which is industry standard. Other topics covered will include the important concept of transaction management, application development with a backend database, and an overview of data warehousing and OLAP.
SOFT2412 Agile Software Development Practices

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories, Project Work - own time Prerequisites: INFO1113 OR INFO1103 OR INFO1105 OR INFO1905 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit builds students skills to follow defined processes in software development, in particular, working in small teams in an agile approach. Content covers the underlying concepts and principles of software processes, their analysis, measurement and improvement. Students will practice with a variety of professional-strength tool support for the practices that ensure quality outcomes. The unit requires students to enter already skilled in individual programming; instead this unit focuses on the complexities in a team setting.
3000-level units of study
INFO3333 Computing 3 Management

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratories, Project Work - own time Prerequisites: (INFO1111 OR INFO1711) AND (ISYS2120 OR INFO2120) AND SOFT2412 Prohibitions: INFO3402 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit teaches students vital skills for an effective professional career: preparing them to eventually be a leader, who ensures that others achieve high-quality outcomes. Building on experiences from earlier units (that covered working in a team, agile development practices, paying attention to needs and characteristics of users, and the value of data) this unit teaches students key concepts needed as a manager, or when working with managers. The focus includes managing projects, managing services, and ensuring governance.
4000-level units of study
INFO4001 Thesis A and INFO4002 Thesis B will be available from 2020.
INFO4444 Computing 4 Innovation will be available from 2020.

Electives

2000-level units of study
COMP2017 Systems Programming

Credit points: 6 Session: Semester 1 Classes: lectures, laboratories Prerequisites: INFO1113 OR INFO1105 OR INFO1905 OR INFO1103 Corequisites: COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 Prohibitions: COMP2129 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
In this unit of study, elementary methods for developing robust, efficient, and re-usable software will be covered. The unit is taught in C, in a Unix environment. Specific coding topics include memory management, the pragmatic aspects of implementing data structures such as lists and hash tables and managing concurrent threads. Debugging tools and techniques are discussed and common programming errors are considered along with defensive programming techniques to avoid such errors. Emphasis is placed on using common Unix tools to manage aspects of the software construction process, such as version control and regression testing. The subject is taught from a practical viewpoint and it includes a considerable amount of programming practice.
COMP2022 Programming Languages, Logic and Models

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials Prerequisites: INFO1103 OR INFO1903 OR INFO1113 Prohibitions: COMP2922 Assumed knowledge: MATH1004 OR MATH1904 OR MATH1064 OR MATH2069 OR MATH2969 Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit provides an introduction to the foundations of computational models, and their connection to programming languages/tools. The unit covers various abstract models for computation including Lambda Calculus, and Logic calculi (e. g. concept of formal proofs in propositional, predicate, and temporal logic). For each abstract model, we introduce programming languages/tools that are built on the introduced abstract computational models. We will discuss functional languages including Scheme/Haskell, and Prolog/Datalog.
COMP2922 Programming Languages, Logic and Models (Adv)

Credit points: 6 Session: Semester 2 Classes: lectures, tutorials Prerequisites: Distinction level result in INFO1103 OR INFO1903 OR INFO1113 Prohibitions: COMP2022 Assumed knowledge: MATH1004 OR MATH1904 OR MATH1064 OR MATH2069 OR MATH2969 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit provides an introduction to the foundations of computational models, and their connection to programming languages/tools. The unit covers various abstract models for computation including Lambda Calculus, and Logic calculi (e.g. concept of formal proofs in propositional, predicate, and temporal logic). For each abstract model, we introduce programming languages/tools that are built on the introduced abstract computational models. We will discuss functional languages including Scheme/Haskell, and Prolog/Datalog.
DATA2001 Data Science: Big Data and Data Diversity

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratories, Project Work - own time Prerequisites: DATA1002 OR DATA1902 OR INFO1110 OR INFO1910 OR INFO1903 OR INFO1103 Prohibitions: DATA2901 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This course focuses on methods and techniques to efficiently explore and analyse large data collections. Where are hot spots of pedestrian accidents across a city? What are the most popular travel locations according to user postings on a travel website? The ability to combine and analyse data from various sources and from databases is essential for informed decision making in both research and industry.
Students will learn how to ingest, combine and summarise data from a variety of data models which are typically encountered in data science projects, such as relational, semi-structured, time series, geospatial, image, text. As well as reinforcing their programming skills through experience with relevant Python libraries, this course will also introduce students to the concept of declarative data processing with SQL, and to analyse data in relational databases. Students will be given data sets from, eg. , social media, transport, health and social sciences, and be taught basic explorative data analysis and mining techniques in the context of small use cases. The course will further give students an understanding of the challenges involved with analysing large data volumes, such as the idea to partition and distribute data and computation among multiple computers for processing of 'Big Data'.
DATA2002 Data Analytics: Learning from Data

Credit points: 6 Teacher/Coordinator: A/Prof Jennifer Chan Session: Semester 2 Classes: 3x1-hr lecture; 1x2-hr computer laboratory/wk Prerequisites: [DATA1001 or ENVX1001 or ENVX1002] or [MATH10X5 and MATH1115] or [MATH10X5 and STAT2011] or [MATH1905 and MATH1XXX (except MATH1XX5)] or [BUSS1020 or ECMT1010 or STAT1021] Prohibitions: STAT2012 or STAT2912 or DATA2902 Assumed knowledge: Basic Linear Algebra and some coding Assessment: Computer practicals (10%), online quizzes (15%), group work assignment and presentation (15%), and final exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
Technological advances in science, business, engineering have given rise to a proliferation of data from all aspects of our life. Understanding the information presented in these data is critical as it enables informed decision making into many areas including market intelligence and science. DATA2002 is an intermediate unit in statistics and data sciences, focusing on learning data analytic skills for a wide range of problems and data. How should the Australian government measure and report employment and unemployment? Can we tell the difference between decaffeinated and regular coffee ? In this unit, you will learn how to ingest, combine and summarise data from a variety of data models which are typically encountered in data science projects as well as reinforcing your programming skills through experience with a statistical programming language. You will also be exposed to the concept of statistical machine learning and develop the skill to analyse various types of data in order to answer a scientific question. From this unit, you will develop knowledge and skills that will enable you to embrace data analytic challenges stemming from everyday problems.
DATA2901 Big Data and Data Diversity (Advanced)

Credit points: 6 Session: Semester 1 Classes: lectures, laboratories Prerequisites: DATA1002 OR DATA1902 OR INFO1110 OR INFO1903 OR INFO1103. Students need Distinction or better in one of the prerequisite units. Prohibitions: DATA2001 Assessment: through semester assessment (60%), final exam (40%) Mode of delivery: Normal (lecture/lab/tutorial) day
This course focuses on methods and techniques to efficiently explore and analyse large data collections. Where are hot spots of pedestrian accidents across a city? What are the most popular travel locations according to user postings on a travel website? The ability to combine and analyse data from various sources and from databases is essential for informed decision making in both research and industry. Students will learn how to ingest, combine and summarise data from a variety of data models which are typically encountered in data science projects, such as relational, semi-structured, time series, geospatial, image, text. As well as reinforcing their programming skills through experience with relevant Python libraries, this course will also introduce students to the concept of declarative data processing with SQL, and to analyse data in relational databases. Students will be given data sets from, eg. , social media, transport, health and social sciences, and be taught basic explorative data analysis and mining techniques in the context of small use cases. The course will further give students an understanding of the challenges involved with analysing large data volumes, such as the idea to partition and distribute data and computation among multiple computers for processing of 'Big Data'. This unit is an alternative to DATA2001, providing coverage of some additional, more sophisticated topics, suited for students with high academic achievement.
DATA2902 Data Analytics: Learning from Data (Adv)

Credit points: 6 Teacher/Coordinator: A/Prof Jennifer Chan Session: Semester 2 Classes: Lecture 3 hrs/week + computer tutorial 2 hr/week Prerequisites: A mark of 65 or above in any of the following (DATA1001 or DATA1901 or ENVX1001 or ENVX1002) or (MATH10X5 and MATH1115) or (MATH10X5 and STAT2011) or (MATH1905 and MATH1XXX [except MATH1XX5]) or (QBUS1020 or ECMT1020 or STAT1021) Prohibitions: STAT2012 or STAT2912 or DATA2002 Assumed knowledge: Basic linear algebra and some coding for example MATH1014 or MATH1002 or MATH1902 and DATA1001 or DATA1901 Assessment: Computer practicals in-class (10%), Online quizzes (15%), Project group work assignment (5%), Project group work presentation (10%), Final exam (60%). Mode of delivery: Normal (lecture/lab/tutorial) day
Technological advances in science, business, and engineering have given rise to a proliferation of data from all aspects of our life. Understanding the information presented in these data is critical as it enables informed decision making into many areas including market intelligence and science. DATA2902 is an intermediate unit in statistics and data sciences, focusing on learning advanced data analytic skills for a wide range of problems and data. How should the Australian government measure and report employment and unemployment? Can we tell the difference between decaffeinated and regular coffee? In this unit, you will learn how to ingest, combine and summarise data from a variety of data models which are typically encountered in data science projects as well as reinforcing their programming skills through experience with statistical programming language. You will also be exposed to the concept of statistical machine learning and develop the skill to analyse various types of data in order to answer a scientific question. From this unit, you will develop knowledge and skills that will enable you to embrace data analytic challenges stemming from everyday problems.
INFO2150 Introduction to Health Data Science

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials Prerequisites: (INFO1003 OR INFO1903 OR INFO1103 OR INFO1110 OR INFO1910 OR DATA1002 OR DATA1902) AND (DATA1001 OR MATH1005 OR MATH1905 OR MATH1015 OR BUSS1020) Corequisites: DATA2001 OR DATA2901 OR ISYS2120 OR INFO2120 OR INFO2820 OR INFO1903 Assumed knowledge: Basic knowledge of Entity Relationship Modelling, database technology and SQL Assessment: Through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
Health organisations cannot function effectively without computer information systems. Clinical data are stored and distributed in different databases, different formats and different locations. It requires a lot of effort to create an integrated and clean-up version of data from multiple sources, This unit provides basic introduction to the process and knowledge to enable the analysis of health data. The unit will be of interest to students seeking the understanding of the various coding standards in health industry, data retrieval from databases, data linkage issue, cleaning and pre-processing steps, necessary statistical techniques and presentation of results.
It will be valuable to those who want to work as health-related occupations, such as health informatics analysts, healthcare administrators, medical and health services manager or research officers in hospitals, government health agencies and research organisations. Having said that, a good understanding of health data analysis is a useful asset to all students.
ISYS2110 Analysis and Design of Web Info Systems

Credit points: 6 Session: Semester 1 Classes: Lectures, tutorials Prerequisites: INFO1113 OR INFO1103 OR INFO1105 OR INFO1905 Prohibitions: INFO2110 Assessment: through semester assessment (40%), final exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This course discusses the processes, methods, techniques and tools that organisations use to determine how they should conduct their business, with a particular focus on how web-based technologies can most effectively contribute to the way business is organized. The course covers a systematic methodology for analysing a business problem or opportunity, determining what role, if any, web-based technologies can play in addressing the business need, articulating business requirements for the technology solution, specifying alternative approaches to acquiring the technology capabilities needed to address the business requirements, and specifying the requirements for the information systems solution in particular, in-house development, development from third-party providers, or purchased commercial-off-the-shelf (COTS) packages.
ISYS2160 Information Systems in the Internet Age

Credit points: 6 Session: Semester 2 Classes: lectures, tutorials Prohibitions: ISYS2140 Assumed knowledge: INFO1003 OR INFO1103 OR INFO1903 OR INFO1113 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will provide a comprehensive conceptual and practical introduction to information systems (IS) in the Internet era. Key topics covered include: system thinking and system theory, basic concepts of information systems, internet and e-commerce, e-payment and m-commerce, online marketing and social media, information systems for competitive advantage, functional and enterprise systems, business intelligence, information systems development and acquisition, information security, ethics, and privacy
SOFT2201 Software Construction and Design 1

Credit points: 6 Session: Semester 2 Classes: lectures, laboratories Prerequisites: INFO1113 OR INFO1103 OR INFO1105 OR INFO1905 Prohibitions: INFO3220 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit introduces the foundations of software design and construction. It covers the topics of modelling software (UML, CRC, use cases), software design principles, object-oriented programming theory (inheritance, polymorphism, dynamic subtyping and generics), and simple design patterns. The unit aims to foster a strong technical understanding of the underlying software design and construction theory (delivered in the lecture) but also has a strong emphasis of the practice, where students apply the theory on practical examples.
3000-level units of study
COMP3027 Algorithm Design

Credit points: 6 Session: Semester 1 Classes: lectures, tutorials Prerequisites: COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 Prohibitions: COMP2007 OR COMP2907 OR COMP3927 Assumed knowledge: MATH1004 OR MATH1904 OR MATH1064 Assessment: through semester assessment (40%), final exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit provides an introduction to the design techniques that are used to find efficient algorithmic solutions for given problems. The techniques covered included greedy, divide-and-conquer, dynamic programming, and adjusting flows in networks. Students will extend their skills in algorithm analysis. The unit also provides an introduction to the concepts of computational complexity and reductions between problems.
COMP3109 Programming Languages and Paradigms

Credit points: 6 Session: Semester 2 Classes: Lecture, Tutorials Prerequisites: COMP2022 AND (COMP2007 OR COMP2907) Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit provides an introduction to the foundations of programming languages and their implementation. The main aims are to teach what are: semantics, programming paradigms and implementation of programming languages.
COMP3221 Distributed Systems

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratories, Project Work - own time Prerequisites: (INFO1105 OR INFO1905) OR ((INFO1103 OR INFO1113) AND (COMP2123 OR COMP2823)) Prohibitions: COMP2121 Assessment: through semester assessment (60%), final exam (40%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will provide broad introduction to the principles of distributed computing and distributed systems and their design; provide students the fundamental knowledge required to analyse, design distributed algorithms and implement various types of applications, like blockchains; explain the common algorithmic design principles and approaches used in the design of message passing at different scales (e.g., logical time, peer-to-peer overlay, gossip-based communication).
COMP3308 Introduction to Artificial Intelligence

Credit points: 6 Session: Semester 1 Classes: Tutorials, Lectures Prohibitions: COMP3608 Assumed knowledge: Algorithms. Programming skills (e.g. Java, Python, C, C++, Matlab) Assessment: Through semester assessment (45%) and Final Exam (55%) Mode of delivery: Normal (lecture/lab/tutorial) day
Artificial Intelligence (AI) is all about programming computers to perform tasks normally associated with intelligent behaviour. Classical AI programs have played games, proved theorems, discovered patterns in data, planned complex assembly sequences and so on. This unit of study will introduce representations, techniques and architectures used to build intelligent systems. It will explore selected topics such as heuristic search, game playing, machine learning, neural networks and probabilistic reasoning. Students who complete it will have an understanding of some of the fundamental methods and algorithms of AI, and an appreciation of how they can be applied to interesting problems. The unit will involve a practical component in which some simple problems are solved using AI techniques.
COMP3419 Graphics and Multimedia

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials Prerequisites: COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 Assumed knowledge: Programming skills Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit provides a broad introduction to the field of graphics and multimedia computing to meet the diverse requirements of application areas such as entertainment, industrial design, virtual reality, intelligent media management, social media and remote sensing. It covers both the underpinning theories and the practices of computing and manipulating digital media including graphics / image, audio, animation, and video. Emphasis is placed on principles and cutting-edge techniques for multimedia data processing, content analysis, media retouching, media coding and compression.
COMP3520 Operating Systems Internals

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials Prerequisites: (COMP2017 OR COMP2129) AND (COMP2123 OR COMP2823 OR INFO1105 OR INFO1905) Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will provide a comprehensive discussion of relevant OS issues and principles and describe how those principles are put into practice in real operating systems. The contents include internal structure of OS; several ways each major aspect (process scheduling, inter-process communication, memory management, device management, file systems) can be implemented; the performance impact of design choices; case studies of common OS (Linux, MS Windows NT, etc.).
COMP3608 Introduction to Artificial Intelligence (Adv)

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Prerequisites: Distinction-level results in at least one 2000 level COMP or MATH or SOFT unit Prohibitions: COMP3308 Assumed knowledge: Algorithms. Programming skills (e.g. Java, Python, C, C++, Matlab) Assessment: Through semester assessment (45%) and Final Exam (55%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: COMP3308 and COMP3608 share the same lectures, but have different tutorials and assessment (the same type but more challenging).
An advanced alternative to COMP3308; covers material at an advanced and challenging level.
COMP3888 Computer Science Project

Credit points: 6 Session: Semester 2 Classes: meetings, project work, site visits Prerequisites: (COMP2123 OR COMP2823) AND COMP2017 AND (COMP2022 OR COMP2922) Prohibitions: INFO3600 OR COMP3600 OR COMP3615 OR COMP3988 Assessment: through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will provide students an opportunity to apply the knowledge and practise the skills acquired in the prerequisite and qualifying units, in the context of designing and building a substantial software development system in diverse application domains including life sciences. Working in groups for an external client combined with academic supervision, students will need to carry out the full range of activities including requirements capture, analysis and design, coding, testing and documentation. Students will use the XP methodology and make use of professional tools for the management of their project.
COMP3927 Algorithm Design (Adv)

Credit points: 6 Session: Semester 1 Classes: lectures, tutorials Prerequisites: COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 Prohibitions: COMP2007 OR COMP2907 OR COMP3027 Assumed knowledge: MATH1004 OR MATH1904 OR MATH1064 Assessment: through semester assessment (40%), final exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit provides an introduction to the design techniques that are used to find efficient algorithmic solutions for given problems. The techniques covered included greedy, divide-and-conquer, dynamic programming, and adjusting flows in networks. Students will extend their skills in algorithm analysis. The unit also provides an introduction to the concepts of computational complexity and reductions between problems.
COMP3988 Computer Science Project (Advanced)

Credit points: 6 Session: Semester 2 Classes: meetings, project work, site visits Prerequisites: [(COMP2123 OR COMP2823) AND COMP2017 AND (COMP2022 OR COMP2922) with Distinction level results in at least one of these units.] Prohibitions: INFO3600 OR COMP3615 OR COMP3600 OR COMP3888 Assessment: through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit will provide students an opportunity to apply the knowledge and practise the skills acquired in the prerequisite and qualifying units, in the context of designing and building a substantial software development system in diverse application domains including life sciences. Working in groups for an external client combined with academic supervision, students will need to carry out the full range of activities including requirements capture, analysis and design, coding, testing and documentation. Students will use the XP methodology and make use of professional tools for the management of their project.
DATA3404 Data Science Platforms

Credit points: 6 Session: Semester 1 Classes: lectures, tutorials Prerequisites: DATA2001 OR DATA2901 OR ISYS2120 OR INFO2120 OR INFO2820 Prohibitions: INFO3504 OR INFO3404 Assumed knowledge: This unit of study assumes that students have previous knowledge of database structures and of SQL. The prerequisite material is covered in DATA2001 or ISYS2120. Familiarity with a programming language (e.g. Java or C) is also expected. Assessment: through semester assessment (40%), final exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit of study provides a comprehensive overview of the internal mechanisms data science platforms and of systems that manage large data collections. These skills are needed for successful performance tuning and to understand the scalability challenges faced by when processing Big Data. This unit builds upon the second' year DATA2001 - 'Data Science - Big Data and Data Diversity' and correspondingly assumes a sound understanding of SQL and data analysis tasks.
The first part of this subject focuses on mechanisms for large-scale data management. It provides a deep understanding of the internal components of a data management platform. Topics include: physical data organization and disk-based index structures, query processing and optimisation, and database tuning.
The second part focuses on the large-scale management of big data in a distributed architecture. Topics include: distributed and replicated databases, information retrieval, data stream processing, and web-scale data processing.
The unit will be of interest to students seeking an introduction to data management tuning, disk-based data structures and algorithms, and information retrieval. It will be valuable to those pursuing such careers as Software Engineers, Data Engineers, Database Administrators, and Big Data Platform specialists.
DATA3406 Human-in-the-Loop Data Analytics

Credit points: 6 Session: Semester 2 Mode of delivery: Normal (lecture/lab/tutorial) day
DATA3888 Data Science Capstone

Credit points: 6 Teacher/Coordinator: Prof Jean Yang Session: Semester 2 Prerequisites: DATA2001 or DATA2901 or DATA2002 or DATA2902 or STAT2912 or STAT2012 Assessment: An disciplinary component 50% Online quiz = 10% Student lead lecture (10% report + 20% presentations + 10% peer review) An interdisciplinary component 50%Reflective task = 5%Team work process = 10%Report and product = 35% Mode of delivery: Normal (lecture/lab/tutorial) day
In our ever-changing world, we are facing a new data-driven era where the capability to efficiently combine and analyse large data collections is essential for informed decision making in business and government, and for scientific research. Data science is an emerging interdisciplinary field with its focus on high performance computation and quantitative expression of the confidence in conclusions, and the clear communication of those conclusions in different discipline context. This unit is our capstone project that presents the opportunity to create a public data product that can illustrate the concepts and skills you have learnt in this discipline. In this unit, you will have an opportunity to explore deeper disciplinary knowledge; while also meeting and collaborating through project-based learning. The capstone project in this unit will allow you to identify and place the data-driven problem into an analytical framework, solve the problem through computational means, interpret the results and communicate communicating your findings to a diverse audience. All such skills are highly valued by employers. This unit will foster the ability to work in an interdisciplinary team, to translate problem between two or more disciplines and this is essential for both professional and research pathways in the future.
ENGG3800 Industry and Community Projects

Credit points: 6 Session: Intensive December,Intensive February,Intensive January,Intensive July,Semester 1,Semester 2 Classes: E-Learning, Seminars, Project Work - own time Assumed knowledge: Upper-level disciplinary knowledge. Required knowledge will vary by project. Assessment: through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit is designed for third year students to undertake a project that allows them to work with one of the University's industry and community partners. Students will work in teams on a real-world problem provided by the partner. This experience will allow students to apply their academic skills and disciplinary knowledge to a real-world issue in an authentic and meaningful way. Participation in this unit will require students to submit an application.
INFO3315 Human-Computer Interaction

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This is a first subject in HCI, Human Computer Interaction. It is designed for students who want to be involved in one of the many roles required to create future technology. There are three main parts: the human foundations from psyschology and physiology; HCI methods for design and evaluation of interfaces; leading edge directions for technologies.
This subject is highly multi-disciplinary. At the core, it is a mix of Computer Science Software Engineering combined with the design discipline, UX - User Experience. It draws on psychology, both for relevant theories and user study methods. The practical work is human-centred with project work that motivates the formal curriculum. This year the projects will be in area of health and wellness.
INFO3616 Principles of Security and Security Eng

Credit points: 6 Session: Semester 2 Classes: lectures, tutorials, research Prohibitions: ELEC5616 OR INFO2315 Assumed knowledge: (INFO1110 OR INFO1910) AND INFO1112 AND INFO1113 AND MATH1064. Knowledge equivalent to the above units is assumed. This means good programming skills in Python or a C-related language, basic networking knowledge, and skills from discrete mathematics. A technical orientation is absolutely required, especially capacity to become familiar with new technology without explicit supervision. Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit provides an introduction to the many facets of security in the digital and networked world, the challenges that IT systems face, and the design principles that have been developed to build secure systems and counter attacks. The unit puts the focus squarely on providing a thorough understanding of security principles and engineering for security. At the same time, we stress a hands-on approach to teach the state-of-the-art incarnations of security principles and technology, and we practice programming for security. We pay particular attention to the fact that security is much more than just technology as we discuss the fields of usability in security, operational security, and cyber-physical systems. At the end of this unit, graduates are prepared for practical demands in their later careers and know how to tackle new, yet unforeseen challenges.
This unit also serves as the initial step for a specialisation in computer and communications security.
ISYS3401 Information Technology Evaluation

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Prerequisites: (INFO2110 OR ISYS2110) AND (INFO2120 OR ISYS2120) AND (ISYS2140 OR ISYS2160) Assessment: Through semester assessment (35%) and Final Exam (65%) Mode of delivery: Normal (lecture/lab/tutorial) day
Information Systems (IS) professionals in today's organisations are required to play leadership roles in change and development. Your success in this field will be aided by your being able to carry out research-based investigations using suitable methods and mastery over data collection and analysis to assist in managing projects and in decision making. Practical research skills are some of the most important assets you will need in your career.
This unit of study will cover important concepts and skills in practical research for solving and managing important problems. This will also provide you with the skills to undertake the capstone project in the IS project unit of study offered in Semester 2 or other projects. It will also provide hand-on experience of using Microsoft Excel and other tools to perform some of the quantitative analysis.
ISYS3402 Decision Analytics and Support Systems

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories, Project Work - own time Prerequisites: (ISYS2110 OR INFO2110) AND (ISYS2120 OR INFO2120) Assumed knowledge: Database Management AND Systems Analysis and Modelling Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
With the rapid increases in the volume and variety of data available, the problem of providing effective support to facilitate good decision making has become more challenging. This unit of study will provide a comprehensive understanding the diverse types of decision and the decision making processes. It will introduce decision modelling and the design and implementation of application systems to support decision making in organisational contexts. It will include a range of business intelligence and analytics solutions based on online analytical processing (OLAP) models and technologies. The unit will also cover a number of modelling approaches (optimization, predictive, descriptive) and their integration in the context of enabling improved, data-driven decision making.
ISYS3888 Information Systems Project

Credit points: 6 Session: Semester 2 Classes: meetings, project work, site visits Prerequisites: (INFO2110 OR ISYS2110) AND (INFO2120 OR ISYS2120) AND (ISYS2140 OR ISYS2160) Prohibitions: INFO3600 OR ISYS3207 OR ISYS3400 Assessment: through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will provide students an opportunity to apply the knowledge and practise the skills acquired in the prerequisite and qualifying units, in the context of a substantial information systems research or development project and to experience in a realistic way many aspects of analysing and solving information systems problems. Since information systems projects are often undertaken by small teams, the experience of working in a team is seen as an important feature of the unit. Students often find it difficult to work effectively with others and will benefit from the opportunity provided by this unit to further develop this skill.
SOFT3202 Software Construction and Design 2

Credit points: 6 Session: Semester 1 Classes: lectures, laboratories Prerequisites: SOFT2201 Prohibitions: INFO3220 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit is a sequel of Software Construction and Design I (SOFT2301). It introduces advanced concepts which build on the topics of SOFT2301. SOFT3302 covers topics including software validation and verification, the theory of testing, and advanced design patterns. The unit has a strong focus on the theoretical underpinning of software design. I the labs the theory is applied with contemporary tools with concrete examples.
SOFT3410 Concurrency for Software Development

Credit points: 6 Session: Semester 2 Classes: lectures, laboratories Prerequisites: (INFO1105 OR INFO1905) OR ((INFO1103 OR INFO1113) AND (COMP2123 OR COMP2823)) Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
The manufacturing industry has experienced a radical shift in the way they design computers, with the integration of multiple processors on the same chip. This hardware shift now requires software developers to acquire the skills that will allow them to write efficient concurrent software. Software developers used to wait for manufacturers to increase the clock frequency of their processors to see increases in the performance of their programs, the challenge is now to exploit, in the same program, more and more processing resources rather than faster processing resources. In this unit, you will learn how to tackle the problems underlying this challenge, including developing and testing concurrent programs, synchronizing resources between concurrent threads, overcoming fairness issues and guaranteeing progress, and ensuring scalability in the level of concurrency.
SOFT3888 Software Development Project

Credit points: 6 Session: Semester 2 Classes: project work, site visits, meetings Prerequisites: [18CP 2000-level or above units from SOFT, COMP or INFO] Prohibitions: SOFT3413 Assumed knowledge: SOFT3202 Assessment: through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will provide students an opportunity to apply the knowledge and practice the skills acquired in the prerequisite and qualifying units, in the context of designing and building a substantial software development system in diverse application domains including life sciences. Working in groups for an external client combined with academic supervision, students will need to carry out the full range of activities including requirements capture, analysis and design, coding, testing and documentation. Students will use the XP methodology and make use of professional tools for the management of their project.
4000-level units of study
INFO4003 Thesis B (extension) will be available from 2020.
5000-level units of study
COMP5045 Computational Geometry

Credit points: 6 Session: Semester 1 Classes: Project Work Assumed knowledge: Students are assumed to have a basic knowledge of the design and analysis of algorithms and data structures: you should be familiar with big-O notations and simple algorithmic techniques like sorting, binary search, and balanced search trees. Assessment: Through semester assessment (72%) and Final Exam (28%) Mode of delivery: Normal (lecture/lab/tutorial) day
In many areas of computer science- robotics, computer graphics, virtual reality, and geographic information systems are some examples- it is necessary to store, analyse, and create or manipulate spatial data. This course deals with the algorithmic aspects of these tasks: we study techniques and concepts needed for the design and analysis of geometric algorithms and data structures. Each technique and concept will be illustrated on the basis of a problem arising in one of the application areas mentioned above.
COMP5046 Natural Language Processing

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratory Assumed knowledge: Knowledge of an OO programming language Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit introduces computational linguistics and the statistical techniques and algorithms used to automatically process natural languages (such as English or Chinese). It will review the core statistics and information theory, and the basic linguistics, required to understand statistical natural language processing (NLP).
Statistical NLP is used in a wide range of applications, including information retrieval and extraction; question answering; machine translation; and classifying and clustering of documents. This unit will explore the key challenges of natural language to computational modelling, and the state of the art approaches to the key NLP sub-tasks, including tokenisation, morphological analysis, word sense representation, part-of-speech tagging, named entity recognition and other information extraction, text categorisation, phrase structure parsing and dependency parsing.
Students will implement many of these sub-tasks in labs and assignments. The unit will also investigate the annotation process that is central to creating training data for statistical NLP systems. Students will annotate data as part of completing a real-world NLP task.
COMP5047 Pervasive Computing

Credit points: 6 Session: Semester 2 Classes: Studio class Assumed knowledge: ELEC1601 AND (COMP2129 OR COMP2017). Background in programming and operating systems that is sufficient for the student to independently learn new programming tools from standard online technical materials. Assessment: Through semester assessment (60%) and Final Exam (40%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This is an advanced course on Pervasive Computing, with a focus on the "Internet of Things" (IoT). It introduces the key aspects of the IoT and explores these in terms of the new research towards creating user interfaces that disappear into the environment and are available pervasively, for example in homes, workplaces, cars and carried.
COMP5048 Visual Analytics

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials Assumed knowledge: It is assumed that students will have basic knowledge of data structures, algorithms and programming skills. Assessment: Through semester assessment (60%) and Final Exam (40%) Mode of delivery: Normal (lecture/lab/tutorial) day
Visual Analytics aims to facilitate the data analytics process through Information Visualisation. Information Visualisation aims to make good pictures of abstract information, such as stock prices, family trees, and software design diagrams. Well designed pictures can convey this information rapidly and effectively. The challenge for Visual Analytics is to design and implement effective Visualisation methods that produce pictorial representation of complex data so that data analysts from various fields (bioinformatics, social network, software visualisation and network) can visually inspect complex data and carry out critical decision making. This unit will provide basic HCI concepts, visualisation techniques and fundamental algorithms to achieve good visualisation of abstract information. Further, it will also provide opportunities for academic research and developing new methods for Visual Analytic methods.
COMP5216 Mobile Computing

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials Assumed knowledge: COMP5214 OR COMP9103. Software Development in JAVA, or similar introductory software development units. Assessment: Through semester assessment (45%) and Final Exam (55%) Mode of delivery: Normal (lecture/lab/tutorial) day
Mobile computing is becoming a main stream for many IT applications, due to the availability of more and more powerful and affordable mobile devices with rich sensors such as cameras and GPS, which have already significantly changed many aspects in business, education, social network, health care, and entertainment in our daily life. Therefore it has been critical for students to be equipped with sufficient knowledge of such new computing platform and necessary skills. The unit aims to provide an in-depth overview of existing and emerging mobile computing techniques and applications, the eco-system of the mobile computing platforms, and its key building components. The unit will also train students with hand-on experiences in developing mobile applications in a broad range of areas.
COMP5313 Large Scale Networks

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Assumed knowledge: Algorithmic skills (as expected from any IT graduate). Basic probability knowledge. Assessment: Through semester assessment (60%) and Final Exam (40%) Mode of delivery: Normal (lecture/lab/tutorial) day
The growing connected-ness of modern society translates into simplifying global communication and accelerating spread of news, information and epidemics. The focus of this unit is on the key concepts to address the challenges induced by the recent scale shift of complex networks. In particular, the course will present how scalable solutions exploiting graph theory, sociology and probability tackle the problems of communicating (routing, diffusing, aggregating) in dynamic and social networks.
COMP5318 Machine Learning and Data Mining

Credit points: 6 Session: Semester 1,Semester 2 Classes: Lectures, Tutorials Assumed knowledge: INFO2110 OR ISYS2110 OR COMP9120 OR COMP5138 Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
Machine learning is the process of automatically building mathematical models that explain and generalise datasets. It integrates elements of statistics and algorithm development into the same discipline. Data mining is a discipline within knowledge discovery that seeks to facilitate the exploration and analysis of large quantities for data, by automatic and semiautomatic means. This subject provides a practical and technical introduction to machine learning and data mining.
Topics to be covered include problems of discovering patterns in the data, classification, regression, feature extraction and data visualisation. Also covered are analysis, comparison and usage of various types of machine learning techniques and statistical techniques.
COMP5328 Advanced Machine Learning

Credit points: 6 Session: Semester 2 Classes: Lectures, tutorials Assumed knowledge: COMP5318 Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
Machine learning models explain and generalise data. This course introduces some fundamental machine learning concepts, learning problems and algorithms to provide understanding and simple answers to many questions arising from data explanation and generalisation. For example, why do different machine learning models work? How to further improve them? How to adapt them to different purposes?
The fundamental concepts, learning problems and algorithms are carefully selected. Many of them are closely related to practical questions of the day, such as transfer learning, learning with label noise and multi-view learning.
COMP5329 Deep Learning

Credit points: 6 Session: Semester 1 Classes: Tutorials, Lectures Assumed knowledge: COMP5318 Assessment: through semester assessment (50%), final exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This course provides an introduction to deep machine learning, which is rapidly emerging as one of the most successful and widely applicable set of techniques across a range of applications. Students taking this course will be exposed to cutting-edge research in machine learning, starting from theories, models, and algorithms, to implementation and recent progress of deep learning. Specific topics include: classical architectures of deep neural network, optimization techniques for training deep neural networks, theoretical understanding of deep learning, and diverse applications of deep learning in computer vision.
COMP5338 Advanced Data Models

Credit points: 6 Session: Semester 2 Classes: Tutorials, Lectures Assumed knowledge: This unit of study assumes foundational knowledge of relational database systems as taught in COMP5138/COMP9120 (Database Management Systems) or INFO2120/INFO2820/ISYS2120 (Database Systems 1). Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit of study gives a comprehensive overview of post-relational data models and of latest developments in data storage technology.
Particular emphasis is put on spatial, temporal, and NoSQL data storage. This unit extensively covers the advanced features of SQL:2003, as well as a few dominant NoSQL storage technologies. Besides in lectures, the advanced topics will be also studied with prescribed readings of database research publications.
COMP5347 Web Application Development

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratory, Project Work Prerequisites: INFO1103 or INFO1113 or COMP9103 or COMP9220 or COMP5028 Assumed knowledge: COMP9220 or COMP5028. The course assumes basic knowledge on OO design and proficiency in a programming language Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
Nowadays most client facing enterprise applications are running on web or at least with a web interface. The design and implementation of a web application require totally different set of skills to those are required for traditional desktop applications. All web applications are of client/ server architecture. Requests sent to a web application are expected to go through the public Internet, which slows the responsiveness and increases the possible security threat. A typical web application is also expected to handle large number of requests coming from every corner of the Internet and sent by all sorts of client systems. This further complicates the design of such system.
This course aims at providing both conceptual understanding and hand-on experiences for the technologies used in building web applications. We will examine how data/messages are communicated between client and server; how to improve the responsiveness using rich client technology; as well as how to build a secure web application.
At the end of this course, students are expected to have a clear understanding of the structure and technologies of web applications. Students are also expected to have practical knowledge of some major web application environments and to be able to develop and deploy simple web applications. Cloud based platform are increasingly popular as the development and deployment platform. This course will incorporate the cloud aspect of web application development as well.
COMP5348 Enterprise Scale Software Architecture

This unit of study is not available in 2019

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratory Assumed knowledge: Programming competence in Java or similar OO language. Capacity to master novel technologies (especially to program against novel APIs) using manuals, tutorial examples, etc. Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit covers topics on software architecture for large-scale enterprises. Computer systems for large-scale enterprises handle critical business processes, interact with computer systems of other organisations, and have to be highly reliable, available and scalable. This class of systems are built up from several application components, incorporating existing "legacy" code and data stores as well as linking these through middleware technologies, such as distributed transaction processing, remote objects, message-queuing, publish-subscribe, and clustering. The choice of middleware can decide whether the system achieves essential non- functional requirements such as performance and availability. The objective of this unit of study is to educate students for their later professional career and it covers Software Architecture topics of the ACM/IEEE Software Engineering curriculum. Objective: The objective of this unit of study is to educate students for their later professional career and it covers topics of the ACM/IEEE Software Engineering curriculum.
COMP5349 Cloud Computing

Credit points: 6 Session: Semester 1 Classes: Lectures, Practical Labs, Project Work Assumed knowledge: Good programming skills, especially in Java for the practical assignment, as well as proficiency in databases and SQL. The unit is expected to be taken after introductory courses in related units such as COMP5214 or COMP9103 Software Development in JAVA Assessment: Through semester assessment (45%) and Final Exam (55%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit covers topics of active and cutting-edge research within IT in the area of 'Cloud Computing'.
Cloud Computing is an emerging paradigm of utilising large-scale computing services over the Internet that will affect individual and organization's computing needs from small to large. Over the last decade, many cloud computing platforms have been set up by companies like Google, Yahoo!, Amazon, Microsoft, Salesforce, Ebay and Facebook. Some of the platforms are open to public via various pricing models. They operate at different levels and enable business to harness different computing power from the cloud.
In this course, we will describe the important enabling technologies of cloud computing, explore the state-of-the art platforms and the existing services, and examine the challenges and opportunities of adopting cloud computing. The course will be organized as a series of presentations and discussions of seminal and timely research papers and articles. Students are expected to read all papers, to lead discussions on some of the papers and to complete a hands-on cloud-programming project.
COMP5415 Multimedia Design and Authoring

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit provides principles and practicalities of creating interactive and effective multimedia products. It gives an overview of the complete spectrum of different media platforms and current authoring techniques used in multimedia production. Coverage includes the following key topics: enabling multimedia technologies; multimedia design issues; interactive 2D and 3D computer animation; multimedia object modelling and rendering; multimedia scripting programming; post-production and delivery of multimedia applications.
COMP5416 Advanced Network Technologies

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratory Assumed knowledge: ELEC3506 OR ELEC9506 OR ELEC5740 OR COMP5116 Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
The unit introduces networking concepts beyond the best effort service of the core TCP/IP protocol suite. Understanding of the fundamental issues in building an integrated multi-service network for global Internet services, taking into account service objectives, application characteristics and needs and network mechanisms will be discussed. Enables students to understand the core issues and be aware of proposed solutions so they can actively follow and participate in the development of the Internet beyond the basic bit transport service.
COMP5424 Information Technology in Biomedicine

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
Information technology (IT) has significantly contributed to the research and practice of medicine, biology and health care. The IT field is growing enormously in scope with biomedicine taking a lead role in utilising the evolving applications to its best advantage. The goal of this unit of study is to provide students with the necessary knowledge to understand the information technology in biomedicine. The major emphasis will be on the principles associated with biomedical digital imaging systems and related biomedicine data processing, analysis, visualisation, registration, modelling, retrieval and management. A broad range of practical integrated clinical applications will be also elaborated.
COMP5425 Multimedia Retrieval

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Assumed knowledge: COMP9007 or COMP5211. Basic Programming skills and data structure knowledge. Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
The explosive growth of multimedia data, including text, audio, images and video has imposed unprecedented challenges for search engines to meet various information needs of users. This unit provides students with the necessary and updated knowledge of this field in the context of big data, from the information retrieval basics of a search engine, to many advanced techniques towards next generation search engines, such as content based image and video retrieval, large scale visual information retrieval, and social media.
COMP5426 Parallel and Distributed Computing

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Assessment: Through semester assessment (45%) and Final Exam (55%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit is intended to introduce and motivate the study of high performance computer systems. The student will be presented with the foundational concepts pertaining to the different types and classes of high performance computers. The student will be exposed to the description of the technological context of current high performance computer systems. Students will gain skills in evaluating, experimenting with, and optimising the performance of high performance computers. The unit also provides students with the ability to undertake more advanced topics and courses on high performance computing.
COMP5427 Usability Engineering

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratory Assessment: Through semester assessment (60%) and Final Exam (40%) Mode of delivery: Normal (lecture/lab/tutorial) day
Usability engineering is the systematic process of designing and evaluating user interfaces so that they are usable. This means that people can readily learn to use them efficiently, can later remember how to use them and find it pleasant to use them. The wide use of computers in many aspects of people's lives means that usability engineering is of the utmost importance.
There is a substantial body of knowledge about how to elicit usability requirements, identify the tasks that a system needs to support, design interfaces and then evaluate them. This makes for systematic ways to go about the creation and evaluation of interfaces to be usable for the target users, where this may include people with special needs. The field is extremely dynamic with the fast emergence of new ways to interact, ranging from conventional WIMP interfaces, to touch and gesture interaction, and involving mobile, portable, embedded and desktop computers.
This unit will enable students to learn the fundamental concepts, methods and techniques of usability engineering. Students will practice these in small classroom activities. They will then draw them together to complete a major usability evaluation assignment in which they will design the usability testing process, recruit participants, conduct the evaluation study, analyse these and report the results
COMP5617 Empirical Security Analysis and Engineering

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials, Project Work - own time Assumed knowledge: Students are expected to have: Good programming skills in Go, Python, or C. UNIX/Linux command-line and tools Technical orientation and foundational networking knowledge Sufficient mathematical skills to understand cryptography Experience working with version control Assessment: through semester assessment (40%) and final exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will present the lessons from recent research and from case studies of practice to bring students the skills to assess and improve the security of deployed systems. A particular focus is on data-driven approaches to collect operational data about a system's security. We explore deployment issues at local and global scale, e. g. for X. 509, DNS, and BGP, and also take human factors explicitly into account. As a result, students will learn to put building blocks of security together in a sound way, to arrive at engineering solutions that are empirically verifiable, functional, and secure against realistic threats. As Dan Geer once famously said: "Any security technology whose effectiveness can't be empirically determined is indistinguishable from blind luck."
COMP5618 Applied Cybersecurity

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories, Project work Assumed knowledge: (ELEC5616 OR INFO2315 OR INFO2222) with a grade of Credit or greater Assessment: through semester assessment (60%) and final exam (40%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
Digital technologies permeate every part of our lives. The internet has created a more open society, allowing us to create, share and access information and knowledge freely. As more of the services we rely on are digitised and available to use over the web, the more our identity, productivity, access to information, connectivity, social connections and financial well-being depends on information security. Consequently, a deep understanding of both offensive and defensive security techniques is fast becoming essential knowledge for a career in computing.
This course will provide in-depth knowledge of offensive security that will prepare the student for work in any technical field where they will are responsible for the development or maintenance of sensitive systems. The course begins by introducing the basic tools used by hackers, before highlighting the common weaknesses- and mitigations- for various levels of the technology stack, such as web applications, operating systems and corporate networks. Finally, students are provided practical insights into careers in information security in the areas of attack detection, prevention and defence. Students will develop the skills necessary to both gain access to test computers and to defend test networks from attack.
DATA5207 Data Analysis in the Social Sciences

Credit points: 6 Session: Intensive December,Semester 1 Classes: lectures, laboratories Assumed knowledge: COMP5310 Assessment: through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
Data science is a new, rapidly expanding field. There is an unprecedented demand from technology companies, financial services, government and not-for-profits for graduates who can effectively analyse data. This subject will help students gain a critical understanding of the strengths and weaknesses of quantitative research, and acquire practical skills using different methods and tools to answer relevant social science questions.
This subject will offer a nuanced combination of real-world applications to data science methodology, bringing an awareness of how to solve actual social problems to the Master of Data Science. We cover topics including elections, criminology, economics and the media. You will clean, process, model and make meaningful visualisations using data from these fields, and test hypotheses to draw inferences about the social world.
Techniques covered range from descriptive statistics and linear and logistic regression, the analysis of data from randomised experiments, model selection for prediction and classification tasks, to the analysis of unstructured text as data, multilevel and geospatial modelling, all using the open source program R. In doing this, not only will we build on the skills you have already mastered through this degree, but explore different ways to use them once you graduate.
ELEC5306 Advanced Signal Processing: Video Compression

Credit points: 6 Session: Semester 1 Classes: lectures, laboratories Assumed knowledge: Basic understanding of digital signal processing (filtering, DFT) and programming skills (e.g. Matlab/Java/Python/C++) Assessment: Through semester assessment (40%), Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit of study introduces digital image and video compression algorithms and standards. This course mainly focuses on fundamental and advanced methods for digital video compression. It covers the following areas: digital video fundamentals, digital image and video compression standards, and video codec optimization.
ELEC5307 Advanced Signal Processing with Deep Learning

Credit points: 6 Session: Semester 2 Classes: Lectures, laboratories Assumed knowledge: Mathematics (e.g., probability and linear algebra) and programming skills (e.g. Matlab/Java/Python/C++) Assessment: Through semester assessment (40%), Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit of study introduces deep learning for a broad range of multi-dimensional signal processing applications. It covers deep learning technologies for image super-resolution and restoration, image categorization, object localization, image segmentation, face recognition, person detection and re-identification, human pose estimation, action recognition, object tracking as well as image and video captioning.
ELEC5508 Wireless Engineering

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials, Laboratories Assumed knowledge: Basic knowledge in probability and statistics, analog and digital communications, error probability calculation in communications channels, and telecommunications network. Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will introduce the key ideas in modern wireless telecommunications networks. It will address both physical layer issues such as propagation and modulation, plus network layer issues such as capacity, radio resource management and mobility management issues.
The following topics are covered. Wireless channel: Multipath fading, frequency selective fading, Doppler spread, statistical models, diversity, GSM, OFDM. Capacity and Interference: Cell types, coverage, frequency reuse, interference management, SIMO, MISO, multiuser diversity, CDMA, OFDMA, beamforming, superposition coding. MIMO: SVD, waterfilling, beamforming, V-BLAST, SIC, MMSE, Power Allocation. LTE/LTE-Advanced: Uplink-downlink channels, control signals, data transmission, spatial multiplexing, CoMP, spectrum reuse, heterogeneous networks, inter-cell interference coordination, carrier aggregation. Queueing theory: basic models, queueing systems, waiting time, delay, queue length, priority queues, wireless network virtualization (WNV) queues.
ELEC5509 Mobile Networks

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Assumed knowledge: ELEC3505 AND ELEC3506. Basically, students need to know the concepts of data communications and mobile communications, which could be gained in one the following units of study: ELEC3505 Communications, ELEC3506 Data Communications and the Internet, or similar units. If you are not sure, please contact the instructor. Assessment: Through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit of study serves as an introduction to communications network research. The unit relies on a solid understanding of data communications and mobile networks. It introduces some of the currently most debated research topics in mobile networking and presents an overview of different technical solutions. Students are expected to critically evaluate these solutions in their context and produce an objective analysis of the advantages/disadvantages of the different research proposals. The general areas covered are wireless Internet, mobility management, quality of service in mobile and IP networks, ad hoc networks, and cellular network architectures.
The following topics are covered. Introduction to wireless and mobile Internet. Wireless cellular data networks. Cellular mobile networks. Mobile networks of the future. Quality of service in a mobile environment. Traffic modelling for wireless Internet. Traffic management for wireless Internet. Mobility management in mobile networks. Transport protocols for mobile networks. Internet protocols for mobile networks.
ELEC5514 Networked Embedded Systems

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories Prerequisites: ELEC5509 Assumed knowledge: ELEC3305 AND ELEC3506 AND ELEC3607 AND ELEC5508 Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit aim to teach the fundamentals concepts associated with: Networked Embedded Systems, wireless sensor networks; Wireless channel propagation and radio power consumption; Wireless networks, ZigBee, Bluetooth, etc. ; Sensor principle, data fusion, source detection and identification; Multiple source detection, multiple access communications; Network topology, routing, network information theory; Distributed source channel coding for sensor networks; Power-aware and energy-aware communication protocols; Distributed embedded systems problems such as time synchronization and node localisation; Exposure to several recently developed solutions to address problems in wireless sensor networks and ubiquitous computing giving them a well-rounded view of the state-of the-art in the networked embedded systems field.
Student involvement with projects will expose them to the usage of simulators and/or programming some types of networked embedded systems platforms.
Ability to identify the main issues and trade-offs in networked embedded systems; Understanding of the state-of-the-art solutions in the area; Based on the above understanding, ability to analyse requirements and devise first-order solutions for particular networked embedded systems problems; Familiarisation with a simulator platform and real hardware platforms for network embedded systems through the students involvement in projects.
ELEC5616 Computer and Network Security

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials, Laboratories, Project Work - own time Assumed knowledge: A programming language, basic maths. Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit examines the basic cryptographic building blocks of security, working through to their applications in authentication, key exchange, secret and public key encryption, digital signatures, protocols and systems. It then considers these applications in the real world, including models for integrity, authentication, electronic cash, viruses, firewalls, electronic voting, risk assessment, secure web browsers and electronic warfare. Practical cryptosystems are analysed with regard to the assumptions with which they were designed, their limitations, failure modes and ultimately why most end up broken.
ELEC5618 Software Quality Engineering

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Assumed knowledge: Writing programs with multiple functions or methods in multiple files; design of complex data structures and combination in non trivial algorithms; use of an integrated development environment; software version control systems. Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will cover software quality planning, validation and verification methods and techniques, risk analysis, software review techniques, software standards and software process improvement and software reliability.
Students who successfully complete this unit will understand the fundamental concepts of software quality engineering and be able to define software quality requirements, assess the quality of a software design, explain specific methods of building software quality, understand software reliability models and metrics, develop a software quality plan, understand quality assurance and control activities and techniques, understand various testing techniques including being able to verify and test a unit of code and comprehend ISO standards, SPICE, CMM and CMMI.
ELEC5619 Object Oriented Application Frameworks

Credit points: 6 Session: Semester 2 Classes: Project Work - in class, Project Work - own time, Presentation, Tutorials Assumed knowledge: Java programming, and some web development experience are essential. Databases strongly recommended Assessment: Through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit aims to introduce students to the main issues involved in producing large Internet systems by using and building application frameworks. Frameworks allow great reuse so developers do not have to design and implement applications from scratch, as students have done in ELEC3610 The unit lays down the basic concepts and hands on experience on the design and development of enterprise systems, emphasizing the development of systems using design patterns and application frameworks.
A project-based approach will introduce the problems often found when building such systems, and will require students to take control of their learning. A project-based approach will introduce the problems often found when building such systems, and will require students to take control of their learning. Several development Java frameworks will be used, including Spring, Hibernate, and others. Principles of design patterns will also be studied.
ELEC5620 Model Based Software Engineering

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials, Laboratories, Project Work - in class, Project Work - own time Assumed knowledge: A programming language, basic maths. Assessment: Through semester assessment (80%) and Final Exam (20%) Mode of delivery: Normal (lecture/lab/tutorial) day
Model-Based Software Engineering focuses on modern software engineering methods, technologies, and processes used in professional development projects. It covers both the pragmatic engineering elements and the underlying theory of the model-based approach to the analysis, design, implementation, and maintenance of complex software-intensive systems.
Students will participate in a group project, which will entail developing and/or evolving a software system, following a full development cycle from requirements specification through to implementation and testing using up-to-date industrial development tools and processes. At the end of the course they will provide a presentation and demonstration of their project work to the class. There is no formal teaching of a programming language in this unit, although students will be expected to demonstrate through their project work their general software engineering and architectural skills as well as their mastery of model-based methods and technologies.
Students successfully completing this unit will have a strong practical and theoretical understanding of the modern software development cycle as applied in industrial settings. In particular, they will be familiar with the latest model-based software engineering approaches necessary for successfully dealing with today's highly complex and challenging software systems.
The pedagogic grounds for this course and its focus on model-based approaches are to arm new software engineers with skills and perspectives that extend beyond the level of basic programming. Such skills are essential to success in software development nowadays, and are in great demand but very low supply. The dearth of such expertise is one of the key reasons behind the alarmingly high failure rate of industrial software projects (currently estimated at being greater than 40%). Therefore, this unit complements SQE and strengthens a key area in the program.
INFO5010 IT Advanced Topic A

Credit points: 6 Session: Semester 1,Semester 2 Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit will cover some topic of active and cutting-edge research within IT; the content of this unit may be varied depending on special opportunities such as a distinguished researcher visiting the University.
INFO5011 IT Advanced Topic B

Credit points: 6 Session: Semester 1,Semester 2 Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit will cover some topic of active and cutting-edge research within IT; the content of this unit may be varied depending on special opportunities such as a distinguished researcher visiting the University.
INFO5991 Services Science Management and Engineering

Credit points: 6 Session: Semester 1,Semester 2 Classes: Lectures, Seminars Assumed knowledge: INFO5990. Students are expected to have a degree in computer science, engineering, information technology, information systems or business. Assessment: Through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
The service economy plays a dominant and growing role in economic growth and employment in most parts of the world. Increasingly, the improved productivity and competitive performance of firms and nations in services relies on innovative and effective design, engineering, and management of IT-centric services.
This unit offers IT graduates and professionals an understanding of the role of IT-centric services in a social, economic and business context, as well as knowledge of the principles of their design, engineering and management in a service-oriented IT framework. Delivery of the unit is driven by a critical approach to the literature, live case studies presented by industry professionals and writing a Consultants' Report. Its learning outcomes are based on industry needs. Three modules address the range of topics in Services Science, Management and Engineering (SSME).
1. Service fundamentals context and strategy: the service economy and the nature of service systems; the role IT-centric services in a social, economic and business context; IT-centric services optimisation and innovation.
2. Designing and Engineering IT-centric services: service design; service oriented enterprise and IT architecture.
3. Sourcing, governing, and managing IT-centric services: outsourcing IT-centric services (including services in the cloud); IT-centric services governance and management (COBIT and ITIL; service level agreements.
Critical analysis of articles and the persuasive use of evidence in writing are cornerstones of the unit. Students learn how to apply these skills in business consulting processes to a business case drawn from a recent consulting project at a large multinational organisation. The processes include:clarifying the client's situation and problems, researching evidence related to it, analysing the evidence, developing options for solving the problems, presenting recommendations persuasively to the client both orally and in a written Consultants' Report. These steps are scaffolded for the student, with formative assessment, and increasing levels of difficulty.
Students need to be able to read, critically analyse, and report on an article or case study every three weeks. If you are not confident of your skills in these areas, you can enroll in the free courses provided by the University's Learning Centre in Academic Reading and Writing and Oral Communication Skills. Some of these courses are specifically designed for students with a non-English speaking background. Familiarity with using Library reference tools and the ability to locate scholarly resources in the Library's electronic databases is also necessary. See the Library's Research and information skills page for help with this http://www.library.usyd.edu.au/skills/
INFO5992 Understanding IT Innovations

Credit points: 6 Session: Semester 1,Semester 2 Classes: Lectures, Tutorials Prohibitions: PMGT5875 Assumed knowledge: INFO5990 Assessment: Through semester assessment (40%) and Final Exam (60%) Mode of delivery: Normal (lecture/lab/tutorial) day
An essential skill for an IT manager is the ability to keep up-to-date with emerging technologies, and be able to evaluate the significance of these technologies to their organisation's business activities. This unit of study is based around a study of current technologies and the influence of these technologies on business strategies.
Important trends in innovation in IT are identified and their implications for innovation management explored. Major topics include: drivers of innovation; the trend to open information ("open source") rather than protected intellectual property; and distribution of innovation over many independent but collaborating actors.
On completion of this unit, students will be able to identify and analyse an emerging technology and write a detailed evaluation of the impact of this technology on existing business practices.
INFO5993 IT Research Methods

Credit points: 6 Session: Semester 1,Semester 2 Classes: Seminars Assessment: Through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will provide an overview of the different research methods that are used in IT. Students will learn to find and evaluate research on their topic and to present their own research plan or results for evaluation by others. The unit will develop a better understanding of what research in IT is and how it differs from other projects in IT. Students will learn research ethics. This unit of study is required for students in IT who are enrolled in a research project as part of their Honours or MIT/MITM degree. It is also recommended for students enrolled or planning to do a research degree in IT and Engineering.
INFO6010 Advanced Topics in IT Project Management

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials (applied workshop), E-Learning Prerequisites: INFO6007, OR 3-5 years working experience in IT Project Management Assumed knowledge: Students are assumed to understand the role of IT projects. Assessment: Through semester assessment (50%) and Final Exam (50%) Mode of delivery: Normal (lecture/lab/tutorial) day
This unit will explore the limitations of IT project management and the most promising techniques to overcome project failure. It will start by reviewing case study research showing we have reached the limits of traditional IT project management practice. The theoretical base will be completed by exploring the finding that senior management have more impact on success than traditional approaches.
Participants will be introduced to and learn to apply the most promising tools and techniques needed to govern IT projects. The topics reviewed will include: 1) Strategy; 2) Organisational change; 3) Project sponsorship; 4) Programme management; 5) Performance measurement; 6) Culture; 7) Portfolio management; 8) Relevant Australian and International Standards on IT/Project Governance and new industry methodologies around portfolio, programme and change management will be reviewed.
ISYS5050 Knowledge Management Systems

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials Assumed knowledge: An undergraduate degree in Computer Science or Information Systems. Good grasp of database technologies and the role of information systems in organisations. Assessment: Through semester assessment (100%) Mode of delivery: Normal (lecture/lab/tutorial) day
The need to track and facilitate the sharing of the core knowledge resources in contemporary organisations is widely recognised. This course will provide a comprehensive introduction to the area of Knowledge Management (KM) from both technological and organisational perspectives. We will review and discuss a range of published papers, case studies, and other publications that deal with a range of important KM-related topics. One of the key knowledge management technologies, Business Intelligence Systems, will be covered in detail. It will also include hands-on work using the BI (Online Analytical Processing- OLAP) tool, COGNOS.
Some of the main themes to be covered will include: KM- Conceptual Foundations; Taxonomies of organizational knowledge and KM mechanisms; Case/Field Studies of KM Initiatives; Data Warehousing and OLAP/Business Analytics; Data, text, and web mining; Social media,crowdsourcing, and KM; Big data and actionable knowledge.
ISYS5070 Change Management in IT

Credit points: 6 Session: Summer Main Classes: Lectures, Tutorials, Presentation, Project Work - own time Assumed knowledge: The unit is expected to be taken after the following related units INFO6007 Project Management in IT and COMP5206 Information Technologies and Systems. Assessment: Through semester assessment (70%) and Final Exam (30%) Mode of delivery: Block mode
This unit of study presents the leading edge of research and practice in change management and focuses on theories, frameworks and perspectives that can guide your work as a change agent in the IT industries. The unit will cover a range of approaches, methods, interventions and tools that can be used to successfully manage change projects that relate to the implementation of new technologies.
The globalisation of markets and industries, accelerating technological innovations and the need of companies to remain at the forefront of technological developments in an increasingly competitive, globalised industry have resulted in a significant increase in the speed, magnitude, and unpredictability of technological and organisational change over the last decades. Companies who have the competencies required to navigate change and overcome the inevitable obstacles to success gain a much-needed competitive edge in the marketplace. Increased globalization, economic rationalism, environmental dynamics and technological changes mean that companies, more than ever before, need to be highly flexible and adaptable to survive and thrive. Yet, a large percentage of IT projects fail to achieve the intended objectives, go over time or over budget. The capability to successfully manage organisational and technological change has become a core competency for IT professionals, business leaders and project managers.
This unit has been specifically developed for IT professionals, project managers, and senior managers to equip them with the knowledge and tools needed to ensure that IT projects remain on track to achieving the intended objectives on time and on budget. The course presents the key theories, concepts and findings in the context of academic research and change management practice. The objective is to allow participants to critically assess academic theories and methodological practice and devise interventions and actions that allow the successful management of IT initiatives.
COMP5348 Enterprise Scale Software Architecture will not be offered in 2019.


For a standard enrolment plan for Bachelor of Advanced Computing visit CUSP https://cusp.sydney.edu.au.