Degrees in Computer Science
Our program has a number of attributes that may fit nicely with the education and environment you are looking for:
- The University of Idaho is a mid-sized institution — large enough to provide a wide variety of educational opportunities, yet small enough to retain a friendly and supportive atmosphere. It effectively balances its educational, research and service responsibilities.
- We are a residential campus. Most students live within a few minutes of the places they need to go.
- We are located in a scenic, agricultural region of northern Idaho with many outdoor recreational opportunities close at hand.
- Our Computer Science Department has a low student to faculty ratio, ensuring that you will have ready access to our faculty.
- Our campus supports a full compliment of computer systems and software applications, with high speed and wireless internet access. You can work in our labs or from your residence.
- We have a Faculty with expertise in many significant and contemporary areas of Computer Science. You can learn about leading-edge developments from those who are helping to make them happen.
- There are opportunities to work with faculty on exciting research projects or with area companies.
- Our program has a hands on focus that will hone your skills as a software developer to complement the technical knowledge you will gain in fundamental areas of Computer Science. When you graduate you will be prepared to work in challenging positions in government and industry, or move on to advanced study in Computer Science.
- We consider it important that you have the opportunity to tailor a portion of your education to focus on areas of special interest. For 60 of the 128 credits required for the BSCS degree, you get to make course selection decisions.
- Most of our classes are offered in small sections that facilitate interaction with students.
- We offer you the opportunity to gain specialization in "hot" areas of computer science including: information assurance; computer graphics, games and virtual environments; evolutionary computation and bioinformatics; embedded systems; and software engineering.
- Integral to our program is a Senior Capstone Design course that gives every student the opportunity to practice what they have learned in a collaborative project team environment working on a real software development project.
Receive your undergraduate computer science degree from a department that is small enough to treat you like an individual but large enough to provide you first rate academic opportunities to help you achieve your professional goals and satisfy your academic interests.
- Artificial Intelligence
- Information Assurance (Cyber-Security)
- Automated Analysis
- Fault-Tolerant Systems
- Resilient and Survivable Systems
- Evolutionary Computation
- Biological Modeling
- Collaborative Virtual Environments
- Computer Architecture
- Embedded Systems
- Reconfigurable Computing
- Large Scale Data Management
Embodied in a graduate program are the opportunity and responsibility to conduct research leading to new knowledge or the application of existing knowledge in new and novel ways. The following is a representative list of areas in which faculty are actively researching:
- Information Assurance and Computer Security
- Large-Scale Data Management
- Games and Virtual Environments
- Fault Tolerant Systems
- Artificial Intelligence
- Computational Intelligence (Artificial Neural Networks, Neuro-Fuzzy Systems)
- Evolutionary Computing
Enrollments in the department's graduate programs are large enough to make possible the vital interchange of ideas among students and between students and faculty that is necessary in graduate programs, and sufficiently small to permit close faculty-student relationships. Interdepartmental cooperation is an important factor on the Idaho campus.
Preparation and Admission
Admission to this program is highly competitive. Although an undergraduate degree in Computer Science is not a requirement, students who wish to enter the Master's program must demonstrate competence in specific areas equivalent to the material covered in several of the undergraduate computer science core courses. The study of computer science at the graduate level requires mathematical maturity, skill in the use of high-level and machine-level programming languages, and basic knowledge of computer hardware.
Admission decisions are made by the department's Graduate Program Committee. In addition to specific knowledge area prerequisites, normally a 3.0 undergraduate GPA and a Graduate Record Examination general (aptitude) score in the 60th percentile are the minimum admission requirements. Actual admission is based on a combination of knowledge area preparation and undergraduate GPA. CS is no longer requiring GRE scores.
International students for whom English is a second language must demonstrate English language proficiency as evidenced by achieving a TOEFL score that meets or exceeds one of the following minimum requirements:
|Exam Type||Potential Score||Minimum Score for Admission|
|Internet||0 - 120||79|
|Computer||0 - 300||13|
|Written||310 - 677||550|
Prerequisites for Admission
Before being accepted into the Master's program, a prospective student must provide demonstrated evidence that he or she has mastery of certain basic mathematical and computer science skills. Courses covering the following subject are the minimum prerequisites necessary for admission: 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); and discrete mathematics (MATH 176). The University of Idaho courses identified above will satisfy the prerequisite requirements. Equivalent courses taken at other educational institutions will also be accepted. An official record, such as a college or university transcript, that substantiates the preparation, is expected.
Admission With Deficiencies
A student who meets the general requirements and prerequisite requirements identified above may be admitted, but his or her academic credentials will be reviewed to ensure adequate preparation that will support study at the graduate level. A student who does not have an adequate background in specific foundational areas of Computer Science will be required to complete additional undergraduate courses in areas in which he or she is considered to be deficient. Potential deficiency areas for graduate work in computer science are: computing languages (CS 210); computer operating systems (CS 240); system software (CS 270); software engineering (CS 383); theory of computation (CS 385); and analysis of algorithms (CS 395). The University of Idaho courses identified above will satisfy the deficiency requirements. Equivalent courses taken at other educational institutions will also be accepted. An official record, such as a college or university transcript, that substantiates the preparation, is expected. Credit for deficiency courses cannot be counted toward the total credits required for the graduate degree. Deficiency courses will generally be prerequisites for more advanced courses in the program, consequently, a student with identified deficiencies is expected to complete course work that removes the deficiencies as rapidly as possible.
College of Graduate Studies Requirements
In addition to satisfying departmental requirements, candidates must fulfill the requirements of the College of Graduate Studies. See the College of Graduate Studies section in the University of Idaho Catalog for the general requirements applicable to each degree. No 300-level course that is required in the BSCS curriculum may be used to satisfy the requirements of the graduate degree.
A graduate degree represents mastery of the theory and concepts underlying one's discipline. This is the foundation on which further study should be based. The MS graduate candidate’s major professor and committee will, as part of approving the study plan, help select courses that include the breadth of computer science.
Focused Plan of Study
The student must acquire depth in at least one major area by developing a focused plan of study in consultation with the major advisor. This should be a program that investigates some aspect of computer science in depth, consistent with the goals of the graduate program in computer science. Some examples of areas currently of interest to the faculty are: computer security, software engineering, evolutionary algorithms and artificial intelligence, and fault tolerant computing.
The thesis option requires at least 30 credit hours of study. Specific requirements are: graduate breadth requirement; at least one semester of CS Graduate Seminar, CS 501 (1 credit); and Master’s Research and Thesis, CS 500 (at least 6 credits). The thesis must be in the approved format and must represent significant scholarly achievement. The thesis must be presented at a public colloquium.
The non-thesis option requires at least 30 credit hours of study, up to 6 credits of which can be CS 580. Specific requirements are: graduate breadth requirement and at least one semester of CS Graduate Seminar, CS 501 (1 credit). At the end of the program, non-thesis students must pass a comprehensive examination that covers their graduate studies.