We may earn an affiliate commission when you visit our partners.
Course image
Dr. Tim "Dr. T" Chamillard

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.

Read more

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 affiliates

Enroll now

What's inside

Syllabus

Dynamic Arrays and Algorithm Analysis
Linked Lists and Graphs
Stacks, Queues, and Trees
Read more
Design Patterns

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Assumes you already have extensive C# and Unity knowledge from taking other courses before beginning this one
Guides learners from a foundational knowledge of C# and Unity development into robust game development using good object-oriented design
Applies data structures and design patterns to game development with industry-standard approaches
Core topics are standard in game development industry
Taught by Tim Chamillard, an experienced game developer and university instructor

Save this course

Save Data Structures and Design Patterns for Game Developers to your list so you can find it easily later:
Save

Reviews summary

Data structures and design patterns game developers

Learners say this course is a largely positive highly-rated option for programmers looking to enhance their game design skills. Well-structured, with engaging assignments, students report that this course was a great learning experience. Key course topics include data structures such as graphs, nodes, and algorithms as well as the implementation of C# for game design. The instructor is knowledgeable and engaging, and the course is rated as challenging but rewarding.
This course is challenging but rewarding.
"Challenging course, but well worth it to gain an understanding of data structures and good game design patterns. "
"Great course as always! This one goes much more in-depth into software engineering principles, not just for game design but for general use. It's a hard course if you're just encountering these concepts for the first time, but Dr. T is an excellent teacher and the assignments have a lot of help to make them doable."
"If you have done the previous 3 courses, definitely don’t miss this course. The previous three is more of an introduction to coding and unity, but in this course algorithms and other well established structured are taught, which are not only good for game development, but also very important for any good programmer."
Course content is challenging but rewarding.
"This was another great course by Dr.T. Studying design patterns and data structures on you own can be a little tricky so it was a great opportunity to learn about those topics in this course of the specialization."
"The more you put time and effort in solving the exercises and assignments, the more you gain deep knowledge and practice in important topics of programming like object-oriented programming and design patterns. "
"This specialization gives me a lot more confidence and experience in c# programming and Unity."
Assignments are engaging and well-structured.
"Super intense and interesting course"
"Thanks to Dr. T for this great course with interesting programming assignments, really enjoyed this one."
"Challenging course, but well worth it to gain an understanding of data structures and good game design patterns. "
Instructor Tim is knowledgeable and engaging.
"Excellent instructor, and I have found his general programming techniques to be quite insightful as I learn more."
"The teacher is the best. All courses are SPECTACULAR! very good exercises, quizzes, homework and very good classes explained. is impossible not love to the Dr Tim."
"I wish I can meet Dr Tim personally and thank him deeply for this specialization. It was a pleasure to go into this journey."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Data Structures and Design Patterns for Game Developers with these activities:
Connect with experienced game developers
Build relationships with experienced professionals to gain insights and guidance in game development
Browse courses on Mentoring
Show steps
  • Attend industry events and meetups
  • Reach out to game developers on social media and online forums
  • Ask for informational interviews
Review Dynamic Array data structures
Refresh your working knowledge of dynamic arrays to aid in learning about more complex data structures
Browse courses on Data Structures
Show steps
  • Review notes on dynamic arrays from a previous course or tutorial
  • Implement a dynamic array in a programming language of your choice
  • Solve practice problems involving dynamic arrays
Attend a game development workshop
Expand your knowledge and skills by attending specialized game development workshops
Browse courses on Game Development
Show steps
  • Research and find relevant game development workshops
  • Register for the workshop
  • Participate actively in the workshop
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice using stacks and queues
Gain hands-on experience with stacks and queues to solidify your understanding of these data structures
Browse courses on Data Structures
Show steps
  • Implement a stack and queue in a programming language of your choice
  • Solve practice problems involving stacks and queues
  • Experiment with different implementations of stacks and queues
Build a simple game using linked lists and graphs
Apply your knowledge of linked lists and graphs to create a practical project
Browse courses on Game Development
Show steps
  • Design a simple game that involves traversing graphs or linked lists
  • Implement the game using a programming language of your choice
  • Test and refine your game
Write a blog post on the benefits of using design patterns in game development
Deepen your understanding of design patterns by writing about their applications in game development
Browse courses on Game Development
Show steps
  • Research the benefits of using design patterns in game development
  • Write an outline for your blog post
  • Draft and edit your blog post
Participate in a game development competition
Challenge yourself and gain valuable experience by participating in game development competitions
Browse courses on Game Development
Show steps
  • Find a suitable game development competition
  • Form a team or work independently
  • Design and develop your game
  • Submit your game to the competition

Career center

Learners who complete Data Structures and Design Patterns for Game Developers will develop knowledge and skills that may be useful to these careers:
Game Developer
A Game Developer creates content and designs video games. As a profession, it is vital to stay updated with the latest programming techniques. This course in Data Structures and Design Patterns can help you stay at the cutting edge of the field and prepare you to work on ambitious new projects.
Software Engineer
As a Software Engineer, you will learn to apply the latest and greatest tools and techniques to solve real-world problems. This course in Data Structures and Design Patterns will provide you with new tools and techniques to add to your repertoire so you can be an even more effective Software Engineer.
Web Developer
Web Developers create and maintain websites. This course will introduce some of the powerful new techniques and tools available to be an effective and efficient Web Developer.
Computer Programmer
Computer Programmers write and maintain the code that makes computers and applications work. This course will introduce you to some of the powerful new techniques and tools available so you can be an effective and efficient Computer Programmer.
Data Analyst
Data Analysts collect, clean, and analyze data to help businesses make better decisions. This course in Data Structures and Design Patterns can help you build a strong foundation in data analysis techniques, including how to manage and interpret large datasets.
Systems Analyst
Systems Analysts design and implement computer systems. This course can help you build a strong foundation in data structures and design patterns, which are essential for success in this field.
Information Architect
Information Architects design and organize information systems. This course can help you build a strong foundation in data structures and design patterns, which are essential for success in this field.
Database Administrator
Database Administrators maintain and optimize databases. This course may be useful in this career field because it can help you stay up-to-date on the latest data management techniques.
User Experience Designer
User Experience Designers design and evaluate user interfaces. This course in Data Structures and Design Patterns can help you build a strong foundation in data structures and design patterns, which are becoming more and more essential in this field.
Technical Writer
Technical Writers create and maintain technical documentation. This course in Data Structures and Design Patterns will help prepare you to write clear and concise documentation about complex technical topics.
Computer Support Specialist
Computer Support Specialists provide technical support to computer users. This course may be useful in this career field because it can help you stay up-to-date on the latest computer technologies.
Network Administrator
Network Administrators manage and maintain computer networks. This course may be useful in this career field because it can help you stay up-to-date on the latest networking technologies.
Quality Assurance Tester
Quality Assurance Testers test and evaluate software to ensure it meets quality standards. This course in Data Structures and Design Patterns will help you develop the skills you need to be an effective Quality Assurance Tester.
Information Security Analyst
Information Security Analysts protect computer systems and networks from security threats. This course may be useful in this career field because it can help you stay up-to-date on the latest security threats and countermeasures.
IT Manager
IT Managers plan and direct the operations of computer systems and networks. This course may be useful in this career field because it can help you stay up-to-date on the latest computer technologies and management techniques.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Data Structures and Design Patterns for Game Developers.
Monumental work on computer science. It covers a wide range of topics, including data structures, algorithms, and programming languages.
Covers a wide range of data structures and algorithms, including dynamic arrays, linked lists, stacks, and queues. It comprehensive resource that can help students to develop a strong foundation in data structures and algorithms.
Is another classic work on algorithms. It more comprehensive and in-depth treatment of the subject than Sedgewick and Wayne's book, but it is also more difficult to read.
Comprehensive introduction to algorithms. It covers a wide range of topics, including sorting, searching, graph algorithms, and dynamic programming.
More accessible introduction to design patterns than the經典著作《Design Patterns: Elements of Reusable Object-Oriented Software》. It uses a conversational style and plenty of examples to make learning about design patterns fun and easy.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Data Structures and Design Patterns for Game Developers.
C# Class Development
Most relevant
More C# Programming and Unity
Most relevant
Intermediate Object-Oriented Programming for Unity Games
Most relevant
Introduction to C# Programming and Unity
Most relevant
Programming Design Patterns For Unity: Write Better Code
Most relevant
Programming for Level Design
The Ultimate Guide to Game Development with Unity...
Complete C# Unity Game Developer 2D
Planning, HUDs, and Spawners in GameMaker
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser