NUSchedule App

August 2, 2012

You should use the latest fork of nuschedule at

August 7, 2010

Chris has created an open source repository for this application and is currently maintaining it.

July 25, 2010

chaoszcat has no time to maintain his script and this 'project' is currently hosted by wirelessed and roticv

NUS CORS changed the url to the detailed module information. As a result, the 'next' button disappeared. This bug is fixed.

Lecture sessions which start/end in half hour blocks (e.g. 1830-2030) will be rounded up to the nearest hour block (e.g. 1800-2100).

June 4, 2008

fixing cookie retrieving mechanism

fixing typo

changing page#2 style

Step 1: Add module by module code

Please provide module codes that you want to add, max 12

Look Here! Just wanna test this application? Click here. (I will fill some example for you to play with)

Academic Year:

Step 2: Ripping button

Click Start Ripping when you have done.
Click Next if you are ready to start the application, or click Re-Scan All if you want to re-scan any invalid links

Step 3: What you have to know

Drag and drop any time-span of a module anywhere in the screen, provided that they have a small tab in their first cell, so you can hold and drag it. A grayed time-span is fixed and you cannot drag it.

So when you hold the tab and start dragging, the application will immediately show you any available slot(s) (a blue slot) that you can drag onto.

When you find your favourite slot and want to drop on it, continue to hold the tab, and touch the slot. The slot will now turns yellow. Drop it, and you will have successfully swapped it.

So this will be the last thing to know. This is Module Viewer. Since this application is built on ripping information from CORS Module Listing, nothing can be done to predict unusual behaviour of certain time-span in a module. To overcome this, I have created this little module viewer. Each small button represents an available time slot of a module. They are grouped in Lecture, Tutorial, and Laboratory. You can click on them, swapping their status between on board, fixed on board, and off board