Data Structures and Design Patterns for Game Developers

This specialization is intended for beginning programmers who want to learn how to program Unity games using C#. The first course assumes no programming experience, and throughout the 5 courses in the specialization you'll learn how to program in C# and how to use that C# knowledge to program Unity games. The C# and Unity material in the first 4 courses in the specialization is slightly more comprehensive than the content in the first 2 game programming courses at UCCS."Unity" is a trademark or registered trademark of Unity Technologies or its affiliates in the U.S. and elsewhere.The courses i

Created by: Dr. Tim Chamillard

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 82 / 100

icon
Course Description

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 analysisModule 2: Learn about and use the common Linked List and Graph data structuresModule 3: Learn about and use several additional data structures: Stacks, Queues, and TreesModule 4: Learn why design patterns are so useful and discover a number of design patterns useful in game developmentModule 5: Complete final peer review"Unity" is a trademark or registered trademark of Unity Technologies or its affiliates in the U.S. and elsewhere.This course is an independent work and is not sponsored by, authorized by, or affiliated with Unity Technologies or its affiliates

icon
Instructor Details

Dr. Tim Chamillard

Tim "Dr. T" Chamillard is an Associate Professor in the Computer Science Department at the University of Colorado Colorado Springs (UCCS), where he teaches game development classes and runs the Bachelor of Innovation- in Game Design and Development program. He also spent 5 years as an indie game developer in a company he started with his two sons. Dr. T spent 6 years teaching at the U.S. Air Force Academy and has been teaching at UCCS since January 2003. He's the recipient of the Outstanding Military Educator in Computer Science award from the Air Force Academy and the College of Engineering and Applied Science Outstanding Teacher of the Year award from UCCS.

icon
Reviews

4.1

8 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Ran C on 20-Dec-18

Thanks you sooooooooooo much!!! Like this course !!!Can't found other professor so interesting as you! In Less than one month, I can do sth with AI (fundamental of course haha)and some design patterns! Amazing! (sorry for my English hhh)

By Pep S M on 20-Sep-18

Fantastic!

By Danilo C on 29-Jun-18

Some concepts were really challenging and the course was much more demanding than any other course in the specialization. In any case, it was extremely rewarding to get to the end! Thanks, Dr. T!

By Zheng L on 15-Jul-18

this course contains well illustrated knowledge of coding with good depth

By Alfonso E S P on 3-Jul-19

Super intense and interesting course

By Twinkal K R on 14-Apr-19

useful lacture

By Raivis J on 16-May-19

Week2 had a particularly vaguely explained assignment, with in my opinion a bit overcomplicated waypoint, graph node and list structures. It boils down to focusing studying a particular algorithm and it's implementation in a specific pre-created game code but not the general concept of the lecture material.

By Hiroki N on 26-Feb-19

The lecturer's code can induce a bug.