- Level Professional
- Duration 22 hours
- Course by University of Colorado System
-
Offered by
About
This course is a stand-alone course that builds on the knowledge included in the C# Programming for Unity Game Development Specialization, so the course assumes you have the prerequisite knowledge from that Specialization. You should make sure you have that knowledge, either by taking those courses or from personal experience, before tackling this course. 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 "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 affiliatesModules
Getting Started
4
Videos
- Course Introduction, Stand-Alone Course
- Course Introduction, Specialization Course
- Navigating a Coursera Course (optional)
- Meet the Instructor (optional)
5
Readings
- Which Course Introduction Video Should I Watch?
- Setting Up Your Development Environment
- What's All This MonoDevelop Stuff
- Dr. T's Book
- Unity Import/Upgrade Problems
Dynamic Arrays
5
Videos
- Lesson Introduction
- Unordered ints
- Ordered ints
- Making it Generic
- Implementing an Interface
4
Readings
- Dynamic Arrays
- Exercise 1: Still Haven't Found What I'm Looking For
- Exercise 2: Using the Generic
- Dynamic Arrays Lecture Code
Algorithm Analysis
- Ted the RoboCollector
1
Discussions
- Biggest Struggle in Algorithm Analysis
6
Videos
- Lesson Introduction
- What is Algorithm Analysis?
- Introduction to Big O
- Big O Examples
- Unordered Dynamic Array Analysis
- Ordered Dynamic Array Analysis
4
Readings
- Big O
- Exercise 3 Trading Time for Space
- Exercise 4: Wacky Again
- Ted the RoboCollector Solution
Linked Lists
3
Videos
- Lesson Introduction
- Linked List Implementation
- Linked List Analysis
2
Readings
- Linked Lists
- Exercise 5: Double the Links
Graphs
- Take the Short Way Home
1
Discussions
- Real-World Graph Problem
5
Videos
- Lesson Introduction
- Graph Implementation
- Graph Analysis
- Dictionaries
- Searching a Graph
5
Readings
- Graphs
- Exercise 6: Getting Some Direction
- Exercise 7: What Does It Cost?
- Graphs Lecture Code
- Take the Short Way Home Solution
Stacks
3
Videos
- Lesson Introduction
- Stack Implementation
- Stack Analysis
2
Readings
- Stacks
- Exercise 8: Depth-First Search
Queues
3
Videos
- Lesson Introduction
- Queue Implementation
- Queue Analysis
2
Readings
- Queues
- Exercise 9: Breadth-First Search
Trees
- Don't Take the Last Teddy
1
Discussions
- Most Confusing Tree Ideas
8
Videos
- Lesson Introduction
- Recursion
- Recursive Binary Search
- Tree Implementation
- Tree Analysis
- Tree Traversal
- Minimax Search
- Minimax Implementation
5
Readings
- Recursion
- Trees
- Exercise 10: Minimax Practice
- Trees Lecture Code
- Don't Take the Last Teddy Solution
Design Patterns
- Oh, Shmup!
1
Discussions
- Most Interesting Design Pattern
11
Videos
- Lesson Introduction
- Game Loop and Update Method
- Component
- Prototype
- Singleton
- Observer
- Mediator
- Object Pool
- State
- Strategy
- Template Method
2
Readings
- Design Patterns Lecture Code
- Oh, Shmup! Solution
Finishing Up
2
Videos
- Finishing Up. Stand-Alone Course
- Finishing Up, Specialization Course
1
Readings
- Which Finishing Up Video Should I Watch?
Auto Summary
Unlock advanced game development skills with the "Data Structures and Design Patterns for Game Developers" course. Tailored for IT and Computer Science enthusiasts, this comprehensive program is designed by Coursera and builds on the foundational C# and Unity knowledge from the C# Programming for Unity Game Development Specialization. Ideal for those with prior experience, the course aims to enhance your game development prowess through robust object-oriented design using essential data structures and design patterns. The curriculum is structured to provide an in-depth understanding of various data structures: - **Module 1:** Delve into Dynamic Arrays and the basics of algorithm analysis. - **Module 2:** Master the use of Linked Lists and Graph data structures. - **Module 3:** Explore Stacks, Queues, and Trees for diverse programming needs. - **Module 4:** Understand the significance of design patterns and their application in game development. These concepts are crucial not only for game development but also for other software domains, including web apps and tool building. Led by expert instructors, this 1320-minute course is perfect for professionals looking to refine their skills and create more sophisticated and efficient games. Available under the Starter subscription, it is a valuable resource for anyone aiming to excel in the competitive field of game development. Enroll now and transform your game development approach with advanced data structures and design patterns!

Dr. Tim "Dr. T" Chamillard