Skip to content
Generic filters
Exact matches only

Data Structures and Design Patterns for Game Developers (Coursera)

This course is the fourth course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

This course assumes you have the prerequisite knowledge from the previous three 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. The required prerequisite knowledge is listed in the “Who this class is for” section below. Throughout this course you’ll build on your foundational C# and Unity knowledge by developing more robust games with better object-oriented designs using various data structures and design patterns.

Data structures and design patterns are both general programming and software architecture topics that span all software, not just games. Although we’ll discuss these ideas in the game domain, they also apply if you’re writing a web app in ASP.NET, building a tool using WinForms, or any other software you decide to build.

Module 1: Explore a Dynamic Array data structure and learn the basics of algorithm analysis

Module 2: Learn about and use the common Linked List and Graph data structures

Module 3: Learn about and use several additional data structures: Stacks, Queues, and Trees

Module 4: Learn why design patterns are so useful and discover a number of design patterns useful in game development

Module 5: Complete final peer review

Who is this class for: This course is primarily aimed at programmers who have the prerequisite knowledge below and who want to learn how data structures and design patterns can help use develop Unity games using C# Prerequisite C# knowledge: Data types, variables, constants, using and implementing classes, objects, selection, arrays, collection classes, iteration, strings, file IO, inheritance, and polymorphism Prerequisite Unity knowledge: Sprites, game objects, scripts, rigidbodies, colliders, input, prefabs, text output, audio, event handling, menu systems

Course 4 of 5 in the C# Programming for Unity Game Development Specialization.



Dynamic Arrays and Algorithm Analysis

Graded: Ted the RoboCollector


Linked Lists and Graphs

Graded: Take the Short Way Home


Stacks, Queues, and Trees

Graded: Don’t Take the Last Teddy


Design Patterns

Graded: Oh, Shmup!


Finishing Up