Purdue University - Department of Computer Science - Computer Science Degree Requirements
Skip to main content

Bachelor of Science Degree Requirements

Computer Science Courses:

The first six (core) courses, which are taken in the freshman and sophomore years, lay a strong foundation for computer science majors. Each student then selects a Track in which to complete 6 advanced courses. Each Track has 2-4 Required Courses and a list of potential electives. A student may complete more than one Track if desired.

The flexibility of the Computer Science curriculum comes from requiring only six foundational (core) courses followed by one or more Tracks, which allow students to deepen their understanding in a specific area of computer science. Some intersection between tracks allows specialization in multiple areas, for example, Systems Programming and Software Engineering.

All beginning computer science majors are required to take CS 19100, Freshman Resources Seminar and CS 19000-TLE, Tools. These are 1 credit courses that Computer Science students take in their first semester. Students are equally encouraged to take CS 29100, Sophomore Development Seminar, and CS 39100, Junior Resource Seminar.

Core requirements (21 Credits): All CS core courses and all track requirements, regardless of department, must be completed with a grade of C or better.

Course Title Credits Semester
CS 18000 Problem Solving and Object-Oriented Programming 4 1
CS 18200 Foundations of Computer Science 3 2
CS 24000 Programming in C 3 2
CS 25000 Computer Architecture 4 3-4
CS 25100 Data Structures and Algorithms 3 3-4
CS 25200 Systems Programming 4 4

Effective spring 2014, a grade of C or better must be obtained in each CS course before a student can move forward to the next requisite course.

Similarly, all prerequisites to CS core courses and track requirements, regardless of department, must be completed with a grade of C or better (effective Fall 2015).



To view course details for all tracks at the same time, click Computer Science Track Details (PDF).

The Department of Computer Science does not accept transfer credit for 300 or 400 level CS coursework (with the exception of pre-approved Study Abroad coursework). Transfer credit (including credit from regional campuses) for 100 and 200 level core courses is possible only if those courses are taken before the student enters the Purdue West Lafayette Computer Science program.

cseComputational Science and Engineering Track: Introduces computer science basics of Computational Science and Engineering.
Track Chair: David Gleich


cgvComputer Graphics and Visualization Track: Prepares students for work and/or for graduate school in computer graphics, visualization, and related areas.
Track Chair: Daniel Aliaga


databaseDatabase and Information Systems Track: Prepares students to become computer scientists who understand and can apply the principles and techniques of database design, algorithms for information retrieval, their strengths and limitations, and tools for the design of databases and information systems.
Track Chair: Walid Aref


fcsFoundations of Computer Science Track: Gives students a broad education on foundational concepts, tools, and techniques underlying existing and future areas of computer science.
Track Chair: Mikhail Atallah


fcsMachine Intelligence Track: Prepares students to work in fields related to analysis of data, including areas such as machine learning, artificial intelligence, information retrieval, and data mining.
Track Chair: Chris Clifton


plProgramming Language Track: Prepares students to work in fields related to program understanding, analysis, manipulation and transformation.
Track Chair: Ben Delaware


securitySecurity Track: Prepares students to design and develop secure software and to use techniques for testing and assessing systems for secure operation.
Track Chair: Ninghui Li


Software Engineering Track: Prepares students to design and develop large software products, be familiar with analysis, design, testing, and maintenance, and be able to work in teams.
Track Chair: Buster Dunsmore


systemsSystems Programming Track: Prepares students to build low-level operating system software, system tools, and programs that communicate over a network.
Track Chair: Douglas Comer


Detailed BS in Computer Science Description and Plan of Study from the University Catalog 


College of Science Requirement Restrictions

Teambuilding and Collaboration (Cannot be met through credit-by-exam)

Approved course & approved experience: No departmental restrictions

Unacceptable courses for credit for CS students in College of Science

Curriculum Resources

Computer Science prerequisite flowchart (PDF)

Visit the Curriculum Resources page to find Sample Plans of Study. Courses do not need to be taken in sequential order as long as prerequisites and co-requisites are met.

Last Updated: May 30, 2019 1:45 PM

Department of Computer Science, 305 N. University Street, West Lafayette, IN 47907

Phone: (765) 494-6010 • Fax: (765) 494-0739

Copyright © 2018 Purdue University | An equal access/equal opportunity university | Copyright Complaints

Trouble with this page? Disability-related accessibility issue? Please contact the College of Science.