Best Practices in CS Education – Part -II: Innovative Curriculum with Small CS Core at Top Universities

Posted on March 18, 2012

0


Author:   Sanjay Goel, http://in.linkedin.com/in/sgoel

___________________________________________

There is an increasing trend of making the curriculum more students centric by offering a large number of choices to the students.   Rapid technological expansion has also been increasing the complexity of task of Computer Science (CS) Curriculum designers.   At most of world’s best universities, we see an undergraduate level curriculum trend towards a small compulsory computing core with options of electives, tracks, threads, etc.   Most of the Indian universities still have to do a lot to catch with this trend.   Here, I am presenting a brief overview of undergraduate computing core identified by a few such universities.

1.      Stanford University

Compulsory core CS Courses:  There are only six courses in the CS core.

  1. Mathematical Foundations of Computing
  2. Introduction to Probability for Computer Scientists
  3. Programming Abstractions (for all except Bio-computing track)   or  Programming methodology (only for Bio-computing track)
  4. Computer Organization and System
  5. Principles of Computer System
  6. Design and Analysis of Algorithms

In addition, each student is required to fulfill the track and CS elective requirements. Currently Stanford University offers the option of following 10 tracks including most flexible unspecified as well as individually designed track:

  1. Artificial Intelligence  track
  2. Bio-computation  track
  3. Computer Engineering track
  4. Graphics track
  5. Human-Computer Interaction track
  6. Information track
  7. Systems track
  8. Theory track
  9. Unspecialized track
  10. Individually Designed track

 2.       UC Berkeley

Compulsory core CS Courses: 

  1. Structure and Interpretation of Computer Programs
  2. Data Structures
  3. Great ideas in Computer Architecture
  4. Digital Electronics
  5. Discrete Mathematics and Probability
  6. Algorithms
  7. Operating Systems and System Programming

In addition each student is required to choose CS courses to fulfill their CS breadth and upper division CS courses.

3.      MIT

Compulsory core CS Courses:

  1. Introduction to Computer Science and Programming (not needed for those with prior programming experience)
  2. Introduction to Electrical Engineering and Computer Science I
  3. Introduction to Electrical Engineering and Computer Science II (Digital Communication Systems)
  4. Computer Architecture
  5. Introduction to Algorithms
  6. Principles of Software Development
  7. Computer System Engineering
  8. Artificial Intelligence
  9. Advanced Algorithms

In addition, each student is required to choose CS courses to fulfill their Advanced Undergraduate Subjects requirement.

4.      CMU

Compulsory core CS Courses:

  1. Fundamentals of Programming and Computer Science (not needed for those with prior programming experience)
  2. Principles of Imperative Computation
  3. Parallel and Sequential Data Structures and Algorithms
  4. Introduction to Computer Systems
  5. Great Theoretical Ideas in Computer Science
  6. Algorithm Design and Analysis

In addition, each student is required to choose CS courses to fulfill their CS Elective requirement.

5.      Cornell

Compulsory core CS Courses:

  1. Object-Oriented Programming and Data Structures
  2. Discrete Structures
  3. Data Structures and Functional Programming
  4. Computer System Organization and Programming
    or
    Computer Organization
  5. Operating Systems
  6. Introduction to Analysis of Algorithms

In addition, each student is required to choose CS courses to fulfill their CS Elective requirement.

6.      UIUC

Compulsory core CS Courses:

  1. Intro to Computer Science
  2. Discrete Structures
  3. Ethical and Professional Issues in CS
  4. Data Structure and Software Principles
  5. Computer Architecture I
  6. Computer Architecture II
  7. System Programming
  8. Programming Studio
  9. Theory of Computation

In addition, each student is required to choose CS courses to fulfill their Track requirement.  Currently Cornell offers three tracks:

  1. CS Track
  2. Computational Science and Engineering track
  3. Math track

7.   Georgia Institute of Tech

Compulsory core CS Courses:

  1. Computing & Society or  Robots & Society

Each student has to complete the CS course requirement of any two out of eight threads. Each thread represents a distinct logical perspective of CS.  It comprises of introductory courses through to specialized senior-level courses, from computing and other fields.  Any two threads may have a few common courses. The eight threads are as follows:

  1. Devices
  2. Information Inter-networks
  3. Intelligence
  4. Media
  5. Modeling & Simulation
  6. People
  7. Platforms
  8. Theory

8.  Purdue University

Compulsory core CS Courses: 

  1. Problem Solving and Object-Oriented Programming
  2. Foundations of Computer Science
  3. Programming in C
  4. Computer Architecture
  5. Data Structures and Algorithms
  6. Systems Programming

In addition, each student is required to choose CS courses to fulfill their Track requirement.  Currently, Purdue offers following nine tracks:

  1. Computational Science and Engineering Track
  2. Computer Graphics and Visualization Track
  3. Database and Information Systems Track
  4. Foundations of Computer Science Track
  5. Machine Intelligence Track
  6. Programming Language Track
  7. Security Track
  8. Software Engineering Track
  9. Systems Programming Track

In contrast to the above mentioned approach, most of our Indian Universities continue to over-prescribe the compulsory core in their undergraduate and sometimes even in postgraduate  curriculum.   When it comes to curriculum design, we are too afraid of exploring, accepting, supporting, adopting,  generating, and experimenting new ideas.   The Indian regulators (UGC and AICTE)  have also failed in their duty to provide thought leadership in curriculum design.  They are not encouraging any serious debate, innovation, or experimentation about curriculum design.    In fact, their perceived threat  is discouraging many  higher  education leaders and managers to  explore  such new ideas.

The national entrance exam  for admission to master’s program in engineering, GATE, conducted by IIT’s, also makes its own negative impact on any movement for curriculum reforms by Indian universities.   The undergraduate curriculum designers tend to take a ‘ safer’  approach by including most of the GATE syllabus in their core courses.   Hence, there is also an urgent need to reform the GATE exam’s syllabus.  In my view,  not more than 40% topics of the GATE syllabus should be included in the compulsory section. The remaining sections should clearly be choice based.   A reform in GATE syllabus will facilitate a large number of Indian universities to start considering the modern approach of curriculum design with smaller compulsory core and a large number of options through tracks, electives, threads, flexi-core, etc.   IIT’s should urgently consider making this national contribution.

Please express your views through the following poll and/or write your comment.

Advertisements
Posted in: Uncategorized