Coursework
Master of Computer Science
- CRICOS Code: 0100884
Navigation
What will I study?
Overview
Course structure
Successful completion of 200 credit points, made up of:
- One compulsory coursework subject on research methods (12.5 points)
- At least two foundational computer science subjects (25–37.5 points)
- At least four elective subjects (50–62.5 points)
- One compulsory research project (100 points)
You’ll select elective subjects from a diverse offering, focusing on at least one area of:
- Advanced Computer Science
- Artificial Intelligence
- Cybersecurity
- Human-Computer Interaction
- Programming Languages and Distributed Computing
- Spatial Information
All students will undertake a research project, working on a real-world computer science research question. To support you and provide direction, you’ll be matched with one of our expert computer scientists.
Up to 50 points can be from these areas outside of computer science:
- Mathematics and Statistics
- Geomatics
- Electrical and Electronic Engineering
- Linguistics and Applied Linguistics
(Subject to approval by the course coordinator and the academic division offering the subject.)
Explore this course
Explore the subjects you could choose as part of this degree.
Core
Students must complete the following subject (12.5 points):
- Research Methods 12.5 pts
AIMS
Research is a process of acquiring new knowledge by systematically and rigorously applying methods to address well-formulated questions. To be valuable, new knowledge must address a significant theoretical question, it must be supported by evidence and be able to stand up to critical scrutiny, and its presentation to other researchers and/or to the public must be persuasive. This subject is an introduction to research thinking, skills and methodologies as they apply to computing and related disciplines. The subject will foster the development of critical thinking, a sceptical and rigorous approach, and awareness of research ethics. This subject will be particularly useful for students contemplating undertaking a research degree, or for students currently enrolled in a research degree (MPhil or PhD) or a course-work degree with a research project (MIT, MIS).
INDICATIVE CONTENT
Research skills covered will include: surveying relevant literature, developing productive research questions, selecting and designing appropriate methods, analysing data and reasoning about their theoretical implications, communicating research both in writing and through oral presentation, and understanding the ethics of research. Qualitative methods covered include: ethnography, field data collection techniques (interviews, focus groups), thematic analysis, case studies and design-based research. Quantitative methods covered include: statistical thinking and techniques, hypothesis testing, experiment design, survey design, simulation studies.
Foundation
Select at least two of the following subjects (25–37.5 points) from:
- Distributed Systems 12.5 pts
AIMS
The subject aims to provide an understanding of the principles on which the Web, Email, DNS and other interesting distributed systems are based. Questions concerning distributed architecture, concepts and design; and how these meet the demands of contemporary distributed applications will be addressed.
INDICATIVE CONTENT
Topics covered include: characterization of distributed systems, system models, interprocess communication, remote invocation, indirect communication, operating system support, distributed objects and components, web services, security, distributed file systems, and name services.
- Declarative Programming 12.5 pts
AIMS
Declarative programming languages provide elegant and powerful programming paradigms which every programmer should know. This subject presents declarative programming languages and techniques.
INDICATIVE CONTENT
- The dangers of destructive update
- Functional programming
- Recursion
- Strong type systems
- Parametric polymorphism
- Algebraic types
- Type classes
- Defensive programming practice
- Higher order programming
- Currying and partial application
- Lazy evaluation
- Monads
- Logic programming
- Unification and resolution
- Nondeterminism, search, and backtracking
- Introduction to Machine Learning 12.5 pts
AIMS
Machine Learning is the study of making accurate, computationally efficient, interpretable and robust inferences from data, often drawing on principles from statistics. This subject aims to introduce students to the intellectual foundations of machine learning, including the mathematical principles of learning from data, algorithms and data structures for machine learning, and practical skills of data analysis.
INDICATIVE CONTENT
Indicative content includes: cleaning and normalising data, supervised learning (classification, regression, linear & non-linear models), and unsupervised learning (clustering), and mathematical foundations for a career in machine learning.
- AI Planning for Autonomy 12.5 pts
AIMS
The key focus of this subject is the foundations of autonomous agents that reason about action, applying techniques such as automated planning, reinforcement learning, game theory, and their real-world applications. Autonomous agents are active entities that perceive their environment, reason, plan and execute appropriate actions to achieve their goals, in service of their users (the real world, human beings, or other agents). The subject focuses on the foundations that enable agents to reason autonomously about goals & rewards, perception, actions, strategy, and the knowledge of other agents during collaborative task execution, and the ethical impacts of agents with this ability.
The programming language used in this subject is Python. No lectures or workshops on Python will be delivered.INDICATIVE CONTENT
Topics are drawn from the field of advanced artificial intelligence including:
- Search algorithms and heuristic functions
- Classical (AI) planning
- Markov Decision Processes
- Reinforcement learning
- Game theory
- Ethics in AI planning
- Foundations of Spatial Information 12.5 pts
AIMS
This is an introductory subject to Geograhpic Information Systems (GIS) and Geographic Information Science, both practically and theoretically, at postgraduate level. Spatial information is ubiquitous in decision making. Be it in urban planning, in traffic or disaster management, in way-finding, in issues of the environment, public health and sustainability, or in economic contexts: the question of 'where' is a fundamental one. Spatial information is also special in many respects, such as its dimensionality and autocorrelation, its volume, its links to the Internet of Things (things are always located somewhere), to social networks (which exist in space and time), to streaming data from sensors everywhere, or to intelligent (location-aware) systems. The subject provides the foundations for more specialized subjects on spatial data management, spatial data analysis and spatial data visualization, and is of particular relevance to people wishing to establish a career in the spatial information industry, the environmental or planning industry. It is also suited for every postgraduate student who is looking for solid GIS skills.
INDICATIVE CONTENT
We will discuss representations and analysis of this information in spatial information technologies, from location-based services to geographic information systems. Topics addressed are observing the environment; spatial and spatiotemporal data representations, spatial analysis and spatial communication. The practical part will introduce to GIS in a hands-on manner, starting in individual software training and then applying new skills in a team-designed GIS project.
- Evaluating the User Experience 12.5 pts
User Experience (UX) means the way we respond to technology, including our practical, intellectual, emotional and affective responses. UX is widely recognised as a major determinant of successful technology outcomes, and it provides the design inspiration behind some of the most successful innovations in digital technologies that define the present era. This subject concerns the methods and techniques that are used to identify what characterises UX and how you can recognise, measure and evaluate it in a variety of contexts. This entails a deep understanding of the psychological and social theories underlying UX, combined with practical knowledge of the various industry methods and tools currently in use. In terms of practice, an emphasis is placed on learning the skills needed to design, justify and conduct appropriate evaluations, and the interpretation of findings. In terms of theory, special emphasis is placed on how to identify and evaluate the various facets of UX, across a range of social and work-based settings, and across a range of technologies.
Elective
Select at least four of the following subjects (50–62.5 points) from:
- Algorithms for Bioinformatics 12.5 pts
AIMS
Technological advances in obtaining high throughput data have stimulated the development of new computational approaches to bioinformatics. This subject will cover core computational challenges in analysing bioinformatics data. We cover important algorithmic approaches and data structures used in solving these problems, and the challenges that arise as these problems increase in scale.
The subject is a core subject in the MSc (Bioinformatics) and is an elective in the Master of Information Technology and the Master of Engineering. It can also be taken by PhD students and by undergraduate students, subject to the approval of the lecturer.
INDICATIVE CONTENT
The subject covers key algorithms used in bioinformatics, with a focus on genomics. Indicative topics are: sequence alignment (dynamic algorithms and seed-and-extend), genome assembly, variant detection, phylogenetic reconstruction, genomic intervals, complexity and correctness of algorithms, clustering and classification of genomics data, data reduction and visualisation.
The subject assumes you have experience in programming and familiarity with the foundations of genomics.
- Computational Genomics 12.5 pts
AIM
The study of genomics is on the forefront of biology. Current laboratory technologies generate huge amounts of data. Computational analysis is necessary to make sense of these data. This subject covers a broad range of approaches to the computational analysis of genomic data. Students learn the theory behind the different approaches to genomic analysis, preparing them to use existing methods appropriately and positioning them to develop new ways to analyse genomic data.
The subject is a core subject in the MSc (Bioinformatics), and is an elective in the Master of Information Technology and the Master of Engineering. It can also be taken by PhD students and by undergraduate students, subject to the approval of the lecturer.
INDICATIVE CONTENT
This subject covers computational analysis of genomic data, from the perspective of information theory. Topics include information theoretic analysis of genomic sequences; sequence comparison, including heuristic approaches and multiple sequence alignment; and approaches to motif finding and genome annotation, including probabilistic modelling and visualization, computational detection of RNA families, and current challenges in protein structure determination. Practical work includes writing bioinformatics applications programs and preparing a research report that uses existing bioinformatics web resources.
- Mobile Computing Systems Programming 12.5 pts
AIMS
Mobile devices are ubiquitous nowadays. Mobile computing encompasses technologies, devices and software that enable (wireless) access to services anyplace, anytime, and anywhere. This subject will cover fundamental mobile computing techniques and technologies, and explain challenges that are unique to the design, implementation, and evaluation of mobile computing. In particular, this subject will enable students to develop mobile phone applications that take advantage of the unique sensing capabilities of mobile devices, their multi-modal interaction capabilities, and their ability to sense and respond to context.
- Distributed Algorithms 12.5 pts
AIMS
The Internet, World Wide Web, bank networks, mobile phone networks and many others are examples for Distributed Systems. Distributed Systems rely on a key set of algorithms and data structures to run efficiently and effectively. In this subject, we learn these key algorithms that professionals work with while dealing with various systems. Clock synchronization, leader election, mutual exclusion, and replication are just a few areas were multiple well known algorithms were developed during the evolution of the Distributed Computing paradigm.
INDICATIVE CONTENT
Topics covered include:
- Synchronous and asynchronous network algorithms that address resource allocation, communication
- Consensus among distributed processes
- Distributed data structures
- Data consistency
- Deadlock detection
- Lader election, and
- Global snapshots issues.
- Cluster and Cloud Computing 12.5 pts
AIMS
The growing popularity of the Internet along with the availability of powerful computers and high-speed networks as low-cost commodity components are changing the way we do parallel and distributed computing (PDC). Cluster and Cloud Computing are two approaches for PDC. Clusters employ cost-effective commodity components for building powerful computers within local-area networks. Recently, “cloud computing” has emerged as the new paradigm for delivery of computing as services in a pay-as-you-go-model via the Internet. These approaches are used to tackle may research problems with particular focus on "big data" challenges that arise across a variety of domains.
Some examples of scientific and industrial applications that use these computing platforms are: system simulations, weather forecasting, climate prediction, automobile modelling and design, high-energy physics, movie rendering, business intelligence, big data computing, and delivering various business and consumer applications on a pay-as-you-go basis.
This subject will enable students to understand these technologies, their goals, characteristics, and limitations, and develop both middleware supporting them and scalable applications supported by these platforms.
This subject is an elective subject in the Master of Information Technology. It can also be taken as an Advanced Elective subject in the Master of Engineering (Software).
INDICATIVE CONTENT
- Cluster computing: elements of parallel and distributed computing, cluster systems architecture, resource management and scheduling, single system image, parallel programming paradigms, cluster programming with MPI
- Utility computing: foundations and grid computing technologies
- Cloud computing: cloud platforms, Virtualization, Cloud Application Programming Models (Task, Thread, and MapReduce), Cloud applications, and future directions in utility and cloud computing
- "Big data" processing and analytics in distributed environments.
- Parallel and Multicore Computing 12.5 pts
AIMS
The subject aims to introduce students to parallel algorithms and their analysis. Fundamental principles of parallel computing are discussed. Various parallel architectures and programming platforms are introduced. Parallel algorithms for different architectures, as well as parallel algorithms addressing specific scientific problems are critically analysed.
INDICATIVE CONTENT
Topics include: principles of parallel computing, PRAM model, PRAM algorithms, parallel architectures, OpenMP, shared memory algorithms, systolic algorithms, parallel communication patterns, PVM/MPI, scientific applications, hypercube, graph embeddings and extended parallel computing models.
- Natural Language Processing 12.5 pts
AIMS
Much of the world's knowledge is stored in the form of text, and accordingly, understanding and harnessing knowledge from text are key challenges. In this subject, students will learn computational methods for working with text, in the form of natural language understanding, and language generation. Students will develop an understanding of the main algorithms used in natural language processing, for use in a diverse range of applications including machine translation, text mining, sentiment analysis, and question answering. The programming language used is Python.
INDICATIVE CONTENT
Topics covered may include:
- Text classification and unsupervised topic discovery
- Vector space models for natural language semantics
- Structured prediction for tagging
- Syntax models for parsing of sentences and documents
- N-gram language modelling
- Automatic translation, and multilingual methods
- Relation extraction and coreference resolution
- Cryptography and Security 12.5 pts
AIMS
The subject will explore foundational knowledge in the area of cryptography and information security. The overall aim is to gain an understanding of fundamental cryptographic concepts like encryption and signatures and use it to build and analyse security in computers, communications and networks. This subject covers fundamental concepts in information security on the basis of methods of modern cryptography, including encryption, signatures and hash functions.
This subject is an elective subject in the Master of Engineering (Software). It can also be taken as an advanced elective in Master of Information Technology.
INDICATIVE CONTENT
The subject will be made up of three parts:
- Cryptography: the essentials of public and private key cryptography, stream ciphers, digital signatures and cryptographic hash functions
- Access Control: the essential elements of authentication and authorization; and
- Secure Protocols; which are obtained through cryptographic techniques.
A particular emphasis will be placed on real-life protocols such as Secure Socket Layer (SSL) and Kerberos.
Topics drawn from:
- Symmetric key crypto systems
- Public key cryptosystems
- Hash functions
- Authentication
- Secret sharing
- Protocols
- Key Management.
- Programming Language Implementation 12.5 pts
AIMS
Good craftsmen know their tools, and compilers are amongst the most important tools that programmers use. There are many ways in which familiarity with compilers helps programmers. For example, knowledge of semantic analysis helps programmers understand error messages, and knowledge of code generation techniques helps programmers debug problems at assembly language level. The technologies used in compiler development are also useful when implementing other kinds of programs. The concepts and tools used in the analysis phases of a compiler are useful for any program whose input has a structure that is non-trivial to recognize, while those used in the synthesis phases are useful for any program that generates commands for another system. This subject provides an understanding of the main principles of programming language implementation, as well as first hand experience of the application of those principles.
INDICATIVE CONTENT
The subject describes how compilers analyse source programs, how they translate them to target programs, and what tools are available to support these tasks. Topics covered include compiler structures; lexical analysis; syntax analysis; semantic analysis; intermediate representations of programs; code generation; and optimisation.
- Advanced Database Systems 12.5 pts
AIMS
Many applications require access to very large amounts of data. These applications often require reliability (data must not be lost even in the presence of hardware failures), and the ability to retrieve and process the data very efficiently.
The subject will cover the technologies used in advanced database systems. Topics covered will include: transactions, including concurrency, reliability (the ACID properties) and performance; and indexing of both structured and unstructured data. The subject will also cover additional topics such as: uncertain data; Xquery; the Semantic Web and the Resource Description Framework; dataspaces and data provenance; datacentres; and data archiving.
INDICATIVE CONTENT
Topics include:
- Introduction to High Performance Database Systems
- Issues of Performance and Reliability
- Transaction Processing
- Recovery from Failures
- Map Reduce Models.
- Statistical Machine Learning 12.5 pts
AIMS
With exponential increases in the amount of data becoming available in fields such as finance and biology, and on the web, there is an ever-greater need for methods to detect interesting patterns in that data, and classify novel data points based on curated data sets. Learning techniques provide the means to perform this analysis automatically, and in doing so to enhance understanding of general processes or to predict future events.
Topics covered will include: supervised learning, semi-supervised and active learning, unsupervised learning, kernel methods, probabilistic graphical models, classifier combination, neural networks.
This subject is intended to introduce graduate students to machine learning though a mixture of theoretical methods and hands-on practical experience in applying those methods to real-world problems.
INDICATIVE CONTENT
Topics covered will include: linear models, support vector machines, random forests, AdaBoost, stacking, query-by-committee, multiview learning, deep neural networks, un/directed probabilistic graphical models (Bayes nets and Markov random fields), hidden Markov models, principal components analysis, kernel methods.
- Advanced Theoretical Computer Science 12.5 pts
AIMS
At the heart of theoretical computer science are questions of both philosophical and practical importance. What does it mean for a problem to be solvable by computer? What are the limits of computability? Which types of problems can be solved efficiently? What are our options in the face of intractability? This subject covers such questions in the content of a wide-ranging exploration of the nexus between logic, complexity and algorithms, and examines many important (and sometimes surprising) results about the nature of computing.
INDICATIVE CONTENT
- Turing machines
- The Church-Turing Thesis
- Decidable languages
- Reducability
- Time Complexity: The classes P and NP, NP-complete problems
- Space complexity: including sub-linear space
- Circuit complexity
- Approximation algorithms
- Probabilistic complexity classes
- Additional topics may include descriptive complexity, interactive proofs, communication complexity, complexity as applied to cryptography
- Space complexity, including sub-linear space
- Finite state automata, pushdown automata, regular languages, context-free languages to the Recommended Background Knowledge.
Example of assignment
- Proving the equivalence of a variant of a standard machine to the original version
- Describing an NP-hardness reduction
- Designing an approximation algorithm for an NP-hard problem.
- Security Analytics 12.5 pts
AIMS
As we become more dependent on networks in every aspect of our lives the task of protecting those networks becomes harder. The sheer quantity of data and sophistication of the attacks is rapidly making manual analysis infeasible. Security Analytics will examine how we can automate the analysis of such data to better detect and predict security incidents and vulnerabilities within our networks and organisations.
INDICATIVE CONTENT
The subject will first introduce the types of data sources that are relevant to detecting different types of security threats in practice. Indicative examples are operating system logs, web server logs, packet traces, flow records and deep packet inspection traces. The second part of the subject will introduce methods from machine learning that are widely used for cyber security analysis. Specific unsupervised machine learning techniques will be covered in more detail, which include methods for anomaly detection, alarm correlation and intrusion detection. The third part of the subject will introduce some of the theoretical challenges and emerging issues for security analytics research, based on recent trends in the evolution of security threats.
Indicative examples of the emerging challenges and issues that will be studied are privacy‐preserving analytics, adversarial machine learning, concept drift and new applications in monitoring critical infrastructure.
- Web Security 12.5 pts
AIMS
The Internet pervades nearly every aspect of our lives, from banking through to dating, and onto our interactions with government. As more of our lives move online we face ever greater risks to our data and way of life from internet vulnerabilities and attacks. Web Security will examine the fundamentals behind common vulnerabilities and attacks, and will introduce students to ways of mitigating the risks associated with them. It will also examine some of the ethical challenges faced when evaluating security and disclosing vulnerabilities.
INDICATIVE CONTENT
The subject will examine some of the cyber security challenges faced during system implementation and deployment. In particular it will identity common attack vectors, covering in more detail some of the Open Web Application Security Project (OWASP) Top 10 list of web application vulnerabilities, which may include topics such as injection, cross‐site scripting, session hijacking, and cross‐site request forgery, amongst others. Where appropriate practical examples will be examined to relate theory to practice. The subject will discuss methods for mitigating the risks associated with such vulnerabilities, and may include discussions on distributed denial of service, input validation and sanitisation, penetration testing, and the associated ethical and legal constraints, automated vulnerability scanning, and web application firewalls.
- Advanced Algorithms and Data Structures 12.5 pts
Contemporary software systems such as search engines must deal with huge amounts of data, often in real time. In such cases, standard data structures and algorithms do not scale. This subject aims to provide an overview of contemporary advanced algorithms and data structures in computer science for such problems. These techniques serve as building blocks for solving complex algorithmic problems, and have many practical applications.
- Computational Modelling and Simulation 12.5 pts
Computers are invaluable tools for modelling and simulating complex systems in a range of real word domains. The complex behaviours exhibited by many biological, social and technological systems - such as epidemics, urban systems and robotics - challenge our ability to predict, analyse and design such systems. Building computational models of these systems can help us better understand their structure and behaviour, and make better decisions about their design and control.
The aim of this subject is to provide students with a solid foundation in the conceptual and technical skills required to design, implement and evaluate computational models of complex systems.
INDICATIVE CONTENT
Topics covered will be selected from:
- the use of models for science, engineering and policy
- dynamical systems analysis
- complexity and emergent behaviour
- agent-based models
- design, communication and evaluation of models
- analysis and visualisation of model behaviour
- case study exemplars of specific types of models, such as:
-
- spatial models (eg, transportation)
- network models (eg, epidemics)
- adaptive models (eg, robotics)
- Quantum Software Fundamentals 12.5 pts
This subject will explore the fundamentals of quantum programming and quantum algorithm design. The subject will introduce students to a range of different quantum programming platforms and languages, and will include hands-on modules. The students will be prepared to write quantum programs, implement a range of simple quantum algorithms, such as Grover’s and Shor’s algorithms, and to execute quantum programs on a quantum computer through a cloud access.
This subject will be made up of three parts:
- Fundamentals of quantum computing and quantum programming, including running quantum programs on actual cloud-based quantum computers.
- Programming fundamental quantum algorithms, such as the Deutsch–Jozsa, Grover, Shor and HHL algorithms.
- Quantum programming for cutting edge research topics, such as quantum error correction, variational quantum circuits and quantum machine learning.
- Computer Vision 12.5 pts
AIMS
From self-driving cars to automatic processing of medical scans, vision is a key sensory modality for a variety of artificial intelligence tasks. However, extracting meaning from images poses various computational challenges. In this subject, students will learn the basic principles of image formation and computational methods for interpreting images. Students will develop an understanding of the standard frameworks used in computer vision algorithms and their applications in tasks such as object recognition, target detection, and three-dimensional reconstruction. The programming language used is Python.
INDICATIVE CONTENT
Topics covered may include:
- Basics of image formation
- Illumination and reflectance models
- Colour spaces
- Feature detectors and descriptors
- Stereo correspondence
- Methods for recovering three-dimensional shape
- Image segmentation
- Categorical and instance-level recognition
- The Ethics of Artificial Intelligence 12.5 pts
This subject aims to provide students with the necessary tools to: identify social and ethical issues of digital technology particularly artificial intelligence and reason about these issues; communicate concerns, or discuss ideas, from differing points of view; and ultimately build technology with awareness of, and respect for, inclusion and the responsibility that comes with building powerful tools. Not contemplating ethical or social implications of AI and other technological tools may open up unintended consequences and risks. Ethical dilemmas can also cause additional personal stress for individuals who lack the skills to think about them reflectively. For these reasons, the growing societal and ethical problems raised by artificial intelligence and other technologies have become a major focus of many organisations, including for start-ups, government, defence, and many corporations.
Topics include:
- the history of artificial intelligence
- established ethical theories and concepts and their relation to artificial intelligence and technology
- fairness, equity, and discrimination in automated decision making
- accountability, explainability, and transparency of AI
- practical approaches and ethical frameworks for designing, developing and deploying technology responsibly
- Information Visualisation 12.5 pts
AIMS
Information Visualisation is about using and designing effective mechanisms for presenting and exploring the patterns embedded in large and complex data sets, and to support decision making. Information Visualisation is important in a range of domains dealing with voluminous data rich in structure, among them, prominently, data in the spatial domain or data referenced to the spatial domain. Through its focus on presentation and interaction with spatial information, this subject complements related subjects that deal with the storage and querying of data (database subjects such as GEOM90018 Spatial Databases), and the processing of data (data analytics subjects such as GEOM90006 Spatial Analysis). This subject is vital for anyone wishing to work with large datasets. It will also be of relevance to those with an interest in design, especially graphical and interaction design.
INDICATIVE CONTENT
Fundamentals of information visualisation and data graphics; human perception; foundations of graphical user interface design; cartographic design; geovisualisation; exploratory visual spatial data analysis; evaluation of information visualisation interfaces.
- Spatial Data Infrastructure 12.5 pts
AIMS
In this subject, students will learn about the principles, concepts and design strategies used in the development of Spatial Data Infrastructure (SDI) as an enabling platform to facilitate multi-sourced data and service discovery, access, integration and use. An example of SDI is the land titles system and the tools used to maintain and interrogate it. Emphasis will be placed on both technological and institutional factors that facilitate the development of SDIs. Students will examine related disciplines such as land and marine administration as well as technical areas such as interoperability, web-mapping and web-delivery to better meet sustainable development objectives. This subject is of particular relevance to students who want to pursue a career in spatial data management, land administration, but is also relevant to a range of geomatic engineering disciplines that use and produce large spatial datasets for decision-making in support of sustainable development.
The subject partners with other subjects on spatial data management, spatial data analysis and spatial data visualization, and is of particular relevance to people wishing to establish a career in the spatial information industry, the environmental or planning industry.
INDICATIVE CONTENT
SDI concepts and theory, current SDI initiatives, SDI development strategies and development models; SDI as an enabling platform, SDI and Spatially Enabled Government and Society, SDI and partnership approaches, financing and capacity building, challenges for developed and developing countries, capacity building, marine SDI and seamless SDI, policy and privacy Issues, SDI and land administration, metadata, standards and clearinghouses, SDI application areas, and SDI implementation and benchmarking.
- Spatial Databases 12.5 pts
AIMS
Spatial databases are fundamental to any geographical information system. Efficient and effective representation and retrieval of spatial information is a non-trivial task. This subject will cover the concepts, methods, and approaches that allow for efficient representation, querying, and retrieval of spatial data.
This subject builds on a student’s knowledge of computer programming, databases, and spatial information. Students who successfully complete this subject may find professional employment in designing, implementing, customising and maintaining databases for the increasingly wide range of spatial software applications.
INDICATIVE CONTENT
Fundamentals of spatial databases; spatial data modelling in relational databases, including vector, raster, and network data; spatial operations, including geometric, topological, set-oriented, and network operations; spatial indexes and access methods, including quadtrees and R-trees.
- Designing Novel Interactions 12.5 pts
New interaction technologies continuously expand the range of input and output methods available in human-computer interaction. Interaction is no longer limited to desktop computers, windows-based interfaces, or keyboards and mice. Interfaces now include tangible communication, mobile and ubiquitous devices, ambient displays and sensing in public spaces. Novel interactions require specific methods to enable their conception, design, evaluation and use in creating interactive systems. This subject will introduce a selection of different interaction media and examine the specific methods used to create interactive systems with them. Underlying these specific methods are general conceptual approaches to design that are focussed on innovative or disruptive interactions between users and technology. Case studies will cover both fundamental research and industrial design practice. An emphasis is placed on developing the skills to critique and adapt different interface technologies and paradigms, to develop prototype systems, and evaluate new interactions to ensure that they meet their intended goals.
This subject follows a flipped classroom model. This means that the lectures are delivered online and class time is used for practical activities and active learning tasks.
- Information Architecture 12.5 pts
Information architecture encompasses the processes for investigating and designing the interfaces for large-scale information systems. It involves planning and creating the search methods and browsing mechanisms that users will exploit to discover the information that they need. This subject will introduce a range of methods for discovering the ways in which users conceptualize the structure of the information that they are trying to navigate and discover, as well as theories on how information is organised. The subject explains how to analyse data about an information system’s use and from that analysis create concrete models of both cognitive and information behaviour. These models will be used to inform effective designs for discovery tools. Evaluation methods for testing the effectiveness of information discovery tools will also be taught. Good information architecture is the lynch-pin for modern information systems, from corporate websites to online libraries and public services. Throughout the subject, theory and practice will be closely interconnected, and design decisions will have to be justified with both empirical evidence and fundamental principles from information theory and science.
- Fieldwork for Design 12.5 pts
This subject introduces students to the theories and methods used to understand people and settings for designing technical systems. The subject will equip students with the knowledge and skills needed to gather information about people and activities, to understand the intended users of the systems, and to use the insights gained from this process to identify design requirements. This subject is for students interested in a career in user experience (UX) design, interaction design, service design, usability engineering, and human-computer interaction research. It will be of value to students aiming to work in all areas of information technology development and implementation.
- Social Computing 12.5 pts
Social Computing is a field of study that investigates computing techniques and systems to support, mediate, and understand aspects of social behaviours. Understanding the principles and foundations of Social Computing is important because of the rapid proliferation of social systems, particularly those aimed at end-users (e.g. social networking websites, crowd sourcing platforms, knowledge sharing platforms, etc.). This subject will introduce you to key concepts and principles of Social Computing, and provide you with training to investigate how these systems influence human behaviours, how to improve current implementations, and how to identify ways to better support social activities and interactions.
- Introduction to Quantum Computing 12.5 pts
This subject will introduce students to the world of quantum information technology, focusing on the fast developing area of quantum computing. The subject will cover basic principles of quantum logic operations in both digital and analogue approaches to quantum processors, through to quantum error correction and the implementation of quantum algorithms for real-world problems. In lab-based classes students will learn to use state-of-the-art quantum computer programing and simulation environments to complete a range of projects.
- Modelling Complex Software Systems 12.5 pts
AIMS
Mathematical modelling is important for understanding and engineering many facets of complex systems. The aim of this subject is for students to understand the range and use of mathematical theories and notations in the analysis of discrete systems, how to abstract the key aspects of a problem into a model to handle complexity, and how models can be employed to verify large-scale complex software systems.
INDICATIVE CONTENT
Topics covered will be selected from: Deterministic and stochastic modelling; dynamical systems; cellular automata; agent-based modelling; complex networks; simulation and analysis of complex systems; concurrent systems modelling, analysis and implementation; process algebra; temporal logic and model checking.
- Security & Software Testing 12.5 pts
AIMS
Software is present in almost every part of our lives, and continues to change the world. Of importance to users is that software is correct, secure, reliable and efficient. The scale and complexity of most software ensures that achieving these qualities is non-trivial. This subject introduces students to the software engineering principles, processes, tools and techniques for analysing, measuring and developing correct, secure, and reliable software.
The subject is one of the foundation subjects for the MC-ENG Master of Engineering (Software) and (Software with Business).
INDICATIVE CONTENT
Topics covered may include: methods for static and dynamic software testing; software security, quality and dependability; reliability measurement and engineering; performance measurement and engineering;software problem analysis and fault isolation; and software engineering tools.
- High Integrity Systems Engineering 12.5 pts
AIMS
High integrity systems are systems that must be engineered to a high level of dependability, that is, a high level of safety, security, reliability and performance. In this subject students will explore the aims, principles, techniques and tools that are used to analyse, design and implement dependable systems.
INDICATIVE CONTENT
Topics include: an introduction to high-integrity systems; safety critical systems and safety engineering; mathematical modelling of systems; fault tolerant systems design; design by contract; static verification; and model-based testing.
Core
Students must complete the following subjects (100 points):
- Computer Science Research Project Part 1 25 pts
Students undertake a year-long (full-time equivalent) research project under the supervision of academic staff from the School of Computing and Information Systems.
For a full-time enrolment, the subject continues over two consecutive study periods (full-time) with students enrolling in parts 1 and 2 in one study period, and then parts 3 and 4 in the consecutive study period, for a combined total enrolment of 100 credit points. To enable part-time study, part-time students may take one subject in a single semester. A mark for the subject/s will not be awarded until the entire 100 points of enrolment has been completed. All subjects are offered in both semester 1 and 2.
Satisfactory completion of the research proposal (in parts 1 and 2) are required to progress to parts 3 and 4.
Information provided on this page applies to all 'parts' of the subject:
- Computer Science Research Project Pt 1 (25 pts)
- Computer Science Research Project Pt 2 (25 pts)
- Computer Science Research Project Pt 3 (25 pts)
- Computer Science Research Project Pt 4 (25 pts)
- Computer Science Research Project Part 2 25 pts
Students undertake a year-long (full-time equivalent) research project under the supervision of academic staff from the School of Computing and Information Systems.
For a full-time enrollment, the subject continues over two consecutive study periods (full-time) with students enrolling in parts 1 and 2 in one study period, and then parts 3 and 4 in the consecutive study period, for a combined total enrollment of 100 credit points. To enable part-time study, part-time students may take one subject in a single semester. A mark for the subject/s will not be awarded until the entire 100 points of enrollment has been completed. All subjects are offered in both semester 1 and 2.
Satisfactory completion of the research proposal (in parts 1 and 2) are required to progress to parts 3 and 4.
For full information about this subject, please refer to the Handbook page for Part 1 of the project:
Computer Science Research Project Pt 1 (25 pts)
- Computer Science Research Project Part 3 25 pts
Students undertake a year-long (full-time equivalent) research project under the supervision of academic staff from the School of Computing and Information Systems.
For a full-time enrollment, the subject continues over two consecutive study periods (full-time) with students enrolling in parts 1 and 2 in one study period, and then parts 3 and 4 in the consecutive study period, for a combined total enrollment of 100 credit points. To enable part-time study, part-time students may take one subject in a single semester. A mark for the subject/s will not be awarded until the entire 100 points of enrollment has been completed. All subjects are offered in both semester 1 and 2.
Satisfactory completion of the research proposal (in parts 1 and 2) are required to progress to parts 3 and 4.
For full information about this subject, please refer to the Handbook page for Part 1 of the project:
Computer Science Research Project Pt 1 (25 pts)
- Computer Science Research Project Part 4 25 pts
Students undertake a year-long (full-time equivalent) research project under the supervision of academic staff from the School of Computing and Information Systems.
For a full-time enrollment, the subject continues over two consecutive study periods (full-time) with students enrolling in parts 1 and 2 in one study period, and then parts 3 and 4 in the consecutive study period, for a combined total enrollment of 100 credit points. To enable part-time study, part-time students may take one subject in a single semester. A mark for the subject/s will not be awarded until the entire 100 points of enrollment has been completed. All subjects are offered in both semester 1 and 2.
Satisfactory completion of the research proposal (in parts 1 and 2) are required to progress to parts 3 and 4.
For full information about this subject, please refer to the Handbook page for Part 1 of the project:
Computer Science Research Project Pt 1 (25 pts)