Cornell Computer Science Course Management System


The Course Management System (CMS, renamed CMSX in Fall 2017) 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. Currently we are rearchitecting CMS to be based on the Java Persistence API (JPA), with the goal of making CMS much faster. We are also adding more 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



The CMS design is driven by several important principles:


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 Jonathan Chan Hubert Chao
Theodore Chao Yim Cheng Timothy Choi Raymond Doyle Alexander Emmet Mike George
Sergey Grankin Jonathan Guarino Saikat Guha David Hattaway Teddy Heidmann Jong Hwi Lee
Pei-Chen Lee Santosh Manoharmal Gabriel Ngam 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 Manuel Calimlim Matt Cox
Faculty supervisors
Alan Demers David Gries Dexter Kozen
Andrew Myers David Schwartz Jayavel Shanmugasundaram

Bold: Currently active members

Information for developers


Fall 2017 CMS renamed to CMSX, and version 4.0 in wide-spread use.
Spring 2017 CMS version 4.0 (JPA version) first released for use by 21 courses.
Fall 2015 Development of a new version of CMS based on JPA begins in earnest
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.