TMCnet News
Sticking with computer science in Idaho [The Idaho Statesman, Boise](Idaho Statesman (Boise) Via Acquire Media NewsEdge) May 09--Alyssa Barela's love for video games drew her into computer science at Boise State University, though she had never dabbled in programming. Her math skills, dogged determination, and advice from professors and upper-class students helped her pass the initial programming class on her second try. "Once I got through that class the second time, I knew that with the rest of my training I could get through anything," she says. Any thought of quitting? "I knew I would hate myself if I did," says Barela, a 22-year-old junior from Grangeville who dreams of becoming a game designer. But many computer science students give up and change majors. That's a problem in Idaho and elsewhere that has spurred educators to make changes in curriculum and student support, especially as a shortage of software programmers puts more pressure on schools to produce them. A big reason? Computer science is hard. Students and professors at Idaho universities say reasons for the drop-outs include the difficulty of learning programming languages and higher-level math, lack of preparation in high school, and misconceptions among students about what computer science entails. Even average salaries for software developers in Idaho that federal statisticians say range from $68,880 to $80,550 aren't enough to keep them. Treasure Valley software CEOs complain regularly about the difficulty of filling an increasing number of well-paying software-engineering jobs. The Idaho Department of Labor says nearly 1,000 jobs for software developers were posted in Idaho just in the first few months of this year. "The major is not easy," says Kristina Martin, 25, a computer science freshman at Boise State. "It calls for a specific skill set, and sometimes people have to work at it, and some people just aren't built for it -- and they know it." LEARNING THE LINGO Some computer science students compare the study of programming languages, like C++, Java or Python, to learning a foreign language. "It was challenging, because it was so new," says Kevin Byrne, 25, a junior computer science major and computer lab assistant at Boise State. "But as familiarity with the language increased, it shifted to become more of a design challenge." Clay Barks, 32, a Boise State junior, says he had never written code before he left the family plumbing business in California to pursue computer science. "It was definitely a culture shock," Barks says. "I buckled down and learned what I needed to learn. What I compare it to, more than a foreign language, is creative writing. There's one problem but more than one way of solving the problem." Greg Donohoe, professor and chairman of the computer science department in the University of Idaho's College of Engineering, says computer programs can be absolutely unforgiving or incredibly patient, depending on how students go about building them. A methodical approach is to build one line and then test it, and to not do too much in one step. He often hears from students leaving the major about their frustration with the long nights spent trying to get a program to work. "The goal is not the correct answer," he says. "The goal is understanding." Boise State students say the first and second programming classes weed out students who don't have the passion or the capacity for the career. "For a lot of people, it's hard, it's really time-consuming, and sometimes, it's one little mistake that holds you back, and some people can't stand that," Barela says. Different universities use different languages for beginning classes. Brigham Young University--Idaho drops students right into C++. Boise State starts them off with Java. The University of Idaho begins with C++ but is launching another introductory course that uses Python, a computing language used to create multimedia programs with movies, images and sound. Donohoe says among computing languages, Python is the least painful for beginning students to use. "To bring them in, you have to give them something besides pain," he says. GAINING SKILLS The major requires advanced calculus, algebra, computing and discrete math -- a proof-based math class in which students "spend the entire semester proving why the things you know to be true are true," says Barks, a computer lab assistant. "They have to be good at math," says Murali Medidi, a professor and chairman of computer science in Boise State's College of Engineering. "These students are coming out of high school, and they're not prepared for the math or science careers," says Earl Karl, chairman of computer science and electrical engineering at BYU?Idaho in Rexburg. "By and large, the students aren't quite prepared for the analytical rigor we have here." BYU-Idaho invests heavily in tutoring and other support for students, he says. Software designers also must love solving problems methodically, Byrne says. "Lots of the freshmen and sophomores lack problem-solving skills," Byrne says. "They'll read an assignment, rushing through it or lacking comprehension. They don't understand the goal and can't get there. It can be very frustrating until it clicks." He says many new students don't know how to overcome the frustration or how to keep going, and instead resort to Google to find solutions. "The ones that do well are the ones that have patience and endurance," he says. "They ask about syntax and logic. The others are confused. They don't know what they're doing." Barks says some students don't want to put in the time software development requires. Creating a program is only one part of the process. It's also vital that the programmer test it to make sure it continues to work no matter what the user does to it. "I spend half the time or less actually writing the program and the majority of the time figuring out how someone is going to break my program," he says. "That's really frustrating for a lot of people." RETAINING STUDENTS Up to 40 percent of the students who start undergraduate programs in computer science nationwide drop out by their second year, Boise State's Medidi says. Medidi acknowledges that Boise State's situation is even more severe -- about 50 percent of computer science students change majors. The university graduates about 6 percent of its computer science majors each year, including 21 of 350 this school year, he says. "Attrition in these classes is something we take very seriously," he says. The department has capped the number of students per section to between 25 and 30 to give more individual attention, Medidi says. Boise State also has applied for a $700,000 IGEM (Idaho Global Entrepreneurial Mission) grant to attract star researchers, increase computer science research, strengthen ties with business and turn out more graduates. The university wants to expand its computer science faculty from eight to 12 with the money, says Mark Rudin, vice president for research and economic development. "Clearly, funding is critical for universities like BSU to hire additional faculty and build upon current programs to increase the size of their incoming class as well as retain existing students in their computer science department," says Faisal Shah of Boise, founder of MarkMonitor, an online brand-protection company, and First to File, an online patent management company. The changes could bring higher quality students to the program seeking to do research. Rudin has said even if the university doesn't get the grant, it will find the money to move forward. The department has only two teaching assistants to support four sections, each of which needs its own teaching assistant, says Amit Jain, computer science associate professor. Jain wants money for a tutoring center. Rudin says that's not part of the IGEM plan. Graduation rates are a bit higher at other universities in Idaho and Utah. BYU-Idaho will graduate 13 percent, about 50 of 400 majors, this year; and the U of I, 17 percent, or 20 of 120. "It's a hard slog for the students, but the benefits are great career opportunities and great money for a lifetime," says BYU's Karl. "The most important part of our job is helping our students learn how to learn. Technology changes, software changes. The core of what we do is help them figure out new things on their own." Just as technology has changed, so have the students entering the field, Donohoe says. "A freshman born in 1994 grew up in the tinkering generation," he says. "It's like automobiles in 1910 -- if you drove a car, you had to be a mechanic. Now if the car works you don't need to know what's under the hood. Today's freshmen grew up with technology perfectly packaged. They don't know what goes on under the hood. All this technology you have to understand because you're not just interacting with this technology; it's actually doing something. This computing stuff, when you get under the hood, is very hard, it's tough and it's different than anything else you've ever seen." BYU in Salt Lake City will graduate about 24 percent, 125 of 524 computer science students. The BYU program expanded in the past few years into a couple of popular areas like animation, with Pixar and Disney Studios recruiting from the program. As a result, more students are signing up for the major than leaving it, says Jennifer Thornton, a computer science secretary. "We do lose kids who think they want to do computer science but haven't been prepared well enough in high school," she says. The school is revamping its program to reflect technology changes and give students a better taste of the breadth and flexibility of the work. "We cannot provide the employers with enough computer science graduates," she says. FLOCKING TO COMPUTER SCIENCE "The good news is we have students interested in coming through that door," Medidi says. Computer science enrollments increased significantly in the late 1990s because of the tech boom, but dropped when that bubble burst in the early 2000s and companies began to outsource information technology. "We are seeing the results of those lower enrollments now," Medidi says. However, jobs for software developers continued to increase through the past decade, widening the gap between available jobs and the number of graduates. The federal Bureau of Labor Statistics forecasts that about 270,900 positions for software developers will be created by 2020. Enrollments in undergraduate computer science programs rose 9.6 percent in the 2011-12 school year, the fourth straight year of increase, according to the Taulbee Survey conducted annually by the Computing Research Association that documents trends in computer science education. The number of bachelor's degrees in computer science awarded increased by 12.5 percent in the 2010-11 school year. Two other issues that need to be addressed are getting more women into computer science at an early age and promoting computer science in Idaho middle and high schools, where many of those classes either have been canceled or never been offered at all, says Boise entrepreneur Shah says. "Software development is extremely rewarding," U of I's Donohoe says. "I like to say it combines the discipline of the sciences with the creativity of the arts, to produce useful things. And you repeatedly get instant gratification when the next item works. Our challenge is to get our kids past the initial hurdles, and into to that stage where the creative rewards sustain their enthusiasm." Sandra Forester: 377-6464 ___ (c)2012 The Idaho Statesman (Boise, Idaho) Visit The Idaho Statesman (Boise, Idaho) at www.idahostatesman.com Distributed by MCT Information Services |
