Coursera
Coursera Logo

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 External Link Icon

Credential

Certificate

Data Structures and Design Patterns for Game Developers
 at 
Coursera 
Highlights

  • This Course Plus the Full Specialization.
  • Shareable Certificates.
  • Graded Programming Assignments.
Details Icon

Data Structures and Design Patterns for Game Developers
 at 
Coursera 
Course details

More 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
  • ?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
Read more

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?

Data Structures and Design Patterns for Game Developers
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Data Structures and Design Patterns for Game Developers
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...