Department of Computer Science


The MSU Computer Science Department is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, Suite 1050, Baltimore, MD 21202-4012 - telephone: 410-347-7700.

Computer Science graduates are able to effectively compete for positions in industry or to continue their studies in graduate school. Computer Science students progress through a series of courses that teach fundamental skills, basic theory, computer architecture, software engineering, and technical applications. Graduates are proficient in designing complex software systems and technical computer applications. MSU Computer Science graduates are sought for their engineering-oriented computer expertise and ability to work in technical environments.

Computer Science is the study of the use of computers in solving problems. It has design, analysis, experimental, and theoretical aspects that must be mastered by every successful practitioner. It requires knowledge from a number of other fields, including mathematics and the sciences. In addition, a Computer Scientist should be articulate and well-rounded in order to apply the tools of the discipline to a wide range of real-world problems in a responsible fashion. Thus, oral and written communication skills, general knowledge of the humanities and social sciences, and an awareness of the social and ethical responsibilities of a computing professional all are acquired. The Computer Science Department presents students with just such opportunities, preparing them for positions at the cutting edge of software development with leading industries, which heavily recruit our students.

The Computer Science Department is located in the new high technology Engineering/Physical Sciences Building. Computer Science students at MSU have access to some of the best computing facilities in the Northwest. All students can use the central university systems and PC laboratories. The Computer Science Department has a large laboratory of high performance PCs that are dual booted with the Linux and Windows environments. All of our computer systems are linked through a high-speed network, which is connected to the Internet/World Wide Web through the NSF VBNS network.

Graduate Program

Graduate training is desirable for those wishing to do advanced research and development work or college-level teaching. The department offers graduate work leading to the M.S. and Ph.D. degrees in Computer Science.

Student Performance and Retention Requirements

Freshmen or transfer students entering the department must satisfy our Student Performance and Retention Requirements prior to advancement in the Computer Science program. This means that students cannot enroll in advanced courses until a suite of key entry-level courses is completed at a minimum performance level. The following mechanisms will be used in the Student Performance and Retention Initiative efforts:

  1. Students will be required to successfully complete a suite of key courses (CS 160, CS 221, Math 181, Math 182, WRIT 101W, and University Seminar Core) prior to taking CS 222, CS 223, or any other course that has those courses in their prerequisite sequences, and must attain at least a C (not a C-) in each of the key courses. In addition, each key course can be repeated at most one time.

  2. Once the suite of key courses is satisfactorily completed, students are allowed to advance in their degree program. Intentional attempts by a student to circumvent the Student Performance and Retention Requirements will be considered academic misconduct.

  3. Students who have difficulty meeting these requirements will work with their advisor to discuss changes that may enhance their academic performance.


Curriculum in Computer Science


Freshman YearFS
University Seminar Core 3
CS 160--Intro to CS    4
CS 201--Program Design with C       3
CS 221--Data Structures    4
WRIT 101W--College Writing I     3
MATH 181--Calculus & Anl Geom I     4
MATH 182--Calculus & Anl Geom II     4
University Core and Electives     3 3
14 17
Sophomore YearFS
CS 222--Discrete Mathematics    3
CS 223--Adv Data Structures & Algorithms     4
CS 324--Programming Techniques 4
ENGL 223--Technical Writing    3
PHYS 211--Gen & Mod Phys I     4
PHYS 212--Gen & Mod Phys II     4
University Core and Electives     33
14 14
Junior YearFS
CS 330--Comp Org & Arch    4
CS 350--Theory of Computation    3
CS 351--Software Engineering     3
CS 352--Software Engineering Project    2
CS 355--Programming Paradigms      4
CS 474--Undergraduate Consult       1
MATH 221--Matrix Theory    3
I&ME 350--Applied Eng Data Analysis    2
University Core and Electives     6 3
16 15
Senior YearFS
CS 418--Operating Systems    3  
CS 440--Computer Networks    4
CS 450--Compilers     4
University Core and Electives     9 10
16 14

*CS and ABET electives must include 2 courses selected from CS 404, CS 422, CS 425, CS 430, CS 435, CS 436, CS 445, CS 460, and CS 461. An additional 6 credits of electives must be taken from approved CS electives. 6 credits of science in addition to PHYS 211 and PHYS 212 are required. In addition to the MSU core curriculum requirements and to further broaden their educational experience, students must complete 3 credits selected from departments that offer Inquiry-Humanities, Inquiry-Social Sciences, or Inquiry-Arts courses.

A minimum of 120 credits is required for graduation; 42 of these must be in courses numbered 300 and above.


Contents...