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

Computer Science

M.S. in Computer Science (thesis and nonthesis) and a Doctor of Philosophy (Ph.D.)

» 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

The University of Idaho offers a thesis and nonthesis master of science in computer science (M.S.C.S.) and a doctor of philosophy (Ph.D.) in computer science. These advanced degrees prepare you to lead the discussion and development of advanced computer concepts and applications in science, engineering, business, the academic environment and in everyday life.


As a graduate student in the computer science program, you will learn the foundations of computer science theory and application and the interaction between the two. You’ll also gain an in-depth understanding of the current limitations of the field and learn how to apply methodical and inspired approaches to overcome these obstacles. Examples of upper-level graduate courses include:

  • Computational Biology - Sequence Analysis (CS 515): You’ll learn how to design and analyze algorithms that address the computational problems posed by biological sequence data, such as DNA or protein sequences.
  • Network Security (CS 538): You’ll learn practical topics in network security, such as policy and mechanism; malicious code; intrusion detection, prevention, response; and cryptographic techniques for privacy and integrity. You’ll explore trade-offs between risk of misuse, cost of prevention, and societal issues of network security with concepts implemented in programming assignments.
  • Advanced Computer Architecture (CS 551): You’ll learn about advanced hardware principles and alternatives in instruction set design, processor implementation techniques, pipelining, parallelism, memory hierarchy and I/O processing techniques and how these relate to software issues.
  • Neural Network Design (CS 578): You’ll be introduced to neural network architectures, and you’ll learn how neural networks are used to solve pattern recognition and control system problems.


With about 50 graduate students in the computer science program, the University of Idaho offers exceptional instruction with direct access to faculty and the opportunity to fully participate in pioneering research opportunities.


A computer science student working in a server room

Prepare for Success

To be accepted into the master's or Ph.D. program, you must demonstrate an understanding of basic mathematical and computer science skills and complete courses that cover the following subject areas:

  • A structured, high-level programming language (CS 120)
  • Data structures (CS 121)
  • Computer organization and architecture (CS 150)
  • A full year of calculus ( Math 170 and 175)
  • Discrete mathematics (Math 176)

Master's candidates must also fulfill the graduate breadth requirement by completing at least one course from three of the following categories. Ph.D. candidates must complete at least one course in four of the following areas:

  • Software architecture
  • Hardware architecture
  • Development processes
  • Research foundations
  • Computer science theory

In addition, you need to fulfill the Ph.D. teaching requirement with one full semester of teaching experience. The teaching assignment will be determined by your supervisory committee.


Your First Year

Depending on your interests, your academic adviser will help you develop a focused plan of study. Some examples of currently popular topics and important areas of interest include:

  • Information assurance (computer security)
  • Survivable systems (fault-tolerant computing)
  • Collaborative virtual environments
  • Evolutionary algorithms and artificial intelligence


What You Can Do

With a graduate degree in computer science, you can apply your theoretical knowledge and technical skills in many avenues. While master's graduates are prepared to take product development and research leadership roles in many technical companies, Ph.D. graduates generally begin building academic careers, teaching in universities or contributing to large-scale corporate research projects.


One computer science student helping out another with a software application

Opportunities

Our graduates have secured prominent positions at successful organizations and universities around the country and world, such as:

  • Idaho National Laboratory
  • Hewlett-Packard Co.
  • Microsoft Research
  • Micron Technology
  • Boeing
  • Intel


Current Research

You will have ample opportunities for hands-on participation in research projects, as well as the writing and publishing of project results in peer-reviewed journals. Here are a few highlights of our cutting-edge research projects happening on campus:

  • Information Assurance & Computer Security: Computer science faculty and students are researching theory, tools and techniques to enhance the security of computer systems, information transmission, and information protection.
  • Survivable Systems Initiative: Individuals from interrelated disciplines on campus are looking to develop concepts that will allow computer systems to function accurately and predictably in potentially hostile environments.
  • Evolutionary Computation: The evolutionary computation group studies the process of evolving better problem solutions from a population of potentially good solutions. This is a process similar to farmers looking for ways to produce more water-efficient wheat ─ one that allows for greater crop production, with less water. These techniques are useful for complex problems for which no known efficient algorithms exist or where the search space is immense.
  • Bioinformatics: Faculty and students have studied novel algorithms for phylogenetics and protein classification. Student work has included simulations to study the development of breast cancer at the genetic and cellular levels.
  • Collaborative Virtual Environments (CVE): The "game" of CVE features social interactions in 3D with instructors and fellow students, along with collaborative development tools which will make it easier to get live online help.


A team of computer science students working on a group project together

Activities

Computer science students at the University of Idaho are involved in a number of challenging competitions showcasing their skills and knowledge. For example, student researchers in the Center for Secure and Dependable Systems (CSDS) recently placed second in the national Capture-the-Flag contest held in late 2007. The contest was sponsored by Polytechnic University of New York and challenges teams with offensive and defensive computer network security strategies and mitigations.


Hands-On Experience

As a graduate student your course work will include projects, team-based research and several hands-on experiences. For example, you may participate in lab projects in our embedded systems laboratory or in our high-tech network research and teaching facility. In the Reconfigurable Attack Defend Instructional Computing Laboratory (RADICL) you’ll gain invaluable knowledge and insights about how to defend and protect computer systems. Experiments tackle issues such as intrusions resistance, detection and recovery, application of firewalls, proxy servers, perimeter defenses, bastion hosts and much more.

Review theses and dissertations produced by our graduate students.


Facilities

Schweitzer Engineering Laboratories recently donated eight 1102 Systems and USB Programmers for our embedded systems laboratory. With these systems, the department is now offering an in-depth lab component as part of the real-time operating systems (RTOS) course and an embedded systems course.

This laboratory allows undergraduate and graduate students to gain a thorough understanding of embedded systems, which are devices with built-in microprocessors programmed to perform specific tasks. Some examples of these systems can be found in cell phones, automobiles, microwaves, and more.


Online & Outreach

The computer science graduate degree program is offered through the University of Idaho Moscow campus and at our Idaho Falls campus. The master’s program is also available through the Engineering Outreach program, our advanced distance learning delivery system.



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
Bruce Bolden
Bruce Bolden, M.S.
Senior Instructor
» View Bruce Bolden'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.
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
Hasan Jamil
Hasan Jamil, Ph.D.
Associate Professor
» View Hasan Jamil's profile
Clinton Jeffery
Clint Jeffery, Ph.D.
Associate Professor
Research Areas: Collaborative virtual environments, programming languages, program visualization
» View Clint Jeffery's profile
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
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
Bob Rinker
Robert Rinker, Ph.D.
Associate Professor
Research Areas: Computer architecture, reconfigurable computing, embedded systems
» View Bob Rinker's profile
Terry Soule
Terry Soule, Ph.D.
Professor
Research Areas: Evolutionary computation, biological modeling
» View Terry Soule's profile