Locations | A - Z Index | Directory | Calendar  Search Icon

Computer Science

B.S. Computer Science

» Department of Computer Science   » College of Engineering


  • INTRODUCTION
  • WHAT IT TAKES
  • WHAT PEOPLE DO
  • GET INVOLVED
  • FACULTY
A computer science student using custom software on a two-display desktop

From supercomputing in the study of global warming to developing complex wireless mobile devices to creating social networking sites like Facebook, the field of computer science is constantly evolving and ever-expanding. With a bachelor of science (B.S.) in computer science from the University of Idaho, you will be equipped with in-demand technical skills and practical experience to pursue an exciting career in one of the fastest growing and dynamic segments of our society.


Two computer science students work on a project together

As a student in the B.S. computer science program, you will learn to analyze problems, formulate, test and use advanced computing equipment, and work in teams to solve problems and develop products. You will become familiar with Linux and Windows operating systems, study computer organization and architecture, and learn to program using the most up-to-date languages and techniques. You will also take courses in mathematics, calculus, linear algebra and statistics. As you progress through the program, you will have the flexibility to tailor your studies to specific subject areas, such as computer networking or security.


Graduates of the B.S. computer science program are also prepared for advanced study in the field. Related graduate degrees offered at the University of Idaho include master of science (M.S.) in computer science, doctorate of computer science, M.S. bioinformatics, M.S. computer engineering and M.S. mathematics.


With more than 120 undergraduate students and 60 graduate students in the computer science program, you'll be part of a vibrant learning environment that encourages student collaboration and personal attention from our experienced faculty. Students also have access to specialized labs dedicated to learning and research in computer security and collaborative virtual environments.


Most computer science courses are offered on the Moscow, Idaho, campus with a select number of undergraduate and graduate courses also available on video through our Engineering Outreach program.


A computer science student working in a server room

Prepare for Success

Students in the computer science program have diverse backgrounds and interests, but often share the following qualities:

  • A high-level of personal initiative
  • A strong desire to learn new things
  • A desire to be a lifelong learner who embraces the idea of working in an ever-changing environment
  • Willingness to experiment and work diligently to discover solutions

Successful students also have an aptitude for mathematics and science. To prepare for the computer science program while you are still in high school, it is helpful to take as many math and science classes as you can.


Computer science students working in a classroom setting

Your First Year

In your first two years in the computer science program, you will take many of the same general education, science, math and computer science courses as students in the computer engineering program. In addition to the general university requirements, your first year will include courses that build your core computer science foundation. The program also includes classes studying:

  • Algorithms
  • Data structures
  • Programming language concepts
  • Computer architecture
  • Operating systems
  • Software engineering
  • Compiler and translator design
  • A team-based software capstone design project

Although it is possible to earn a bachelor of science in computer science in four years or eight semesters, many students do take a little longer to graduate. For more information about our curriculum, please visit: http://www.cs.uidaho.edu.


Students collaborating in computer lab

What You Can Do

With a bachelor of science (B.S.) in computer science from the University of Idaho, the career opportunities are vast. You may pursue a career specializing in:

  • Information assurance
  • Games and virtual environments
  • Embedded systems
  • Distributed and network computing
  • Fault-tolerant systems
  • Artificial intelligence
  • Evolutionary computing
  • Computer architecture
  • Software engineering
  • Bioinformatics
  • Information technology
  • Computer theory
  • Operating systems and network

Graduates of the B.S. computer science program are also prepared for advanced study in the field. Related graduate degrees offered at the University of Idaho include master of science (M.S.) in computer science, doctorate of computer science, M.S. bioinformatics, M.S. computer engineering, and M.S. mathematics.


One computer science student helping out another with a software application

Opportunities

Many new computer science graduates begin their careers in software development, software testing, computer system, network administration or user support. Average starting salaries range from $60,000 to $80,000.

After a few years of work experience, you’ll have the opportunity to find your niche and discover projects that really drive you. Some graduates will follow a technical focus such as studying and applying Java or Ajax in the development of applications, while others will gravitate toward a management track, such as maintaining the network architecture of a large corporation or leading a team of software developers.

Our graduates work in all regions of the country and globally, including in some of the world's most innovative and successful organizations, such as:

  • Hewlett-Packard
  • Microsoft
  • Boeing
  • Albertson
  • Amazon.com
  • Potlatch Corp
  • Nike
  • Xerox
  • Idaho National Laboratory
  • Micron Technology
  • Intel
  • Chief Architect
  • Fast Enterprises
  • Schweitzer Engineering Laboratories
  • National Security Agency
  • Weyerhaeuser
  • Safeco Insurance
  • United States Navy
  • Extended Systems
  • Itron


A group of students working at the Computer Science Assistance Center

Current Research

Our faculty members are nationally recognized for their research capabilities and expertise. If you’re interested in the research side of science and technology, you may have an opportunity to contribute to research projects happening on campus, such as the following:

  • Multi-agent systems: Dr. Terry Soule is conducting research on evolving multi-agent systems that can cooperatively solve complex problems, including search and exploration problems, classification problems and planning problems.
  • High-assurance computing systems: Dr. Jim Alves-Foss is currently working on multiple research projects; one is studying the design and analysis of high-assurance computing systems, including the development of tools and methods for certifying the security properties of these systems.
  • Collaborative virtual environments: Dr. Clinton Jeffery and his team are working to improve Unicon programming language graphics performance on Microsoft Windows Vista and on Macintosh OSX. 


Three computer science students socializing around a table

Activities

If you’re interested in learning more about the industry from an outside perspective, check out these professional organizations:


Hands-On Experience

As a computer science student, you will learn by interacting directly with professors and by working closely with peers on team projects. Our dynamic, hands-on learning environment will teach you how to think strategically and practically. It will prepare you with skills to create tactical solutions to challenges you’ll face daily in your working life. Hands-on experiences may include:

  • Student research:  You can arrange research activities for credit, or in some cases, there may be opportunities to obtain paid positions. We also incorporate a research component into many of our upper-division courses. You'll perform independent study and write a research report on your findings. You may also contribute to research projects by developing application software, evaluating experimental systems, writing technical reports and collaborating with faculty on technical papers.
  • Capstone course:  Here you have the opportunity to experience scenarios that you will encounter on the job. With your team, you’ll work through the systematic software development cycle, including: scope analysis, developing system requirements, designing, coding, testing, implementation and documentation. You’ll get to work directly with real project sponsors. Visit the CS 481 Senior Capstone Design Website for specific information about current projects.


Facilities

Below are examples of how our computer science students are expanding their horizons and preparing for a successful future, both in and outside the classroom:


Faculty Involvement

Complete list of department faculty



Axel Krings
Axel Krings, Ph.D.
Professor
Research Areas: Fault tolerant systems, survivable systems, computer networks, critical infrastructure protection, scheduling theory
» View Axel Krings' profile
Bob Rinker
Robert Rinker, Ph.D.
Associate Professor
Research Areas: Computer architecture, reconfigurable computing, embedded systems
» View Bob Rinker's profile
Bruce Bolden
Bruce Bolden, M.S.
Senior Instructor
» View Bruce Bolden's profile
Clinton Jeffery
Clint Jeffery, Ph.D.
Associate Professor
Research Areas: Collaborative virtual environments, programming languages, program visualization
» View Clint Jeffery's profile
Greg Donohoe
Gregory Donohoe, Ph.D.
Professor, Chair of Computer Science
Research Areas: Embedded and reconfigurable computing, Energy-efficient embedded computing, High-performance computing for signal and image processing, High performance digital system design
» View Greg Donohoe's profile.
Jim Alves-Foss
Jim Alves-Foss, Ph.D.
Professor
Research Areas: Information Assurance including: Computer Security, Formal Methods, Design and Analysis of High Assurance Systems, Cryptographic Protocol Design, Security Policy Engineering, Multi-Level Secure Systems, and the MILS Architecture (Multiple Independent Levels of Security)
» View Jim Alves-Foss' profile
Milos Manic
Milos Manic, Ph.D.
Associate Professor, Director, CS Program at Idaho Falls
Research Areas: Computational intelligence, intelligent control, data mining, and modern heuristics with various applications such as vision, image recognition, mechatronics, intrusion detection, decision theory, reliability and performability modeling
» View Milos Manic's profile
Paul Oman
Paul Oman, Ph.D.
Professor
Research Areas: Information assurance, critical infrastructure protection
» View Paul Oman's profile
Rhonda Zenner
Rhonda Zenner
Financial Coordinator, Adjunct Instructor
» Rhonda Zenner
Robert Heckendorn
Robert Heckendorn, Ph.D.
Associate Professor
Robert works with anything that evolves. His research has included bioinformatics work in phylogenetics, new methods of Markov Chain Monte Carlo sampling, and the simulation of the geneics of the onset of breast cancer. He is currently working on evolutionary approaches to agent based simulations of international conflict and the cooperative behavior of swarms of thousands of robots.
» View Robert Heckendorn's profile.
Bob Hiromoto
Robert Hiromoto, Ph.D.
Professor
Research Area: Parallel programming
» View Bob Hiromoto's profile
Terry Soule
Terry Soule, Ph.D.
Professor
Research Areas: Evolutionary computation, biological modeling
» View Terry Soule's profile