C++ Programming Foundations
Certificate III in Information Technology ICT30120
Do you want to learn how to program but don’t know where to begin? Do you dream of programming your own computer games? Did you know that C++ is still one of the most used programming languages in the games industry and is the gold standard when it comes to video game development?
In this course, you will begin your journey as a video game programmer by learning the foundations of C++ programming for games. Starting with a solid introduction to the C++ programming language, you will learn the fundamentals of video game math before progressing to make your own video games in C++ using the RayLib graphical framework.
The course includes supplementary training on cyber-security awareness, operating systems and hardware, intellectual property, and ethics. You will also learn about video game testing, working as a tester on a game currently in development. Finally, you will plan and produce a game of your own design to consolidate all the knowledge you gained during the course.
The course is entirely self-paced and contains detailed video lessons, numerous practical exercises, and assessment tasks for each module. Course materials include a combination of video presentations, presentation slides and text-based exercises and tutorials (in Adobe Acrobat format), plus links to websites and additional resources where appropriate.
C++ Programming Foundation serves as a valuable bridge to further study in games programming and will build a portfolio for entry into AIE’s Diploma and Advanced Diploma level qualifications.
Areas of Study
Module 1: Introduction to Programming
In this subject, you will develop foundational programming skills with the C++ programming language that you will apply in other subjects throughout this course. You will learn the syntax and structure of the C++ language and gain practical experience by programming console-based applications.
Module 2: ICT Security Fundamentals
This subject explores the secure handling and storage of personally identifiable information (PII) collected by an organisation as part of their business operations. You will learn about the national and international privacy legislation applicable to businesses, particularly as this applies to game studios. You will conduct a privacy impact assessment to uncover the impact privacy has on a game studio or game development team. Finally, you will research and use several digital tools and services that have been designed to strengthen organisational processes when dealing with PII or to assist you in strengthening your privacy processes and procedures.
Module 3: Math for Games Foundations
Game and simulation programming is heavily reliant on mathematical techniques to manipulate and display their virtual environments.
This subject aims to teach you the fundamental mathematical skills needed in 2-dimensional games, starting out with the basic mathematical formulae, and then moving on to more complex techniques involving Vectors.
Module 4: Game Programming
This subject expands upon the introductory programming modules by exploring more of the object-oriented language features of C++ as we design and create a game project using the Raylib framework.
You will consolidate your skills in C++ programming as you work through a guided tutorial series to create your first C++ game. You’ll get the opportunity to add customisations and original features to your game while learning the design principles and programming patterns commonly employed by game programmers. Finally, you will learn to utilise the debugging and testing features of Visual Studio as you test your game.
Module 5: IP, Ethics & Privacy
This subject will provide you with training to identify, understand, and apply the principles underpinning organisational intellectual property (IP), ethics and privacy policies. Upon completing this subject, learners will have the skills to assist with the protection and lawful use of IP and observe relevant organisational ethics and privacy policies.
Module 6: Game Testing
In this subject, you will be providing quality assurance support to an existing team, conducting playtesting on their game project.
Your instructor will allocate you a team, and you will then act as a playtester for this team testing a game currently in production. Before commencing testing of your assigned team’s project, you will discuss and identify the needs of the team and plan and prioritise your testing efforts, reporting your results and gathering feedback.
You will need to work effectively and professionally to achieve the goals of the project. You will manage and update documentation on testing and communicate with your team as required, including producing test reports for your team to share your test results.
Module 7: Production
In this subject, you get the chance to design and create your own video game.
The game's design is up to you, but you will be required to create a design document which you will present to your trainer for their approval before you commence the project. Your trainer will advise you on issues relating to the scope and difficulty of your project to ensure you can complete your game within an acceptable timeframe.
You will manage and update the game documentation, produce work, and communicate with your trainer as your project progresses. Finally, you will complete the project by conducting playtesting and recording your playtesters' experiences in a test report.
Module 8: ICT Fundamentals
Information and Communications Technology (ICT) is a large and varied field that encompasses many aspects of computer use. But no matter what differences there are between these aspects they all have to deal with a few fundamental topics; operating systems, workplace health & safety, and ensuring that ICT processes function correctly and reliably.
This subject addresses these fundamental elements of ICT through exercises, class discussions and consultations and reflecting upon outcomes from the discussions after attempting to put them into practice.
For further information on C++ Programming Foundations please contact the Student Liaison, on 02 6162 5139 or email email@example.com.
Game Programming News