There's really only one way to learn a skill like computer programming. You have to do it.
"My classes are almost exclusively hands on. I think the more time you are in front of a keyboard, the better you will be," said Tony Morelli, an associate professor in CMU's College of Science and Engineering. "If you want to build houses, you can sit through a lot of classes and think you know what is going on, but the first time you pick up a hammer, you will learn more than in those classes. Programming is no different. You have to program and program and program.
Morelli, who teaches data structures and computer game design at CMU, said he expects one thing from his students: create something that didn't exist before.
"You will learn in my class. You will learn because you want that something to happen," he said. "You will learn because you are the only one who has the idea. You will learn because you want to."
Giving students the opportunity and the support to create drives them, Morelli added.
"When someone has this idea, and that idea is supported, that person will work extremely hard to get it done," he said.
Morelli — who holds a Ph.D. in computer science and engineering and has been teaching programming for 10 years — continues to be impressed by what his students dream up.
"One of the most common things I find myself saying in the class is, 'Wait, you made that?'" he said. "We have students coming into some of these classes with no programming background, and by the end they can program. Watching students come into a class with not a whole lot of knowledge about a topic and then seeing them at the end doing amazing things is the best thing."