We may earn an affiliate commission when you visit our partners.
Course image
Dr. Tim "Dr. T" Chamillard

This course is the third course in the specialization about learning how to develop video games using the C++ programming language and the Unreal game engine on Windows or Mac.

Read more

This course is the third course in the specialization about learning how to develop video games using the C++ programming language and the Unreal game engine on Windows or Mac.

This course assumes you have the prerequisite knowledge from the previous two courses in the specialization. You should make sure you have that knowledge, either by taking those previous courses or from personal experience, before tackling this course. Throughout this course you'll continue building your foundational C++ and Unreal knowledge by exploring more C++ and Unreal topics.

Module 1: Learn how abstraction helps us develop good software and design and implement console app classes

Module 2: Explore how functions really work "under the covers"

Module 3: Design and implement Unreal classes and include them in a game. Discover how strings work in both C++ and in an Unreal HUD

Module4: Expand your understanding of pointers and add sound effects to an Unreal game

Enroll now

What's inside

Syllabus

Abstraction and Console App Classes
In this module, you'll learn about abstraction, which is all about deciding what details matter (and what details don't) as we develop a solution to a particular problem. You'll also learn how to design and implement a console app class.
Read more
A Closer Look at Functions
In this module, we'll look more closely at how functions work, including how parameters work and how we return a value from a function.
Unreal Engine Classes and Strings
In this module, you'll learn how to design and implement a class for use in an Unreal game. You'll also learn about strings and how we can use them in both console apps and Unreal games.
Pointers and Unreal Engine Audio
In this module, you'll (finally!) take a closer look at how pointers work in both C++ and Unreal. You'll also learn how to add sound effects to your Unreal games.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops foundational C++ and Unreal knowledge
Requires prerequisite knowledge from previous courses
Covers abstraction, console app classes, functions, Unreal classes, strings, pointers, and sound effects

Save this course

Save C++ Class Development 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 C++ Class Development with these activities:
Review your prior programming experience
Recalling past experience on working with C++ will provide context for what you will learn in this course.
Show steps
  • Think back to a time you used C++ or a similar language
  • Make a note of all the key terms you remember
  • Write a few simple programs to test your memory
Compile a glossary of C++ and Unreal Engine terms
Building a glossary will help you expand your vocabulary and enhance your comprehension of key concepts in C++ and Unreal Engine.
Browse courses on C++
Show steps
  • Identify and gather important terms from course materials, tutorials, and documentation.
  • Define and explain each term concisely.
  • Organize the terms alphabetically or by category.
Read "Game Programming Patterns" by Robert Nystrom
This book provides a comprehensive overview of design patterns and their application in game development, which will enhance your understanding of how to structure and organize your code effectively.
Show steps
  • Read the book thoroughly, taking notes and highlighting key concepts.
  • Reflect on how the patterns discussed in the book can be applied to your own game development projects.
16 other activities
Expand to see all activities and additional details
Show all 19 activities
Seek mentorship from experienced game developers
Connecting with experienced mentors can provide valuable insights, guidance, and support as you navigate the challenges of game development.
Browse courses on Mentorship
Show steps
  • Attend industry events, meetups, or online forums to connect with potential mentors.
  • Reach out to developers you admire via email or social media.
  • Prepare a brief introduction and explain your goals and interests.
Practice writing code
Practicing writing code will help you solidify the concepts you are learning in the course.
Browse courses on C++
Show steps
  • Find a tutorial or example project
  • Follow the steps and write the code yourself
  • Debug your code and make sure it works
Explore Function Implementation Under the Covers
Deepen your understanding of how functions work in C++ by following guided tutorials that illustrate their implementation.
Show steps
  • Identify resources for guided tutorials on function implementation
  • Follow the tutorials, taking notes on key concepts
  • Experiment with different function implementations
Examine tutorials on functional programming in C++
Following guided tutorials and examples can help you solidify your understanding of functional programming concepts in C++ and their application in game development.
Browse courses on Functional Programming
Show steps
  • Explore tutorials by reputable sources like cppcon, Pluralsight, or Coursera.
  • Focus on tutorials that demonstrate practical examples and real-world applications.
  • Take notes and practice the concepts covered in the tutorials.
Join an Unreal development forum
Joining a forum will allow you to connect with other Unreal developers and learn from their experiences.
Browse courses on Unreal
Show steps
  • Search for an Unreal development forum
  • Create an account and join the forum
  • Introduce yourself and ask questions
Practice Implementing Console App Classes
Get hands-on experience with implementing and utilizing console app classes in C++ to enhance your understanding.
Show steps
  • Review the course module on console app classes
  • Break down a real-world scenario into a series of console app classes
  • Implement the classes in C++
  • Test and debug your implementation
Explore Pointers in C++ and Unreal Engine
Strengthen your understanding of pointers in both C++ and Unreal Engine through guided tutorials, enhancing your ability to work with memory and optimize performance.
Browse courses on Memory Management
Show steps
  • Review the course module on pointers
  • Follow tutorials on pointers in C++ and Unreal Engine
  • Practice working with pointers in both environments
Practice using pointers in C++
Engaging in practice drills will reinforce your understanding of pointers in C++ and improve your ability to use them effectively in your game development projects.
Browse courses on Pointers
Show steps
  • Solve coding challenges and exercises involving pointers.
  • Create small C++ programs that utilize pointers to manipulate data.
  • Review and analyze code examples that demonstrate the use of pointers.
Search for online C++ tutorials
Searching for tutorials that focus specifically on what you need to practice will give you a more tailored experience.
Browse courses on C++
Show steps
  • Identify the specific area you need help with
  • Search for tutorials on that topic
  • Follow the tutorial and complete the exercises
Design and Implement an Unreal Engine Class
Enhance your skills by designing and implementing an Unreal Engine class, deepening your understanding of object-oriented programming in game development.
Browse courses on Game Development
Show steps
  • Read the course materials on Unreal Engine classes
  • Develop a use case for your class
  • Implement your class in Unreal
  • Test and refine your class
Contribute to an open-source game development project
Contributing to an open-source project allows you to practice your skills, collaborate with others, and make a meaningful contribution to the game development community.
Browse courses on Open Source
Show steps
  • Identify open-source game projects that align with your interests and skills.
  • Review the project documentation and codebase.
  • Propose or identify areas where you can contribute.
  • Submit your contributions and participate in code reviews.
Attend a game development workshop
Attending a workshop will provide you with hands-on experience and allow you to learn from experts.
Browse courses on Game Development
Show steps
  • Search for game development workshops in your area
  • Register for a workshop that interests you
  • Attend the workshop and actively participate
Design and develop a simple Unreal game
Creating a simple game project will allow you to apply your understanding of C++ and Unreal Engine concepts and enhance your problem-solving and critical thinking skills.
Browse courses on Unreal Engine
Show steps
  • Conceptualize and design the game's mechanics and features.
  • Implement the game logic and gameplay using C++ and Unreal Engine.
  • Test and debug the game to ensure it functions correctly.
  • Showcase your game to peers or instructors for feedback and evaluation.
Implement Sound Effects in an Unreal Game
Take your game development skills to the next level by implementing sound effects in an Unreal game, enhancing the immersion and engagement of your creations.
Browse courses on Sound Design
Show steps
  • Gather sound effects or create your own
  • Set up your Unreal game project for sound
  • Implement sound effects using Unreal Engine
  • Test and refine your sound effects
Develop a small game prototype
Creating a prototype will give you a chance to apply the concepts you have learned in the course.
Browse courses on Game Development
Show steps
  • Choose a game concept
  • Create a design document
  • Develop the prototype
  • Test the prototype and get feedback
Contribute to an open-source Unreal project
Contributing to an open-source project will allow you to collaborate with other developers and learn from their code.
Browse courses on Open-Source
Show steps
  • Find an open-source Unreal project that interests you
  • Fork the project and make your own changes
  • Submit a pull request to the original project

Career center

Learners who complete C++ Class Development will develop knowledge and skills that may be useful to these careers:
Video Game Developer
A Video Game Developer designs, builds, tests, and maintains video games. This course fits well as it teaches C++, which is a programming language commonly used in game development. You will also learn about abstraction, console app classes, functions, Unreal Engine classes, strings, pointers, and sound effects, which are all important concepts in game development. Taking this course will help you build the foundation you need to succeed as a Video Game Developer.
Game Software Engineer
A Game Software Engineer designs, builds, tests, and maintains video games. This course fits well as it teaches C++, which is a programming language commonly used in game development. You will also learn about abstraction, console app classes, functions, Unreal Engine classes, strings, pointers, and sound effects, which are all important concepts in game development. Taking this course will help you build the foundation you need to succeed as a Game Software Engineer.
Web Developer
A Web Developer designs, builds, tests, and maintains websites. This course fits well as it teaches C++, which is a programming language commonly used in web development. You will also learn about abstraction, console app classes, functions, strings, and pointers, which are all important concepts in web development. Taking this course will help you build the foundation you need to succeed as a Web Developer.
Game Designer
A Game Designer plans, designs, and develops video games. This course fits well as it teaches C++, which is a programming language commonly used in game development. You will also learn about abstraction, console app classes, functions, Unreal Engine classes, strings, and pointers, which are all important concepts in game development. Taking this course will help you build the foundation you need to succeed as a Game Designer.
Software Engineer
A Software Engineer designs, builds, tests, and maintains software applications. This course fits well as it teaches C++, which is a programming language commonly used in software development. You will also learn about abstraction, console app classes, functions, strings, and pointers, which are all important concepts in software development. Taking this course will help you build the foundation you need to succeed as a Software Engineer.
Software Developer
A Software Developer designs, builds, tests, and maintains software applications. This course fits well as it teaches C++, which is a programming language commonly used in software development. You will also learn about abstraction, console app classes, functions, strings, and pointers, which are all important concepts in software development. Taking this course will help you build the foundation you need to succeed as a Software Developer.
Mobile Developer
A Mobile Developer designs, builds, tests, and maintains mobile applications. This course fits well as it teaches C++, which is a programming language commonly used in mobile development. You will also learn about abstraction, console app classes, functions, strings, and pointers, which are all important concepts in mobile development. Taking this course will help you build the foundation you need to succeed as a Mobile Developer.
Computer Programmer
A Computer Programmer designs, builds, tests, and maintains computer programs. This course fits well as it teaches C++, which is a programming language commonly used in software development. You will also learn about abstraction, console app classes, functions, strings, and pointers, which are all important concepts in computer programming. Taking this course will help you build the foundation you need to succeed as a Computer Programmer.
Cloud Engineer
A Cloud Engineer designs, builds, tests, and maintains cloud computing systems. This course may be useful as it teaches C++, which is a programming language commonly used in cloud computing. You will also learn about abstraction, functions, strings, and pointers, which are all important concepts in cloud computing. Taking this course may help you build the foundation you need to succeed as a Cloud Engineer.
Artificial Intelligence Engineer
An Artificial Intelligence Engineer designs, builds, tests, and maintains artificial intelligence systems. This course may be useful as it teaches C++, which is a programming language commonly used in artificial intelligence. You will also learn about abstraction, functions, strings, and pointers, which are all important concepts in artificial intelligence. Taking this course may help you build the foundation you need to succeed as an Artificial Intelligence Engineer.
Database Administrator
A Database Administrator designs, builds, tests, and maintains databases. This course may be useful as it teaches C++, which is a programming language commonly used in database administration. You will also learn about abstraction, functions, strings, and pointers, which are all important concepts in database administration. Taking this course may help you build the foundation you need to succeed as a Database Administrator.
Machine Learning Engineer
A Machine Learning Engineer designs, builds, tests, and maintains machine learning models. This course may be useful as it teaches C++, which is a programming language commonly used in machine learning. You will also learn about abstraction, functions, strings, and pointers, which are all important concepts in machine learning. Taking this course may help you build the foundation you need to succeed as a Machine Learning Engineer.
Network Administrator
A Network Administrator designs, builds, tests, and maintains computer networks. This course may be useful as it teaches C++, which is a programming language commonly used in network administration. You will also learn about abstraction, functions, strings, and pointers, which are all important concepts in network administration. Taking this course may help you build the foundation you need to succeed as a Network Administrator.
Information Security Analyst
An Information Security Analyst designs, builds, tests, and maintains information security systems. This course may be useful as it teaches C++, which is a programming language commonly used in information security. You will also learn about abstraction, functions, strings, and pointers, which are all important concepts in information security. Taking this course may help you build the foundation you need to succeed as an Information Security Analyst.
Data Scientist
A Data Scientist collects, analyzes, and interprets data to solve problems. This course may be useful as it teaches C++, which is a programming language commonly used in data science. You will also learn about abstraction, functions, strings, and pointers, which are all important concepts in data science. Taking this course may help you build the foundation you need to succeed as a Data Scientist.

Reading list

We've selected ten 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 C++ Class Development.
Provides an overview of game engine architecture, which can be helpful for understanding how Unreal Engine works.
Provides a comprehensive overview of the C++ programming language. It can serve as a primary reference for C++ basics.
Provides a collection of game programming patterns. It can serve as a reference for common design patterns used in game development.
Provides a comprehensive overview of C++ templates. It can serve as a reference for advanced C++ topics.
Provides a quick reference to the C++ Standard Library. It can serve as a handy reference for those who want to learn more about the library.
Provides a collection of effective C++ programming tips and techniques. It valuable resource for anyone who wants to improve their C++ skills.

Share

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

Similar courses

Here are nine courses similar to C++ Class Development.
Planning, HUDs, and Spawners in GameMaker
Most relevant
Intermediate Object-Oriented Programming for Unreal Games
Most relevant
Parenting and More GameMaker Language Code
Most relevant
Moving, Shooting, and Debugging in GameMaker
Most relevant
More C++ Programming and Unreal
Most relevant
C# Class Development
Most relevant
Intermediate Object-Oriented Programming for Unity Games
Most relevant
Getting Started with GameMaker
Most relevant
Introduction to C++ Programming and Unreal
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