Cornell Computer Science Course Management System

Overview

The Course Management System (CMS) was developed by the Department of Computer Science at Cornell University to simplify the management of large courses. CMS is in use by more than 2000 students in over 40 courses in Computer Science, Computing and Information Science, Engineering, and Economics. CMS was implemented using Java on the J2EE framework. Design and development were done by undergraduate and masters students working under faculty supervision. We are always interested in user feedback that can make the system better.

In Spring 2008, CIT started a pilot project based on CMS 3.3. Several courses outside the CS department are now using CMS, with the goal of making CMS available to the whole population of Cornell students, and used by courses across the university.

CMS is still actively under development, and we are always interested in getting talented students to work on making it a better system. A background in web programming, in building UIs more generally, or in databases is helpful. Some current projects are:

  • Making it possible for multiple CMS sites to present a unified view, so CMS can scale up to very large student populations.
  • Supporting automatic migration of course data across semesters.
  • Making CMS blazingly fast. This likely involves rearchitecting some internals.
  • Other new features for managing assignments.
If you are interested in getting involved with CMS, send mail to Prof. Andrew Myers.

The development of CMS has been funded in part by the Department of Computer Science, the Faculty of Computing and Information Science (CIS), and the College of Engineering.

CMS Software

Publications

Principles

The CMS design is driven by several important principles:

Developers

CMS has been developed by many people over the years, including undergraduate students and MEng students:

Student developers
Kareem Amin Anjan Bakshi Kevin Barmish Chavdar Botev Hubert Chao Theodore Chao
Yim Cheng Timothy Choi Raymond Doyle Alexander Emmet Sergey Grankin Jonathan Guarino
Saikat Guha David Hattaway Evan Herbst Jong Hwi Lee Pei-Chen Lee Santosh Manoharmal
Adam Papamarcos Caleb Perkins Dan Perry Christopher Re Ilya Rifkin Eric Sang
Panut Sookpranee Roman Stolper Matt Thomas Lucas Waye Eric Wilson Jung Yim
Epong Yu Alexander Yuan Tingyan Yuan Yan Zhang
Development and support staff
Dora Abdullah Kathy Carpenter
Faculty supervisors
Alan Demers David Gries Dexter Kozen
Andrew Myers David Schwartz Jayavel Shanmugasundaram
Bold: Currently active project members

History

Spring 2008 A pilot project based on CMS 3.3 is being run by CIT. Courses outside the CS department will be using CMS.
Fall 2007 CMS version 3.3 adds support for quizzes and surveys.
Spring 2007 CMS version 3.2 based on J2EE is now the standard version of CMS in use, and the PHP system is being phased out.
Fall 2006 CMS version 3.2 add support for scheduling student meetings.
Spring 2006 CMS version 3.1 is in use by more courses. The PHP system continues to be used as 3.1 matures.
Fall 2005 CMS version 3.0 (J2EE version) first released for use by a few courses.
Spring 2004 - Spring 2005 CMS Version 2.2 (PHP version)
Fall 2003 Development of J2EE CMS begins
Fall 2003 CMS Version 2.1 (PHP version) developed by CS
23 CS/CIS Courses, 5 ECE/ORIE/MAE Courses
Spring 2003 CMS Version 2.0 (PHP version) developed by CS
11 CS/CIS courses
Fall 2002 CMS Version 1 (Perl version) developed by CS
6 CS/CIS Courses
Before Fall 2002 Various systems were in use for CS211, CS312, CS417, and other CS courses. A group of students and faculty then identified requirements for an improved CMS.