Monday 10th Dec 2001 - Wednesday 12th Dec 2001
(Monday 13th Nov 2000 - Wednesday 15th Nov 2000)

Well, actually there's no need for any introduction...but just for the sake of the curious...

As you would know (being a Schemer...I do assume that it's a Schemer viewing this page :), CS1101S uses Scheme, a dialect of Lisp, to teach the fundamentals of programming whereas its peer (?), CS1101, uses Java instead. As compared to Java, Scheme is easier to learn (with very much less constraints on syntax and other stuff) and thus Schemers get to spend much more time developing their concepts and foundation than their CS1101 peers.

One particularly prominent area would be that of recursion...Scheme, having no 'for' or 'while' loops forces the programmer to use recursion to assimilate loops and this, together with its easy-to-learn structure, helps improve the Schemer's grasp of recursion...I remember being quite lousy at recursion during my Junior College days, but then I improved leaps and bounds just after a few weeks of doing recursion with is said that a fifth-grader (whatever age that is) could learn recursion within 2 weeks using Scheme...that's how powerfully easy Scheme is :)

Ok, back to this page...basically, other than CS1101S, all the other modules in SoC uses Java, for example, the immediate module after that - CS1102...and therefore there surfaced a need to do some Scheme to Java conversion. Our seniors from Schemers '98 (2nd batch) conducted a conversion course for us during Nov-Dec 1999, after all our exams...cheers to them for taking the time to scout for a good Java book and preparing the materials and conducting the course...

When it came to the time to "convert" the 4th batch of Schemers, ie. our juniors from Schemers 2000, the "arrow" was shot at me by Cookie (Ng Wee Ngee), and hence this webpage with all the materials which I created quite last-minute, having just finished my exams on the 10th Nov 2000...thank God that everything went smoothly, from the booking of the LT and the labs (thanks to Mr Aaron Tan Tuck Choy for this :), to the conducting of the lecture and labs (thanks to my friends from Schemers99 who helped out as TAs for the labs)...I even remember losing my voice just after the 1st day...thank God my voice came back and I was able to continue conducting the labs the subsequent days...oh ya, in case you are wondering, this whole introduction passage is written about 7 months after the course...the initial webpage didn't have this long and draggy preface :)

(Dec 2001) And when it came to the 5th batch of Schemers, having found no one to shoot the arrow at from the 2000 batch, I again took up the laser pointer and taught the course for Schemers 2001...well, there certainly won't be a third time cos this is my final is my sincere hope that when the time comes, that there will be someone to conduct the course for the new batch of Schemers, to preserve the bond and spirit of the Scheme community.

Finally, I end this "introduction" on this note : that I hope all these materials would come in useful for future conversion courses, that it would help serve as a reference for whosoever is going to conduct the future courses.

Yours sincerely,
Ng Kitt Horng, Zion

Lecture 1 Notes

Lab Session 1 Notes    Answer to Lab 1 Qn 1    Answer to Lab 1 Qn 2

Lab Session 2 Notes    Answer to Lab 2 Qn 1

Schemers 99 Photo Webpage (Last updated : 12th Dec 2001)