University of Colorado Boulder - Data Structures and Design Patterns for Game Developers
- Offered byCoursera
Data Structures and Design Patterns for Game Developers at Coursera Overview
Duration | 22 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Data Structures and Design Patterns for Game Developers at Coursera Highlights
- This Course Plus the Full Specialization.
- Shareable Certificates.
- Graded Programming Assignments.
Data Structures and Design Patterns for Game Developers at Coursera Course details
- 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
- ?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
Data Structures and Design Patterns for Game Developers at Coursera Curriculum
Dynamic Arrays and Algorithm Analysis
Course Introduction
Navigating a Coursera Course (optional)
Meet the Instructor (optional)
Lesson Introduction
Unordered ints
Ordered ints
Making it Generic
Implementing an Interface
Lesson Introduction
What is Algorithm Analysis?
Introduction to Big O
Big O Examples
Unordered Dynamic Array Analysis
Ordered Dynamic Array Analysis
Setting Up Your Development Environment
Readings and Lecture Code
Exercise Code
Dr. T's Book
Dynamic Arrays
Exercise 1: Still Haven't Found What I'm Looking For
Exercise 2: Using the Generic
Dynamic Arrays Lecture Code
Big O
Exercise 3 Trading Time for Space
Exercise 4: Wacky Again
Ted the RoboCollector Solution
Linked Lists and Graphs
Lesson Introduction
Linked List Implementation
Linked List Analysis
Lesson Introduction
Graph Implementation
Graph Analysis
Dictionaries
Searching a Graph
Linked Lists
Exercise 5: Double the Links
Graphs
Exercise 6: Getting Some Direction
Exercise 7: What Does It Cost?
Graphs Lecture Code
Take the Short Way Home Solution
Stacks, Queues, and Trees
Lesson Introduction
Stack Implementation
Stack Analysis
Lesson Introduction
Queue Implementation
Queue Analysis
Lesson Introduction
Recursion
Recursive Binary Search
Tree Implementation
Tree Analysis
Tree Traversal
Minimax Search
Minimax Implementation
Stacks
Exercise 8: Depth-First Search
Queues
Exercise 9: Breadth-First Search
Recursion
Trees
Exercise 10: Minimax Practice
Trees Lecture Code
Don't Take the Last Teddy Solution
Design Patterns
Lesson Introduction
Game Loop and Update Method
Component
Prototype
Singleton
Observer
Mediator
Object Pool
State
Strategy
Template Method
Finishing Up, Four Course Specialization
Finishing Up, Five Course Specialization
Design Patterns Lecture Code
Oh, Shmup! Solution
Which Finishing Up Video Should I Watch?