Prerequisites

2nd BS vs. MS

If you have no computer science and/or limited math background, you might want to consider a 2nd BS in Computer Science instead of a MS.

Prerequisite Overview

Students entering the MS Program must have a Bachelors degree from an accredited college or university.

In addition, an applicant should have a strong background in the C or C++ programming language, Data Structures, Computer Organization, Operating Systems and Theoretical Computer Science. Because many of the Computer Science courses involve the use of mathematics, applicants are also expected to have a good background in Calculus, Linear Algebra, Discrete Mathematics and Probability & Statistics.

Students who have deficiencies in these areas can enter the program as provisional students and make up their deficiencies by completing undergraduate courses as prerequisites.

The full list of suggested prerequisites is below:

  • CS 150 Introduction to Programming
  • CS 250 Problem Solving & Programming
    • or CS 333 Programming and Problem Solving in C++ – web-based course that covers both CS 150 and CS 250
    • CS 252 Introduction to Unix for Programmers – not required, but is suggested as a co-requisite for CS 250 if no prior Unix experience
  • CS 270 Introduction to Computer Architecture
    • or CS 334 Computer Architecture Fundamentals – web-based course that covers both CS 170 and CS 270
  • CS 350 Introduction to Software Engineering – only for students in the CIS concentration
  • CS 361 Data Structures & Algorithms
  • CS 381 Introduction to Discrete Structures
    • or CS 390 Introduction to Theoretical Computer Science
  • CS 471 Operating Systems – only for students in the general CS program (not CIS)

In addition, if you do not have a background in Math, you may need the following Math courses:

  • MATH 211 Calculus I
  • MATH 212 Calculus II
  • MATH 316 Linear Algebra
  • STAT 330 Probability and Statistics

See the Mathematical Sciences section of the Undergraduate Catalog for more information on those courses.

Satisfying Prerequisites

Students admitted provisionally must satisfy all the prerequisite requirements. There are a number of ways to satisfy prerequisites:

  • Submit a request for a waiver (because of previous training)
  • Take the course and make at least a ‘B’
  • Challenge the course – talk to the instructor of the course for requirements, must do at least ‘B’ level work. The instructor must email the GPD with the results of the challenge.

Prerequisite Chains

MS Core Prerequisites

  • CS 500 (Foundations of Computing): CS 250, Math 211
  • CS 600 (Algorithms): CS 361, CS 381 / or CS 500
  • CS 665 (Architecture): CS 270

Undergraduate Prerequisites

  • CS 250: Math 102, Math 103, CS 252 (Introduction to Unix), if no prior Unix experience
  • CS 270: CS 150, CS 170
  • CS 350: CS 330 (Object-Oriented Programming) or CS 361
  • CS 361: CS 252, CS 250 or CS 333
  • CS 381: Math 162, CS 150
  • CS 471: CS 270, CS 361

Math Prerequisites

  • Math 316: Math 212
  • Math 212: Math 211
  • Stat 330: Math 211
  • Math 211: Math 163
  • Math 163: Math 162
  • Math 162: Math 102, Math 103

Note that you may receive a test/prerequisite error when trying to register for some undergraduate courses. In this case, email the GPD with your UIN, the CRN of the courses you’re trying to register for, and the exact error that you received.

Example Prerequisite Roadmaps

Some prior programming or CS experience

First Semester

  • CS 252 – not required, but suggested as co-req for CS 250 (especially if have no Unix experience)
  • CS 250 – prereq for CS 361, CS 381, CS 500
  • CS 270 or CS 334 – prereq for CS 471, CS 665

Second Semester

  • CS 361 – prereq for CS 350, CS 471, CS 600
  • CS 381 – prereq for CS 600

OR

  • CS 500 – prereq for CS 600 (covers the CS 361, 381 prereqs)

Third Semester

  • CS 471 (general CS) or CS 350 (CIS concentration)

No prior programming or CS experience

First Semester

  • CS 150 – prereq for CS 250, CS 270, CS 381
  • CS 170 – prereq for CS 270

Second Semester

  • CS 250 – prereq for CS 361, CS 381
  • CS 252 – not required, but suggested as co-req for CS 250 (especially if have no Unix experience)
  • CS 270 – prereq for CS 471, CS 665

Third Semester

  • CS 361 – prereq for CS 350, CS 471
  • CS 381 – prereq for CS 600

OR

  • CS 500 – prereq for CS 600 (covers the CS 361, 381 prereqs)

Fourth Semester

  • CS 471 (general CS) or CS 350 (CIS concentration)