Course Spotlight: Programming I
Published on Dec 3, 2013 by James Gregory
Three months into the Game Development program students hit Programming I – the first core class that introduces the concepts of writing and troubleshooting computer language. If you’ve never looked at a typical screen of code it can be hard to imagine how you’ll ever decipher this matrix of numbers and letters, but that’s Arthur Johnson’s specialty. Arthur is the course director for Programming I and Programming II, a complimentary class that arms students with the tools they’ll use throughout the rest of their degree, as well as careers.
“We put these classes up as far as we could to give people an idea of what programming is like early on,” he says. “For some, they determine that’s not how they want to go into the industry, they’d rather target it another way. But for those that really enjoy the programming – get into the thought processes, the logic, and memorization – it’s really a good opportunity for them to thrive and learn the essentials.”
These courses are centered on C++, which is among the more commonly used programming languages in the software development industry, both for video games and other applications. It was developed in the early 80s and is based on a series of commands, functions, and other syntax that controls the way a program operates. In gaming, this means the physics, control scheme, character health, and other rules that determine the overall gameplay.
“Programming I is an introduction to the most basic features of C++, and is focused on the essentials of the language as well as the terminology that programmers in the industry are going to use,” Arthur says. “It also emphasizes the first part of critical thinking and problem solving, like when things don’t go right, what steps can you take to debug your program and figure out why it went down the wrong track.”
“The lectures go over the concepts of the day, but it really only comes home in the lab exercises where they work on individual programs on their own, and go through the same ideas. There’s a real joy when the computer’s doing your will, and you’re like ‘I made it do exactly that.’”
By the end of Programming I, students have already begun to make rudimentary applications that demonstrate the foundations of what it means to interact with their C++ compiler software and have it talk to the computer. This sets them up to develop more involved projects with increasingly sophisticated functionality. As they move through Programming II they’ll create a card game that gets into logic and problem solving.
It’s really the first step in from going to a gamer to a game developer, and having taught C++ programming at Full Sail for nearly 15 years, Arthur still enjoys seeing students begin to grasp the concepts of the language across these three courses, and turn those commands into something interactive on screen.
“Our programming classes are really about setting them up for getting into the graphical user interfaces and eventually 3D,” he says. “The idea is to give them enough of a language construct that they can start proof of concepts for their own original game ideas. One of the biggest satisfactions for me is when the ‘click’ happens and you realize that they got it. Everything has fallen into place, and most importantly, they know why the lines they wrote made the computer behave they way it did.”