Associate Professor
School of Computing

National University of Singapore

15 Computing Drive, COM2 Building, #03-20, S(117418)

Tel: (+65) 6516 4240 Fax: (+65) 6779 4580

Email: benleong at


Results of CS1101S (Semester 1, 2008/2009) Mid-term Survey + My Responses

The following are the results for the online survey that we did after the mid-term exam. I've also included some of my comments to the mid-term survey.

There are several reasons for this survey:

  • Timely Feedback - We cannot teach well unless we know what's going on and what students do not understand. Waiting till the end of the semester would be too late and there's nothing much that we can do. That said, I hope that students will appreciate that the lecturers are only human and it's not always possible to address all concerns and fix all problems this semester. In any case, the feedback will be taken seriously and future batches of students will benefit.

  • Allow Lecturers to Respond - This survey also presents the lecturers with a opportunity to address the concerns of the class and to clarify some issues from the perspective of the teaching staff, which is also why this particular page exists.

  • Reference for Future Batches - I am hoping that future batches of students will read this feedback before deciding whether to take CS1101S or the regular CS1101XYZ version. Scheme is indeed an easy language, but that doesn't imply that CS1101S is easier than CS1101XYZ. Students who decide to take CS1101S because they are looking for a "softer" or easier option are likely to be disappointed. My advice, "Choose CS1101S only if you seriously think you like computer science and are considering going into the IT industry or graduate school. Students who are simply interested in scrapping by should avoid CS1101S".

Note: Feedback on the TA and Tutors are omitted here because of privacy reasons. I do not feel that it is right for me to put up the feedback they received on this site (not implying that they are bad. In fact, I have the privilege of the support of a FANTASTIC teaching staff this semester and the feedback is raving good, but I still omit as a matter of policy). They can choose to put up their feedback if they wish.  This is an anonymous survey. We have no idea who said what. We just know what was said. :-)

We do act on the feedback to improve the teaching of the class. Thanks to the suggestions, we introduced new IVLE Chatroom consultation hours. This allows students to seek help from their Tutors online. Next, we will also be showing YouTube clips during the breaks for the Wednesday 2-hour lectures.  :-)

Total Number of Respondents : 46/47

Understanding Your Background

1) Multiple Choice

Did you have any prior programming experience?









Just ike past years, it's approximately 50/50!

2) Essay

If your answer to the above question is "Yes", what programming languages do you know?


1. C++

2. Pascal C++ Java(Very Little)

3. C

4. C++

5. Java, Php

6. Pascal,C++

7. Main about Pascal Having touch C and Java

8. C, but just a little.

9. Java, C++, C#, Javascript, Actionscript, mIRC, all done recreationally only. No academic background in programming.

10. Java, C++, C, PHP etc. The standard stuff

11. C java

12. Php Java C++ C

13. A little about C programming and Java~

14. Java

15. C

16. pascal

17. C JAVA (also BASIC and PASCAL)

18. C,Basic

19. C++

20. Basic Pascal C Cpp C# Java PHP

21. Java, C++, C#,

22. C

Skip: 24 (52.2%)

Seems like the majority of those who know some programming have C++ background this year.

3) Essay

Why did you decide to choose to take CS1101S instead of CS1101XYZ?

1. Friend recommended. He keep on telling me his propaganda - Scheme is good & I can learn more than CS1101.

2. Heard of Scheme is a better way of learning programming methodology

3. Honestly didn't know what the difference was.

4. CS1101S in my opinion teaches you the elegance of programming and helps you to solve problems in a simple way and not to complicate matters. The problem-solving skill technique is what makes 1101S unique.

5. Senior recommend

6. Cause I don't want to learn Java twice and I heard that this course was more interesting and could learn more.

7. Prof Ben said at the Java workshop that it was for the mathematically mature. I like Math. After doing scheme, and seeing a bit of what they do in XYZ I would agree that scheme would probably be much more interesting to someone who is Mathematically inclined.

8. Upon discussion with an SOC academic adviser, will listed the pros and cons of the three CS1101 modules, I felt that CS1101S would be the most challenging and have the best learning experience for me as a programming student.

9. The other modules are relatively easy in the first sem, and I think I should take this chance to learn more

10. It is said to be challenging so I guess I can benefit from it more than others.

11. I thought Scheme would be more challenging and interesting than Java. Plus, some of my seniors also recommended Scheme over Java.

12. a. challenging b. may take cs-ma double-degree

13. a) because the professor is shuai :D :D *grin grin* b) because im kiasu and want to learn more stuff c) because scheme is cool, or so says my seniors

14. Was highly recommended to me by one of my seniors. I heard that its very interesting and challenging.

15. TO Learn something new

16. It was a required module for my Applied Maths and Computing DDP

17. I want to learn how to manage the complexity in programming codes. This will be a very helpful skill!!!

18. I like simple Scheme syntax.

19. When I picked up Java, I was quite weak in algorithms. Scheme teaches algorithms first before Java syntax, so think it's better than learning Java all over again in the same manner. In the end, programming is all about producing good algorithms as syntax can be picked up along the way.

20. want to challenge myself and have fun at the same time.

21. kind f challenging module ... haha

22. Didn't know the difference was so big

23. It's always good to learn more and i thought since i'm new to computing anyway, scheme might seem to be a good start.

24. follow some of my friends who told me the scheme would help a lot in thinking like a real programmer

25. Because my friend have taken it and said that it is very good. I still hear professor says that is related to mathematics, so I think It will be interesting.

26. I thought that learning an extra language would be better for me in the long run.

27. CS1101S seems cool and I can learn more

28. Because I do not have any background knowledge, it does not really matter to start with Java or Scheme. A wider exposure also means more choices to decide upon eventually.

29. Because Scheme is not the standard stuff as what i mentioned in Q2. =P Would have probably fallen asleep and skip lectures in CS1101XYZC as well, which means wastage of time in uni.

30. I want to learn more.

31. double degree requirement.

32. because i want to try to nurture my ability to think computationally.

33. Have been told by my senior that it is interesting, but she never told me that it is difficult...

34. That is the only choice when i am taking it form NUS High

35. Because I want to be challenged and to learn more.

36. I want learn more as I do not have background experience in programming

37. I heard about it from my seniors and decided to have a try.

38. For the challenge

39. they say it trains ur brain more,they say the lecturer is kinda 'crazy'

40. I would like to learn more stuff in terms of concepts of programming.

41. i thought i could learn more language

42. -Interested to know more than what other people did. -Thought that the problem set is something like math question. -Seem interest.

43. Hmm. Actually I didn't know there was any difference between CS1101S or CS1101XYZ until I went for the first lecture of CS1101S :p (I didn't even know that there was a briefing about CS1101S / CS1101 modules or something like that at the beginning of the semester before bidding). So I happily bid for CS1101S module (since it was specified in the degree requirement) without knowing that CS1101S is a special class.

44. Because I like Ben~ haha! seriously, I was attracted by his charming personality during the very first workshop@0@ I like his teaching style very much. though the pace is quite fast and many times I got lost..but I realize's true that those did not kill you make you stronger!!!! Compared to Java which has a lot of tedious syntax concerns...I think Scheme is much more fun =)

45. haha i think schme is better than java

Skip: 1 (2.2%)

Every year we have students who take CS1101S by "mistake" and we have been trying our best to ensure that students take the class that is right for them. If you are a prospective student reading this page because you are deciding between CS1101 and CS1101S, do note comment 22. The difference between CS1101S and CS1101 is pretty big.

From comments 14 and 44, looks like I have a fan club this year. :-)


1) Multiple Choice

How do you find the lectures?



I have no clue what the lecturer is talking about most of the time


I have no idea what's happening half the time


Lectures are no different from the other classes on campus


Lectures are clear and I am able to follow the material quite well


Lectures are way cool. Easily the best class that I've taken at NUS (not like I've taken a lot, but...)




Seems like I'm not doing so good this year compared to last year. Some 15% of the students are lost at the lectures compared to 10% last year. Will try to work harder to see what we can do.

The one person who is completely lost most of the time should come to office hours. The CS1101S teaching staff is here to help!

2) Multiple Choice

How effective are the recitations in facilitating your learning?



I'm always asleep during recitations and have no idea what the instructor is saying.


I have a hard time understanding what is taught in recitation


Recitations are okay


Recitations are clear and helpful in reinforcing the material covered in lectures


Recitations are brilliant. I understand Scheme completely because of them.


1. It takes me quite sometime to figure something out. It make scheme less obscure.
2. I would put it this way. Recitations arenít Ö       
3. i almost finished it myself before the recitation maybe i should not do that
4. What    
5. I think recitations are very very helpful, but sometimes the pace for recitations is a bit too fast (at least for me) since there are lots of questions to go through in such a limited time.    
6. donít attend   
7. I didnít find recitation useful for me..




I'm glad that we are doing better with <10% of the students having trouble with recitations. I curious to know why one of the students doesn't attend recitation and why he doesn't attend recitation.

3) Multiple Choice

How effective are the Discussion Groups in facilitating your learning?



They are a complete waste of my time ...

0 (0%)

I have no idea what's going on/I have no idea what the Tutor is saying most of the time

1 (2.2%)

Discussion Groups are okay

10 (21.7%)

Discussion Groups are helpful for my learning

21 (45.7%)

Discussion Groups are brilliant. Every module at NUS should have them!

14 (30.4%)



I am very fortunate to have a brilliant teaching staff for CS1101S this Semester. Seems like the Tutors are really pulling their weight. ;-) Comments on the individual Tutors (not posted here) were also extremely positive. My gratitude an appreciation to Ali Razeen, Benny Ou, Caleb Chao, Koh Zi Han, Li Hongyang, Lim Yuen Hoe, Mohamed Anis, and Selwyn Yeow for serving as Undergraduate Tutors. Thanks also to Chris Henry who acts as a virtual Tutor in the IVLE Forum even though he's physically at Google.

Chu Duc Hiep  has also performed extremely well this Semester as the Teaching Assistant and received much praise from the students.

4) Essay

Feedback for Lecturer Ben Leong.

1. could you please speak slower and spend some minutes after one new thing you teach for us to think and understand what you have just said before continuing another one ?

2. You are a very dynamic and exciting lecturer for me. You are also very understanding to our problems and issues. Your lectures are clear and concise, though they are also many times too fast to catch up with. Thank you for teaching us programming and scheme!

3. Strong lecturer with a solid grasp of the material at hand. Definitely cares about the success of his students in the course; which is something that is a little rare among professors in this day and age.

4. Good lecture, one of the best lecturers I have ever seen

5. speak very fast really...

6. very engaged but speaking too fast

7. Nice~I enjoy most of the time in your lecture. I have never met a lecturer as cool as Ben

8. You are really the best lecturer i have ever seen. Really!

9. He is not boring but if you missed one part of what he is saying, you can never catch up until he stops. (he's fast but fast is better than slow.. cause slow would be boring) The only thing he can do better is stop assuming the students can understand obscure thing as fast as he could.( some students can do that though).

10. I agree that the lecture is quite fast, but it is because the course material is huge and difficult. But the way the professor dedicates for the lesson is admirable to me. I think that it is quite hard to make students in love with something so abstract,... But the prof has in some way encourage us to learn about these abstractions. in fact, I see that I am a little bit smarter after each lesson.

11. Cool

12. attempted to keep lecture interesting but really hard to keep up sometimes

13. Lecturer is very shuai :D I think he's very dedicated in his teaching and will patiently explain and explain and explain and explain and explain (okay, you get the idea) until we understand what is going on. He's very approachable and nice and like what he says "customer oriented", e.g. he will ask if we understand/ have any problems even when he sees us around campus.

14. Very dynamic lecturer. Makes the lesson interesting and interactive. However, I find the pace of the lectures a bit fast at times.

15. Quite natural and fluent in class and can always demonstrate some key conceptual ideas or pitfalls in programming, but sometimes can spend more time explaining some key concepts which have great influence on staff that will be learned later such as how exactly lambda works, how lists can realise different data structure such as stack, queue, array, and tree and graphs by showing more examples in scheme and so on. He is very kind and really care about his students. Overall, he is an excellent professor who really loves his job!

16. Very Cool

17. Er... funny guy d: (how i wish he can also teach cs1102s!!! @_@)

18. I really enjoy your lectures so much, yet please try to answer questions raised by students instead of keeping us in the dark. I think most of the students in CS1101S ask question not because of ignorance, but out of honest confusion. There are some problems that are best elucidated by illustration, instead of left hanging. To say the least, the DG and recitation questions, Problem Sets and QOTDs already take a huge portion of study time (And the case for me is that I find 15 hours of preparation an understatement). So sometimes, it kinds of irritate me when something obscure is not made clear in the lectures/recitations, as it slows me down even more in doing my preparatory work.

19. He's a good lecturer, humorous and keeps the class listening.

20. Dr Ben is very cool....

21. enthusiastic, brilliant..

22. Please don't treat us as we all have previous programming background. When introducing new terms, please explain. Thanks

23. Lecture is very fun. Sometime I feel that I had understood the lecture, but when attempting some questions, it seem so different (application is the difficult part). Workbin being up dated regularly is enable me to read lecture before hand (unlike some other module that take time to have the document to be uploaded) ( Actually, I'm afraid to talk to you. And is also afraid that you will approach me to ask me something or call my name during lecture. Don't ask me why cos I also don't know. )

24. Very Clear explanations!

25. I got a bit worried when he said he seldom touches Scheme nowadays. Luckily my fears are unfounded when I see his creativity in setting the mid-term. However, he should try to keep up with the new semantics in Scheme as the students start learning Scheme from a different version than him, and hence there might be inaccuracies in what examples he used during lectures. Try to reduce the number of bugs in your lectures =P I found several whilst going through them most of the time. Or bug finding in your lecture notes is part of the learning process?

26. Overall can say he is good. He always say he is customer orientated and I agree to that.

27. The lectures have very clear clues. Although sometimes it was a little bit fast, I can still get the points with webcast and recitation groups.

28. I really like the way of teaching in Scheme. I believe that Scheme one of the best modules I've ever had. Furthermore, Prof Ben is very funny when he explains the material, when he asks the questions from audience and so on... and it is very good! And he is very energetic person who inspires us to do more than we usually do.

29. Good lecturer, teaching is clear.

30. I think Prof Ben is quite a good lecturer. He knows his stuff well and able to inject some humour into the lectures so that they are not too boring.

31. Lectures are fine and good most of the time, but there are certain parts that seem hard to follow from time to time. Most of the time, they will get cleared up through DGs and recitations. Great creativity for the mid-term! A little tight on the time though? Maybe I am just slow?

32. oh my goodness! you're the best lecturer I have never seen before!!!!!Thank you for giving us wonderful lectures and making my first sem in NUS so meaningful!

33. Friendly :)

34. ... I can say prof is a very very dedicated lecturer who really cares and tries to make sure that every student understand what is going on. I think other profs are not as enthusiastic / willing to spend much time and effort in doing that.

35. A very cool guy.

36. The pace of the lecture is Okay. But I think he speaks a bit too fast.

37. I think professor Leong is an excellent professor who puts in a lot of hard work for his lectures. The onus is on us if we follow the lectures or not. He tries very hard to make the students understand the scheme concepts and it should be us who should make an effort to understand it as well.

38. Lectures are good, just that sometimes the concepts are too much to absorb within the 2 hours. But things do get clearer after recitations.

39. Extremely dedicated and good teacher! Goes through concept extremely well and care a lot for the students. Very well organised courses.

40. Dr. Ben is quite a good lecturer, his lecture is interesting, but sometimes can't quite understand his speaking and missed some important points.

41. There is no doubt that he is a very good lecturer... He makes Scheme look cool.

42. Dr Ben is excellent.

43. great, a very good lecturer

Skip: 3 (6.5%)

Thanks for the kind words. :-)

On the part about speaking fast, I'm aware. :-P And I'm quite glad it has improved. Was 90% the year before, down to 30% last year and it's about 10% this year at last count. :-) Again, students who cannot catch what I say should raise their hand and I will do a retransmit. :-P

Re: pace of lectures, it really cannot be helped too much as we have a lot to cover in CS1101S. In any case, as I had explained at the beginning of the class, people should not be overly concerned if they are not able to absorb 100% of what is taught in lecture because we will go into more detail in the recitations and reinforce the material in DGs. The problem sets should nail it. Panic (and come to office hours) if you find yourself still blur about a topic after the Problem Sets.

Re: comment 18, I think it's quite an unfair comment. One, I don't have a lot of time to answer questions during lecture and students are welcome to post their questions in the Forum if they don't get; two, some students seem to like to ask questions are topics to be covered in future lecture. I have no wish to entertain such requests because students should just be patient; three, there are some questions, I'd rather not answer and have the students go figure out for themselves because I think they should be capable of doing so and they should learn how to learn instead of just asking.

Comment 25 is also a bit unfair lah. The code snippets in the Lecture slides are not expected to be run. Scheme source code is more often than not uploaded together with the lecture slides and those are runnable. There are sometimes missing parenthesis in the code snippets for the lecture slides, but I expect students to be able to figure them out. To some extent, it's good that students find issues running the code directly. Hopefully, that will force them to learn how to debug and to really understand what the code is doing, so yeah, I consider it part of the students' learning process. That said, I do try my best to make sure that the slides are accurate and most of the bugs are not intentional.

5) Essay

Please let us have your suggestions on how the teaching for CS1101S can be improved.

1. I don't know. Currently it's okay.

2. Maybe can offer us more specific questions to the test...Sometimes I find ps are always quite far from test....

3. ........i have no idea

4. it's good enough...too many things to do, haha. btw, the sound quality of the webcasts is really very bad :( and... er, a little bit too many slides per lecture @_@

5. MSN consultation would be great !

6. Already very good (:

7. I think the problem sets could be made easier... :) They really are too hard and take up a lot of our time.

8. I guess in order to be fair to students who really deserve the grade A, the exam must reach certain difficulty level. Personally, i really felt i've learnt a lot from scheme, especially when my peers showed me what others are learning from java. However, this is university after all, and grades, no matter how people try to say that grade isn't important, grade does say a lot. It's really hard to set the paper at really the perfect equilibrium standard, and for those who are not scoring well, probably because they are not hardworking enough anyway. But a bad grade, still, doesn't say how exactly slack or how hardworking that person is. May be he or she really tried.

9. Actually I think it is generally ok.
- If we want questions to work on, we have so many textbook questions inside.
- If we need help, we can always ask in the forum or go for consultation hours. No point having labs hours to force us to do. The PS is something to replace that and it counts 30% to our final score so people will try to do it well.

10. This is a very good course. No improvement is needed!

11. I will appreciate it if more examples can be provided for some obscure concepts

12. can it be a little slow?

13. give us some interesting materials on scheme, best give us some sample programs to make us understand the knowledge better.

14. n/a

15. Maybe when showing examples during lectures, can use DrScheme to type out. I think its more useful for people who learn better through visual, to see the code and the result. Sometimes, the lecture pace is faster and individually we won't have time to type the code and listen to the lecture simultaneously. So to try out the code and learn, I often listen to the webcast and type out the coding in DrScheme. This can be quite time consuming as I feel like I'm going through another additional lecture for every lecture there is.

16. Hmmm. Maybe lower tutor to students ratio for recitations..

17. Can design more simple problems which are brief-stated (sometimes the problem statement is too long and take a lot of time for people who are not good at English) and focusing on one or two important points teaching in the lecture. These can help us master staff in practice. And then can design more complicated problems which combine different points and need some creativity. These can help us improve our levels.

18. No idea~ it is the best course I have been involved in ever

19. The forum is quite busy. I can hardly cover all the points. I can only go though the points given out by Dr Ben and some solved-questions as well. Maybe we can have a HIGHLIGHT part for us to know which is the most important points && conclusions after discussion.

20. more exercise hours

21. None

22. I feel that the teaching now is as comprehensive as you can make it.

23. @ @ cannot imagine

24. There could be extra lessons for weaker students where they are allocated time just for practising to write scheme code.

25. Er.. I can think CS1101S is quite nice already. If Ben can give less homework next time, we will be much much happier...

26. It's one of the best module I can ask for nothing more.

27. I think that it is okie but I wish that prof should alert students that they must spend a lot of time to the code. Learning Scheme is quite time-consuming.

Skip: 19 (41.3%)

To the student who asked that we slow down, i.e. comment 12. I will have to provide the same response I give every year (which people should have seen it before in the survey for last year): I made clear at the beginning of class that CS1101S was going to be a fast-paced and that will not going to change (otherwise it defeats the purpose of having CS1101XYZ what! People who want to learn programming at a slower pace should opt for CS1101Z). I also offered to help students who signed up for CS1101S by accident to switch out. No one switched out this year, though some did last year. I guess the fact that only one student asked for us to slow down this year and no one switched out means that I probably managed to get my message out to the students better this year and the students know what to expect when they sign up for CS1101S.

Re: comment 2. Look into the IVLE Workbin lah! I've uploaded so many past year papers! Also, you can find more questions in the textbooks. If you are looking for a ten-year-series approach to the exams, you are in the wrong class. :-) You can however pray that I have a mental block and I'm not quite so creative for the Practical and Final Exams.

To respond to comment 4, I will look into the quality of the webcast. There's however little that can be done about them this semester. It's not entirely in my hands also.

I would like to thank the student who posted comment 5. The teaching staff discussed your suggestion and decided that MSN consultation is not practical. We however came up with the online ChatRoom consultation scheme that some of the students have found useful. So, your comment did do some good. I would also like to express my gratitude towards my Tutors for their help with the online consultations.

Re: comments 11 & 13, you can actually find more examples in the textbooks. It's not practical for me to go through too many examples in class. I do enough to satisfy the major. Students who need more examples will have to go through the additional examples in the texts themselves.

Re: comment 15. Typing out the code in the middle of lecture is not effective. It breaks the flow of the lectures. Also, many students don't really need that. Sorry, but if you need to type out the code to understand, then you'd just have to do it yourself. Alternatively, don't come to lectures and watch webcast and change the speed to 0.5 times and maybe you will be able to type and follow in good time? Think about what helps you learn most efficiently.

Re: comments 4, 7 and 25, less homework is not an option. The homework is calibrated quite optimally to help the students learn. You be honest with yourself: do you think you will learn the material well if you weren't made to do the homework? The fast students will zip through the homework; those who struggle probably need the homework to learn. As it turns out, my responsibility is not to "make students happy". My responsibility is to help you learn. Learning is hard. Remember that. If a class is really easy, it probably also means you're learning squat .... and wasting your parents' money while you are at it.

Re: comment 24, students who are having trouble with the material can come to office hours. We will also be pairing up some students in a buddy scheme to work through a basic scheme task list to help the struggling students reinforce their fundamentals.   


Problem Sets

1) Multiple Choice

As a five MC module, the workload for CS1101S is expected to be heavy. On average, we expect students to spend about 12.5 hours per week on the subject. Granted that for some of the weeks, you spend less time on the subject; and on other weeks, you spend tremendous amount on it. On average, how much time per week have you spent on CS1101S?



At most 10 hours

13 (28.3%)

Between 11 and 13 hours

9 (19.6%)

Between 14 and 15 hours

12 (26.1%)

Between 16 and 18 hours

6 (13%)

At least 19 hours

5 (10.9%)


1 (2.2%)

The response this year is quite similar to that for last year, except a much larger proportion (28%) seem to be spending quite little time this year compared to last year (20%). Strangely enough, more are also spending more time, i.e. 14-15 hours (26%) compared to last year (17%).

2) Multiple Choice

There are seven problem set submissions for CS1101S this term. What is your view on the workload?



Way too little work. More please ...

0 (0%)

Workload is somewhat light

2 (4.3%)

This is just nice

18 (39.1%)

Work load is somewhat heavy

17 (37%)

CS1101S problem sets are killing me ...

8 (17.4%)


1 (2.2%)

As usual, CS1101S is a little bit on the heavy side, but as students will soon realize, the homework load is front-heavy and so it gets a little better towards the end of the Semester. Prospective students should note that except for a small number of students, the workload for CS1101S is typically considered to be more than 5 MC's worth.

3) Multiple Choice

The problem sets are important for learning the material in the class




36 (78.3%)


0 (0%)

1. i guess it is important but i      
2. Actually i think it is the only way. 
3. but i hope there is more relevant way of reinforce the knowledge, ps is a way of challenge ourselves.       
4. Actually the recitations and discussion groups are better for learning the material. The problem sets posed another dimension in training your comprehension of the questions.    
5. Rather than learning the material, it covers the usage of Scheme functions. What is taught during lecture and class is seemingly different from PS in most cases. Helps to broaden our visions and help us "see" the ways of solving different situations.     
6. Strongly agree~!

9 (19.6%)


1 (2.2%)

Seems like everyone agrees that the problem sets are relevant and important. :-P

4) Essay

Please let us have your feedback on the problem sets for the class

1. Some problem sets (other than PS01) could be broken up into more questions instead of just 1 huge questions and follow-ups of it.

2. i really suck at it

3. ok la.

4. Seriously, this is programming, less math, more concepts. PS03/02 is so not programming. Upon understanding of the math concept, I can write the code in 5 mins, and I took 10 hours to understand the math. IE: Look at the mid-terms, there are so much lambdas tested, of what percentage was it shown to be important in the problem sets?

5. Haha, problem sets are interesting and helpful. Problem set is attractive, if i start thinking about it, i cannot stop. but the thing is that there is still lots of other homework waiting for me.. - -|||

6. The problem sets are really useful, but at the same time, they are really tough. At times, i'm spending 2 whole day not solving anything at all. Really felt like it's wasting too much of my time because i could had finished other tutorials. However, as the problem sets cut out a major portion of the final grade, it's essential to do them, even if you couldn't get a good score at the end. Don't know about other people, but since problem sets are the one being graded, most of the time i will cast the DGs and recitation aside so that i can focus on the problem sets. As a result, i couldn't finish the DGs most of the time.

7. challenging and a little bit tricky

8. The PS are all very well designed and challenges the student well. I suggest deadlines on Sundays! Friday maybe a lil' unfair to students with heavy schedule on Thurs and Friday.

9. PS02 is obscure without explanation and letting the students test out the curve drawing. PS03 is fun, but getting the solve-ax+by=1 part may pose a big challenge.

10. Problem set 3 received the best satisfaction when completed

11. It was really good. It forces us to understand more and think more than we should be.

12. useful

13. They are well done, and customised :)

14. The problem sets are very challenging. However, they are relevant to the subject matter and they definitely serve as valuable practice for coding in scheme despite the fact that they require a tremendous amount of time to complete.

15. Problem sets are just nice and well organized, and it will give you opportunity to learn material more deeply.

16. that's good to have practical exercise rather than being stick to theory~I have learnt a lot from working on the problem set

17. Not too hard but sometimes should state the requirement in each problem clearly.

18. PS 3 almost killed me. BUT what did not kill me, make me strong. I learn a lot from it. PS 4 is somewhat easy after finishing DG 5. HOWEVER, DG 5 help me a lot~ in understanding the points.

19. i am dying and i don't have TIME to stare at it

20. The problem set is okie.

21. I think problem sets are super killer >.< I would very much like to say that Problem Sets should be accompanied by DG, but then I think that wouldn't be fair to the future schemers because then they wont experience the agony and frustration we had *evil laugh, I'm sadistic* wahahaha. But honestly, I really think that there is this great sense of satisfaction when you finally figure out what that verbose clunk of greek (and infused with geek humour) is talking about. There, I said it, yes I'm a masochist (: So I say I think you really shouldn't deprive them of that ego-boosting, adrenaline-rushing hype when they realise they FINALLY UNDERSTAND. Whee. Eureka! Lambda! :D

22. Tough >"< Need help rather frequently. Maybe more clues can be given? And submission on saturday or sunday instead of fridays? Weekday timetables usually packed, sometimes it is hard to finish up our work during weekdays.

23. Although I hate to admit this, but the problem sets do bear substantial relevance to the topics learned in lecture. *sigh*

24. I think they could be made a bit easier

25. It is a good chance for us to use what we learn in lecture. And it is also a good IQ training.

26. very cool! Those problems are really interesting... We drew pictures.. then we encrypted and decrypted codes...

27. The story in the PS adds some humor to it. So far all the PS are interesting.

28. So far, the problem set have been very tough, but also important for our understanding of the subject matter. It is a hard job, but overall I think a good experience to look back on once we have completed the module. PS 3 was I think, the toughest ever, maybe we could have had a little more help with it.

29. The real problem I come across with the problem set is sometimes I don't know what is the question require me to do. When I found out, the question is not hard for most time. The last question for PS2 is too easy, that makes me have no triumphant feeling.

30. The problem sets are very interesting and give us excellent practice of writing our own code. However, the questions are sometimes hard to understand i.e. it is difficult to gauge exactly what the question requires us to do.

31. Well designed.

32. Problem set 1 was fine and allowed me to pick up some concepts along the way. Problem set 2 was a little mathematical. I really had to go read up on some of the math concepts before being able to do the problem set. Problem set 3 was quite a killer, and the time given was somewhat insufficient.

33. PS1 was a really good first PS IMHO. It was easy enough to break us into scheme but the last question was tough enough to give us a glimpse of what coding in scheme is like. PS3 was tough, but fun.

34. it seems so far we are all dealing with higher-order procedures... and sometimes the reading before actual problems is too long... but i think PS are very good training (:

35. Not very tightly connected to the class content, I mean, in terms of dirtying my hands, that's not enough coz many basic procedures (indeed most of them) have been written already leaving me less practicing in basic coding

36. Problem set is very time consuming for me. It take me days to understand what the question is trying to convey before I start the doing the problem. Most of the time i have to ask other to explain what the problem set asking.

37. I think problem sets are helpful for learning. But when reading long explanation in it, sometimes I'm confused and do not know what I need to do. After grading PS, I think tutors can spend some time explain it. It's really hard just read the answers (all codes) to understand, and DG hour is used for DG, consultation is used to ask about next PS. No time for graded PS.

38. Problem sets are killers. And super time consuming, considering that I am quite blur and always get stuck while doing it. But then again, once you understand how to do it, its really quite fun. :)

39. e how to say, i think it is ok

40. The problem sets are well set. But it takes me much time to work on it, especially reading the material rather than solving the problem.

Skip: 6 (13%)

Credit must go to the Tutors for updating the problem sets. We used to have A LOT of complaints about clarity, etc. Seems we have only sporadic complaints left.

Re: comments 8 and 22, I frankly don't have much sympathy. You have two weeks to do the problem set. Why do you start doing on Wed/Thurs? This time management problem is something you guys better go and sort out for yourselves. In any case, there is logic for the Friday due dates. This is to give the Tutors a weekend to grade so that they can return the graded PSs the following week at DG.

5) Essay

Please give us your suggestions on how we can improve the problem sets.

1. Does "improve" here refers to making the problem sets harder? Well, if it does, I think the problem sets are hard enough. If the "improve" refers to making problem sets friendlier to students, then maybe the DG exercises should include some parts of ps or at least a part of DG should be related to ps. (Just like ps2).

2. Maybe to help the weaker students along the harder problem sets, can release a few hints for them on the day the problem set is due. At least, they can try to solve the problems with the hints. Because for some questions, if you can't solve the earlier parts, you can't continue on.

3. The content is quite good and useful. But in terms of the amount, I think Ben can consider one week one problem set instead of two weeks one problem set. Cause a lot of people tend to delay it until the deadline, if he does like this, every week we have enough practice.

4. improve the language, there are so much language that is hard to understand.

5. i'm not sure, in my point, the hardest part in problem set is to understand the question, maybe we can have some example to show what the function our code are require (i always have to read thorough all the code so i can understand the problem set)

6. Because there are lots of material to read, sometimes i cannot find where the question is or miss some part of the question

7. nothing to improve

8. If there is something like online judge which can help us know whether our code is correct or not, I think it will be much better.

9. nothing much....just maybe can at least briefly tell us what is it about before PS3, we simply never come across those things and suddenly we have to understand it and do it at the same time. It really helps us to think, but if you have other classes that require to think as well, then it is not so fun anymore...

10. No comments.

11. More clues?

12. Make them easier.

13. No idea.

14. It is already good.

15. Simplify the language so that it is easy to understand and maintain the difficulty.

16. HIGHLIGHT the questions~

17. Less verbose, More concepts. Fun comes with giving a concise requirement, succinct problem, and build a whole solution. In fact, building a library is actually FUN. Not using the library to solve problems. There is a reason why programmers often like to build their own libraries even though there are open source alternatives out there.

18. I think, perhaps there could be more guidance for some of the problems of the problem set. Also, the timeline and deadline for submissions of difficult problem sets should be extended to allow students to give better solutions and understand the subject matter better, rather than having to rush through most of the questions.

19. they r quite good :)

20. maybe we need more instruction and explanation about the problems.. for instance, problem set 3...I never learn number theory before and have no idea about the problems. then...I spent a lot of time reading my CS1231 textbook to know what's going on in PS3. and...yes, forum is helpful.

21. Have problem sets due more frequently, while reducing the workload for each individual assignment. I feel that each assignment takes too much time to complete. I am well aware that time management could assist this dilemma, but it's difficult to actually implement such a strategy at times. Shorter problem sets due every week would force the student to actively and more consistently work on refining his/her knowledge of the material.

22. I really want to say, adopt the maxim of manner (read: But then I'm feeling evil and want to make future schemers suffer like how we did :D muahahahaha. No lah, I think its a very geek thing to add this super cute and irrelevant and out of point story (read: PS3 - demand for ransom) so cutting down on the words will lose the essence of the spirit. And after a while, its kinda like Pavlov's experiment, when you see words, you just somehow know what is important and what's not. Lol :P

23. Illustrate the instruction more clearly.

24. its very interesting no need for improvement

25. I think they've already been posted in the forum.

26. Perhaps problem sets can be done in groups instead of individuals. So that it corroborates the already-excellent teaching method in CS1101S. Knowledge transfer in lecture and recitation, mentoring in Discussion group, and peer support in problem sets. Well, some things are clearer when explained by and discussed amongst peers of the similar age.

27. If it can be more related to the knowledge from our lecture, it can be more practical and useful.

28. Probably you can give lower marks for the questions where you need to write explanations in words, because for me it was quite difficult to express precisely in words (lack of english), thus I always get lower marks for these questions.

29. lesser qn, lesser words to read, lesser problem sets... but none of the above is possible right...

30. No way, otherwise add more workload, which at least to me is not favourable.

31. Less words. it contains so many pages and it looks very frightening.. although actually it is not that frightening...

32. For PS3 part 2, I think modify the hint: "Hint: This procedure is very similar in form to RSA-convert-list. If you found yourself doing something much more complicated, then you are barking up the wrong tree - ask for help if necessary." I think 'more complicated' is subjective. The answer in the end is quite complicated.

33. can make it more independent, I mean let the student to solve the most problems instead of just a little

34. Nothing really. Everything above are just whinings. Take it easy :)

35. RSA one is the best of all because it appears to be more related to our daily life. Just put some effort to make each problem set more challenging and interesting

36. Algorithms needed for the problem set could be gone through during lectures and the mathematical part should be explained more clearly.

Skip: 10 (21.7%)

First, it's hard to come up with a good problem set. The problem sets were carefully designed and it's not like we can easily create shorter problem sets due weekly. Students please just go and learn some time management. It is not humanly possible with the level of teaching support that I have to come up with completely new problem sets every year. 

Dunno why I have so many complaints about the wordiness of the problem sets this year. My guess is perhaps because there are a lot of Chinese students. My advice to these students: don't complain about the language and use this opportunity to brush up on your English. Will be helpful for you.

In any case, part of the problem set experience is learning how to understand complex problems. It's not all about writing code.

Re: comment 2, hints are typically found in the Forum or in the Chatroom logs. I don't think we should have official hints. If there are any, they would already be including the write-ups for the problem sets.

Re: comment 26, note that PS 5 (robot PS) is actually done in groups. Problem with group problem sets is that some students will tend to do all the work and the other students don't learn quite as much.

6) Essay

Please let us have your comments about the Programming Contests.

1. i wish i could have tried one of them :(

2. Open the contest folder for all to see after the contests so that we can learn from the winners.

3. Lets have some easy programming contest that everyone can take part!

4. I find it interesting to do the contest problem because it offers some kind inner view of the language and force me to explore more in Scheme. However, I notice that very few people spend their time in the contest, that is a pity.

5. The contests are really enriching. Though I've never been able to fully solve the problems, but at least I learn along while trying to solve them.

6. I haven't tried them so I don't think I can comment on this.

7. Why not reveal the codes of the winners?

8. pple who are zai can do the contest and hence score A+ pple who are struggling with time to complete the workload don't even need to try

9. No Comments

10. I haven't took part in any one of them. No time even to finish problem sets and have no idea even how to start for a lot of them.

11. I only did contest2. I found it interesting ... and wishful thinking is powerful for managing complexity!

12. Interesting and challenging.

13. I haven't got time to go through the contests. But I think if the lesson are conducted as such, 1) questions raised are discussed in respective lectures/recitations, (since discussion groups usually have just enough time for the dg questions alone) 2) problem sets are done in groups to facilitate peer tutoring, then more students can have the privilege of going through contests which will be beneficial to their own learning and understanding.

14. Did not attempt them? =X Sorry

15. It seems that I don't spend much time for the context.

16. I have only done Contest 1. Interesting.

17. It looks too scary for me to attempt. I'm scared I'll be very demoralised if I try to attempt it and keep failing after 986543212345678234567 tries.

18. Don't have time to do that's all.

19. I had read the problem in the programming contest but did not attempt it as i do not have the time to it. Although I had quit some of my commitment outside school, there is other module that I have to focus on.

20. Contests--really for GOOD students who can finish problem sets VERY FAST...or do they just love programming?

21. just for fun

22. I believe it is quite useful, though I have not tried on it due to my laziness

23. great, i think can be a littler more

24. By the time I complete the problem set, I have absolutely no desire to even open the contest files let alone actually attempt to solve them. My suggestion regarding shorter and more frequent problem sets might lend more time and willingness to attempt the contests.

25. sorry..have never done.

26. I don't attend because I can't (of course) and find it like an optional PS. After finishing one PS, I'm too happy to do any more.

27. Too up there already. Don't know how to do >.< I'm like still down here.

28. Never did. But I decide to do all the next contests cause it seems to be quite useful to understand staff and to challenge.

29. Never tried them so no comments.

30. It is challenging. Students with programming background has advantages in programming contests.

31. It is very interesting.

32. haven't done a single one

Skip: 18 (35%)

Contests are meant to be optional and to help soak up the time for the students who have a lot of time to burn. No intention to reduce other workload so that more students can do the contests. 

Re: comments 2 and 7, I already said in class that it's hard to design good contest problems and I would like to recycle my problems thank you.  



1) Multiple Choice

Comment on the difficulty of the midterm



Too easy

0 (0%)

Somewhat easy

0 (0%)

Just right

14 (30.4%)

Somewhat hard

25 (54.3%)

Way over your head

6 (13%)


1 (2.2%)

I guess the midterm wasn't exactly easy.... :-P

2) Multiple Choice

Comment on time allocated for the midterm



Way too little. Too long, too little time.

1 (2.2%)

Time is somewhat short

14 (30.4%)

Time allocated is just nice

31 (67.4%)

Too much time, too little to do

0 (0%)

I can nap for an hour during the midterm and still finish every question

0 (0%)


0 (0%)

I am happy to see that most of the students thought there was sufficient time. In past exams, most students typically complain of not having sufficient time.

3) Essay

Any other suggestions/comments about the midterm?  

1. n/a

2. No idea before seeing my result and how my points were deducted

3. Just keep it making more creative :))!!! Actually my suggestion is not related to the "body" of the mid-term, but it will be better if we can make it in the morning, because (personally I didn't use to have exams in the evening) in the evening before exam you are already exhausted with the whole day :((((... and unfortunately it will affect for your efficiency.

4. I don't like the very last question =(

5. No comments.

6. The last part of the mid-term takes too much time on its own. Unless we are really good in Scheme, there is basically no time for us to really do this part. It requires thinking, coming up with a solution and writing it out. This is very hard for us to do in such a short time. Very creative questions.

7. No other comments.

8. The questions are extremely well designed. The difficulty is just right! /kowtow

9. Let us know that it tests concept COMPLETELY as if you don't understand concept, even it is a open book exam also can't save you.

10. No, totally breaks me down

11. The first question is suppose to be the easiest and should not be the same type of thing, I think. The first question should be more varied.

12. the questions r brilliant, the problem is that i am not hard working enough :(

13. The midterm is good for question number 1 and 2 as it reviews the student's knowledge. It makes the midterm excessive difficult with question 3. I think that question number three is out of student reach.

14. Is it possible to correct the mark if there might be some mis-marked?

15. *stun*

16. creative

17. I think it is OK and can warn us to be diligent!

18. It was creative and interesting. It's just that for the last question I did not really get what I'm supposed to do, i.e. I didn't know the method to solve the puzzle to begin with, in order to be able to code. What I understand was that the code was trying to move right, left, up down in sequence and try this recursively until it is solved, but I couldn't picture how it actually did that. So I couldn't really come up with the base case given in the solution. (The one the I did come up with I was very sure it's going to be an infinite loop, lol)

19. Make the difficulty level of discussion group the same as mid-term so that we'll be better prepared.

20. not a very good mid-term, compare with others!

21. Dr Ben.. Could you not walk around next time during the exam?... i was burdened...

22. hmm, I don't know what is mystery numbers.. Is it a list or separate numbers? I hope it will be clear next time.

23. Would suggest having a milder paper for final

24. Time allocated should be pegged to the difficulty of the exam. Else it is unfair in between batches of students =x

25. n.a.

26. I think the time can be extended further because some of the questions can get very lengthy to read. Not being very proficient in English means I have to take a longer time to read them and leaves me with lesser time to solve the problems.

27. time allocated is just nice cause the test is too hard and even staring at it won't help

28. Everybody make mistakes in the midterm ~ that's nice because we can learn from our own mistakes. Maybe next time, you can set the mid-term paper in a problem set style (easier of course)

29. ... It reinforces the fact that I am somewhat confused about lambda still. :( So, yes point taken. Need to revise and study harder.

30. reading and understand someone's code without their explanation is hard for me (maybe not with others) Why can't the questions ask us to produce our own codes for some problem rather than continue other jobs.

Skip: 16 (35.6%)

I really spent a lot of effort setting the questions. :-P Nice to see that people appreciate the questions.

Re: comment 3, really cannot control the timing of exams. We had the exam in the evening this time because of the public holiday. Some of your Final Exams will be held in the evenings too.

Re: comment 21, cannot lah. I'm the invigilator. Supposed to walk around! Scully people cheat how? ;-P

Re: comment 30, reason is simple: you only have finite time on the written exams. You will have the chance to write your own code at the Practical Exam.


1) Multiple Choice

What is your overall impression of CS1101S thus far?



This is a horrible class. Truly regret choosing it.


Should have taken CS1101XYZ instead. :-(


Just like any other


CS1101S is cool


CS1101S rocks. Coolest class I have taken in my life.




The response this year is almost identical to that for last year. I guess we've reached an equilibrium. Sorry to know that there are 4 students who regret taking CS1101S. If you have concerns about the class, drop me an email and come chat with me. :-) 

2) Multiple Choice

Has CS1101S been able to arouse your interest in programming?




31 (67.4%)


6 (13%)

1. I do not know if I      
2. Sorry, I appreciate the faculty very much as they have assisted me greatly in this course. However, the fact stands that programming isn   
3. I was interested in programming, which is why Computing is my first choice :)     
4. I was already interested in programming but scheme makes me realise that we can do a lot with programming.
5. Functional programming sucks in my opinion. No proper handling of types and inheritance provided for to do OOP. Doing OOP in scheme is somewhat contrived - forcing a condition to happen in a case where it is not suitable to happen. No need to arouse my interest as I      
6. er, not really, i   
7. I am already interested in programming before even taking up 1101S. Thus i am aroused before even taking up this module :)
8. Notwithstanding all the fun I       

8 (17.4%)


1 (2.2%)

Looks like CS1101S is not quite as effective at encouraging people to like programming this year.... I wonder why.

3) Multiple Choice

If you were given a choice again to choose either CS1101S or CS1101XYZ, would you still have chosen to take CS1101S?









These figures look very much like the figures last year. I guess we're really reaching an equilibrium for CS1101S.  

4) Multiple Choice

Would you recommend CS1101S to other students?









Interesting, we have a much larger number of students who want to recommend CS1101S to their friends. In fact, there is at least one student who would choose CS1101XYZ instead who would still recommend CS1101S to their friends... maybe he/she is a sadist. :-)

5) Essay

Please give us your comments and suggestions on how to make your learning in CS1101S more efficient and interesting.

1. I don't know...

2. No comment.

3. I think my experience in C programming helps me a lot in learning scheme, although they are quite different.

4. More practice and more practice under supervision.

5. Too many exercises. We have 3 big set of questions every week like problem set, recitation, discussion group. Gradually lose interest in the module

6. Good enough to me as it is. But maybe we should be more prepared to be tuned to Java? A little worried on that.

7. I think its okay. Its up to us who have to work hard and follow what is being taught in the lectures.

8. Recitation should be 2 hours instead. Always have to rush through it.

9. What about giving every single schemer a badge for surviving CS1101S ? Haha, erm actually I think its interesting enough as it is. Or maybe lectures can be made more interactive so that we won't fall asleep during some lectures which can be very dry and super obscure.

10. Now I don't have any idea. When I have, I will inform.

11. As long as prof is shuai, my learning will be efficient and interesting (:

12. don't know~~~

13. Be passionate about it

14. er.. for me is - don skip lectures

15. Some interesting code given during lecture to illustrate higher order concepts not tested perhaps.

16. Assign more reading materials. such as lambda calculus

17. The way it is conducted now is already efficient and interesting. It's just the nature of the module that is challenging.

18. You mentioned that after mid-term, you will be pairing the weaker and stronger students together. I suggest that instead of pairing, maybe split into groups of 3 to 5 people. I think this will be more enriching because more brains together might learn more => 2 people might be a little awkward and not very conducive for learning.

19. Give out small little chocolates or sweets for small little trivia question that is not relevant to 1101S mark the end or start of class or something. eg: pop quiz to test if anyone read the papers: who won first runner's up in the recent F1 racing ? first 3 to to answer would get chocs as treats !

20. only suggestion is that Don't Replace Ben with other guys~

21. a) well prepared before attending every lecture.. b) do revision in time before I forgot what I was taught during lecture c) ah! start assignment earlier rather than one day before deadline :( d) browsing forum to learn something more

22. I think that it is already interesting.

23. practice~

24. The course is very good already! PS4 seems like of dry though. Maybe can repackage it in a fun way like PS3? =D

25. in mid-lecture-breaks, instead of telling to do our own things for 5 min, why don't the lecturer prepare some videos or website that are interesting and fun. i) it helps make those who are sleeping to wake up ii) it brings back our attention span to the class iii) but make sure is less than one minute though, as you just want to attract people, not distract them. iv) always ask us in the end of our lecture, what we have learnt, and have some of the students answer that question, instead of giving ' summary' slides. the above methods really works as I actually gone through that in my high school in malaysia in one of the biology classes.I never like biology but the teacher makes it really interesting for us.

26. i'm not sure.......

27. For what the course is, it is run about as well as could be expected. My only suggestion would be to better elaborate on the differences between 1101S and 1101XYZ in the course catalog. It's possible that I overlooked a detail or two, but I honestly enrolled in this course thinking it was a beginning, rudimentary and basic programming course.

28. Again, less maths, more concepts, so much can be done with programming, wassup with the fascination with maths? I have enough issues with MA1505 and CS1231Y as it is, not forgetting my physics modules is solving everything with integration there days.

29. i think more discussion could help understand more, not just do exercise and listen to the lecture.

30. give A LOT of examples but lesser workload please

31. Cover some points about how to use HELP in Drscheme.

32. No more but to be interested in programming yourself. I think it is the only way.

Skip: 14 (30.4%)

Thanks for your suggestions. Will look into some of the issues highlighted.

Re: comment 25, will find some interesting YouTube clips to show during the breaks. Suggestions are welcome. :-)

Re: comment 5, workload will not be decreased. This is the catch-22. If you are very good in Scheme, the workload ain't bad, as you see in the responses above. If you're not so good, all the more you need the extra work to help you learn. :-P

Re: comment 11, do I have a volunteer to become president of my fan club? :-)

Re: comment 18, we've already started implementing the Scheme buddy system. This suggestion on groups instead of pairs actually came up last year also, but I'm not sure how to implement it, i.e. who to put with which groups. Lemme think about this a bit harder. More detailed suggestions are welcome.

6) Essay

Tell us more about what you think about CS1101S. This is your chance to tell us anything you want that is not already covered by the previous questions.

1. i want to know some applicative usage of scheme, and could get some codes to study.

2. The class and staff are great. Scheme is cool. I just keep wondering what actually Scheme applications are in real life. Maybe I will find it in the coming robot project. It's just a wonder why Scheme applications are hard to find compared with others' applications such as c#, java.

3. Scheme is really cool. However, it is harder than expected to get a high mark. I think the way I study should be improved, but I don't know how...

4. This 5 MC module is twice or even more work load comparing with my 4 MC ones.

5. I think CS1101S is very good place to start learning programming. However, I feel that there is too much people that had taken other programming language before so sometime they will ask question that I totally don't understand. ( Maybe people with programming background could be separate form those without so that those who do not have programming background will not feel the fear and lost in class ). Although i did not have any programming background, I think you will be very happy to hear that I actually able to teach student taking Java or C in their lab and tutorial. At the mean time, I also learn about their language. ^_^ I think I'm also a great motivator to student who took Java and C. This is because whenever they feel so useless and cannot take the workload in their language they will talk to me. After knowing the time taken

6. I think that it's really really REALLY hard but for some reason I still like it a lot. Even though I can almost never do the problem sets I still spend so much time trying to get it anyway.

7. CS1101S

8. CS1101S is very cool. However, if i have a second chance, i will go to CS1101XYZ. CS1101s is a place to let me compete with many clever students, but life also becomes harder.

9. CS1101S helped me learn the key concepts in computer programming in a systematical way and lay a solid foundation for my future programming. A very cool course!

10. Maybe we can have something like quiz or small scale practical test like CS1102?

11. I think there should be another common lab session, sort of problem sets but done in the lab with the help of a facilitator instead of at home. Since, practically, the workload for cs1101s i feel is over 12.5 h per week, I just feel that it can complement the amount of self prep work, and I wouldn't mind the extra 1 or 2 hours of guided work. (It doesn't necessarily means more time to do self prep work. It may even shave some hours as a result of better understanding)

12. Understanding more of Java, which we must touch upon. Since good at Scheme does not mean we would be able to fit into Java easily.

13. Nothing more to add-on. Simply the best class even taken. I am forced to think hard a few times!

14. I think CS1101S are where are the 'elites' budding programmer come from. People who are truly interested about programming and computer science. It takes some nerves to pick CS1101S, facing the unknown while at the back of your head you just know that you could have gotten a free A for CS1101XYZ. So its a self selecting process in a sense :) Last suggestion would be to perhaps at the end of the class release the name list of all the people in CS1101S and their intended major so that perhaps people in 1101S can form project team mates in the future.

15. ...cs1101s = genius party... the point is, if i am not a genius, then i have to prepare to kill myself to get a little smarter @_@

16. I had high expectations of the class from what I heard from seniors, and I'm glad to say that this awesome module really delivered what it promised. I find it very cool that scheme doesn't focus so much on stuff like syntax (save the evil parenthesis!) and whatever, but it really demands your understanding and appreciation of the logic and fundamentals of programming. Of course, having a shuai professor helps :) I'm proud to be a schemer. I feel up there :D

17. scheme seemed fun but it's hard to get, hard to do, hard to score but easy to kill

18. n/a

19. The debug feature of DrScheme is buggy....

20. I need more practice about the lambda & time/space complexity analysis. Please recommend some hard questions about such topics.

21. I think CS1101S is really very interesting, but I won't recommend it to other students because its not an easy module. It will really kill students, especially those who don't like programming. So I won't recommend it to other students unless I know for sure that they are very keen in programming. Oh yeah, and for Question 4, I chose the option that "Lectures are way cool" which I think is true, but it doesn't mean that I understand EVERYthing that is going on in every lecture. I am still quite blur in some lectures, but I find some things to be cool as well and I can go.. "whoa, that's so smart, why didn't I think of that?" after some lectures.

22. CS1101S seems like a good course to begin with programming for people who have no experience. However, the hard part is that at the same time, student need to master both the concept of programming and the way to change it into code.

23. It's not very practical, for most of the class they will find what they learn today contribute very little to what they will become, u know what I mean? some people here are not meant to be taught all this, they're just not the type.. most of us won't follow the path of a scientist or a researcher.. ok just treat the last sentences as nonsense

24. Now realised that I'm transforming from "honey-moon" period to "CS1101S shock". Hope the final stage will be just great!!!

25. Very good course. I think all the students have fun and learn a lot too.

26. I feel excited every time I think about CS1101S. and for those general questions my answers are actually "yes!!!!!!!!!!!definitely!!!" CS1101rocks @0@

27. though i stated that i would choose scheme again if i could ever turn back the clock, i was struggling with the idea of choosing Java because there's a higher chance of me scoring better for that module. It might be also because i'm exposed to the more difficult module and that's why i though the java course might be easy. Lol

28. a very good thing, why cannot we use it, so sad, we have to use java, so sad,

29. I like the thinking of scheme much better than JAVA and C. But only if I'm a GOOD programmer. the idea of changing definition of built in function is challenging as it makes sure you cannot make mistakes.

30. Programming != Math.

31. n.a.

32. I feel that, overall, it is a good but very tough experience. I think some more support should be given for students who have had no prior programming experience. Also, there timeline for problem sets should be improved. I think that upon completion of this module, we will be better able to appreciate what we learnt during this time.

Skip: 14 (30.4%)

Hate to break this to you guys, but Scheme really isn't very useful in practice. However, it's an excellent tool to learn the concepts in programming. Typically, people who are keen to do well in Computer Science will take CS1101S and learn Scheme and thereafter, they can pretty pick up any language they want.

Re: comment 10, you do have a practical exam coming up. It's a lot of logistics to prepare for a practical exam so it's not very feasible to have lots of small exams. But I will keep this in mind and maybe we'd have some smallish practical tests.... but likely will have to make people come back on Saturday or something for scheduling reasons.... we'd see.

Re: comment 14, you are absolutely right. CS1101S tends to see the best programmers at NUS. Well, you should join the CS1101S Facebook Group to keep in touch with your coursemates and other NUS Schemers! 

Re: comment 20, there are a lot of questions in the textbooks and also in the posted past year papers in IVLE.

Re: comment 21, student who know they don't like programming SHOULD NEVER sign up for CS1101S. If they need to clear their CS1101 requirement, they should go to the other easier options. Moral of the story: if you don't like something, then avoid it and don't go for the most hardcore thing you can find. Doesn't make any sense does it? Similarly, to response to comment 23, you are describing people who are in the wrong class. Doesn't mean that the class is wrong lah.

7) Essay

Do you have any concerns about CS1101S? If so, what are they and how can we help?

1. Nothing.

2. I wonder what level that is considered satisfied when we finish the course? Program as efficient as Ben? Get the most marks (90%~) in the exam or just pass the course...quite confused .. because I want to do IS in the future.

3. i'm not smart enough =_,=

4. I think this module requires high IQ and good reading skill. I always think slowly and think of the question for long long time. Perhaps hard-working will help. And the reading skill, I am always scared when I saw a big paragraph. Of course spending lots of time understanding the question.

5. i have no clue what is lambda... even after all the examples, i still don't get it

6. Worried that I may not have enough time to practice for Practical exam. Hopefully there can be a weekly class to train us for practical exams and extra optional practice questions should be given out and solutions to SICP and concrete abstraction should also be released.

7. i hope scheme can be better, i think scheme is much better than java, but it is too slow and no one use it.....

8. No. CS1101S is a difficult module, but there is no win-lose culture in this module. The way the grading is designed is appropriate so that everyone can succeed in this module.

9. No

10. Not really. But for now, unsure of how to meet up with people from the same robot team. (One of those in Randomly formed teams)

11. That's a gap in the class where by the weak ones are too weak, and the good ones are too good...and even you try using the 'good students -mentor-weak students' thing, I doubt that the weak ones can actually comprehend the thinking of the good ones. The good ones can tell them their thinking every time but in the end the weak ones still have to come up with they own thoughts. Or else, you can't learn ..

12. I definitely have concerns. My responses to the previous questions have pointed these concerns out.

13. Not really

14. Yes. Because I have taken Olympiad before using pascal, and I also learned C and Java before, so now when encountered with a problem, first I always thought how to solve it in pascal or java and I always struggled with details. I know I should not let the programming language limit my thinking and should first think in a general way, but I just cannot stop thinking like that and may sometimes don't want to use scheme! Furthermore, I even mix those languages I have learned up and thus always forgot what the exact syntax of each language when using them. My God! How can I solve the problem? Need help urgently.....

15. Worried about the bell curve in CS1102S (if there's any) I can't exactly remember. Perhaps wont be used to the new lecturer teaching style in CS1102S and transition wont be smooth.

16. It's going well

17. Maybe can publicised for those taking double degree in maths and computing that it is a compulsory module..

18. My concerns are more like, the other way around. As in, I am concerned about my other modules because CS1101S really have tons of workload and it seems like I am giving all my other modules half the time I spend for CS1101S.

19. Yeah...Suffering from the sad result of midterm, I only want to find a way to redeem, maybe it is the practical test, I don't know how to prepare for it...

20. yes, the order of growth, and the idea of passing a message. i think i'll try to understand later

21. I hope that the questions in Practical exams give the student sufficient time to finish them. The planning for pseudo code + implementation + execution is a rather time-consuming process. I know this because this is what happen during Problem Sets.

22. No

Skip: 24 (52.2%)

Re: comment 5, well better come to office hours and figure out or you will "see lambdas" at the Final Exam. :-P

Re: comment 7, Scheme isn't popular not because it's slow. Java is pretty slow also. There are other reasons. One of which is that it's not OOP.

Re: comment 14, if you have Olympiad experience, then you should have no problems. Just kwai kwai do more questions and you should be all set. Do put in some effort into the class and you will be fine.

Re: comment 15, worry about it when it comes lah. You're still in CS1101S and you have enough Scheme to worry about as it is already!

Re: comment 17, good point. Will check with the Undergrad Office.  Maybe they can do pre-allocation. Otherwise some people get confused and have to switch to CS1101S halfway.

Re: comment 19, you will get your chance at the Practical Exam. Good luck!

Last updated $Date: 2015/02/26 13:12:23 $