Certificate
Graduate Certificate in Computer Science
- CRICOS Code: 099422D
Navigation
What will I study?
Overview
Students will complete between one and three core subjects, with the electives making up a total of four subjects.
Visit the Handbook for more information:
Explore this course
Explore the subjects you could choose as part of this certificate.
- 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
- 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.
- 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.
- 12.5 pts
AIMS
This subject introduces the technologies of computer graphics and human-computer interaction along with the biological, psychological and social aspects of human perception and action that inform the application of those technologies. The emphasis is on 2D and 3D computer graphics and the geometric modelling techniques used for representing and interacting with objects in dynamic scenes. Techniques considered include transformation geometry, illumination models and the real-time rendering (shading) models. The subject is centred on developing Apps for tablet computers based on natural user interfaces (NUIs), a term used by developers of human-machine interfaces that effectively become invisible to their users through successive learned interactions. Technologies likely to be considered are: virtual reality, computer games, augmented reality, tele-presence, or other modalities such as interaction through the sense of touch, audio or image processing and analysis. This subject supports course-level objectives by allowing students to develop analytical skills to understand the complexity of developing real-world computer graphics and interaction applications.
INDICATIVE CONTENT
Topics are drawn from computational geometry and human-computer interaction including:
- 2D and 3D computer graphics
- Colour and illumination models
- Raster and vector graphics
- Geometric modelling
- Rendering (shading) and visualisation
- Geometric transformations (including projection)
- Computational matrix geometry and/or animation (kinematics)
- Interaction categories and styles (particularly graphical user interfaces)
- Usability and accessibility (including interaction for people with disabilities).
- 12.5 pts
AIMS
Declarative programming languages provide elegant and powerful programming paradigms and techniques that 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.
- 12.5 pts
AIMS
This subject is the capstone project for the Informatics major and the Computing and Software Systems major in the BSc. Students will work on a real life problem in a small team, supervised by a member of staff. Each team will analyse the information needs of users and develop working computational solutions. Students are expected to apply sound principles studied over the course of their degree to the formulation and solution of their problem.
INDICATIVE CONTENT
Students will work in teams to analyse, design, implement and test a non-trivial IT system. A key part of the project is for students to develop and manage a project in order to deliver a quality IT product. Workshops will explore the application of theory to the project and include selected topics drawn from: ethics, project management, design frameworks, testing, technical reviews, and product evaluation.
- 12.5 pts
AIMS
Artificial intelligence is the quest to create intelligent agents that can complete complex tasks which are at present only achievable by humans. This broad field covers logic, probability, perception, reasoning, learning and action; and everything from Mars Rover robotic explorers to the Watson Jeopardy playing program. You will explore some of the vast area of artificial intelligence. Topics covered include: searching, problem solving, reasoning, knowledge representation and machine learning. Topics may also include some of the following: game playing, expert systems, pattern recognition, machine vision, natural language, robotics and agent-based systems.
INDICATIVE CONTENT
- Agents and search
- Probabilistic reasoning
- Reinforcement Learning
- Pattern recognition for robotics.
- 12.5 pts
AIMS
Formal logic and discrete mathematics provide the theoretical foundations for computer science. This subject uses logic and discrete mathematics to model the science of computing. It provides a grounding in the theories of logic, sets, relations, functions, automata, formal languages, and computability, providing concepts that underpin virtually all the practical tools contributed by the discipline, for automated storage, retrieval, manipulation and communication of data.
INDICATIVE CONTENT
- Logic: Propositional and predicate logic, resolution proofs, mathematical proof
- Discrete mathematics: Sets, functions, relations, order, well-foundedness, induction and recursion
- Automata: Regular languages, finite-state automata, context-free grammars and languages, parsing
- Computability briefly: Turing machines, computability, decidability
A functional programming language will be used to implement and illustrate concepts.
- 12.5 pts
AIMS
Machine Learning, a core discipline in data science, is prevalent across Science, Technology, the Social Sciences, and Medicine; it drives many of the products we use daily such as banner ad selection, email spam filtering, and social media newsfeeds. Machine Learning is concerned with making accurate, computationally efficient, interpretable and robust inferences from data. Originally borne out of Artificial Intelligence, Machine Learning has historically been the first to explore more complex prediction models and to emphasise computation, while in the past two decades Machine Learning has grown closer to Statistics gaining firm theoretical footing.
This subject aims to introduce undergraduate students to the intellectual foundations of machine learning, and to introduce practical skills in data analysis that can be applied in graduates' professional careers.
CONTENT
Topics will be selected from: prediction approaches for classification/regression such as k-nearest neighbour, naïve Bayes, discriminative linear models, decision trees, Support Vector Machines, Neural Networks; clustering methods such as k-means, hierarchical clustering; probabilistic approaches; exposure to large-scale learning.
- 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.
- 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
- 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.
- 12.5 pts
AIMS
The Web has radically changed society, politics, science, business and the way people work. This subject introduces the concepts, technologies and standards underpinning the World Wide web and its applications. You will learn to apply tools and techniques required to model, design and develop applications for the web that can run on one or more platforms. Topics covered include the infrastructure of the web; the architecture of web applications; data representation and structure of the web; modeling and development processes for Web applications; security and social aspects of the Web. This subject assumes background programming skills and the basics of algorithmic thinking. These skills are combined with incremental and iterative development to develop functional and creative web applications that can support specific requirements or aspects of human work or social behaviour.
INDICATIVE CONTENT
Fundamental aspects of the Web: client server model, modelling of web applications (modelling data, content, functional aspects and navigation), incremental and iterative design and development of web applications, usability aspects and testing of web applications, and web application security.
Examples of Web applications that students develop are:
- A location-aware application for finding recommended restaurants nearby
- A social app for hosting and developing HTML5 games
- An application that lets users upload photos of themselves to see what they’d look like with different hairstyles
- 12.5 pts
AIMS
To construct a software system, requirements must be analysed and modelled, and designs developed and evaluated; this subject teaches knowledge and skills needed for these tasks. This includes the development of static and dynamic models for aspects of both the problem space and the solution space. The emphasis here is on an Agile approach, and on techniques appropriate for object-oriented development.
INDICATIVE CONTENT
Topics covered include:
- Analysis and modelling requirements
- Developing, modelling and evaluating designs
- Modelling using the Unified Modelling Language (UML)
- Software design processes and principles
- Common design patterns and software architectures
- Tools for design and development