We may earn an affiliate commission when you visit our partners.
Course image
Neville Adams

If you're looking for a curriculum to prepare you for a job as a C++ developer, or maybe your ambition is to develop your own indie games, then this course is for you.

Intermediate C++ topics such as object oriented programming, pointers, inheritance and templates can be intimidating to some students, but I use simple examples, summaries, exercises and step by step illustrations throughout.

Learning C++ concepts in isolation by writing simple console applications is not enough - you must learn to use intermediate features in combination.

Read more

If you're looking for a curriculum to prepare you for a job as a C++ developer, or maybe your ambition is to develop your own indie games, then this course is for you.

Intermediate C++ topics such as object oriented programming, pointers, inheritance and templates can be intimidating to some students, but I use simple examples, summaries, exercises and step by step illustrations throughout.

Learning C++ concepts in isolation by writing simple console applications is not enough - you must learn to use intermediate features in combination.

Through Unreal Engine project examples, I explain where specific language features are useful in a real world project. This will give you a much deeper understanding of those language features and not just how to use them, but why they are important to learn and remember and where they will be useful.

What will I learn?

Following the foundational modules, C++101 and C++102, you will learn to use intermediate C++ features in combination by programming game logic in Unreal Engine.

Module C++101 (fundamentals):

In this module we explore variables and variable types (an understanding of types is very important in C++).

I introduce Conditional Statements and Logical Operators (how to write decision-making logic).

Iteration statements such as the while() loop and the for() loop allow us to write logic that executes repeatedly - and we have many ways to control the looping/repetition.

Arrays (containers of variables).

Functions, debugging fundamentals, and Visual Studio tips & tricks to speed up your workflow.

Module C++102:

Object Oriented Programming: Structs, Classes, Inheritance and Polymorphism.

Pointers and References are covered in detail.

Characters are covered detail, and I also introduce the standard string class.

Debugging and Visual Studio tips & tricks.

This module also includes intermediate lessons on Templates, Smart Pointers, Callables and more.

C++ Standards Covered:

  • C++98

  • C++11

  • C++14

  • C++17

The course also includes lectures on C language features that are used (or can be used) in C++.

C++20 lessons are planned for a future release - the standard is not widely adopted yet.

More lessons are planned for this course, including the STL, exception handling, and many more.

For the Unreal Engine 5 content, I begin by introducing the fundamentals of the engine, followed by a simple C++ project where we will apply those fundamentals and also learn a few new things along the way.

Whether you have no programming experience, or are already familiar with a programming language and want to learn how to code game logic in Unreal Engine 5 with C++, this course is for you.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Learn c++ programming fundamentals through simple examples and illustrations
  • Debugging and problem solving skills
  • Learn how c++ is used in real-world projects, with examples from the unreal engine codebase
  • Understand how intermediate c++ features, such as object oriented programming, inheritance and templates can be used in combination
  • Apply your newly acquired c++ skills to game development fundamentals in unreal engine

Syllabus

Students will be able to write a basic C++ program using the main() function as an entry point.
Why Study C++ Programming?
What Sets This Course Apart
Read more
Orientation and Study Tips
Software Development Facilities
Visual Studio Community 2022 Installation
Creating Empty C++ Console Projects & Adding Files to Projects
The main Function
Operators
Preprocessor Directives, Namespaces and the Stream Insertion Operator - THEORY
Preprocessor Directives, Namespaces and the Stream Insertion Operator PRACTICAL
Pausing Program Execution

What you will learn:

  • The Visual Start Menu and how to organize the solutions that it displays.

  • How to manage the windows within Visual Studio, such as the Solution Explorer - auto hide, dock, etc.

  • Basic Visual Studio window layout and toolbar customization.

Altering the Colour Theme in Visual Studio
Saving Window Layouts in Visual Studio
First Steps with C++ Quiz
Lesson 1 Wrap-Up
Students will be able to declare and utilize variables in their code.
Variables Lesson Introduction
An Introduction to Literals and Variables
The Assignment Operator and Variable Declaration & Initialization
Variable Identifier Rules and Reserved Words
Arithmetic Operators
Initialization and Arithmetic Examples
Assignment Operators
Console Input
Comments
The Task List and Bookmarks
Initialization Options
Integer Types and the sizeof Operator
The Division and Modulus Operators
The Increment and Decrement Operators
Variables and arithmetic Quiz
Students will be able to utilize the float and double types in their code, and understand how conversions or casting works on a basic level.
Floating-Point Types
Constants
Conversions and Mixed Expressions
Floating-Point Representation and Conversion
Students will be able to write if, if...else, if...else...if statements and use logical operators in their code.
The bool Type
Relational Operators
The if Statement
Nested if...else Statements
Logical Operators
Relational Operators Exercise
Short Circuit Evaluation
The char Type and Escape Sequences
The if...else...if Statement
Expressions Vs Statements
Students will be able to utilize switch statements and conditional operators in their code.
The switch Statement
The Conditional Operator

Topics covered in this lecture...

  • Selection & Caret Navigation.

  • Character Insertion and Overwriting.

  • Insert and Overtype.

  • The Clipboard Ring.

  • Auto List Members.

  • Tool Options.

  • Indentation and Formatting.

  • Outlining.

  • List members.

  • Surround With.

  • Insert Snippet.

  • Find and Replace.

Multi-Caret Editing
Students will understand and apply while, do...while, and for loops.
The while Loop
The do...while Loop
Counter, Sentinel and Situation Driven Loops
Block Variables, Input Validation and Boolean Driven Loops
The for Loop
The break and continue Statements
Nested Loops
Students will be able to write functions and use existing functions from the standard library.
An Introduction to Functions
Value-Returning Functions
Parameter Terminology and Function Comments
Default Arguments
The C++ Standard Library Headers
Global Variables
Functions Lesson Wrap-Up
The student will be able to use array containers to store and retrieve data from.
An Introduction to Arrays
One-Dimensional Array Examples
The Range-Based for Loop
Type Inference with auto and decltype
Multidimensional Arrays
Students will have an understanding of basic debugging techniques and tools.
Debugging Foundations
Warnings and Warning Suppression

This lecture introduces the debugging tools and features in Visual Studio, including...

  • How to set Breakpoints to pause debugger execution.

  • Step into, step over, and step out.

  • Run to Click

  • Disable Breakpoints (without deleting them).

  • Run to Cursor.

  • Inspect Variables with DataTips

  • Autos, Locals and Watch Windows.

  • The Call Stack.

  • Breakpoint Conditions.

  • Function Breakpoints.

  • The Breakpoints Window.

Refactoring
Drivers and Stubs
Stub Demo
Programming Principles
Rubber Duck Debugging
Students will have an understanding of alternate keyboard layouts and available software for taking lecture notes.
Configure the Default Project Location in Visual Studio

In this video I talk about different keyboard configurations that you should take into consideration for your next upgrade.

Note Taking and Learning Tips
Customizing the Toolbars in Visual Studio
Students will understand and be able to apply basic object-oriented programming concepts demonstrated using the struct data structure.
C++102 Module Introduction
An Introduction to Object Oriented Programming
An Introduction to Structs and Member Access using the Dot Operator
An Introduction to Member Functions
Struct Initialization and Composition Examples
Structs Containing Array Members and Member Initialization
An Introduction to Getters and Setters
Arrays of Structs
Struct Declarations and Definitions

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores C++ concepts progressively, making learning C++ efficient
C++ concepts are reinforced through real-world projects using Unreal Engine
Course by Neville Adams who is known for his expertise in C++ programming
Covers C++ fundamentals and takes learners to advanced concepts such as object-oriented programming and templates
Teaches C++ as used for game logic in Unreal Engine 5, making it relevant for those interested in game development

Save this course

Save The Unreal Arsenal: Learn C++ and Unreal Engine to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in The Unreal Arsenal: Learn C++ and Unreal Engine with these activities:
Organize and review course materials
Ensure you have a clear understanding of the course structure and materials by reviewing them beforehand.
Browse courses on Organization
Show steps
  • Download and organize all course materials, including lecture notes, assignments, and quizzes.
  • Review the materials to familiarize yourself with the topics that will be covered.
  • Identify any areas that require additional preparation or review.
Review basic programming concepts using an online platform
Refresh your understanding of foundational programming concepts before starting the course.
Browse courses on Programming
Show steps
  • Choose an online platform or resource that provides interactive coding exercises.
  • Complete exercises covering topics such as variables, data types, loops, and conditionals.
  • Review the solutions and explanations to reinforce your understanding.
Read "C++ Primer" by Lippman, Lajoie, and Moo
Gain a comprehensive understanding of C++ fundamentals and best practices from a respected reference book.
View C++ Primer on Amazon
Show steps
  • Read the book thoroughly, taking notes and highlighting important concepts.
  • Complete the exercises and review questions provided in the book.
  • Apply the knowledge gained from the book to your own C++ projects.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Join a C++ study group or online forum
Connect with other C++ learners to discuss concepts, share knowledge, and get support.
Browse courses on C++
Show steps
  • Find a C++ study group or online forum that aligns with your interests.
  • Attend regular meetings or participate in online discussions.
  • Ask questions, share your understanding, and collaborate with others.
Practice writing C++ console applications
Apply your understanding of C++ syntax and concepts by writing simple console applications.
Browse courses on C++
Show steps
  • Set up your C++ development environment.
  • Write a simple C++ program that prints "Hello, world!"
  • Create a C++ program that takes user input and performs basic arithmetic operations.
Follow tutorials on object-oriented programming in C++
Enhance your understanding of object-oriented programming principles and their application in C++.
Browse courses on C++
Show steps
  • Find reputable online tutorials or video courses on OOP in C++.
  • Follow the tutorials step-by-step, implementing the concepts in your own C++ code.
  • Experiment with different OOP techniques, such as inheritance, polymorphism, and encapsulation.
Write a blog post or article on a specific C++ topic
Solidify your understanding of C++ by explaining it to others through writing.
Browse courses on C++
Show steps
  • Choose a specific C++ topic that you are comfortable with.
  • Research and gather information from reliable sources.
  • Organize your thoughts and write a clear and informative blog post or article.
  • Proofread and edit your writing for clarity and accuracy.
  • Publish your blog post or article on a relevant platform.
Develop a simple C++ game
Apply your C++ skills to create a functional game, reinforcing your understanding of game logic and implementation.
Browse courses on C++
Show steps
  • Design the game mechanics and gameplay.
  • Implement the game logic in C++.
  • Create the game's graphics and user interface.
  • Test and debug your game thoroughly.
  • Share your game with others or publish it online.

Career center

Learners who complete The Unreal Arsenal: Learn C++ and Unreal Engine will develop knowledge and skills that may be useful to these careers:
Game Programmer
A Game Programmer designs, develops, tests, and implements gameplay features for video games, as well as maintains and improves code. A solid foundation in C++ is a must for any Game Programmer, as it is one of the core programming languages used in the video game industry. The Unreal Arsenal: Learn C++ and Unreal Engine course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable game code. Additionally, the course includes lessons on Unreal Engine, a popular game development engine used by many professional game studios.
Software Engineer
A Software Engineer designs, develops, tests, and maintains software applications. C++ is a widely-used programming language in the software industry, and this course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable software. Additionally, the course includes debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Software Engineer.
Game Developer
A Game Developer designs, develops, and tests video games. C++ is a popular programming language in the video game industry, and this course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable game code. Additionally, the course includes lessons on Unreal Engine, a popular game development engine used by many professional game studios.
Software Developer
A Software Developer designs, develops, and maintains software applications. C++ is a widely-used programming language in the software industry, and this course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable software.
Computer Programmer
A Computer Programmer writes and maintains the source code for software applications. C++ is a widely-used programming language in the software industry, and this course teaches intermediate C++ features, such as object-oriented programming, pointers, inheritance, and templates, which are essential for writing efficient and maintainable software.
3D Artist
A 3D Artist creates 3D models and animations for video games, movies, and other visual media. While this course does not teach 3D modeling or animation, it does teach C++, a programming language that is used in many 3D modeling and animation software programs. Additionally, the course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any 3D Artist who wants to use these software programs.
Web Developer
A Web Developer designs and develops websites. While C++ is not as commonly used in web development as other programming languages, such as JavaScript, Python, or PHP, it is still useful for developing high-performance web applications. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Web Developer.
Data Scientist
A Data Scientist analyzes and interprets data to extract insights and make predictions. While C++ may not be the most commonly used programming language in data science, its performance and efficiency make it a good choice for certain data-intensive tasks. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Data Scientist.
Quality Assurance Tester
A Quality Assurance Tester tests software applications to identify and report bugs. While this course does not teach software testing, it does teach C++, a programming language that is used in many software applications. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Quality Assurance Tester.
Technical Writer
A Technical Writer creates user manuals, technical documentation, and other written materials to explain complex technical concepts. While this course does not teach technical writing, it does teach C++, a programming language that is used in many technical domains. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Technical Writer who wants to understand the technical concepts they are writing about.
IT Support Specialist
An IT Support Specialist provides technical support to users of computer systems and software. While this course does not teach IT support, it does teach C++, a programming language that is used in many operating systems and software applications. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any IT Support Specialist who wants to understand the technical issues they are troubleshooting.
Database Administrator
A Database Administrator maintains and manages databases. While this course does not teach database administration, it does teach C++, a programming language that is used in many database management systems. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Database Administrator who wants to understand the technical issues they are troubleshooting.
Network Administrator
A Network Administrator maintains and manages computer networks. While this course does not teach network administration, it does teach C++, a programming language that is used in many networking devices and software. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Network Administrator who wants to understand the technical issues they are troubleshooting.
Systems Analyst
A Systems Analyst analyzes and designs computer systems. While this course does not teach systems analysis, it does teach C++, a programming language that is used in many operating systems and software applications. Additionally, this course teaches debugging techniques and tools, both in C++, and with tools provided by Visual Studio, which are essential for any Systems Analyst who wants to understand the technical issues they are analyzing.
Computer Scientist
A Computer Scientist conducts research and development in computer science. A solid foundation in C++ is essential for any Computer Scientist, as it is one of the core programming languages used in computer science research. This course teaches intermediate C++ features, such as object-oriented programming, pointers, and templates, which are essential for writing efficient and maintainable code. Additionally, this course may be useful for Computer Scientists who want to learn about Unreal Engine, a popular game development engine that is used by many professional game studios.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Unreal Arsenal: Learn C++ and Unreal Engine.
Provides a comprehensive overview of the C++ programming language, covering both the basics and advanced topics. It valuable resource for those who want to learn C++ in-depth.
Is the definitive reference on the C++ programming language. It valuable resource for those who want to learn C++ from the ground up.
Provides a comprehensive overview of C++ concurrency. It valuable resource for those who want to learn how to write concurrent C++ code.
Provides a comprehensive overview of C++ templates. It valuable resource for those who want to learn how to write generic C++ code.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to The Unreal Arsenal: Learn C++ and Unreal Engine.
Introduction to C++ Programming and Unreal
Most relevant
Unreal Engine 4 Class: Blueprints
Most relevant
Unreal Engine 5: The Complete Beginner's Course
Most relevant
More C++ Programming and Unreal
Most relevant
Unreal Engine Blueprint Game Developer
Most relevant
Unreal Engine 5.2 : Exploring Lyra for Game Development
Most relevant
Unreal Engine 5 C++ Developer: Learn C++ & Make Video...
Most relevant
Unreal Engine 5 C++ The Ultimate Game Developer Course
Most relevant
Intermediate Object-Oriented Programming for Unreal Games
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser