Table 1: Computer Science

Unit of study Credit points A: Assumed knowledge P: Prerequisites C: Corequisites N: Prohibition Session

Computer Science

For a major in Computer Science the minimum requirement is 24 credit points chosen from the senior units of study listed for this subject area.
Junior units of study
ELEC1601
Introduction to Computer Systems
6    A HSC Mathematics extension 1 or 2
Semester 2
INFO1110
Introduction to Programming
6    N INFO1910 OR INFO1103 OR INFO1903 OR INFO1105 OR INFO1905
Semester 1
Semester 2
INFO1113
Object-Oriented Programming
6    P INFO1110 OR INFO1910
N INFO1103 OR INFO1105 OR INFO1905
Semester 1
Semester 2
Summer Main
DATA1002
Informatics: Data and Computation
6    N INFO1903 OR DATA1902
Semester 2
INFO1911
IT Special Project 1A
6   
Note: Department permission required for enrolment

Semester 1
INFO1912
IT Special Project 1B
6   
Note: Department permission required for enrolment

Semester 2
Intermediate units of study
COMP2017
Systems Programming
6    P INFO1113 OR INFO1105 OR INFO1905 OR INFO1103
C COMP2123 OR COMP2823 OR INFO1105 OR INFO1905
N COMP2129
Semester 1
COMP2022
Programming Languages, Logic and Models
6    A MATH1004 OR MATH1904 OR MATH1064 OR MATH2069 OR MATH2969
P INFO1103 OR INFO1903 OR INFO1113
N COMP2922
Semester 2
COMP2123
Data Structures and Algorithms
6    P INFO1110 OR INFO1910 OR INFO1113 OR DATA1002 OR DATA1902 OR INFO1103 OR INFO1903
N INFO1105 OR INFO1905 OR COMP2823
Semester 1
ISYS2110
Analysis and Design of Web Info Systems
6    P INFO1113 OR INFO1103 OR INFO1105 OR INFO1905
N INFO2110
Semester 1
INFO2120
Database Systems 1

This unit of study is not available in 2019

6    P INFO1003 OR INFO1103 OR INFO1903 OR INFS1000 OR DECO1012.
N INFO2905, COMP5138, INFO2820
Semester 1
INFO2820
Database Systems 1 (Advanced)

This unit of study is not available in 2019

6    P Distinction-level result in INFO1003 or INFO1103 or INFO1903 or INFO1105 or INFO1905 or DECO1012.
N INFO2905, COMP5138, INFO2120
Semester 1
ISYS2120
Data and Information Management
6    A Programming skills
P INFO1113 OR INFO1103 OR INFO1105 OR INFO1905 OR INFO1003 OR INFO1903 OR DECO1012
N INFO2120 OR INFO2820 OR COMP5138
Semester 2
ISYS2160
Information Systems in the Internet Age
6    A INFO1003 OR INFO1103 OR INFO1903 OR INFO1113
N ISYS2140
Semester 2
INFO2150
Introduction to Health Data Science
6    A Basic knowledge of Entity Relationship Modelling, database technology and SQL
P (INFO1003 OR INFO1903 OR INFO1103 OR INFO1110 OR INFO1910 OR DATA1002 OR DATA1902) AND (DATA1001 OR MATH1005 OR MATH1905 OR MATH1015 OR BUSS1020)
C DATA2001 OR DATA2901 OR ISYS2120 OR INFO2120 OR INFO2820 OR INFO1903
Semester 2
INFO2222
Computing 2 Usability and Security
6    P (INFO1103 OR INFO1105 OR INFO1905 OR INFO1113) AND (INFO1111 OR INFO1711 OR ENGG1111 OR ENGD1000 OF ENGG1805)
Semester 1
INFO2911
IT Special Project 2A
6    P [85% average in IT units of study in previous year] AND [Permission from the School of IT]

Note: Department permission required for enrolment

Semester 1
INFO2912
IT Special Project 2B
6    P [85% average in IT units of study in previous year] AND [Permission from the School of IT]

Note: Department permission required for enrolment

Semester 2
SOFT2412
Agile Software Development Practices
6    P INFO1113 OR INFO1103 OR INFO1105 OR INFO1905
Semester 2
Senior units of study
COMP3027
Algorithm Design
6    A MATH1004 OR MATH1904 OR MATH1064
P COMP2123 OR COMP2823 OR INFO1105 OR INFO1905
N COMP2007 OR COMP2907 OR COMP3927
Semester 1
COMP3927
Algorithm Design (Adv)
6    A MATH1004 OR MATH1904 OR MATH1064
P COMP2123 OR COMP2823 OR INFO1105 OR INFO1905
N COMP2007 OR COMP2907 OR COMP3027

Note: Department permission required for enrolment

Semester 1
COMP3221
Distributed Systems
6    P (INFO1105 OR INFO1905) OR ((INFO1103 OR INFO1113) AND (COMP2123 OR COMP2823))
N COMP2121
Semester 1
COMP3308
Introduction to Artificial Intelligence
6    A Algorithms. Programming skills (e.g. Java, Python, C, C++, Matlab)
N COMP3608
Semester 1
COMP3608
Introduction to Artificial Intelligence (Adv)
6    A Algorithms. Programming skills (e.g. Java, Python, C, C++, Matlab)
P Distinction-level results in at least one 2000 level COMP or MATH or SOFT unit
N COMP3308


COMP3308 and COMP3608 share the same lectures, but have different tutorials and assessment (the same type but more challenging).
Semester 1
COMP3419
Graphics and Multimedia
6    A Programming skills
P COMP2123 OR COMP2823 OR INFO1105 OR INFO1905
Semester 2
COMP3520
Operating Systems Internals
6    P (COMP2017 OR COMP2129) AND (COMP2123 OR COMP2823 OR INFO1105 OR INFO1905)
Semester 2
COMP3615
Computer Science Project

This unit of study is not available in 2019

6    P (COMP2123 OR COMP2823) AND COMP2017 AND (COMP2022 OR COMP2922)
N INFO3600 OR COMP3600

Note: Department permission required for enrolment

Semester 2
INFO3220
Object Oriented Design
6    P (INFO2110 OR ISYS2110) AND (COMP2129 OR COMP2017)
N SOFT2201 OR SOFT3202
Semester 1
INFO3315
Human-Computer Interaction
6      Semester 2
INFO3333
Computing 3 Management
6    P (INFO1111 OR INFO1711) AND (ISYS2120 OR INFO2120) AND SOFT2412
N INFO3402
Semester 1
INFO3616
Principles of Security and Security Eng
6    A (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.
N ELEC5616 OR INFO2315
Semester 2
DATA3404
Data Science Platforms
6    A 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.
P DATA2001 OR DATA2901 OR ISYS2120 OR INFO2120 OR INFO2820
N INFO3504 OR INFO3404
Semester 1
INFO3406
Introduction to Data Analytics

This unit of study is not available in 2019

6    A Basic statistics and database management.
P (MATH1005 OR MATH1905) AND (INFO2120 OR INFO2820).
Semester 2
INFO3600
Major Development Project (Advanced)
12    P INFO3402 or INFO3333
N COMP3615 OR ISYS3400 OR COMP3888 OR ISYS3888

Note: Department permission required for enrolment
Only available to students in BIT, BCST(Adv) or BSc(Adv).
Semester 2
INFO3911
IT Special Project 3A
6    P [85% average in IT units of study in previous year] AND [Permission from the School of IT]

Note: Department permission required for enrolment
Enrolment by department permission for students with 85% average in School of IT units plus minimum 75% average in other units
Semester 1
INFO3912
IT Special Project 3B
6    P [85% average in IT units of study in previous year] AND [Permission from the School of IT]

Note: Department permission required for enrolment
Enrolment by department permission for students with 85% average in School of IT units plus minimum 75% average in other units
Semester 2
ELEC3506
Data Communications and the Internet
6      Semester 2
ELEC3609
Internet Software Platforms
6    P (INFO1103 OR INFO1110 OR INFO1910) AND (INFO2110 OR ISYS2110) AND (INFO2120 OR INFO2820 OR ISYS2120)
N EBUS4001
Semester 2
ELEC3610
E-Business Analysis and Design
6    N EBUS3003
Semester 1
SOFT3413
Software Development Project

This unit of study is not available in 2019

6    A SOFT3202
P 18CP 2000-level or above units from SOFT, COMP or INFO
Semester 2

Students should note that applications for Special Consideration on the basis of illness, injury or misadventure for INFO, ISYS, COMP, ELEC units of study should be lodged with the Faculty of Engineering and IT.

Computer Science

For a major in Computer Science the minimum requirement is 24 credit points chosen from the senior units of study listed for this subject area.
Junior units of study
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%) Campus: Camperdown/Darlington, Sydney 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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
DATA1002 Informatics: Data and Computation

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories, Project Work - own time Prohibitions: INFO1903 OR DATA1902 Assessment: through semester assessment (50%), final exam (50%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
This unit covers computation and data handling, integrating sophisticated use of existing productivity software, e.g. spreadsheets, with the development of custom software using the general-purpose Python language. It will focus on skills directly applicable to data-driven decision-making. Students will see examples from many domains, and be able to write code to automate the common processes of data science, such as data ingestion, format conversion, cleaning, summarization, creation and application of a predictive model.
INFO1911 IT Special Project 1A

Credit points: 6 Session: Semester 1 Classes: Meetings, Project Work - own time Assessment: Through semester assessment (100%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This is a unit of study for the junior student who is an academic high achiever as well as talented in IT areas. Students will be involved in advance projects (which may be research-oriented). They need to apply their problem solving and IT skills in the project. As a result, their horizon in computer science and information system is broadened.
INFO1912 IT Special Project 1B

Credit points: 6 Session: Semester 2 Classes: Meetings, Project Work - own time Assessment: Through semester assessment (100%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This is a unit of study for the junior student who is an academic high achiever and is talented in IT areas. Students will involve in advance projects which have research components, so that they can further demonstrate their IT and problem solving capabilities.
Intermediate 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%) Campus: Camperdown/Darlington, Sydney 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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
INFO2120 Database Systems 1

This unit of study is not available in 2019

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratories, Project Work - own time Prerequisites: INFO1003 OR INFO1103 OR INFO1903 OR INFS1000 OR DECO1012. Prohibitions: INFO2905, COMP5138, INFO2820 Assessment: Through semester assessment (50%) and Final Exam (50%) Campus: Camperdown/Darlington, Sydney 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 organisations.
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 normalisation 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 different query languages with a particular emphasis on SQL, which is industry standard. Other topics covered will include the important concept of transaction management, application development with a backend database, an overview of data warehousing and OLAP, and the use of XML as a data integration language.
INFO2820 Database Systems 1 (Advanced)

This unit of study is not available in 2019

Credit points: 6 Session: Semester 1 Classes: Lectures, Laboratories, Project Work - own time Prerequisites: Distinction-level result in INFO1003 or INFO1103 or INFO1903 or INFO1105 or INFO1905 or DECO1012. Prohibitions: INFO2905, COMP5138, INFO2120 Assessment: Through semester assessment (50%) and Final Exam (50%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
The ubiquitous use of information technology comes with immense amounts of data produced by users, IT systems and mobile devices. The proper management of data is essential for all applications, especially new ones that want to make intelligent use of the data, and for effective decision making within organisations.
This unit of study is an advanced alternative to INFO2120 that will introduce the basic concepts of database designs at the conceptual, logical and physical levels. Particular emphasis will be placed 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 different query languages with a particular emphasis on SQL and, in INFO2820, querying graph and hierarchical data. Other topics covered will include recursive SQL, graphs in databases, NoSQL databases, transaction management, application development with a backend database, an overview of data warehousing and OLAP, and the use of XML as a data integration language.
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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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
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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
INFO2911 IT Special Project 2A

Credit points: 6 Session: Semester 1 Classes: Meetings, Project Work - own time Prerequisites: [85% average in IT units of study in previous year] AND [Permission from the School of IT] Assessment: Through semester assessment (100%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit enables talented students to apply their IT knowledge from the junior years to do more exciting projects. Students are provided with the opportunities to get involved in projects which are research intensive.
INFO2912 IT Special Project 2B

Credit points: 6 Session: Semester 2 Classes: Meetings, Project Work - own time Prerequisites: [85% average in IT units of study in previous year] AND [Permission from the School of IT] Assessment: Through semester assessment (100%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
This unit enables talented students to apply their IT knowledge from their junior years to do more exciting projects. Students are provided with the opportunities to get involved in projects which are research intensive.
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%) Campus: Camperdown/Darlington, Sydney 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.
Senior 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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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%) Campus: Camperdown/Darlington, Sydney 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.).
COMP3615 Computer Science Project

This unit of study is not available in 2019

Credit points: 6 Session: Semester 2 Classes: Project Work, Site Visit, Meetings Prerequisites: (COMP2123 OR COMP2823) AND COMP2017 AND (COMP2022 OR COMP2922) Prohibitions: INFO3600 OR COMP3600 Assessment: Through semester assessment (100%) Campus: Camperdown/Darlington, Sydney 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.
INFO3220 Object Oriented Design

Credit points: 6 Session: Semester 1 Classes: Lectures, Tutorials, Project Work - own time Prerequisites: (INFO2110 OR ISYS2110) AND (COMP2129 OR COMP2017) Prohibitions: SOFT2201 OR SOFT3202 Assessment: Through semester assessment (50%) and Final Exam (50%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
This unit covers essential design methods and language mechanisms for successful object-oriented design and programming. C++ is used as the implementation language and a special emphasis is placed on those features of C++ that are important for solving real-world problems. Advanced software engineering features, including exceptions and name spaces are thoroughly covered.
INFO3315 Human-Computer Interaction

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories Assessment: Through semester assessment (50%) and Final Exam (50%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
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%) Campus: Camperdown/Darlington, Sydney 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.
INFO3406 Introduction to Data Analytics

This unit of study is not available in 2019

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories Prerequisites: (MATH1005 OR MATH1905) AND (INFO2120 OR INFO2820). Assumed knowledge: Basic statistics and database management. Assessment: Through semester assessment (40%) and Final Exam (60%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Big Data refers to datasets that are massive, heterogenous, and dynamic that are beyond current approaches for the capture, storage, management, and analysis of the data. The focus of this unit is on understanding and applying relevant concepts, techniques, algorithms, and tools for the analysis, management and visualization of big data - with the goal of keeping abreast of the continual increase in the volume and complexity of data sets and enabling discovery of information and knowledge to guide effective decision making.
INFO3600 Major Development Project (Advanced)

Credit points: 12 Session: Semester 2 Classes: Project Work - in class, Site Visits, Project Work - own time, Meetings Prerequisites: INFO3402 or INFO3333 Prohibitions: COMP3615 OR ISYS3400 OR COMP3888 OR ISYS3888 Assessment: Through semester assessment (100%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
Note: Only available to students in BIT, BCST(Adv) or BSc(Adv).
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.
INFO3911 IT Special Project 3A

Credit points: 6 Session: Semester 1 Classes: Meetings, Project Work - own time Prerequisites: [85% average in IT units of study in previous year] AND [Permission from the School of IT] Assessment: Through semester assessment (100%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
Note: Enrolment by department permission for students with 85% average in School of IT units plus minimum 75% average in other units
This unit enables talents students with maturing IT knowledge to integrate various IT skills and techniques to carry out projects. These projects are largely research intensive.
INFO3912 IT Special Project 3B

Credit points: 6 Session: Semester 2 Classes: Meetings, Project Work - own time Prerequisites: [85% average in IT units of study in previous year] AND [Permission from the School of IT] Assessment: Through semester assessment (100%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Note: Department permission required for enrolment
Note: Enrolment by department permission for students with 85% average in School of IT units plus minimum 75% average in other units
This unit enables talents students with maturing IT knowledge to integrate various IT skills and techniques to carry out projects. These projects are largely research intensive.
ELEC3506 Data Communications and the Internet

Credit points: 6 Session: Semester 2 Classes: Lectures, Laboratories, Tutorials Assessment: Through semester assessment (50%) and Final Exam (50%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
Students undertaking this unit should be familiar with fundamental digital technologies and representations such as bit complement and internal word representation. Students should also have a basic understanding of the physical properties of communication channels, techniques and limitations. Furthermore, students should be able to apply fundamental mathematical skills.
The unit will cover the following specific material: Communication reference models (TCP/IP and OSI). Circuit switched and packet switched communication. Network node functions and building blocks. LAN, MAN, WAN, WLAN technologies. Protocols fundamental mechanisms. The TCP/IP core protocols (IP, ICMP, DHCP, ARP, TCP, UDP etc. ). Applications and protocols (ftP, Telnet, SMTP, HTTP etc. ), Network Management and Security.
ELEC3609 Internet Software Platforms

Credit points: 6 Session: Semester 2 Classes: Lectures, Tutorials, Project Work - own time Prerequisites: (INFO1103 OR INFO1110 OR INFO1910) AND (INFO2110 OR ISYS2110) AND (INFO2120 OR INFO2820 OR ISYS2120) Prohibitions: EBUS4001 Assessment: Through semester assessment (60%) and Final Exam (40%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
This unit of study will focus on the design, the architecture and the development of web applications using technologies currently popular in the marketplace including Java and . NET environments. There are three key themes examined in the unit: Presentation layer, Persistence layer, and Interoperability. The unit will examine practical technologies such as JSP and Servlets, the model-view-controller (MVC) architecture, database programming with ADO. NET and JDBC, advanced persistence using ORM, XML for interoperability, and XML-based SOAP services and Ajax, in support of the theoretical themes identified.
On completion the students should be able to: Compare Java/J2EE web application development with Microsoft . NET web application development; Exposure to relevant developer tools (e. g. Eclipse and VS. NET); Be able to develop a real application on one of those environments; Use XML to implement simple web services and AJAX applications.
ELEC3610 E-Business Analysis and Design

Credit points: 6 Session: Semester 1 Classes: Project Work - in class, Project Work - own time, Presentation, Tutorials Prohibitions: EBUS3003 Assessment: Through semester assessment (70%) and Final Exam (30%) Campus: Camperdown/Darlington, Sydney Mode of delivery: Normal (lecture/lab/tutorial) day
This unit examines the essential pre-production stages of designing successful internet websites and services. It focuses on the aspects of analysis, project specification, design, and prototype that lead up to the actual build of a website or application. Topics include, B2C, B2B and B2E systems, business models, methodologies, modeling with use cases / UML and WebML, the Project Proposal and Project Specification Document, Information Architecture and User-Centred Design, legal issues, and standards-based web development. Students build a simple use-case based e-business website prototype with web standards. A final presentation of the analysis, design and prototype are presented in a role play environment where students try to win funding from a venture capitalist. An understanding of these pre-production fundamentals is critical for future IT and Software Engineering Consultants, Project Managers, Analysts and CTOs.
SOFT3413 Software Development Project

This unit of study is not available in 2019

Credit points: 6 Session: Semester 2 Classes: project work, site visits, meetings Prerequisites: 18CP 2000-level or above units from SOFT, COMP or INFO Assumed knowledge: SOFT3202 Assessment: through semester assessment (100%) Campus: Camperdown/Darlington, Sydney 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.