Data Structures and Design Patterns for Game Developers

  • 4.6
Approx. 22 hours to complete

Course Summary

Learn about essential data structures and design patterns used in programming and software development. This course teaches you how to create efficient and scalable programs using these techniques.

Key Learning Points

  • Understand the fundamentals of data structures and design patterns
  • Learn how to analyze and optimize program performance
  • Gain practical experience implementing these concepts in code

Related Topics for further study


Learning Outcomes

  • Implement and analyze common data structures used in programming
  • Apply design patterns to enhance program architecture and functionality
  • Optimize program performance using data structures and design patterns

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge in a high-level language such as Java, Python, or C++
  • Familiarity with object-oriented programming concepts

Course Difficulty Level

Intermediate

Course Format

  • Online self-paced
  • Video lectures
  • Programming assignments

Similar Courses

  • Algorithms and Data Structures
  • Software Architecture and Design
  • Python Data Structures

Notable People in This Field

  • Computer Scientist
  • Software Engineer and Author

Related Books

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.

Outline

  • 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?

Summary of User Reviews

Discover the world of data structures and design patterns in this comprehensive Coursera course. Users have praised the course for its engaging content and useful practical applications. Overall, this course has received high ratings from satisfied learners.

Key Aspect Users Liked About This Course

The course's practical approach to teaching data structures and design patterns is highly appreciated by many users.

Pros from User Reviews

  • Engaging and informative course content
  • Practical applications make the course more interesting
  • Instructors are knowledgeable and responsive to questions
  • Great course for beginners to learn programming concepts
  • Offers a good mix of theory and practical exercises

Cons from User Reviews

  • Some users found the course pace too slow or too fast
  • Assignments can be challenging and time-consuming
  • Some users felt that the course could benefit from more in-depth explanations
  • Course materials can be difficult to access or navigate
  • Limited opportunities for interaction with other learners
English
Available now
Approx. 22 hours to complete
Dr. Tim "Dr. T" Chamillard
University of Colorado System
Coursera

Instructor

Share
Saved Course list
Cancel
Get Course Update
Computer Courses