Purdue University - Department of Computer Science - New Computer Science Curriculum

New Computer Science Curriculum

01-15-2010

The Department of Computer Science at Purdue University has revised the curriculum for its undergraduate students. This curriculum will go into effect in the fall semester of 2010. Current freshmen will have the option to switch to the new curriculum with little, if any, effect on their time to graduation. The structure of the new curriculum is similar to the curricula of several top computer science departments in the country such as MIT, UC Berkeley, and Stanford, which also have recently revised their undergraduate curricula.

Since the last major Purdue CS curriculum revision in 1998, several areas of computer science, such as information retrieval, security, software engineering, and computational science, have assumed an increased and widespread level of importance.  In addition to this broadening of computer science as a discipline, there is now a widespread use of computers embedded in devices and a rapid proliferation of multi-core microprocessors. The CS faculty felt it essential that the curriculum reflect this evolution and desirable that students have greater flexibility in their programs while still obtaining a firm grasp of the foundations of the discipline.

The use of computers in embedded devices, such as robots and smart phones, now makes it possible to teach the fundamentals of problem solving and programming in ways that are much more relevant and appealing to beginning students. Meanwhile, the fast proliferation of multi-core chips has created a need for a large number of computer science graduates who can exploit the power of these chips through efficient and reliable concurrent programming.  The revised curriculum embraces these developments through a combination of structural changes (e.g., the introduction of concurrent programming in the freshman year), introduction of new courses (e.g., Systems Programming), and revision of some existing courses (e.g., Programming I).

Students in a freshman programming class were surveyed to elicit their reactions to the introduction of mobile devices and concurrent programming. The response was very positive. Regarding the use of mobile devices in laboratory exercises, one student wrote: “I really enjoyed these labs, particularly the sense of accomplishment after getting one of the robots or phones working properly. It’s one thing to learn theoretical principles, but another entirely to use these principles to make something neat.” In response to the introduction of concurrent programming, one student wrote: “I found concurrent programming really interesting and new, plus higher level CS students I talk to say it’s really useful stuff later on.”

The increased flexibility in the new curriculum comes from reducing the number of required core courses from eight to six. Built on this core will be several tracks, which allow students to deepen their understanding in a specific area of computer science. Some intersection between tracks allows specialization in multiple areas, such as information retrieval and security, and systems programming and software engineering. Students may also propose custom tracks to meet their particular objectives.

The six foundational courses are Problem Solving and Object-Oriented Programming, Programming in C, Foundations of Computer Science, Data Structures and Algorithms, Computer Architecture, and Systems Programming.  Freshmen who arrive with a solid grounding in problem solving and programming will have the option of testing out of one or two of the beginning courses, which will allow them time to take one or two more advanced courses or make it easier for them to complete more than one track. Each track consists of six courses, two or three required and the others elective. Some tracks may allow one of the six courses to be a team-based senior design and development project.

In designing the new curriculum, the faculty of the Department of Computer Science ensured that all students will receive a rigorous exposure to the foundations of the discipline, the computer science background of the incoming freshmen is taken into account, and the curriculum can be adapted quickly to changes in this rapidly-advancing field.

The faculty discussed and designed the new curriculum over a period of almost two years.  The department also consulted with over 30 of its corporate partners who together represent a broad spectrum of industries, including finance, medicine, software, and transportation. The departmental Undergraduate Student Board and other representatives of the undergraduate student body were consulted in open forums. Recommendations from these groups were incorporated into the revised curriculum.

The new curriculum offers adventurous young women and men an even better opportunity to be involved in a dynamic discipline that will continue to grow and to contribute significantly to progress in many other disciplines and ultimately to changes in human society that are nothing short of profound.

Last Updated: May 17, 2017 12:48 PM

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

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

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

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