- Undergraduate Program
- Academic Advisors
- Careers
- CODO
- Employment
- Student Life
- Frequently Asked Questions
- Student Concerns
- Undergraduate Research
- CS Course Proficiency Exams
- Curriculum
- Artificial Intelligence Degree Requirements
- Computer Science Degree Requirements
- Data Science Degree Requirements
- Minor in Computer Science
- BS/MS Degree Program in CS
- BS/MS Planning Tool
- Honors in Computer Science
- Cooperative Education Program
- Curriculum Resources
- Scholarships
- Bridge Program
Computer Science Degree Requirements
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 19300, Tools. This is a 1 credit course 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.
All major required courses, all track requirements and track selectives, and their pre-requisites, 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 |
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.
Tracks:
To view course details for all tracks at the same time, click Computer Science Track Details Prior to Fall 2019 (PDF), Computer Science Track Details as of Fall 2019 (PDF), or Computer Science Track Details as of Fall 2023 (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).
No course can be counted both for required and elective credit. (This holds for all tracks).
Tracks | Fall 2019 - Spring 2023 |
Fall 2023 & Forward |
Track Chair |
---|---|---|---|
Computational Science and Engineering Track: Introduces computer science basics of Computational Science and Engineering. | Link | Link | David Gleich |
Computer Graphics and Visualization Track: Prepares students for work and/or for graduate school in computer graphics, visualization, and related areas. | Link | Link | Daniel Aliaga |
Database and Information Systems Track: Prepares students to apply database principles, algorithms, and optimization techniques to design, build, and manage current and future database and information systems. | Link | Link | Walid Aref |
(Algorithmic) Foundations Track: (Formerly: Foundations of Computer Science) Gives students a broad education on foundational concepts, tools, and techniques underlying existing and future areas of computer science. |
Link | Link | Mikhail Atallah |
Machine 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. | Link | Link | Chris Clifton |
Programming Language Track: Prepares students to work in fields related to program understanding, analysis, manipulation and transformation. | Link | Link | Ben Delaware |
Security Track: Prepares students to design and develop secure software and to use techniques for testing and assessing systems for secure operation. | Link | Link | 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. | Link | Link | H.E. Dunsmore |
Systems Software Track: (Formerly: Systems Programming) Prepares students to build low-level operating system software, system tools, and programs that communicate over a network. | Link | Link | 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 College of Science Curriculum Resources page to find Degree Progression Guides.