The computer science program concentrates on developing knowledge in areas that are highly applicable in this increasingly networked era, including data structures, algorithms, computer organization, system design, software development and the ability to work across multiple computing machines. Classes are taught by professors with strong academic and working-world experience who strive to provide the most up-to-date information in their courses. Students frequently apply what they learn through the program to produce research projects, both in and outside of class.
The computer science major has two tracks. The first, computer science, is a gateway to jobs immediately after graduation in programming, software development, and information technology. The second track, computer science/math, provides preparation for graduate studies.
Among the resources, labs, and opportunities the program offers:
BVU serves as a home base for robotics and computer projects developed in partnership with the Great Ape Trust in Des Moines, North America's largest great ape facility. The Trust is dedicated to studying comparative cultures and the cognitive and communication abilities of apes, which understand spoken English at roughly the level of four-year-old humans. Students and faculty have built robots to be controlled by the Bonobo apes to help them interact with humans; developed computer games played by the apes that aid in their cognitive development; and utilized the online virtual world Second Life to showcase the Trust's work. In 2009, student Ellen Hartstack's (Class of 2011) voice was recorded for a virtual lexigram keyboard (also BVU-designed) in which each "key" produces a different word.
Students work on robotics in collaboration with Dr. Ken Schweller, professor of computer science and psychology.
All servers in the computer science program are student administered. They are, according to Jason Shepherd, assistant professor of computer science, "completely the students to use both inside and outside the classroom." The Server Lab contains ten Ubuntu Linux servers that provide a "sandbox" environment to test installation and configuration; to experiment with different software packages, setups, file storage strategies; and to test networking computers together in different ways. In 2009, students used the lab to develop and test ways to implement "single sign-on," which would allow students to log in to any machine on a network using the same user name and password.
Computer science offers instruction on a variety of programming languages, including Python, Java, C, Scheme, C++, Ruby, and Prolog, as well as new languages and frameworks like Groovy and Ruby on Rails. "We like to stay right on the bleeding edge of technology," says Schweller.
Computer science offers courses that feature basic game design as part of the curriculum. "When teaching the course Game Programming we will build video games from scratch to study the techniques behind them," says Schweller. "Starting with Computer Science I, we did a version of Hangman. In Computer Science II, we re-built Frogger, but made it run smoother and look snappier. We did Breakout. We built parts of the original Final Fantasy and Mario. We learn games inside out by copying the masters, by imitating them from scratch. There's no code involved in these projects that we don't make."
Our program has a culture of investigation and inquiry that we, in turn, foster in our students. Because computer science changes so fast, there is a desire to regularly engage in research both as part of classes and independently.
Programs in computer science are frequently oriented towards real-world projects. "Our professors have industry experience," says Jason Shepherd. "We've been in the trenches. We know what it's like. Read more...