[Coursera] Data Structures and Design Patterns for Game Developers
About this course: 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
Size: 649.50 MB