Majors/Minors - Department of Computer Science - Purdue University Skip to main content


The Department of Computer Science at Purdue offers a Bachelor of Science degree in Computer Science. Students from other majors and colleges can also minor in computer science, and many computer science majors choose to double major. Click on the links below to see more about the different degree options in computer science.

Major in Computer Science (Bachelor of Science)

Note: The curriculum below is effective Fall 2010 for any incoming Computer Science student.

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 at least 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 strongly urged to take CS 19100, Freshman Resources Seminar. This is a 1 credit course Computer Science students generally take 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 higher (effective Fall 2011).

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



  • Computational Science and Engineering Track: Introduce computer science basics of Computational Science and Engineering

  • Computer Graphics and Visualization Track: Prepare students for work and/or for graduate school in computer graphics, visualization, and related areas

  • Database and Information Systems Track: Designed to prepare 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.

  • Foundations of Computer Science Track: Give students a broad education on foundational concepts, tools, and techniques underlying existing and future areas of computer science

  • Machine Intelligence Track: Prepare students to understand, and effectively apply in practice, the principles and techniques of data and knowledge representation, search, as well as learning and reasoning with data.

  • Programming Language Track: Prepare students to work in fields related to program understanding, analysis, manipulation and transformation.

  • Security Track: Prepare students to design and develop secure software and assess systems for secure operation.

  • Software Engineering Track: Prepare students to design and develop large software products, be familiar with analysis, design, testing, and maintenance, and work in teams.

  • Systems Programming Track: Prepare students to build low-level operating system software, system tools, and programs that communicate over a network.

Mathematics Courses: 7-8 credits

In addition to the College of Science degree requirements, students must complete the third level of calculus (MA 26100, MA 17400, MA 18200, or MA 27100) and a course in linear algebra (MA 26500 or MA 35100).

Course Title Credits Semester
MA 26100MA 17400,
MA 18200
or MA 27100
Multivariate Calculus,
Multivariable Calculus,
Honors Calculus II
Several Variable Calculus
4-5 1-3
MA 26500 
or MA 35100
Linear Algebra
Elementary Linear Algebra
3 1-3


College of Science Requirement Restrictions

Teambuilding and Collaboration

Approved course or approved experience. Cannot be met through credit by exam.

Lab Science (Sequence)

Must be two courses in sequence in the same department.

No departmental restrictions

Mathematics/Statistics/Computer Science

Composition and Presentation

No departmental restrictions

Language and Culture

  • Language 101
  • Language 102
  • Language 201/Culture/Diversity
  • OR an Approved Study Abroad

No departmental restrictions

General Education (≥ 9credits)

  • Sequence Gen Ed I
  • Gen Ed II
  • AND Additional Gen Ed

No departmental restrictions

Great Issues

No departmental restrictions

Multidisciplinary Experience

Math minor or dual major courses may not be used to satisfy this requirement


Minor Concentration in Computer Sciences

The Course Prerequisite Chart (PDF) may be helpful in selecting the five courses.


Double Majors

Many Purdue students choose to double major or pick up a minor. In Computer Science, popular dual majors are mathematics, statistics and management.

Last Updated: Apr 7, 2023 10:10 AM

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

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

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

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