When Mario jumps up to do his smash move on the video game “Super Mario Smash Bros,” the gamer presses a couple buttons and -bam!- Bowser gets flung into the air and knocked out of the arena.
But how does that little disc inside the gaming console know those buttons will cause that action to happen? How does a computer know a link on a website should lead to a completely different website?
The answer lies in the world of computer science and the complex programming that is such an intricate part of how technology works today.
Clinton Jeffery, a professor in the University of Idaho Department of Computer Science (CS) dubbed “Dr. J” by some of his students, said computer science is a strange form of engineering because everything they build is abstract and mathematical rather than anything physical.
“The goals for students who come out of our program would be that they are skilled at building hard, complicated pieces of software that will meet different needs in society for government or industry and that ranges from hard science problems to issues with businesses, databases, websites and so on,” Jeffery said.
Because the program is an engineering major- a fairly difficult major- the entry level courses include Computer Science 120, which teaches students C++, Jeffery said.
He said this programming language allows someone to write steps of instructions for the computer or mathematical equations for the computer to calculate.
As students progress through the program, they get to experience more hands-on work with teams of other students with different study focuses in the College of Engineering.
“Our majors all take a two-semester Senior (Capstone) Design that is coordinated with the other Senior Design programs in the College of Engineering and is in the (Engineering) Design Expo every spring,” Jeffery said. “Typically those teams are maybe including one or two computer scientists and maybe some engineers from mechanical or electrical, and our majors are helping write the software for whatever interesting system they’re building- maybe it’s a computer game or a robotics related project or the engineers are building some hardware for which they need some programming done.”
He said the projects that are featured in the Design Expo look very good on the students’ resumes, and people who come to the expo can see what students are able to build by that point.
“(For) most of my students I hope they get the same experience that I get when you finish the project and the program is actually working- there is this huge rush when you actually see the program doing what it’s suppose to do,” Jeffery said. “Maybe that’s even more fun if it’s doing some pretty computer graphics or animation but it’s majorly cool even if it’s just crunching a bunch of numbers and coming out with the right answer.”
Emeth Thompson, a UI CS student, said she had difficulty going through the baby steps of getting to the point where she now realizes what it takes to make these amazing programs and apps.
“This semester I’m finally taking software engineering and finally seeing what it really takes to put together these massive pieces of software,” Thompson said. “I’m starting to get a much higher appreciation for it.”
For many students the big transition is when they begin working on larger programs and they have to work together, Jeffery said.
“Students who come into our program might be really good at math and really used to working by themselves, and then they find out software engineering is all about communication, coordination and collaboration.”
Stuart Stenier, a UI CS PhD student who also teaches at Eastern Washington University, said those in this field are members of multifaceted teams. It requires being a team member and contributing one’s knowledge and skills to the team in order to accomplish a project- it requires social skills.
“Computer science and the internet that we invented have completely transformed our society, and what I’m really intrigued by is what is the next big transformation that computers and technology may enable,” Jeffery said.
Thompson said there are many different options available in the world of computer science and students often get together to discuss the complexity of what they are working on.
“It’s just like the tip of the iceberg,” she said. “I think the more you talk to people about all these different things the more you can really find your niche. Outside of class I spend just as much time studying with people that I do inside of class. There is so much discussion involved in understanding all these different aspects.”
In this rapidly advancing world of technology, the skill set students leave this program with open them up to a large variety of opportunities post graduation.
Jeffery said 15 to 20 percent of the program’s students decide to go for a masters degree because its gives higher salaries and more choicer jobs, but the majority of the bachelor students are happy with their bachelors degree.
“Then they move off to Seattle or Silicon Valley or sometimes to Boise or further away,” he said. “We’ve had graduates who go off and do start-ups in Silicon Valley. We’ve had guys who go off and work for Amazon, (Google, Microsoft, Hewlett Packard or Micron) and those are all common targets.”
He said a major local employer many of their grads are placed is at Schweitzer Engineering Laboratories.
Jeffery said many CS perspective majors and incoming majors come into the field just like he did- because they fell in love with computer games and wanted to learn how to make their own.
He said when students get into it they find out it’s quite challenging but it’s more fun to make the games than to play them.
“I’ve been a gamer for a really long time and I think that’s one reason why I think computer science is as interesting as it is,” Thompson said. “Most people who are computer science start (it) because they are a gamer and they (want) to make these amazing games then they realize that it takes thousands of people to do it.”
She said though many people have a particular stereotype about programmers, there are students in the program who have never had experience with gaming and are working toward other aspects of the major.
Emily Vaartstra can be reached at [email protected]