Beginning Game Programming with C# is a free online course by the University of Colorado. With this course, students shall start learning how to programme video games using the C# programming language.
About the course
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 Microsoft XNA and open-source MonoGame frameworks, which help us quickly develop games for Windows, Android, iOS, Mac OS, 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 programme.
Week One: Introduction to the course, the Visual Studio environment, and the Microsoft XNA framework. Writing your first C# program and starting to learn about data types.
Student Work: Programming Assignment 1
Week Two: Classes and objects, the core of object-oriented programming (which works great for games!). Writing your first XNA programs.
Student Work: Programming Assignment 2, Programming Assignment 1 Peer Evaluation
Week Three: Strings and what we can do with them. Selection, how to implement it, and why it's so useful in game development.
Student Work: Programming Assignment 3, Programming Assignment 2 Peer Evaluation
Week Four: No new topics
Student Work: Project Increment 1, Programming Assignment 3 Peer Evaluation
Week Five: Mouse and 360 controller input in XNA. Arrays and collection classes to store multiple pieces of information.
Student Work: Programming Assignment 4, Project Increment 1 Peer Evaluation
Week Six: No new topics
Student Work: Project Increment 2, Programming Assignment 4 Peer Evaluation
Week Seven: Iteration - the various ways we can do multiple things in our code.
Student Work: Programming Assignment 5, Project Increment 2 Peer Evaluation
Week Eight: No new topics
Student Work: Project Increment 3, Programming Assignment 5 Peer Evaluation
Week Nine: Class design and implementation in more detail. How are all those useful classes we've been using actually coded?
Student Work: Programming Assignment 6, Project Increment 3 Peer Evaluation
Week Ten: No new topics
Student Work: Project Increment 4, Programming Assignment 6 Peer Evaluation
Week Eleven: Adding music and sound effects to your games. Keyboard input and text output in XNA.
Student Work: Project Increment 5, Project Increment 4 Peer Evaluation
Week Twelve: The optional project as a great way to review for the Final Exam.
Student Work: Final Exam, Project Increment 5 Peer Evaluation
No previous programming experience required.
February 23, 2014 - May 17, 2014