The Graduate Preparation Track in Computer Science

Many graduates with degrees in fields other than Computer Science are interested in pursuing a M.S. in Computer Science. The Graduate Preparation Track can assist a high performing, motivated student in mastering the essential computer science core necessary to be successful in the Computer Science M.S. program. The grad prep track consists of a Programming & Languages Core and a Theory Core, comprised of many of the same classes taken by undergraduate Computer Science majors. Some of these courses have the option to test out of by demonstrating mastery based on either prior academic preparation or professional/personal programming experience through a credit by exam process.

Grad Prep Track Requirements

If you are planning to apply to the graduate program, these courses should be passed on the first try with a grade of B or better.                                  

  • CS 199 Prog & Problem-sovling: 1st Exp (4)*
  • CS 161 Intro to Programming & Problem-solving (4)*
  • CS 162 Intro to Computer Science (4)*
  • CS 163 Data Structures (4)
  • CS 201 Computer Systems Programming (4)
  • CS 202 Programming Systems (4)
  • CS 250 Discrete Structures I (4)
  • CS 251 Discrete Structures II (4)
  • CS 300 Elements of Software Engineering (4)
  • CS 320 Principles of Programming Languages (4)
  • CS 333 Intro to Operating Systems (4)
  • CS 350 Algorithms and Complexity (4)


*Based on prior experience a student may begin with any of these courses.  See Introductory Course Guide for details

How to Apply

We encourage all interested individuals to attend one of our monthly postbac info sessions. Information regarding these sessions can be found here. Students must apply to PSU for postbaccalaureate admission to begin Grad Prep.

Once the required lower division course have been completed, students need to contact the CS advisor to request access to the upper division portion of the Grad Prep program.

   Begin Upper division    

COMPLETED CS 202 AT A COMMUNITY COLLEGE? Departmental admissions for upper division courses occurs in Fall (application deadline April 15th) and Winter (application deadline October 15th) only. 

Sample Schedules

This sample program assumes the student has modest programming experience and an adequate mathematical background. 

This sample program assumes the student has no prior programming experience and a limited mathematical background.

Students who did not take math beyond pre-calculus in their prior coursework are strongly advised to take at least one such course (e.g. calculus, linear algebra, discrete math, etc.) prior to taking CS 250. 


Refer to our FAQs or contact the Graduate Advisor at