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, 2009/2010) 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 CS1101 version. Scheme is indeed an easy language, but that doesn't imply that CS1101S is easier than CS1101. 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. :-)

Total Number of Respondents : 65/65

Understanding Your Background
1) Multiple Choice

Did you have any prior programming experience?









Just like 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/c++

2. C++,Java,Pascal

3. flash actionscript 2 and 3. c++ html (counted?)

4. haskell

5. C++, C, HTML, Java, Javascript, Actionscript, PHP

6. C++

7. Pascal, CPP

8. C pascal

9. C++, java

10. Only some basics about pascal and c....

11. Python, Java, C / ObjC / C++, Ruby, PHP, .NET

12. Java

13. Visual Basic

14. A bit C. just a bit.

15. Java C

16. C++, during JC

17. C++

18. C,vb

19. C, java, pascal

20. C++ in JC

21. basic c/c++

22. java c


24. C, C++

25. C, C++

26. C

27. Turbo Pascal

28. PHP, Java

29. -

30. C++

31. c or c++ not sure... (learned only a little bit, like a few weeks)

32. C++, C#.

Skip: 33 (50.7%)

Seems like the majority of those who know some programming have C++ background this year, while some know Java. We also have one who knows Haskell. :-P

3) Essay

Why did you choose to take CS1101S instead of CS1101XYZ?

1. more challenging more interesting

2. Planning to pursue a CS major, believes that CS1101S have more to offer than CS1101XYZ as I've had prior Java experience.

3. For the experience, knowing that it is "infinitely" extremely hard, but eventually, some other things in life will have to be harder than this anyway. And content wise, it promises to be enriching in the way that CS1101, I believe, does not go to that much of an extent even though the latter is the easier option to get a good grade.

4. Hoped to learn more problem solving skills instead of learning syntax (probably the case in cs1101)

5. I didn't want to relearn the things I already knew and knew that this different programming paradigm will challenge me and my abilities

6. To get more used to advanced programming techniques.

7. n/a

8. Forced because of double degree requirements. It's fun though.

9. To learn more, to know some awesome people and to avoid the dreaded bell curve in CS1101 (which non-programmers would be at a severe disadvantage)

10. Otherwise sem1 is not fun at all.

11. might be more interesting than CS1101XYZ

12. I felt that I would learn more, especially since scheme's very different from java

13. Fun. for the kicks.

14. the module has a high reputation

15. Mainly because it sounds more fun and my seniors also suggest me to take CS1101S

16. Was allocated the module.

17. because when I threw my coin and I got a side indicated that I should choose s, not xyz......

18. bo pian. i am in DDP math and comp sci.

19. Heard it was good.

20. I want the learn the concept of basic programming first before I jump straight to programming software

21. push myself harder

22. it's more challenging and more interesting with quilts, stereograms, robots... Though I have a programming background before taking this test, I have learned a lot of cool things in Cs1101s. Cs1101 seems to be about the syntax of java more than anything else. Nothing's excited about that.

23. Double degree

24. Wanted the challenge

25. heard that scheme language syntax is simple which is preferred by me.

26. Because I am a DDP student for com science and applied maths, I have to take it. But, if it is not compulsory I will still take S as just from the tower of Hanoi shown during the introduction lecture, I was amazed by Scheme, so I just want to learn more, instead of getting my A~~~


28. Want challenge. Want to train myself. Want to master both scheme and java at the end of year 1. Lastly, recommended by a senior.

29. Because prof Ben is cool XD Actually , I just want to do something special in my uni life . Therefore , I choose cs1101s .

30. no choice!

31. Just a choice

32. A programmer that is working currently in Silicon Valley told me it will benefit me in the future when I become a programmer or at least get into the line of computing. I also read a few article online that it is a good language to pick up when starting programming. Scheme also has the cool Lego Robotics, which I remember playing when i was a kid. The lecturer is a very engaging person.

33. This is one of the module that I needed to take =)

34. For the 'kick'

35. Because of my interest in math and programming.

36. More challenging than 1101, which gives the impression of catering to even the most noob...

37. I am going to take computer science as my major. So it is better to experience the challenging module first.

38. I wanted to learn scheme as a recap to the concept i learned previously from Turbo Pascal. Also I wanted to free myself, avoiding to do complex syntax of Java in Sem 1.

39. I feel that CS1101S will be challenging... too challenging instead...

40. The content and the way it was going to be presented seemed more interesting.

41. Challenge.

42. Sounds interesting. Suggested by piles of people.

43. Because I think CS1101S should be more interesting.

44. 1. Because I was enticed by Prof. Ben intro at the beginning of the year =P 2. I thought I want to try a more "challenging" course since I have some programming background.


46 The only module that I can take!

47. I wanted to be challenged. Prof Ben was a better salesman than the other Prof.

48. Want to know more about programming principles and challenge myself

49. ddp mah, so no choice :P

50. challenge myself~ also, cs1101xyz clash with some modules which I want to take this sem.

51. I heard CS1101S makes good programmers. I want to be good.

52. I prefer professor Ben's way of teaching because he won't make me sleep.

53. more challenging

54. I like functional programming language

55. I felt that CS1101S would allow me to understand more about programming.

56. Oh well, it's a course requirement and i love challenges~~ It's fun~

57. I wanted to challenge myself

58. I want to know a totally different way of programming thinking.

59. I love challenging so when I heard about this module, I choose it =)

60. it sounds good.

61. I thought it would be challenging, I got more than I bargained for,.. way way way more than i bargained for....

62. I hope to learn more concepts that I was not taught before. I also like to be taught at an accelerated pace.

63. learn something different

64. I wanted something different and possibly with a challenge. Also, I was interested in the scope of the content covered in CS1101S.

65. want to learn more

Skip: 1 (2.2%)

The majority of the students who sign up for CS1101S are highly motivated and are here for the CHALLENGE. :-)

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 61. The difference between CS1101S and CS1101 is pretty big.


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 that we're doing okay this year. The proportion of "lost" students has dropped from 15% last year back to 10%, which is similar to two years ago.

The one person who is completely lost most of the time should most definitely come to office hours and the other half-lost people should put some efforts into catching up. Perhaps watch webcast?

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.




We're doing better on recitations this year. :-) 

3) Multiple Choice

How effective are the Discussion Groups in facilitating your learning?



They are a complete waste of my time ...


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


Discussion Groups are okay


Discussion Groups are helpful for my learning


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




The comments on the individual Tutors (not posted here) are the best I have ever seen and I'm surprised that the ratings this year, while good, are a little worse than last year. I would like to invite the 2 students are lost and/or don't seem to find the DGs useful to let me know how we can improve. 

My gratitude an appreciation to  Caleb Chao, Chris Henry, Jon Hay, Koh Zi Han, Li Hongyang, and Chu Duc Hiep for serving as Tutors.

4) Essay

Feedback for Lecturer Ben Leong.


2. Brilliant and humorous lecturer, different from other lecturers, really enjoyed the lectures and your "passion" in scheme also helps to lessen the suffering~~~

3. Dr. Ben is very brilliant and creative as a lecturer. He can always interpret the contents in a clear and enlightening way.

4. I think he is an excellent lecturer.

5. He's an awesome train driver~~ Cool and helpful and fun~

6. Perhaps he could dwell more into explaining stuff instead of just stating what is on the lecture slides... Also he seems more concerned with not boring the better students than making sure the less experienced students understand the stuff.

7. Are you intentionally making your lectures hard to follow?

8. From the first sight I already know that he's brilliant. although the speed of speaking is a bit too fast but I think now I'm already used to it (which result in that I fall asleep during other lectures coz the lecturer is too slow compared to Dr. Ben).

9. His lectures are interesting, he is a good teacher.

10. Prof Leong makes the effort to ensure that his students do not fall behind. He is generally quite clear in his explanations.

11. cool prof, hard working and helpful.

12. Prof Ben is humorous and able to keep the class awake most of the time. I have observed the repeated use of the word "obscure" during lectures.

13. Very clear, clever and keeps all of us followed. responsive

14. Most say that he's evil, I find him the exact opposite of what others say. He's entertaining, approachable and genuinely concerned with the performance of his learners. He's always there when you need him.

15. It's great. On the other hand need to many works before lecture.

16.Prof Ben is cool and rockzzz! Prof BEN is ANGEL! (hope not to be an evil if not final exam will die hard hard ) His teaching skills is the very special if compare to the other lecturers and speaking skill also a bit faster than other lecturers a lot and a lot . Ya , prof Ben will like to first throw us in the jungle then one week (maybe one month) after only come and save you (so The PROBLEM here is please don't die before this , if not.... bb ) That why he like to say "what doesn't kill YOU make you strong ."

17. Godlike. (?)

18. Prof. Ben is a brilliant guy. The way he conduct lecture and recitation is quite different from other lecture, and result seems to be very good. His lecturing speed forces us to read the lecture note in advance, which is a good thing.

19. Good speed. Clear. CARING. No complaints. =) Except, sometimes he brings up certain algorithms in lecture and doesn't really explain them in detail. But I guess this is a function of the time we have in class.

20. pro Ben is a intelligent and humorous lecturer.

21. Hands down, the most interesting teacher I have come across. Lectures are never dull, although always difficult :P Cannot think of a better way to start a life @ NUS other than having Prof. Ben as a lecturer. I leave the feedback-writing to the more articulate people out there =P.

22. Professor Ben's lessons have always been interesting. The best part is that he doesn't make students sleep and this is the most important quality that I look for in a lecturer. His teaching style is clear and systematic. Therefore it is easier for students to grasp the concepts.

23. very helpful

24. I've never been late or asleep for your lectures prof! :D:D:D I guess that's because its always interesting :D:D:D

25. just slow down the speaking speed please.

26. You're great.

27. 1) Has an extremely effective pedagogy. 2) Its not the speed in which he talks that's fast, its the content in which his words deliver that's fast. 3) He teaches things in and beyond the textbook. A prime example of an excellent teacher.

28. Yay... More videos!

29. A nice and flexible lecturer who tries to accommodate some of the reasonable requests for the majority of the students taking the module.

30. Best lecturer I've seen so far (not that I've had many), 1101s lectures are probably the only ones I've yet to fall asleep in. Very systematic and prepared, lectures proceed at a good pace as well. However, not very good at rating difficulty of own exam papers =P. Have found 2004->9 mid-terms to be of increasing difficulty every year.

31. I think lecturer Ben is a talented lecturer as he is able to successfully capture the attention of his audience most of the time, as compared to the many other lecturers whose lectures I have attended. His passion comes through, even though he gets too excited sometimes, which then causes his words to get all mumbled up. Nonetheless, on the whole, I enjoy his lectures much better than the lectures of all my other modules.

32. A nice lecturer with a good sense of humour

33. no word seems to do justice for this lecturer

34. u rock prof!!

35. interesting lecture. only lecture where i wont feel sleepy.

36. great! speaks too fast sometimes

37. Prof Ben taught very well~~ Though the module is quite challenging for me, Prof Ben taught it very clearly.

38. Great lecturer; but tends to give too much license to a few students who ask the most ridiculous of questions (stuff which would sound preposterous if they stopped and thought about it for even half a moment), which tends to get on my nerves and irritate a lot of the ppl i know to no end...

39. quite good

40. Best lecturer ever. The lecture is hard, but prof always know how to encourage students, as well as make the lecture more interesting and relaxed. In addition, brilliant, the first and the only lecturer so far know who I am, and know as well as care for every single student in the class. The teaching is also excellent. The way to introduce new things makes it easier to understand, although some time the trace of the class is very fast. In brief, perfect lecturer.

41. make the pace of the lecture a little bit slower, especially when there are a lot of new content being taught

42. Evil in a good way

43. Nothing much really. I'm very thankful for such a dedicated lecturer who really knows the best way to make us learn.

44. Teaches more than just scheme and programming methodology. The pace for lectures is good.

45. professor is shuai lol. His way of teaching is very different and effective. I like the extra stuff that he adds to this modules like the contests, and especially the video session in wednesday lecture's break.

46. responsible and yet funny

47. Good personality and charisma

48.  Great!

49. A handsome person who has a cute child.

50. IMBAPWNZ00RR!!!! He's just too pro. And he makes the lesson interesting.

51. I think most of us have already adjusted to your speed. Thank you for your concern about our progress in programming.

52. Bestest and coolest prof in NUS. sadistic, evil and over-creative when setting exam questions, but then we learn this way. i must say, if not for prof leong and scheme, my first sem in NUS will be very sian.

53. FUN!!! excellent memory. speed = c - 1e-100000000000000000000000, where c is the speed of light in vacuum. okay that was relative speed to NORMAL people.

54. During lecture and recitation, he explains concepts clearly and adds appropriate amount of humour which helps to keep the class interested. He also takes time to listen to students' questions and answers them respectfully. However I feel that he speaks a little fast and would be better if he slows down a little bit. In the forum, he pays attention to our questions and answers them quickly. Having a lecturer participating in the forum actively has made the forum a very good learning place. Students take the forum seriously and make relevant discussions. Along the way, Dr Leong will add in comments and suggestions to make the discussion more active and substantial. Overall so far, I feel that he has made the module an enjoyable experience.

55. A lecturer with good memory

56. Reduce Evil Creativity ^^

57. I would like to say Prof Ben is more a good teacher rather than a usual uni prof who solely gives professional knowledge. He taught us lifelong philosophies as well. Lectures thus were conducted like casual chatting (although we seldom talked ;) ). It makes me feel close to him. Good teacher.

58. excellent and helpful lecturer

Skip: 7 (10.7%)

Thanks for the kind words. :-)

On the part about speaking fast, I'm aware. :-P  When I first started teaching 4 years ago, about 90% complained that I spoke too fast, it went down to 30% the second year and 10% last year. This year the proportion seems to have stabilized at 10%. Students who cannot catch what I say should raise their hand and ask me to explain again.

Re: comment 6,  I think the student should look at the rest of the comments. I think I have tried my best to explain the concepts covered in the class. It is however not possible to make sure that every student understands every thing during lecture. If the student doesn't understand something, he/she should raise his/her hand and I will try to explain again. At the end of the day, I really cannot know that people do not understand unless they tell me, especially if we are talking about the minority. Re: comment 7, no I'm not "intentionally making your lectures hard to follow".

It's quite interesting that there are quite a few comments about me not making students sleep. Makes me feel like a big alarm clock. :-)

Re: comment 38, I think teachers have to respect the learners in the class. There are no stupid questions. If people dare to ask, they are already halfway to enlightenment. Typically I do try to strike a balance between finishing what I have to cover in class and answering questions. If I feel that a question will take too long to answer and might not be interesting to the rest of the class, I will typically ask the student to come see me individually after the class so as not to delay the class/lecture. 

If there is anything that is true about a class, it is the fact that the exams set the tone for the class. If I set exams such that the questions can be answered by regurgitating from a textbook, then the students will do exactly that. Mug last minute and then vomit out what the memorized the day before in the exam hall. What is the point of education then? Students may wish to know that I'm not quite as creative as I pretend to be lah. Actually, it takes me a long time to set exams. That's about the only reason why I can come up with the *stunning* exams. :-) But as it turns out, it is precisely because the only way that the students can pass and do well in my exams is to learn the material, that's why they will put in the effort to learn the material.

5) Essay

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

1. Shortage of room for improvement.

2. A few sessions on how to stare at sterogram? =D jking..

3. The materials need to be more organized because the problems on one discussion group or recitation may not be so focused or the focus is not clear.

4. Nothing to say...

5. no idea

6. 1. More breaks/interludes between difficult materials 2. More examples for application of Scheme/data structure/whatever is currently being learned to real-life problem.

7. more drscheme demos!

8. Maybe make each lecture less? 1 hour for each!

9. n/a

10. I think the resources provided (like the number of past year papers, updated lecture notes, etc) are excellent. Furthermore, there are active forums and chatroom to guide students along.

11. The only point that I could think of to improve the teaching is to add a small trivia (which does not contribute to the grade of the module) to test the learning of each student after every lecture.

12. It rocks already.

13. Prof Ben still talks fast, which is not my complain. For some people, this forces them to make sense of the stuff on their own.

14. more examples could be discussed in class

15. maybe do more exercise? not sure.

16. I want to say less homework, but it's probably necessary for good understanding, so nothing much.

17. I think CS1101S is quite nice and dun need to change.

18. Lecture pace should be slowed down, as there is no point in ending half an hour early.

19. I have no idea how to improve perfect stuff =P

20. encourage more self-learning

21. Even though the lecture notes, recitations, DG and PS are quite enough to occupy me/has more than enough content, it would be nice to have a real copy of SICP. A pity its no longer in print.

22. Pair up students?

23. "download" a lot of information during lecture & not understanding everything is probably not the best method, but i can't think of any better way...

24. Be more cool in all the way !!!

25. Nil

26. Perhaps, more exercises can be given and during the lecture, examples can be shown on DrScheme to make comprehension easier~

27. More practices actually.. More projects would certainly help :D

28. Great as it is; perhaps include a bit more independent learning to make it more fun? like designate some topics as totally independent study topics..

29. everything looks great.

30. The teaching is already very good now.

31. cs1101s should be given the MCs it's worth. cs1101 problems usually take no more than 2 hours a week.

32. Probably more bite-sized PS rather than 7 major PS but very long ones. Other than that, I think it is already effective.

33. Everything is pretty good already, maybe can have more "live-show" of programming instead of just staring at the slide

34. I think we should add more activity like contest.

35. Hard to implement but... Clearly, some students are faster and more capable with the material, maybe some form of streaming should take. Not to segregate people, but to let the best get better, and the weaker to learn at a pace more comfortable for them.

Skip: 30 (46.1%)

Finally, there are no more comments asking us to slow down the pace of the class. :-)  Actually, it seems to me that this current batch of students are stronger on average than the past few batches that I have taught. There might actually be a good reason for this: the enrolment this year was a little different from the past. Because we had an over-subscription for the class, only students who got A or A-equivalent grades for A-Level Math were automatically given places in CS1101S. All others had to appeal to get a place. From an initial enrolment of 98, we ended up with a final enrolment of 65.

I'm keen to understand from the student who posted comment 3, why he feels the material is not organized and how the DGs and recitations are not focussed enough. I thought the material for the class is pretty sharply focussed already.

Re: more examples, I would also appreciate some feedback on the topics that need more examples. I thought we had quite a lot of examples already.

Re: comment 18, I admit there was a little bit of mis-calibration of the lecture pace at the beginning of the semester. I think that's been resolved. If not, please post feedback in the IVLE Forum.

I actually like the idea in comment 28. I'm quite happy to tell the class, "alright, go study SICP Chapters 4 and 5 on your own. One of the Final Exam questions will be related to the material in there...." but not sure the class would really like this idea. :-P

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


Between 11 and 13 hours


Between 14 and 15 hours


Between 16 and 18 hours


At least 19 hours




The distribution this year is quite similar to past years, though it seems that students are spending slightly more time on average. One of things that I have noticed is that we have quite a few ultra-enthusiastic students who like to do extra Scheme projects this year. Perhaps that explains the extra time spend on CS1101S this year? It seems to me that the students in the current batch is stronger than past batches, I don't see any reason why they should be spending more time on CS1101S otherwise (or perhaps this batch isn't necessarily stronger, but just more hardworking?).

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 ...


Workload is somewhat light


This is just nice


Work load is somewhat heavy


CS1101S problem sets are killing me ...




It is a little odd, but even though more students seem to be spending more time on CS1101S this year compared to last year, a larger proportion seem to think that the workload is just nice compared to last year. We even have some who want more work!?!?

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







The problem set can be considered as a place to strengthen the skill in the lecture, as well as make the students to understand the lecture better (or just understand the lecture) in some case. That is, the problem sets are generally very helpful for the module.
2. Strongly agree. Though I do spend a lot of time finishing the PSs, I got to understand a lot of concepts that I don't understand during lectures.
3. However, it is important to UNDERSTAND the problem set, and not aim to complete it. With understanding, the midterm was very manageable. I was not stunned at all.
4. only if they are more challenging and not take after the tutorials.
5. If the problem sets can be explained a bit first after it is released, it would be nice.
6. Very useful for getting your mind set on how to think like a Schemer.
7. strongly agree
8. Depth-wise agree very much but scope-wise seems a bit unbalanced, unless it is actually meant to be.
9. Cannot agree more. Although for students-taking-more-than-5-modules (I don't) it can be a bit too much work. Even more for the less diligent ones ;P
10. I feel that after doing the problem sets I can understand the stuff taught better.
11. The problem set touches on a different subject that we have not "studied" per say and it helps us to really THINK instead of just blind coding and it's absolutely fun to learn new stuff
12. agree to a certain extent.. when the due date is nearing.. sometimes, I would just anyhow "brute forcely" test my answer..
13. see q19 for comments




The majority 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. Challenging. Explanations and questions are well-described. Some others are quite straight forward, but for some questions sometimes I just don't get it even after like 6 hours doing dirty work staring at the screen. But definitely thought-provoking. *sizzles*

2. It would be the best to make each question more clear and less typos.

3. The problems sets are really hard, especially ps3. But what is more important is that it provides good chance for us to practice and link everything we have (or haven't) learnt.

4. Very Very Very Wordy! T.T Good stuff though!

5. nil

6. Very interesting applications of scheme, although the marking *scheme* could be more transparent, especially for the "essay" questions.

7. very hard but can learn much from them, really. It is a very good way to strength what you have learn in classes and also learn how to apply the knowledge to practical using. Also, from the problem sets, we will know much much much more about the computer science than just read textbook or go to lecture.

8. They are fairly interesting, but the level of difficulty is also a little bit higher than normal practices.

9. It is fun and i love the story line. keep it up!

10. Till now, the PS I see is not really hard, it is complicated. But if you figure out what is it, every thing will be easy.

11. the contents are quite interesting and they have helped me master the material in class.

12. Really makes sure we know our stuff.

13. too easy. boring. no bonus question to force people to be creative - contests are optional meaning no obligations. no implications there. :D

14. so far so good, It can be quite fun~~ It is nice that we are given examples to try out so that we can check if our coding is correct.

15. Confusing, overly-complicated and tedious! (NOT difficult)

16. the psets really help a lot. I've learnt how to think as a programmer and also built confidence when i finish them

17. Problem sets are very interesting and manageable.

18. Liked the fact that we do more than just practise programming techniques; we also get to learn things like RSA, fractal curves etc.

19. Perhaps it's just me but some of the problems are a bit abstract (i.e. i don't know how the question works and so i don't know how to construct the code). Overall it's fine though.

20. I think the issue with the problem set is the lack of documentation on the procedures given. As much as it's supposed to test us to think, because the questions have specific answers, with which we are supposed to use the given procedures to solve, the general lack of documentation on the given functions sometimes leads me to be stuck in areas that arent CS related (like math. bleah.)

21. Not too hard, not too easy. just nice difficulty

22. They are useful in allowing us to understand how we can do real-life application of the concepts learnt.

23. cool

24. Good . But sometime a little bit too fast because sometimes the DG and lecture haven teach then we need to rush for the problem set .

25. Sometimes the english/phrasing of question is not very good. Often, we spend more time trying to decipher what the question is trying to ask before actually doing the question.

26. I think the problem sets are helpful for learning, the workload is not unbearably heavy, but sometimes it is quite time-consuming. Anyway, I think now the difficulty and workload is just nice.

27. Looking forward to more interesting problem set!

28. All have been manageable so far...I think...

29. PS are stimulating and good for in-depth understanding of concepts being taught in lectures.

30. I think they are interesting.

31. Problem sets have been good. No difficulties in solving PS so far

32. I'm always stunned...

33. Problem sets are interesting, but some are directly copied from MIT, there is a change someone might find answers from the web?

34. Informative and helpful in reinforcing concepts taught during lectures.

35. Hope the duration of each problem set can be longer. Sometimes feel the time too tight.

36. Nil

37. they can be quite challenging and the DGs related to the problem set is close to the deadline of the it can be a bit hard to understand

38. The problem sets in my opinion are not that scary like what some seniors have mentioned earlier. They are doable and have helped to reinforce my knowledge. On a side note, I felt that problem set 2 is harder than problem set 3. Maybe it is because I am more adept in figures than graphics; problem set 2 happened to deal more with graphics.

39.  I think the problem sets are what makes this module interesting and different from all the other modules that I've taken. They help reinforce concepts from the main curriculum and are fun because I get to explore a part of programming that's different from the content in class in my own way.

40. Most problems are interesting, challenging and interrelated.

41. enjoy the thinking and solving process

42. interesting and fun to do. but require a lot of time and are quite stressful =(

43.  Every week problem set always takes a lot of time. I think one reason is that there are new things, new concept in the problem sets and we have to try to understand them first and then solve the problem. Some of the problems, you can just follow the clues it gives you before. I can do problem set quite well, but I still cannot do my exam quite well.

44. interesting. but have to spend a lot of time figure things out. but after figure out no more fun.

45. Problem sets haven't been a big problem in terms of workload, but they also haven't been very helpful for the midterms ><

46. Problem sets certainly helps learning programming. Other than that, I think it also teaches us other things like learning when to ask for help and how to struggle like a fish out of water.

47. Manageable, rather fun to do. RSA problem set has benefited me a lot as some knowledge of encryption will come in handy in network applications.

48. PS1 was okay. PS2 - I suspect there's something really wrong with my computer. After the results were released, I checked my friend's code for the last exercise, he did on his computer and it produced the figure within seconds. Whatever code I wrote for that exercise took forever and never showed, and when I even copied his code after PS results were out, the figure never appeared. (and my computer was new) PS3 - Rather confusing, really need that sense of direction to know what to use to answer the question.

49. It is time-consuming. with ps to finish, life is all about scheme.

50. wow they are super long but quite a lot of fun in trying to figure out the solutions.

51. rsa is cute.

52. They encourage us to think. They are just that hard, that we can solve them if we try hard enough.

53. some problem sets require us to explain how things work and why some procedures will not work. However, we may have not learn the topic of problem set before, hence we cannot really give an accurate explanation. I suggest reduce the amount of explanation question.

54. Interesting and impressive. But not challenging enough.. PS4 is not clear enough and.. too boring..

55.The difficulty level is just right, the problems are not too hard or easy to complete

56. Ok thus far, as it forces us to grasp the concepts no matter what.

Skip: 9 (13.8%)

Every year, students will complain that the phrasing of the English for the Problem Sets is not clear, but truthfully, generations of Tutors (who were former students) themselves have been updating and improving the phrasing of the PSs. Personally, I think that while there might still be some room for improvement, we're about as good as it gets and I'm sure that our typo rate is lowest in the school already. :-P What students have to understand is that part of what the problem sets seek to do is to give them practice in understanding complex problems. Without understanding, how can solutions be found. Understanding problems take effort.

Another thing that should be quite clear is that we cannot please everyone. Some students will complain that the problem sets are too hard; others will complain that they are too easy. They are not meant to be easy or hard - they are meant to help students understand certain concepts that we covered in class and apply what they learnt. As students will undoubtedly realize by the midterms, understanding is only one part of the class; the more important goal is to APPLY the concepts in solving problems.

The documentation of the procedures is most definitely sufficient. I suspect the student who left comment 20 is reading code that he was never meant to read. Part of managing complexity is to use procedural abstraction to hide details that are irrelevant. All the documentation relevant to the students for the problem sets are given.

Students often express concern that the same problem sets are used every year. In fact, the copying of answers from MIT is less of a concern that the copying of answers from seniors. Well, truthfully, the PS grades don't really matter and most students are expected to do very well. Out of 30%, about 40% of the students will get 30/30; 50% will get between 27-29/30. Why? Because postings in IVLE Forums will help and students get to drop their lowest PS score. Copying is not very helpful in the sense that if a student copies and get found out, he/she will get into big trouble; if he/she doesn't get found out, but doesn't learn the material and blows up in the exams, he/she will still fail the class. Truthfully, students who plagiarize are shooting themselves in the foot, so I'm not too concerned about it. The day of reckoning will certainly come.

Problem sets are not meant to be directly "useful" for the midterms. What they train is thinking ability and it is this thinking ability that will come in useful. Also, they inoculate students against the *stunness* that they might experience during the exams when they see new and unfamiliar questions.

5) Essay

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

1. huh? i thought ps are there to help us understand better, but some of the questions are really hard. what's worse, if i can't figure it out, i get low marks...

2. harder, better, faster, more!!

3. The feedback system needs to be improved because we want to know which part of our codes are good and which are not instead of only getting a score.

4. none

5. Add more hacking stuff inside like RSA encrypt . Hope to improve by discussing the problem set after it because for now we still haven get any discussion for it .

6. I feel that myself and some of the other students I am with do not employ wishful thinking or pseudocoding, which I think would have helped me do better for the midterm paper, maybe have a problem set to help students develop such habits?

7. I haven't no idea yet.

8. Let's have more questions and more bonus question.

9. cut the middle step questions.

10. heh, give more hints :)

11. I hope that the problem sets can more clearly ask whether a particular question should have an output to display on screen.

12. Nil

13. Improving the semantics, proof-reading, and getting it reviewed by someone not involved in designing it might improve conditions a lot, as the designer would get feedback on the what

14. his ps phrasing seems to be asking for from the students. And he could change it if necessary to be more accurate/comprehensive.

15. quite good

16. more interesting stories :P

17. Sometimes I misunderstands the things written in the problem sets, like problem set 2. It took me some time to really understand what's going on and what I have to do. Not that it is

18. very hard to understand but I hope it could be clearer.

19. Good enough!

20. Give clearer, more explicit instructions on how the students should present their answers to avoid time wastage on figuring out what the problem set wants.

21. although I've heard some of my classmates complain about that there are too much reading materials in the pset, I think it's quite cool to put the materials in pset. i.e. the RSA thing really hooked me in and i learnt a lot from pset3

22. Although I think problem sets' scope is a little bit large, maybe current problem sets are still good to some extent, because it can show us something new.

23. More freedom.

24. Maybe indicating the amount of time required to spend on each exercise will help? Like, "if you're still stuck after , you should seek assistance/guidance/help from your peers". Because for me I got stuck somewhere early in the problem set for several days, but even with friends' guidance, I only managed to figure out that particular problem on the deadline day, and frantically trying to complete the next two-thirds of the problem set within hours. But of course my case is extreme I admit.

25. See above

26. I think it could be more interesting by introducing things that are more related to technology and stuff (just my opinion)

27. Give more bonus questions~~ I think this can reduce the pressure of getting other questions wrong and btw give us more practice.

28. provide more guidance to the weaker students.

29. No suggestion. Pretty ok with them thus far.

30. problem sets should consist of creative problems (like exam problems but harder. think of olympiad-standard problems), NOT confusing, overly-complicated and tedious problems (if the purpose of PS is to enhance our understanding of materials). As such, we will know how to apply the concepts taught in class in creative manner (which not only better prepare us for exams but also for real world as well). So far I understand the material more from DG than PS.

31. reduce the workload

32. One thing I found out is that if we are not able to get the answer for previous questions in problem sets, it is almost impossible to finish those at the back. Is it mean to be like it? As a student, I prefer that questions can be answered separately in case I seriously stuck at some questions.

33. I think they're pretty good. Plus its kind of cool that they are quite similar to those given at MIT's 6.001 (or whatever the class code is). However I thought the time given for PS2 was rather short (or perhaps I wasn't used to it then).

34. Make it to a more manageable length. It will be good because we can concentrate more on the required programming knowledge.

35. Was hoping problem sets will state more clearly the exact expected output. Though the tutor is rather lenient in this aspect but it would greatly reduce worry.

36. It's very interesting thus far, but the Maths is kind of giving me a headache... Possible to cut a bit slack on the maths part?
I suggest reduce the amount of explanation question.

37. Giving proper amount of introductory text in the front: too long = scared/bored before solving pset; too short = blur and ask everywhere.

38. I takes a long time to understand the "Theme" of the problem set, how the whole 'system' works. So a lot of time is spent figuring out what does what.

39. Optional Bonus questions are always good :) Perhaps try to make it more reader-friendly.

40. nil

41. Some questions are phrased ambiguously, leading to erroneous interpretations.

42. Phrase the questions better.

43. can base on more interesting topic like internet security or game or puzzle.

44. Maybe spend some time in class to clarify confusing points in the PS? PS are usually released straight after the lecture about the material so some people may still blur. And try doing PS less than 1 week before deadline is suicidal for many ;P

45. Perhaps we can include more optional question since for ps2 and ps3, there are open-ended questions whereby we won't know if we've covered all the points necessary (i.e cannot check if our answers are correct) it will be assuring if we can have optional questions as back up. In addition, the questions can be phrased in a more accurate way as in ps3, the qn can have several interpretations.

Skip: 20 (30.8%)

I am quite surprised by comment 3, because the Tutors for CS1101S are supposed to read through every single line of code. If the student who left the comment got full-marks for all the coding portions of his problem set, then it is a little unfair 'cos the Problem Sets have pretty short and simple solutions. If you got the solution and it's right, there may not be much for the Tutors to comment. Perhaps try doing a Scheme Project and submitting it for grading/comments?

I highlighted this above, but I will repeat myself because it is important. One of the goals of the problem sets is to have students figure something complicated out. The practice of understanding will help students understand new things better.

Re: comment 23, there's a limit to how much freedom the problem sets can provide given that they are supposed to guide the students to understand certain concepts.

Also, in response to comment 24, it is not practical to have a suggested time to be spent on each exercise. The amount of time varies from individual to individual and students should spend as much time as necessary to try to figure it out themselves. This is make them smarter than having them ask their friends. When they are confronted with problems they have never seen before in their lives on the exams (and in life), they will have to depend on themselves.

6) Essay

Please let us have your comments about the Programming Contests.

1. Pretty cool but it will only probably engage the higher-end students. The typical average student wouldn't spend time even looking at the contest.

2. They all look very interesting but I haven't had time to participate in any.

3. Never do contests...

4. first contest : too subjective. second contest : wrong timing.

5. did not participate in it

6. Nil

7. interesting but kind of time-consuming.

8. I didn't have time to participate in the programming contests as I was pretty caught up with lectures, recitations, DGs and other modules. However, I think its an excellent way to cater to both mortals and geniuses. ;p

9. I think the contests are okay.

10. Interesting and challenging.

11. Challenging, but not too accessible to those who are new to programming. Maybe feel embarrassed that their codes got compared to the pros'.

12. I have 3 modules on humanities, which is what I am NOT good at. Thus I don't have time for contests. no comments... ;(

13. No comment as I have no time to do it so far..

14. If we not selected as winners, maybe can suggest how we could implement our codes better?

15. I haven't taken part in any yet, I probably will in the future though

16. No comment.

17. I have not taken any programming contests so far. This is because I still feel like I'm struggling in NUS and had no spare time to look into contests.

18. i finish my ps, then realise i got other mods as well, and they are falling way behind, so cannot take part =P

19. never do.

20. no comment

21. Sorry, I dun participate in the contests.

22. Too little time..

23. I enjoy them. The first one took a lot of my time.. because it was so interesting to draw quilts and stereograms. The second one was technical oriented and trained me of coding skill. I'm eagerly waiting for the robot contest.

24. Effectively shows me just how scary my module mates are in terms of skills and intelligence.

25. THIS should be the problem set.

26. no comment because I have no time to join it . :P

27. never attend before.

28. Its very fun to take part in, however it feels rather demoralising to compete with people who are much more experienced with programming. Maybe participation prize could be given to encourage more people to try?

29. quite funny

30. It's a good idea to have optional contests, hope I can have free time to take part in~~

31. it's for the smart guys who can finish ps & everything else in no time

32. If I had the time, I'd do them!

33. Good way to put yourself to a challenge.

34. they're quite cool

35. haven't take the programming contest :( ...a bit too hard for me to come up with the idea...

36. interesting

37. It's better to have the winners to share the ideas with the rest of the class.

38. I personally have tried very hard for Contest 2 and as of now, I feel that the list-ways question is a very good question. This is because it emphasises the use of permutation and its variation, like combination for example. Overall, they give good practice and help in coding more sophisticated procedures.

39. Quite fun and interesting.

40. interesting but sadly do not have enough time to do them.

41. nil

42. Very interesting. I like the programming contests. It makes me more creative.

Skip: 23 (35.4%)

Truthfully, the programming contests were designed as "time sponges" for the students who find that the DGs and PSs are taking up enough of their time and they cannot get enough of Scheme. Seems like they have served their purpose well.

Also, the majority of the students who do contests will typically end up with an A for the class. Of course, I'm not suggesting that it's a causal relationship "contest->A grade". :-P Just an interesting trivial - but it not be altogether surprising either! :-)

1) Multiple Choice

Comment on the difficulty of the midterm



Too easy


Somewhat easy


Just right


Somewhat hard


Way over your head




Given that the highest grade for the midterm was 99/100, I can minimally claim that the midterm is humanly-doing, even if more than half the class finds it hard.... :-)

2) Multiple Choice

Comment on time allocated for the midterm



Way too little. Too long, too little time.


Time is somewhat short


Time allocated is just nice


Too much time, too little to do


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




I guess the answer to this question is correlated to the previous question.

3) Essay

Any other suggestions/comments about the midterm?  

1. Nothing. If a student has conscientiously understood lectures, pset and DGs, it really shouldn't be too hard.

2. I do not like question with soooo many parts.... way to long. Question2 seems endless.

3. extremely unexpected.. just like scheme..

4. Nil

5. More marks for feel-good questions :P

6.  Oh... The mid-term almost kills me.... Though I've already tried the past year mid-term papers, I dare to say it is the hardest in all. The midterms are in an increasing difficulty as time goes by... T_T

7. not making any suggestions on the level of difficulty should be better as it scares people a bit

8. Please phrase the questions such that they're easier to understand...

9. The mid-term test was somewhat radically different from past year mid-term papers. Question 3 was much harder among all other hardest questions in all other papers. Question 2 was very long and it somewhat made my confidence dropped a little because I took a long time to complete it. I think the highlight was question 1; it was difficult but it was a refreshing change from previous questions 1 from other papers. It makes people think very hard and carefully in a reverse manner. Although, I feel that the marks given to this section should be less because for certain parts in this question, one careless mistake to find a value can lead to 6 marks loss. Overall, I think the mid-term paper was hard in a selective way, differentiating students with varying preparedness.

10. Pre-Warning about how hard it is?

11. more time please

12. wrong posture. very uncomfortable. too hot (temperature too high) in the exam venue. no background Ministry of Sound music. :D

13. Not that I can think of.

14. Hmm, just wondering, why wasn't the papers printed in duplex? For convenience? (But it doesn't matter Other than that, no other comments.

15. My mid-term test result is very lousy. But I think I know the reasons. I put too little effort on cs1101s in these weeks, especially the recess week. I have already dropped some CCA to focus more on study.

16. the optional question is kind of weird.

17. Not sure because the outcome is not released yet.

18. Significantly more difficult than those of previous years. I think. Maybe it's the stress.

19. maybe should not make direct reference to the material in class.

20. Should make the descriptions of each question clearer. Should make more sections, rather than two huge questions

21. No.

22. Try do not be so evil in the question.

23. Was rather stunned when I saw the game of nim since I never thought that Prof would come up with that. Other than that, I think its a good gauge of where I stand and its quite thorough in assessing what one knows. I thought the marks were pretty well allocated to.

24. give some really easy questions lar. morale booster a bit =P

25. I have no comments yet.

26. Prof Ben shouldn't be talking to the students across the theatre during the test, as the weaker students who are already struggling might find it very distracting while they are fighting to keep afloat.

27. I think the difficulty is reasonable, within my expectation.

28. don't give grandmother story! it just makes the Q more confusing!

29. can I still get A even if I mess up my midterms?

30. For Game of Nim question, brief description of the game should be included the question (just in case there are some students who did not read the game of nim in the lecture notes because they were expecting creative questions hence did not bother to study the game of nim).

Skip: 35 (53.8%)

Re comment 12, students are really demanding siah. Next time will indent SIA Business Class seats for students. Maybe a stewardess who will serve orange juice and nuts too. :-)

Exams are not printed in duplex because inevitably some students will write the wrong thing, cancel everything, flip over and right on the flipside of the exam scripts. Happens ALL the time. If not, we would have printed duplex and saved trees.

Re: comment 26, I wasn't talking to students across the theatre, I was making announcements because I realized something (I forgot what) from a students' question. Maybe next time I should trot up to the front and use the mike.

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.




Woah! Seems like we're doing well this year. Notwithstanding the increase in enrolment, the proportion of satisfied students (i.e. cool and above) is about 90%!! Compares favourably with 75% for last years' batch! :-)

2) Multiple Choice

Has CS1101S been able to arouse your interest in programming?







I liked programming before taking this module, and I still do
2. still struggle in how to learn it efficiently. I think I will be more interested in it after totally crossing the threshold.
3. Depends haha.
4. Both amuse and shock me.
5. already aroused
6. sometimes scheme's power rock me and it is really fun to do it, while sometimes the hard parts make me depressed :-(
7. Given that I've never programmed before, I couldn't have asked for a better introductory course to programming.
8. though the midterm stun me a lot and killed me already, I still think it fun~~ I like to spend time coding using scheme.
9. Definitely~ If all languages are this elegant and fun, I'D TOTALLY love programming. As Patrick just mention, i recently developed a habit whereby if i have a math problem or something, i just turn to code for solution.. It's fun and cool~
10. and sometimes depress when others seem to understand easily still obscure materials to me..  
11. Seeing a lot of the IT-savvy guys in our class, I seem to realize that compared to them, I don't have any advantage and not so interested in IT.
12. CS1101S showed me how powerful and amazing programming can be. I feel lucky to have it as my programming course. although I am highly likely to score badly, WITH ANOTHER CHANCE, I WILL STILL CHOOSE IT.
13. Yes in reading, no in writing. Unfortunately.
14. I think it's quite different from the programming language I learned before. Sometimes when I did problem set I found it arouse my interest in programming, but sometimes it just makes me feel bad.
15. arouse? no. reinforce? no. love? no. already doing the above.
16. This is practically my first programming module as I have no experience. It's really a lot more fun than I thought it would be.




Most students seem to like programming this year. That's nice to know. :-)

3) Multiple Choice

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









I thought we hit an equilibrium last year, but it seems not. I'm surprised to see that >95% of the students would continue to choose CS1101S. Notwithstanding that I didn't quite do a very good job scary the students, I think we have a reasonably good fit this year.

4) Multiple Choice

Would you recommend CS1101S to other students?









Funny thing is that the stats for this question is flipped. Last year we had more people who would rather not have taken CS1101S, but who would recommend it to their friends. This year we have lots of people who want to stay in CS1101S, but who wouldn't recommend the class to their friends....   

5) Essay

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

1. no comments

2. keep on will do

3. I'm quite an independent learner, meaning I can learn better on myself. Therefore it is a little hard for me to concentrate when being taught by others. I think the only way to improve my efficiency in learning this course is to improve my concentration during lectures but I don't really think the teachers can be of any help to that.

4. more ps, less other homework.

5. SCHEME IS THE BEST ! can try add more cooler stuff inside (but i still can't think of it ) :P

6. Create more (maybe easier to make up for the numbers) contest problems so that I can try to solve them and along the way learn new solutions which may help in solving exam questions.

7. Keep the Scheme Project Bonus. It encourages students to use what they have learnt in their own novel ways.

8. nil

9. I think it already is..

10. n/a

11. I think there can be more examples for us to have a better understanding of the concepts.

12. I prefer self-study

13. I think one efficient way of learning is to write code by ourselves, and maybe after lectures, reproduce the codes taught. Although when we stare at it, we seem to understand everything, when we program by ourselves, random problems will jump out. in order to be more familiarise with scheme, the only way is to program more~~~

14. need more sample questions and solutions to strength the class knowledge.

15. 6MC..

16. push me more. sometimes I dunno what I dunno and also shy to ask

17. It's just nice there

18. I don't think we need a Lecture Theatre of that size (LT15) if it is only going to be around half occupied, I guess? But then again I don't think there is an LT just good enough for our size and such.

19. Its pretty good already.

20. pleased as it is.

21. Do all homework: DG, recitation, PS, Questions of today...

22. Learning in this module is mostly efficient and interesting already. Perhaps some short background/recap of concepts and formulas used before providing code would make learning the code more efficient. For example, I've mostly forgotten everything about matrices and for fast-fib explanation I was somewhat lost for the entire duration until I returned home to revise on the rules of matrix.

23. I would like to suggest possibly having 10~15 mins lecture quizzes like the one during the second recitation (no weightage though please :P) to help test our concept for possibly harder parts of our journey through CS1101S, and to practice working under timed conditions! :D

24. I think I should learn to be more mentally strong....In this way, I won't be afraid of the killing exams anymore lah~~ (but a little bit hard to teach in class, hehe)

25. less time to do harder more interesting problem sets.

26. Games are interesting. It's difficult to find a game for every concept, so currently, it's top notch. =D

27. hmmmm.... the language used could be more accurate as sometimes it is quite unclear

28. i think it's ok as it is

29. Do more time-limit questions. Use less computers.

30. I think we should make a reference to some lower implementation of Scheme.

31. refer to question 15

32. More analogies.

33. I also want to know the answer...
34. Okay~my Q27 answer contradicts Q25. But I really think I will choose 1101s again. To learn scheme more efficiently, I have to spend more time on it, and must do recitation and discussion group questions before I attend the class.

Skip: 31 (47.7%)

Yes, I think the Scheme Project works well. Will keep for future semesters (if I teach CS1101S again).

Re: more problems, I'm wondering if the students are actually checking out what's in IVLE. There are already A LOT of problems - past year papers, review questions, buddy tasklist, more review questions later. Every year, we add another set of exam questions and we can certainly add more problems over time. My question: are you really sure NOT ENOUGH?? Can people really find the time to do so many questions? I forgot to add that there are more problems in SICP too!

Re: comment 16, sure thing. If the shy student will identify himself/herself, I'd quite happy to pick on him/her during class. :-)

Use less computers? Er... this is a programming class? :-)

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 think the method of wishful thinking should be emphasized. I find it is really useful in solving problems but , maybe only for me, I feel I have really master it. I need more exercise on it.

2. Interesting but Challenging Even though i may not grade very well, I am happy that I do learn sth from it. I still remembered that one of my seniors suggested CS1101S to me and said that this was the module that he really learnt sth from regarding all the module he had taken. I hope one day I can also speak this to others and recommend more ppl to take s.

3. Absolutely the best class ever.

4. The competition is a little bit fierce because the students are very smart.

5. To any future potential students of CS1101S, my comments go out to you: having close friends/buddies who are willing to "go through thick and thin" during the problem sets/etc. will help significantly (of course they have to be the diligent/hardworking/smart ones). If you realise you don't really know anyone else who is also taking the module when you signed up for it, make friends with your coursemates quick! It helps! And you must be really prepared for everything, anything.

6. truly a class on how to design a program.

7. Perhaps because I had previous experience with C and C++, the Scheme language is so different, so there are times where I miss imperative programming. Maybe it would really have been better to take 1101S without any prior experience.

8. I really did learn more than what I signed up for, what with being with smart people all around me, and the forums too. I especially like watching the ted videos prof ben posts, and reading comments from the tutors which are often thought provoking :D

9. I think CS1101S is really nice.

10. scheme really make people with no programming background like me enjoy and understand the concept of programming. I have heard my friends taking CS1101C swearing because of the complicated syntax of C language they learn. moreover, I chose to do computer science not because of passion, but merely because DDP math and comp sci is in the drop-down list when I applied to NUS. Yes I used to hate programming (I had a bit of experience in HTML and visual basic, and both of them are hell). but CS1101S has instilled passion for comp sci in me =) anyway CS1101S has got the best teaching support I know so far. I am happy not to have the option to take CS1101 at all =)

11. lectures really too slow. give priority to former programmers to raise the pace of the class.

12. SCHEME IS STILL THE BEST ! Hope to improve more in student interaction like group programming project not just individual problem set (because sometime problem set will be a bit boring if every week non-stop doing).

13. Perhaps it's my fault or perhaps most of my friends are like me but we think that CS1101S could be a time-hogger. It's under-credited for this kind of workload (at least 6 MC?) Personally I find 80% of what I learn this semester is only CS1101S, other modules only get my attention 1 day before their respective tutorials.. Nevertheless it's still a great module. The one thing that I like about this module aside from the Interesting and "INTERESTING" (read: killer) questions is that this module have a great and reliable social support. Evident in the number of posts in the forums.

14. Scheme is cool, although it's quite difficult for me. But I enjoyed suffering :)

15. It makes me want to die, but hopefully it can make me strong.

16. This module is ownage.

17. I used to problem solving more iteratively due to the nature of my programming background in imperative languages. The module has made me think more recursively in terms of problem solving, which is a good change because recursive solution for appropriate problems tend to be elegant.

18. Some parts of scheme is still very blurry for me. Sometimes I just understand it well in this lecture but cannot get any points in the next lecture.

19. Tough course for students who have no background. But I believe I can do well if I put in reasonable amount of effort An extremely useful course if one wants to be a professional programmer.

20. painful & fun btw, ivle forum is not very user-friendly, maybe try something else?

21. I think the topics covered in this class is good for me. They are interesting and useful. Exams are hard but I think the difficulty of the module over-all is a bit over-rated. It is not like the materials are extremely difficult to understand.

22. More game designing! =D

23. I think the 5MCs that this module is allocated is quite misleading. For non-programmers, the workload of this module can easily be equivalent to a 6 or 7MC module. Nevertheless, the stuff we learn is worth every ounce of effort.

24. too much to absorb, too little time!

25. The warning Prof. Ben gave at the start of the year is really justified. I think this course is especially for: 1. Experienced hardcore programmer, or 2. People who have a little/no programming background but are very eager and willing to spend a lot of time doing work to keep up with the lectures and problem sets, or 3. People who are prepared to suffer some brain damage due to overworking :P jkjk The pace is much, much faster than CS1101XYZ, probably one of the modules where people can learn most content is 15 weeks. Challenging, but rewarding.

26. A great start to learning computing.

27. why can't all the exams be practical exam..

28. thank you prof and tutor. You really did a great job.

29. introduction of scheme should specify the difference between functional and object-oriented programming.

30. In 1101S, I learnt not only Scheme (which is not useful after all), but also some fundamental, vital, clever and TRUE ways of programming (like recursion, H.O.P. , building layers, managing complexity...) which definitely not deeply discussed in 1101. In addition, like I said, some programming concepts are very useful philosophies in real life also. (Since we have learnt so much more than 1101, we should get 6 or 7 MCs for 1101S, haha ;) )

31. female tutors are too few.

32.I think it is a quite special and cool module. the content, the lecturers and teaching styles are all conducive and desirable for learning and sometimes quite fun. But, as a beginner, I really felt stressful to take such a challenging class especially lots of experienced programmers are around. but as prof said, what does not kill me makes me strong, I totally agree that it is the very correct saying when I half-way went through 1101s.

33. I find the concepts and taught very useful. But I personally wouldn't develop any applications in Scheme. I feel that these concepts would be more applicable if taught in c++ with exact tricks and clever solutions to make the application more efficient.

Skip: 31 (47.7%)

Re: comment 17, while I could make the class faster and teach all of SICP, from reading the rest of the posts in this survey, can someone tell me whether that's a reasonable thing. I guess perhaps CS1101S is too slow for the student who posted the comment and he should have placed out of CS1101 instead. CS1101S moves at a pace that has been shown to be pretty optimal from past experience. Fast enough to keep most of the students on board without drowning (too many) of the struggling students.

From these comments, it's quite clear that CS1101S students should have masochistic tendencies.

Also, maybe I will make some of the Tutors wear skirts. :-P

7) Essay

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

1. a lot of ppl are falling behind.

2. The number of tutors?

3. Not really can catch up with the lectures but I will do my best ! SCHEME CAN'T KILL ME !

4. No, I think it's fine.

5. perhaps shouldn't have encouraged posting on the ivle forum... grows like a monster

6. I wonder if i can cope in CS1102S.. =$

7. I feel that the people with background are somewhat inhibit the growth of those without background and lack confidence. Although I don't feel this way, but I think that this has affected other students, maybe?

8. I fall behind the whole class I think. I want to use the rest of this semester to catch up but I don't know whether it's realistic or not. Anyway, I must do my best. Actually I think most of the problem is my inefficient arrangement of time. I really know cs1101s is difficult and I have to work hard, but sometimes I just cannot finish the DG problems on time. Anyway, the result is terrible, I have to do my best to change my destiny in final exam.

9. No considerable concerns, Keep up the great standard!

10. My favourite phrase: no stereograms plz.

11. My only hope is that the final paper will not be too difficult so that I can score well.

12. what is the point of learning DrScheme if it is not being used in the real world other than to teach?

13. I just feel very stressful during the lectures and some of my friends told me this course gives them the most stress. But I think I will be ok if the stress level remains.

14. so far, no much worries.

15. I feel that I did not catch up the train after doing midterm test, so i want to work harder and catch up.

16. Tagging thing is very hard to understand..

17. DIFFICULT!!!!!!! I believe the teaching staff has done its best to help students cope with difficulties. the forum is also very good place to ask the programming gods to help solve my difficulties. So now... I just have to help myself. or perhaps the teaching staff can help give moral support?

18. Not being able to think for the solution during exams is my concern. I'll try practising more of past year exam papers.

19. I just wonder that is it not enough to finish the DG, recitation and PS? I really put in lots of effort but my mid-term still died...

20. Yes... Actually, I think I spent quite a lot of time on CS1101S and really paid a lot of attention to it. But from the mid-term, it still seems to me that I learnt not so well so far. Thus, I am quite concerned about my efficiency. Another major concerns now, for me, is whether I have truly learnt sth from this module and will not be regret in the future. Btw, I also concerns about my grades.... Hope I can pass the module....

21. sometimes, i have problems seeing recursion patterns and changing odd recursion into iter

22. yeah.. can be a bit hard when it comes to applying..

23. Keep CS1101S alive for the years to come!

24. difference of doing things using scheme versus normal infix languages and other peculiarities. actionscript (and next time, the code for maya or 3ds max) is way more fun. of cos scheme still has the procedures as objects thing.

25. I am wondering if you could guess who am I from my answers? : )

Skip: 40 (61.5%)

I am glad to see that the students this year are pretty comfortable (>60% have no concerns).

In every batch, some students don't do quite as well, but I think in CS1101S, we do try our best to help every student along and make sure the "no student is left behind". Every year for the past 3 years that I have been teaching, there have been students who fail the class. My impression those who fail, fail because they don't put in enough effort. Several students have already gotten stern warnings from me. Hopefully, they will wake up. It's late, but it's not too late. However, those who have been sleeping, will have to put in A LOT of effort to make sure they catch up by the Practical Exams in November.  

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