How to code using object-oriented language such as:
In this course, you’ll learn how to use the following software - which is standard across the industry:
Learn the basic skills of writing HTML5, XHTML and CSS by hand, the fundamental skills to create websites and the principles of good web design. Industry standard practices will be taught such as using proper naming conventions, manipulating and optimising images for the internet, writing basic web-pages using divs and CSS, providing navigation and creating interactive, functioning web-sites.
Learn how to program in the C++ language and use basic variables, constants and functions to build small programs.
Learn essential skills in the conceptualisation and techniques of programming and software design. Learn techniques for designing and implementing algorithms as computer programs using a high-level programming language as well as techniques such as debugging and testing, basic design elements of programming and how to construct solutions using specifications.
An introduction to Information Systems (IS). You’ll analyse the theories and applications Information Systems have for business solutions and explore the technology aspect of Information Systems including how to fully develop one.
An introduction to basic concepts and principles of database systems to emphasise the importance of a well-designed database in practice. Learn how data is structured and managed within a relational database.
Learn the critical steps to design conceptual and relational models and implement these using basic DDL-SQL commands. Basic and advanced DML-SQL commands are also presented to enable retrieving accurate information from the database.
Learn how to create and use object-oriented programs. This subject teaches the fundamental programming concepts that all C++ programmers need to learn.
Gain the skills and knowledge to design sound structured computer programs and move into a detailed examination of object oriented analysis and design using the Unified Modelling Language (UML). You will also develop an understanding of the concepts and application of UML to software development, and will have opportunities to use UML for software creation while developing further understanding of software concepts and problem solving approaches. The role of software engineer and the software development lifecycle will also be covered.
An introduction to a wide range of terminology and tools that have a particular use in Computer Science. The emphasis is placed on reasoned arguments and clarity of exposition as well as algebraic and computational skills. Topics covered in this unit include Sets, Mathematical Induction, Big O Notation, Logic, Predicate Calculus, Graphs, Linear Recurrence Relations, Sorting Methods, Relations and Partial Ordering.
This subject will complete your study of C++ by examining templates, error handling, the standard template library and bitwise operations. Students will investigate and apply several useful STL data structures and algorithms and their underpinning concepts. The subject introduces Windows programming, animation and the rendering of 2D sprite images.
This subject will introduce students to the concept of Artificial intelligence (AI), one of the critical components in a contemporary game development project. Students will develop a solid grasp on what the term “artificial” means. Artificial intelligence will be used it to produce gaming problems and solutions and to construct player challenges. Through a personal research project, students will engage in scientific writing and experimental analysis investigating Artificial Intelligence both theoretically and technically.
Learn the basic principles of project management - including how to manage projects for delivery on-time, on-budget and on-quality.
This course continues the examination of object-oriented programming using Java. It also introduces graphical user interface development using Java. Students learn the fundamental principles of interface development and are then required to apply these in the development of a program with a graphical interface this course also examines database connectivity and network application development using Java.
Learn the basic principles of software requirements, analysis and design. The objectives are to establish requirement analysis and design templates where more detailed material regarding specific aspects of requirements and design techniques and issues fit. In doing so students will apply their skills and knowledge of understanding requirements, a range of modelling techniques, methodologies and approaches.
Learn how to analyse the interface requirements of a system, review and apply industry tools and techniques and evaluate whether a solution has met its requirements. Students will learn wireframing, testing and debugging and the interaction between form and function.
This subject will introduce students to OpenGl and DirectX, a collection of application programming interfaces (APIs) for handling tasks related to multimedia, namely game programming and video. Students will learn elementary 3D techniques, including lighting, texturing, alpha blending and stenciling. Finally, students will learn how to use a graphic framework and the High-Level Shading Language, commonly used in 3D game programming.
This subject introduces students to using an industry standard 3D game engine. Students will use this software for developing future games and major projects. The subject involves learning object oriented programming to design and develop interactive games. Upon successful completion of this subject, students will be able to operate a game engine proficiently to develop simple 3D games, become familiar with programming fundamentals and most importantly develop their problem solving skills.
In this subject students will be introduced to the theory and practice of Augmented Reality (AR). Students will study the history of Augmented Reality technology and consider its practical applications in a contemporary context. The subject will cover processes for Augmented Reality development for games programming and students will engage in practical exercises for developing their own working Augmented Reality applications.
This subject is the first part of a two-term project. It aims to prepare students for career roles in a particular ICT discipline or focus area. Students will select a topic of interest and will work individually (recommended) or within a team of two or three, with supervision.
This project is strongly recommended to be taken only in final year, because students will be required to apply knowledge obtained from subjects delivered in the first two years in order to deliver satisfactory outcomes for this final Advanced Studio project. In Advanced Studio 1, students will consult with their supervisor to finalise their topics, develop a methodology, plan their milestones for both trimesters, and complete their research, literature review, analysis, and high level design phases of the project.
In this subject students form and work amongst a team to develop a game from start to finish, with the aim of publishing. This subject emphasises working as a team in using Agile game development methodologies to meet constant deadlines. A substantial part of the subject will be to make effective game design decisions and iterations through regular player testing and feedback gathering. The aim is to develop a fun and entertaining and, most importantly, complete product by the end of the subject.
Moving beyond character creation, this subject shows you the advanced techniques you need to create immersive and interactive 3D environments. Using state-of-the-art game engine Unity3D, which allows rapid game development, you will discover that much of the power of 3D comes from the ability to create environments within which real-time events can be rolled out, demonstrated or enacted, in simulation of real environments. Before you take this subject, think about completing both 3D Intro and 2D Interactivity.
You will benefit a lot more from this class if you have learnt the basic skills necessary to conceptualise 3D environments more completely, as well as basic programming skills and terminology.
Students may choose an elective from the approved elective subject list. Electives are subject to availability and certain electives have pre requisites. For descriptions please see the elective subject descriptions page.
This subject is the second part of a two-term project. Students must successfully complete Advanced Studio 1 in order to enrol in this subject. In Advanced Studio 2, students continue their projects from Advanced Studio 1, and complete their projects with low level design, implementation, prototype and final presentation according to a timeline and plan as set in Advanced Studio 1. The whole project encourages students to properly complete a project of their own, following industry processes, standards and disciplines in order to prepare students for career roles in their focus area.