Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

University of Colorado System

Beginning Game Programming with C#

University of Colorado System via Coursera

This course may be unavailable.

Overview

The Beginning Game Programming with C# course is all about learning how to develop video games using the C# programming language. Why use C# instead of C++, Java, ActionScript, or some other programming language you may have heard of? First, using C# lets us use the open-source MonoGame framework, which help us quickly develop games for Windows, Android, iOS, Mac OS X, and others. Second, the Unity game engine is very popular with indie game developers, and C# is one of the programming languages you can use in the Unity environment. And finally, C# is a really good language for learning how to program.

That learning how to program comment is important because this course doesn't assume you have any previous programming experience. Don't worry if you've never written code before; we'll start at the very beginning and work our way up to building a small, complete game by the end of the course. Throughout the course you'll learn core programming concepts that apply to lots of programming languages, including C#, and you'll also learn how to apply those concepts when you develop games: drawing all the entities in the game world, updating the game world based on user input and simple physics, playing music and sound effects in your games, and so on.

Computer programming is really fun in general, and programming games is even better!

Caution: Beginning (assuming no prior programming knowledge) is not the same as easy (not hard to do). Learning to program IS hard to do, especially since this course is essentially a freshman-level college course. Meeting the course challenges while you master the material will be rewarding to you, but doing that will require hard work and maybe even a few expletives along the way.

Syllabus

Course Introduction, First C# Program, and Storing Data
Learn about the course structure, the course programming environment, and Dr. T; Learn how to write a C# program; Learn how we use data types, variables, and constants to store data in our programs; Complete and submit Programming Assignment 1

Classes and Objects, MonoGame/XNA Basics
Learn some foundational Object-Oriented concepts; Learn the basics of MonoGame/XNA; Complete and submit Programming Assignment 2; Complete and submit Peer Review of Programming Assignment 1

Strings and Selection
Learn about using C# strings; Learn how we make decisions in our code; Complete and submit Programming Assignment 3; Complete and submit Peer Review of Programming Assignment 2

Recovery week
Reflect on previous course material with no new material this week; Complete and submit Project Increment 1; Complete and submit Peer Review of Programming Assignment 3

MonoGame/XNA Mice and Controllers, Arrays and Collection Classes
Learn how to use mice and controllers for input; Learn how to store larger amounts of data; Complete and submit Programming Assignment 4; Complete and submit Peer Review of Project Increment 1

Recovery week
Reflect on previous course material with no new material this week; Complete and submit Project Increment 2; Complete and submit Peer Review of Programming Assignment 4

Iteration
Learn how to do things multiple times; Complete and submit Programming Assignment 5; Complete and submit Peer Review of Project Increment 2

Recovery week
Reflect on previous course material with no new material this week; Complete and submit Project Increment 3; Complete and submit Peer Review of Programming Assignment 5

Class Design and Implementation
Learn how to design and implement classes; Complete and submit Programming Assignment 6; Complete and submit Peer Review of Project Increment 3

Recovery Week
Reflect on previous course material with no new material this week; Complete and submit Project Increment 4; Complete and submit Peer Review of Programming Assignment 6

MonoGame/XNA Audio, MonoGame/XNA Text IO
Learn how to play music and sound effects in MonoGame/XNA; Learn how to process keyboard input and display text in MonoGame/XNA; Complete and submit Project Increment 5; Complete and submit Peer Review of Project Increment 4

The Final Week
The description goes here

Taught by

Tim Chamillard

Reviews

3.6 rating, based on 16 Class Central reviews

Start your review of Beginning Game Programming with C#

  • Yuri Kozak
    I earned 100% for this course. I did all optional labs(except the last optional project) I had not much prior programming experience (only in Python from LTP:Fundamentals course). I didn't use the textbook. So I can say - even if you are fully beggi…
  • Samrat S Sengupta
    I am complete beginner to programing.This course is absolutely NOT SUITABLE FOR BEGINNERS. The lecture quality is poor. The jokes are insufferable. I am in the end of the 3rd week. The first week was fine I could do the assignments.Then the second week assignment asked me to do things that were not taught and expected the students to come up with solutions magically. The truth is the assignment was supposed to be done by experienced people. If You don,t believe me then just go to the forums,the people discussing stuff there are not beginners by any measure. The one star I gave was because this course got me interested in C# and game programming.
  • Bruno Lehouque
    The people who could complete the course like it. Those who couldn't dislike it. This IS a course for beginners but that doesn't mean that it's easy and that you can learn without efforts. Obviously, Dr. T's teaching methods and humor don'twork with…
  • Anonymous
    I would have liked to have been able to give this course '0' stars. First of all, as another reviewer suggests, this was completely unsuitable for beginners and had me confused and feeling out-of-my -depth from the beginning. I felt stupid and that…
  • Anonymous
    Ridiculously demanding and time consuming course with poor support and lecture quality.

    It is advertised as suitable for beginners - IT IS NOT!

    To do the tasks properly, you need to buy a book which is admittedly cheap.

    Those who completed this course must have had extensive prior experience of C# or have been geniuses - I fall into neither of those camps.

    I gave up after two weeks - it was impossible.

    If you want a fun, entertaining programming course, try the Rice University Python games course - it's in a different, much better universe.
  • Anonymous
    Awesome class all round. I haven't done much programming (just some basic html and game maker script) Firstly, definitely buy the textbook, if you are seriously interested in getting the most out of the course. The book goes into more detail than just the lectures alone. I think a big part of why some complainers below, giving the course 1/5 stars is because they thought they could just watch video lectures and become professional game programmers. They simply were not up to the challenge.
  • Anonymous
    This course was just challenging enough. It pushed me to the point of I can't do this many times. With a little break and some forum reading everything worked out. I'm sure my code wasn't the best but it did work and I feel like I have a basic understanding of C# now. Thanks Dr T.
  • Anonymous
    This is not a beginners course. There is missing links between the lectures, Labs and Assignments. They assume you know enough to do simple things like subtract a number. When that hasn't been taught. So not a beginners course.
  • Anonymous
    Made 100 %. I have very basic programming and this was my first time learning C#. Love this class.
  • Starting this class, I had experience with other programming languages, but was new to C#. I was interested mainly for the game programming side of things. It's important to know going into this that this is an actual university course that Dr. T t…
  • Anonymous
    I think Dr. T is awesome and his jokes make me chuckle. However, I do think there is a gap between what the lectures teach and being able to complete the assignments (even with his book). That is, if you are new to programming. I was not able to solve assignment 2 and 3 on my own and yes this is very humbling amd frustrating. But going through code from more experience students is fun and informative albeit still not enough to understand all the concepts. It has not made me want to give up but rather start from a more step by step level with another book. Head First C#. Then, I plan on revisiting what I struggled with.
    https://www.amazon.com/gp/product/1449343503/ref=oh_aui_detailpage_o00_s01?ie=UTF8&psc=1
  • QZ
    This course was great! The quality of the resources was pretty good. The programming assignments were hands-on and fun. I loved being able to figure out how to solve a problem through critical thinking and googling. However, I recommend that you take a basic intro to programming course before attempting this. And if you can look stuff on the internet on your own, then you definitely don't need to buy the textbook.
  • Andrei Razvan Maresu
  • Anastasia Blita
  • Profile image for EagerLearner
    EagerLearner

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.