Saturday, 12 January 2008

Winning in CORS. Timetable Builder. Another Semester Start Irritant

I'm through with CORS. The tactic works - Wait till 4:55pm and put in your points. Do not bid first (leave it at zero). Got all my modules with this tactic <evil laughter>. Oh no, did I just let out a tip?

How to win (in) Centralized Online Registration System - GUARANTEED!
How to win (in) Centralized Online Registration System.

And I am not alone, judging by the increasing number of bidders in the last 15 minutes. And who doesn't want to? The other bidders for the module have the following considerations

  1. They have very little time to make a decision in the last 15 minutes if the bidding gets too high

  2. They do not want to put too many points in it

  3. Many will not bother re-checking the bidders as they think the closed bidding period has not much to offer. This is GOOD in one way as there is a potential for you to increase your bid points and go over budget on seeing the number of bidders ballooning. BAD in a way that you could have used the points and module slot to bid for another module if they are too many bidders.

The fact is, the number of bidders play a BIG role. If the bidders are much more than the vacancies available, than you know you have to bid much higher due to the increased competition. Lower than vacancy, you will have to watch for Snipers (as they are known as in eBay; people who bid in the last minute).

Needless to say, the F5 (Refresh) key is still used before close bidding.
Needless to say, the F5 (Refresh) key is still used before close bidding. Image is stolen.

Next, the NUS Time Table Builder. Often linked to and praised about on how it has helped plan our semesters, this tool is indispensable.

The NUS Timetable Builder
The NUS Timetable Builder

It uses HTTPS. Shh, somebody is going to find out what modules you are going to bid for. It is Top Secret! Encrypted with key length 1024-bits. Nearly undecipherable. Rest assured that nobody can break it within reasonable time.

Raaaaight. My planning of the time table is very, very confidential.

Step 1: Selecting Modules.
Step 1: Selecting Modules.

Now to select modules. Easy as pie. Select the faculty and add the modules as needed. There's only one problem. The correct semester. The system defaults to Semester 1 for one of the oddest reason I cannot imagine. Those who are used to planning the time tables repeatedly in semester 1 may forget to change the Semester box and end up with the wrong time tables.

That's Problem 1.

So for this semester, I plan to take CS1105 and CS1231. I also added CS1102Y and CS1102Z so that I can see how it fits into the time table and choose the best class. Hit "Next".

Oh, a exam clash. That's OK, lets ignore and move on.
Oh, a exam clash. That's OK, lets ignore and move on.

Looks like an exam clash. That's fine. Clashing exams will cause problems and cannot be added to CORS either. But since I am adding both of them only for comparison's sake, I click "Next".

I *know* there's a clash. But I am OK with it!
I *know* there's a clash. But I am OK with it!

Show stopper encountered. Problem 2.

Now I have to manually generate two time tables to compare. I uncheck the first one and click "Next".

Now to select what to view.
Now to select what to view.

It asks me whether I want to view only lectures and/or tutorials. I find myself always choosing both, so that I can plan tutorials as well. If many people are doing this, this screen should be skipped and provided as an option in the time table screen instead.

Hitting "Next" showed me the generated time table. You can select the slots and keep hitting "Rebuild" to show an updated time table. Pretty good. This is where you try with different slots and tutorial slots to get the sleep-and-wake-up-late and 3-off-days-per-week dreams of every NUS student.

A partial screen shot of the generated timetable
A partial screen shot of the generated timetable

Looks good, but CS1102Y seems to be alone. Oh well, lets see if I can replace it with another module. *digs through CORS listings*. *finds a module* MA1505! It is an 8am lecture module, but it'll help me normalize my waking time so that I do not end up waking up too late everyday.

Now, how do I add the module to my beautifully customized lecture and tutorial slot timetable? *looks around the page*

My beautifully customized time table. Now to add a module...
My beautifully customised time table. Now to add a module...

There is a blue link on the top left - "Selecting Modules". That should be it. *click*

It brings me to the first page, without any modules selected.

Click "Back". Heave a breath of relief on not losing any of the customized data. Quickly do a "Save As" in case something goes wrong.

Now I try to hit the "Back" button to the module selection screen.

It brings me to the first page again, without any modules selected.

So there are no easy ways to add or remove modules other than repeating the whole process again. Problem 3. Neither can you plan a time table with modules that have clashing exam dates.

Otherwise, it is still a very good tool. Happy New Year everybody.

Tuesday, 7 August 2007

The Closed Bidding Period in CORS is NUS's Way to Save Costs

The Centralized Online Registration System, the first barrier that all NUS students have to jump over before any semester starts.

CORS! We meet again!
CORS! We meet again!

It comes with two bidding periods:

  1. The open period where you will be able to view the highest, lowest and the next minimum bid.

  2. The closed period where you will not be able to view any of the above except for the number of bidders. You will be able to view the status of the bids as of before the closing periods in one very long HTML table.

From the official site:

"The purpose of the close bidding is to discourage students from delaying their bids till the last moment, hoping to out-bid competitors"
"The purpose of the close bidding is to discourage students from delaying their bids till the last moment, hoping to out-bid competitors"

So, what is stopping a student from doing these?

  1. Place bids only during the closing period

  2. Place bids only during the last 5 minutes of the closing period to avoid updating the Number of Bidders

Basically, during the closing period, the bidder makes his best bid with the provided information at the end of the opening period. If all bidders follow the above 2 rules, the bidder has to make a maximum bid that he budgeted for the module.

Imagine everyone keeps quiet until the last 5 mins of the closed bidding period and then start submitting their bids.
Imagine everyone keeps quiet until the last 5 minutes of the closed bidding period and then start submitting their bids.

I believe that the actual reason for the closing period is to prevent the system from getting overloaded during the last few minutes of a round. I have heard rumours from the seniors that the system gets very slow during the old times where there were no closing periods.

And why not adopt these methods to fix the overload issue?

  1. Convert the system to PHP - a very efficient and fast programming language as compared to the slow and bulky Java that is being used now. Or some other efficient language. Probable reason: Too much resources needed.

  2. Employ Grid Computing for handling server load, especially during the end times. It *looks* like the CORS system is managed on ONE server. Probable reason: Too much resources needed.

That's the main point - they want to save costs and not invest in more hardware or progamming time. They could have balanced the load between more than one server and even make attempts to optimize the code by switching over to PHP.

Must save cost! Must solve problem!
Must save cost! Must solve problem! (Note: 3 images stolen from other sites)

So instead of doing the above, the CORS committee decided to save costs and switch to this luck-based closed bidding system.

Ebay anyone? Yahoo Auctions? Imagine if they did like what NUS did to save costs, implement a closed bidding period for popular auctions. The 2 same exact above strategies can be used.

Not to say that the CORS system sucks. It does its basic job brilliantly as long as the bidders don't exceed the number of vacancies. But this closing bidding period scheme... well, you get the idea.

Tuesday, 3 July 2007

Top 5 Things Freshmen to NUS Computing Faculty Should Know

(Updated 2/Aug/07) Well, it has been long since an update due to the study break and me trying to make a few bucks.

  1. Freshmen Orientation is 85% games, 15% NUS information

    Freshmen Orientation Project
    The official site of the Freshmen Orientation Project

    See my rant here. Don't attend if you are not into funny games, selling flags or more games!

    See the official site or just see the agenda for the Freshmen Orientation Week for this year.
  2. NUS tendered laptops suck (UPDATE 2/Aug/07: Except for the Fujitsu's - see bottom of post). Yes, including those laptops that will be on sale in Matriculation Fair.

    Dell Laptops
    Dell offers a wide range of laptops, but do not order them online

    For the best bang for the buck, call Dell's corporate line at 1800 3947419 ext 5456 (Dell Corporate - Christina You). Make sure you tell them you are a NUS student and you will get pretty good deals. I got my laptop with more than SG$500 savings.

    If you have noticed, NONE of the laptops in the NUS tender have any gaming cards in them. Not a issue if you don't play games but it is a nice extra to have. You can't even upgrade to them as NUS does not allow it for some unknown reason.

    Dell is a well known brand, normally assigned to value-for-money and a OK design brand. Of course, if you have the $$$, go for the likes of Sony. But with the 3 year on-site warranty that I got from Dell, I have no regrets. And my laptop required servicing once every 4 months for odd problems.

    Also, avoid Windows Vista unless you are able to deal with more problems. If no choice, get the system with Vista. When you finally get a mySOC ID, download Windows XP Service Pack 2 from SOC Internet. It is legal and genuine, as part of Microsoft Academic Program. Hopefully, mySOC still allows it for download and not removed it in place of Vista.

    UPDATE 2/Aug/07
    Now that the new laptop specs are out, Fujitsu deals are not that bad. They even have a model with a dedicated graphic card. Unfortunately, it is a 15" monster so if size is a concern, the Dell XPS M1210 / M1310 still stands out with its dedicated graphics card.

    Also, avoid notebooks that only come with on-campus servicing, especially if you are staying far away from NUS. Go for on-site services where possible for convenience. I had a friend who had to wait more than 1 month for IBM (or Lenovo) to replace a laptop's noisy fan. Lousy on-campus service? You decide.

    And go for 2GB RAM where possible, especially if you do programming using Java - a virtual machine that needs lots of RAM.

    Finally, understand what you really need. Lugging around a 15 inch laptop everyday to NUS is not going to be a pleasant affair. Games like Maple Story do not require a dedicated graphic card. Ask around. Remember, if you buy from an external party, you miss out all the Adobe, Office 2007 and Windows Vista (<gulp>, more problems) freebies. Here's a full article on the NUS laptops to help you more.
  3. Don't take exemption tests such as MA1301 Introductory Mathematics (for poly students)

    MA1301 Information
    No labs, no projects! Who says it's not hard to get MCs?

    Did you know that you do not get any modular credits for passing it? Not even a grade! You will just be certifying yourself that you already have the knowledge of MA1301 so that you can take other modules which have it as a pre-requisite.

    What's in it for me? Because if you take this as a module, you will get 4 modular credits AND a grade that can push your CAP! Not to mention you complete one Breadth (or Unrestricted Elective, whichever you choose). Even more, you will only need to attend the 1 hr tutorials every week and show your grinning face to get the full attendance score. Just make sure you know your stuff.

    Personally, I do not know why CS1231 (Discrete Structures) requires this when every single person I spoke to (that took CS1231) says that it does not use any concepts from MA1301.

    Be sure you know your stuff. This could hit back at you if you are not good in the concepts and even pull down your CAP.

    More info on the MA1301 Proficiency Test. See the MA1301 module information.
  4. Get to know the CORS system

    CORS logo
    Meet MR. CORS. Be prepared to verify your home address numerous times (everytime you login ;)

    Its not really that complicated - some of them make it so. Find an approachable same-sex (so you don't get distracted heh) senior in the first day of the orientation week and pour all your questions.

    The best time is during those times when there's some boring lecture going on - there was one advertising a module about making games so use it to discuss with your senior in a quiet corner so as to not to cause a disturbance.

    My personal advice - take the core CS modules first as you are given "protection" - in the form of freshmen-only places - from us seniors as many of us have much more points that you do.

    Visit the CORS website.
  5. Read this blog!
    Help! F1! Help! F1!
    It won't take long to adjust. Thankfully, there are no tutorials/labs for most modules in the first 2 weeks.

    But seriously, there are some useful links splattered throughout the blog. Here are some links that should help you out (in addition to the ones above):

    1. Timetable Builder - Use this to plan your modules. Consider travel times between faculties, lunch and off-days where possible.
      https://webrb.nus.edu.sg/ctt/builder.aspx

    2. Module Information Site 1
      http://www.cors.nus.edu.sg/CorsSchedule/moduleInfo.html

    3. Module Information Site 2 (in case the previous goes down - it happens, replace XXX with module code)
      https://ivle7.nus.edu.sg/nus/modules/mview.asp?acad_y=2007/2008&mod_c=XXX

    4. Module Information Site 3 (SOC modules only - click on the module code in the 1st column for more info on a module)
      http://www.comp.nus.edu.sg/~online/course_list/

    5. NUS E-Mail - Important NUS circulars, CORS results and NUS spam
      https://exchange.nus.edu.sg

    6. NUS Friendly Mail - Convert your u0706xxx@nus.edu.sg to something like bertsimpson@nus.edu.sg!
      http://www.nus.edu.sg/fea/

    7. Integrated Virtual Learning Environment - For all module related information
      https://ivle.nus.edu.sg

    8. Used Textbooks Forum - Don't skimp on text books
      Offhand I have forgotten the link? If anyone knows it, please post in the comments.
      Update 2/Aug/07 - http://ivle.nus.edu.sg/forum/forum.aspx?ForumID={5ec4b811-0ef4-4095-82d4-171e3d61c97c} (requires IVLE login)

    Well that is all that comes to my mind for now.

Post in the comments if you want to add on for your juniors (if you are a senior reading this)!

Don't forget to start bidding on 30th July 2007! Mark it on your calendar! You can check the bidding schedule here.