Game programming typically pushes the boundaries of language and hardware capabilities. During this course you will learn tools, techniques, and design patterns used by game developers that have wide applicability in other fields of computer science.
You'll also become familiar with Unity3D, a professional game development tool, the behavioral-based programming concept that Unity uses, and many computer graphics topics.
The only textbook for this course is Game Programming Patterns by Robert Nystrom. The author has made it available online for free, but there are also ebook and hardcopy versions available for sale on Amazon if you prefer those formats.
About the Instructor
Dr. Lee Falin worked as a software engineer in industry for several years before completing his Bachelor’s of Computer Science at the University of Illinois, then going on to complete a PhD in Genetics, Bioinformatics, and Computational Biology at Virginia Tech.
After completing his PhD, he worked as a Bioinformatician at the European Bioinformatics Institute, while continuing to work and teach in the private sector.
He has launched a couple of micro-ISV startups, and taught at Virginia Tech, BYU-Idaho, and Southern Virginia University.
Dr. Falin’s research interests include machine learning, bioinformatics, software entrepreneurship, and education. Dr. Falin and his wife have five awesome children whom they homeschool.
Prior to taking this course, you should have completed CSC 250 - Software Engineering (formally numbered as CSC 313).
Assignments are weighted as follows:
- Weekly Programming Assignments: 35%
- Game Design Project: 60%
- Midterms: 5%
For more information about late work, and other course policies, please see the Course Policies section.