| |
Results of CS1101S (Semester 1, 2006/2007) 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 Razvan and the TAs 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, the feedback has
generally been good). 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 : 32 (Every (!) student
responded!! Thanks!!)
Understanding Your Background |
Question |
Total
Responses
|
|
It is interesting to note that about 50% of the class comes with
programming background, while the other 50% do not.
|
|
|
|
Scheme is really obscure it seems and NOBODY has ever heard
about it. :-) Perhaps that's what makes it interesting?
|
Essay
Why did you decide to choose to take CS1101S instead of
CS1101XYZ? |
1. Trying
to challenge myself. |
2. I
thought it would be more challenging since I had
programming knowledge. |
3. Because
I am a part of SPC which requires me to take Scheme
(CS1101s and CS1102s) |
4. For some
new atmosphere |
5. CS1101S
is a prerequisite for SPC - special program in computing
|
6. Special
Program |
7. Since
scheme was more challenging and a prerequisite for SPC. |
8.
Educational Language, so decided tat its bound to be
better than Java for learning |
9.
Curiosity, and a general interest for Computer Science |
10. Because
i join SPC programme. |
11. Because
I never hear about Scheme before and I want to learn
about it. |
12. Because
they said it was easier and its a course to help
understand the basic concepts of programming better |
13. Because
I haven't heard about Scheme before. |
14. had to
because of spc then the urge for knowing something more
than my peers |
15. 1.I
want to join the Special Programme in Computing 2.I like
challenging courses 3.Small class means more interaction
with lecturers, tutors and classmates, which is
something I like |
16. they
are bored |
17. Since I
can pick up JAVA myself, why don't I use this time to
learn something new:-) |
18. because
of SPC |
19. some
seniors' advice |
20.
challenging |
21. I
believed I mentioned during our 1st tutorial. My parents
are paying so much for my education anyway, thought I
might as well learn as much as i could. Yep. |
22. Wanted
a difference learning experience from the rest of the
majority. |
23. because
1101s was said to be more educational, and scheme
sounded more special than java. |
24. Mistook
"easy" language for "easy" course. Many friends
recommended it to me, saying it is "easy". |
25. Special
Programme ask me take this module |
26. Because
it was said that with High school maths, scheme should
be "easy"... |
27. I
luckily join the SPC, and it required me to take this
module |
28. more
fun more to do with math (not just a language)
interesting gives good solid background |
Skip: 4 (13%) |
|
I'm happy that most decided to take CS1101S for the "challenge".
Hopefully, we have made the course challenging enough to meet
the expectations of those who wanted some challenge. I feel a
little bad about students 24 and 26 'cos they perhaps had some
misunderstanding and are probably having the shock of their
lives. Not to worry. The lecturers are not mean and nasty. We
will try our best to teach as well as we can so that even the
weakest of the students will pass the course (if they put in
effort).
|
|
Teaching |
Question |
Total
Responses
|
Multiple Choice
How do you find the lectures? |
A : I have
no clue what the lecturer is talking about most of the
time |
0 (0%) |
B : I have
no idea what's happening half the time |
3 (9%) |
C :
Lectures are no different from the other classes on
campus |
2 (6%) |
D :
Lectures are clear and I am able to follow the material
quite well |
9 (28%) |
E :
Lectures are way cool. Easily the best class that I've
taken at NUS (not like I've taken a lot, but...) |
6 (19%) |
F : Others
|
7 (22%) |
Skip: |
5 (16%) |
|
Okay, seems like we are going well. :-) Only about 10% of the
class has indicate they are a little lost and most are generally
happy. Students who are lost are invited to figure out what they
are lost about and see the teaching staff during consultation
hours. If the schedule consultation hours do not work for your
schedules, please send email to fix an appointment.
Do not however go to consultation expecting the lecturer or
TA to repeat a lecture. Repeat telecasts of lectures are
available on IVLE webcast. Go to consultation hours with
questions. You will learn more that way.
|
Essay
Feedback for Lecturer Ben Leong. |
1. Good.
Ready to help when student takes the initiatives. A
little hard to receive the messages he tries to deliver
in lectures though. More effort is needed by the student
to be on the same page of discussion and to be able to
understand. |
2. Good |
3. Speaks
TOO fast (Students whose english is not native language
cannot hear clearly. |
4. Explains
well but must speak a little slower as his accent is not
that clear |
5.
inspiring |
6. A
friendly lecturer helping and inspiring us even. Always
smiling which makes the student to increase their
interest in the lecture in a way. Lectues and recitions
are clear and well layed out. |
7. Good
ALSO! lolz, lifely and not boring, but talk slower lar,
sometimes damn fast, there was once i counted for fun,
10 slides in less than 5 minutes... @@, plz plz slow
down |
8. Apart
from his super fast singapore-accented speech and his
insistence that things "are not exactly rocket science",
lectures are swell |
9. Nice and
I'm happy too. And it will be very nice if you upload
the lecture notes earilier. However, really thank you. |
10. Great
as well, very attentive to students. |
11. NA |
12. you are
good (i feel better) but you also go little fast. |
13. Ben is
more like a elder brother than a so-called "lecturer".
Quite friendly and easy to approach. The teaching is
quite efficient and clear. |
14. clear
and good |
15.
passionate |
16.
Sometimes too fast |
17. very
cute, and he lets me like scheme |
18. Great!!
|
19. Ok lar.
No problems. Can understand you. |
20. Funny
fella haha. |
21. fast
and can explain all the hard theories. but i don't
understand some hard concepts. studying it alone it will
require a disproportionate time of self study. |
22. Get to
see many cool stuff for his lectures. |
23.
Sometimes, it is a little fast. Ben talks fast sometimes
=) |
24. speak a
little quickly |
25. very
good |
Skip: 7 (22%) |
|
Thanks for your kind remarks. Will try to speak a little slower,
but at the end of the day, the key is to ask questions in
lecture to slow me down --- or to display a *REALLY* confused
look. I usually look around at the students' faces when I
lecture and if I see someone who seems to be in deep distress, i
will check on the student to see if I can clarify anything. We
are lucky to have a somewhat small class for CS1101S. This would
be impossible for a large class --- so please make use of this
opportunity to ask questions.
|
Essay
Please let us have your suggestions on how the teaching
for CS1101S can be improved. |
1. Concrete
Abstractions and SICP can be quite technical to people
like me. Maybe some breaking down would be useful.
Consistency and synchronizations between the respective
lecturers and TAs, so that each knows what is going on
and won't sabotage the other by starting on materials
when the other isn't ready or informed. It would be good
if we can read more good code recommended that are
exemplary. Problem sets can be a little, not difficult,
but it seems like there is so many ways to interpret it
differently on some occasions. Also the typos and code
problems in DrScheme when issuing PS can be a little
improve and prevented. |
2. More
one-to-one interactive sessions with students.
Individual counseling to needy students. |
3. I
suggest we do the examples ourselves. In class, we only
discuss the difficulties that we have met. |
4. A few
more games like the game of nim should be there to
create more interest in the class. A bit more of
graphics should be there. Well nothing else as other
things are perfectly alright. |
5. Erm,
more examples of usages of the concepts: like Drawing of
curves, movie database... bla bla bla, but plz plz plz,
i find it lotsa times that i ended up not knowing
anything during classes... And having to spend like
hours in my poor little hostel room cracking the codes
and interpreting the complicated mathematics and bla bla
bla... Rocket Science to me is not rocket science to
many, so i'm spending very very much time on this...
Most of my time in fact |
6. Dunno
o_o just dun scrap this course. Ever. |
7. No
really important suggest, just hope that we will have
more self-exercise, i mean that no tutor class or no
marks for these exercises, we ourself decide to do it
just for practice. |
8. I
believe that extra classes should be held once every
week for students who are slower than the rest.
|
9. NA |
10. go a
bit slower than the speed you have maintain and make the
sessions more interactive as the recitation on 6th of
oct. |
11.
Actually I'm quite satisfied with the teaching for this
course. Haha...:-) |
12. maybe
the problem set can be harder but not that long! It take
hours to read through and get familiar with the
environment |
13.
Sometimes I got stuck because of the Scheme language
itself and I found a book very helpful, which is available on www.scheme.com |
14.
introduce more new conception and idea nowadays |
15. just
like this. |
16. In my
opinion, you all are teaching well But its hard to look
at codes throughout lectures (once u miss some code, you
have difficulties understanding the subsequent codes) ,
especially those on the message passing and stuff..
Maybe we can have some pics like boxes and lines to
represent them, to help us "visualise" the links between
the procedures. Since objects in scheme are basically
procedures, there's no distinction between the two. At
least from what i see.... |
17. No
problems with it so far. |
18. no
comments. |
19.
tutorial based sessions. more practicals solving hard
programming exercises. |
20. Quite
well the way it is. |
21.
Teaching can be improved by going a little slow when
teaching very new things. And also, show us many
examples and illustrations. |
22. I
think, for me without background, it of- course a little
difficult . But one think I guess the assignments should
be suitable for every students not for some most
qualified students |
23. keep it
this way!! |
Skip: 9 (28%) |
|
Comment 1 says that the lecturers and TAs don't seem
coordinated. Can someone send us more details separately on the
actual incidents? I thought we were doing quite okay.Some
students seem to think that we should slow down. That's actually
not possible 'cos we do have material that we need to cover for
the class. Holding an additional class
"once every week for students who are slower than the rest" is
also not practical because of scheduling problems -- remember
how much trouble I had scheduling the recitations? Razvan, the
TAs and I, have met with quite a lot of students individually
during consultation hours and so I believe that adequate
individual attention has been made available. There are quite a
few weeks where I don't get any "business" during my
consultation hours on Friday.
For people who want "self-exercises", LOTS of exercises are
available in SICP and Concrete Abstractions. Some students have
actually been doing them 'cos they come and ask me about them!
;-P
Personally, I will try to make my recitations more
interactive in the future. Seems to work better than
lecture-style in a smaller setting.
Thanks for highlighting the free Scheme language reference at www.scheme.com!
|
Essay
Some students have suggested that we have review
sessions. If we hold such sessions, what are the topics
that should be reviewed? |
1.
Continuous passing Higher order procedures List
processing Examine good Scheme code worth reading Learn
to improve code |
2. -
Recursion to Iteration - Higher Order Procedures - Lists
- Trees - Discussion Group & Recitation material |
3. Certain
difficult topics - can ask students |
4.
algorithms |
5. general
coding in scheme ..producing codes with out syntax bugs
..getting familiar with the different identifiers .. |
6.
Recursion---> Iteration, Order of growth and Lists |
7. Erm,
Orders of Growth, Invariance, Fast-Fib (the one using
matrix), Towers of Hanoi, Curves,
Message-Passing-Objects, Movie Database, Tagging. |
8. Anything
involving fresh examples and ideas! And maybe
continuation passing... |
9. the
topic about list |
10. The
code in the lecture notes. |
11. Higher
order procedure Movies database Generic operations |
12. All the
extreme basics of the topics taught in class, and maybe
we can do some similar to exam questions in class for
practice, mainly questions that will test whether we
understand what is taught in class catered to students
who take a longer time to grasp and get used to the
concepts. |
13. It
should be about some other exercises. |
14. lists
higher order procedures tree recursion the generic
number operations |
15. Instead
of talking about a specific topic, I'd rather to have a
review session which includes all those things that can
be easily misunderstood or mistaken. :-) |
16. order
of growth |
17. Scheme
syntax |
18.
something we will do it wrong because of carelessness |
19. time
and space |
20. No
comments |
21. List
procedures...? |
22. every
topic. |
23. Not
sure. |
24. passing
message |
25. chap
3,5, and 6 |
26. some
new applications and algorithm |
Skip: 4 (13%) |
|
Review means we revise topics covered earlier in class, so NO
new topics will be covered (suggestions 8 and 26 are out).
Suggestions 15 and 18 are too vague and suggestion 22 is
impossible. :-)Tentatively, we will have a review session on
Thursday (26 Oct 2006) from 6 to 8 pm. I will confirm this once
I find a suitable venue. Tentatively, we will be reviewing the
following topics:
- More examples on converting recursive processes to
iterative processes
- Higher Order Procedures
- Order of Growth
- List Processing
Continuation Passing is not officially in the syllabus and it
will not be tested in the exams. Message passing will not be
covered because you will see a lot more of message passing when
we cover Object Oriented Programming.
My current intention is to give out some questions on the
above topics prior to the session for students to try together
with a list of exercises from the textbooks. At the review
session, I will reiterate the key principles and concepts for
the above topics and solve the questions. Then if students have
more questions, I will try to answer them. if not, then the
review will be over. :-)
|
|
Discussion Groups |
Question |
Total
Responses
|
|
I'm glad that the majority of the students find discussion
groups to be useful.
|
|
|
Essay
If you find the CS1101S discussion sessions different
from the tutorial sessions in other courses, what are
the differences? |
1. Well, it
is different with all other modules because all modules
are different. But I like the fact that participation
emphasized even though I don't participate much. |
2. CS1101S
is more interactive .. students participate equally
|
3. no |
4. In other
tutorials the TA'S are not as understanding. The
students do not chance to show their own answer rather
the TA'S just come and write the answers on the board
instead the student doing it and the TA correcting the
mistakes as in our module. |
5. Got
hands-on, coz got computer around |
6. Tougher
:) also more on-the-spot working |
7. This
would be not because of the way the sessions are
conducted but because I am slower in grasping things
than the rest of my class. In other tutorial sessions I
am not lost, but in CS1101S I am lost. |
8. I have
to work more than the other courses. |
9. no
differences |
10. Instead
of listening to the tutor talking alone, we have more
interaction with tutors and classmates. We have the
intention to talk instead of purely listen, which is
good for learning. |
11. i learn
more in cs1101s discussion sessions |
12. We can
propose our questions more freely in CS1101S discussion
sessions. |
13. during
discussion, listen more during tutorial, discuss more |
14. more
interesting |
15. More
interactive... since the class is smaller |
16. other
tutorials are shorter, so the teacher only covers
partial questions, so the 1101s tutorial covers more.
|
17. far far
more interactive |
Skip: 15 (47%) |
|
Seems like we are doing well. :-) Sorry, we probably have no
time in general for students to be proposing questions. On weeks
where the discussion groups end early, then students are welcome
to propose questions for the remaining time.
|
|
I'm glad that most students think the total class time is about
right. It's probably quite hard to schedule even more classes.
Cutting down on classes is however probably do'able. :-)
|
|
Interesting that people all like the lectures. :-)
|
Essay
Please give us your suggestions on how we might be able
to improve the discussion sessions. |
1. Probably
have a venue change as the people seated at the back is
at a disadvantage. And it can't be helped as they have
lectures before and thus turn up late when all the good
seats have been taken. |
2. More
interactive, loads of help to be provided to needy
students as students may be shy and don't speak about
their problems. |
3. Everyone
prepares one difficult problem that he met instead of
the problems by the lecturers. We should make us
responsible for our own studies. |
4.
Discussion sessions are pretty much ok but still for one
particular procedure different types of codes should be
provided by the TA. The answers of the discussion groups
should also be provided online on ivle. |
5. Sit in a
tutorial room rather than the lab, the seating is very
hard for the student at the furthest end to follow the
class |
6. They're
ok.. a mic for the TA could help :) |
7. I think
we should practice more in discussion hour, i mean use
computer to practice code better than solve it on table. |
8. Maybe
you can have discussion groups tailored specially for
students who take a longer time to grasp concepts.
|
9. NA |
10. get the
ideas clear and do not expect the students to know and
do everything. |
11. Maybe
tutors can teach us more about the step-by-step way to
solve problems instead of telling us why the answer is
right or wrong, just like what Ben did in Recitation 5.
|
12. can not
be better |
13. Can
give us some projects to do, and present in the
discussion sessions |
14. problem
set is important |
15. Venue??
The board (looks small) is too far for some. And the
sitting arrangement... More area to unleash our
creativity.. haha.. |
16. It's
good. |
17. Cut
down the number of question so that we wont have to rush
in discussion group session. And I find that the things
covered in discussion groups are quite hard and requires
lots of thinking. |
18. more
questions and also solutions. people who have
programming background tend to be able to solve the
problems and the teacher might get the impression that
the whole class understands. however some are slower.
|
19.
Lengthen/change amount of tutorial questions. |
20. Maybe,
groups by the level of students would be helpful for
both the slow and fast student. Like this, slow students
wont be lost during discussion sessions and fast ones do
not have to wait for the others.. |
21. the
lecturers should hold this discussion, one thing is the
communication (very hard to understand the other with a
not so good English), and the knowledge of lecturers |
22. cooler
activities more interesting activities actually, it's
already pretty cool and interesting ... so it's okay |
Skip: 10 (31%) |
|
Yeah, the venue is a problem, but unfortunately, we're kind of
stuck with what we have this semester. Will try to get a better
venue in future classes. Personally, I do not like the current
arrangement too much either. :-(
I think the suggestion to have smaller groups and groups
catering to the slower students is really good. At MIT, the
tutorial groups each have only 3 or 4 students. Unfortunately,
we do not have enough TAs. :-( That is the reason why I have to
stand in as a TA. There's going to be some feedback for the
Department at the end of the semester, please be my guest and
scream for more TAs. :-P Wouldn't help you by then, but will
most certainly benefit future batches of students.
I really like the suggestion that "students should be made
responsible for their own studies". Since I take one of the
discussion groups, I can say from firsthand experience that one
of the problems the TAs are having is that students do not come
prepared. This means that we have one of two choices: (i) move
at the pace of the slowest student(s); or (ii) just do the bare
minimum and let the unprepared students become "lost". It's
obvious which option is the one we end up with.
|
|
Homework : Problem Sets |
Question |
Total
Responses
|
|
One problem set is due approximately every two weeks. Since
there are 5 hours of official class time, these results show
that slightly more than half the class spends less than 12.5
hours on CS1101S while about 25% spend perhaps 3 or 4 hours
more. Seems like we aren't doing too badly.
My sense is that the main problem is that students tend to
procrastinate and start the problem sets 2 or 3 days before it
is due. Then they panic and life is hell. Like that also our
fault huh?? :-)
|
|
I think this is all relative. Perhaps the other NUS courses are
too easy? The CS1101S PS load is probably only 60 to 70% that of
the workload for the MIT version 6.001. The workload this
semester has already been reduced from that of the previous year
(from 8 Problem Sets to 6 Problem Sets).
Students should be aware that the lecturers are not sadist
people. Also, the more homework that gets assigned, the more
marking there will be (read: more work). Therefore, if the
lecturers are lazy and idle, they would have gotten rid of the
Problem Sets altogether.
|
|
Fortunately, people all agree that the problem sets are
important. :-)
|
Essay
Please let us have your feedback on your problem sets
thus far. |
1.
Difficult but should be continued |
2. Quite
tough |
3. it takes
a lot of time to figure out whats happening but once u
crack the ps it feels like attaining enlightenment
|
4. I think
PS1,PS4 is easy, while PS2 is a bit more difficult. |
5. The
problem sets are getting difficult as we move ahead.
Three to four days before the submission the whole night
goes figuring out the answers for the problem set. The
level should be a bit low. |
6. Hard,
sometimes too hard for a beginner like me, but no
choice, all others finding it "TRIVIAL", i'm da black
sheep of the flock |
7. They're
difficult but fun :) I'd really like to have less work
but I suppose then we wouldn't be able to know our
material that well... |
8. I did
not really as i expected :((. |
9. They are
quite hard to understand, but once you understand them
they become "do"able. |
10. NA |
11. the
problem sets have been nice but far away from the
lectures. some relevancy should be there |
12.
Although some of the problems are indeed killing me, I
do feel that I learnt a lot when I did the problem sets.
|
13. each
problem set is not difficult, but every of them is too
long. |
14. The
problem sets are very good way for me to learn the
material in that by solving the problems, I know what
I've learned and what I need to know. |
15. just
right |
16. I still
do not know why I should paste the demonstration code. I
think I have make sure the procedure can work, and I
have demonstrate before I paste it. |
17. help me
understand better |
18.
discussion questions are hard to decipher and this add
to our confusion. However, the stories are nice add-ons. |
19. Ok... Interesting... |
20. Gives
more hint on what we are suppose to be concentrating on
in the questions because normally I just read again and
again for the bits relevant to the questions and still
won't understand the question or where we are suppose to
start from. |
21. .
already very good as there are no malfunctions like in
Java, with the Coursemarker system. Fantastic that they
are hand-marked! and with room for discussion on what
went wrong, we can really learn! good! |
22.
Starting to derive SM pleasure from doing the problem
sets. |
23. First
two ps were little difficult, but ps4 was the worst... |
24. too
many words, very hard to follow it . |
25. mostly
fun especially one on rsa other two were decent |
Skip: 7 (22%) |
|
First, a quick word on the relevance of the Problem Sets to the
lectures. I hope that students will realize that the problem
sets are chosen very carefully. They are not random, but are in
fact chosen to help reinforce the ideas that we covered in
lectures.
The code is required so that we know that you actually did
work. Also the fastest way to check that you did the right thing
is to run your code. You must understand that there are often
multiple solutions to each question.
|
Essay
Please give us your suggestions on how we can improve
the problem sets. |
1. Improve
on typos and reduce confusion. |
2. Too many
programs given in one problem set - needs to be
corrected . |
3. relate
them a little more to the lectures |
4. Perhaps
we should offer some independent problems. Because the
whole problem set mainly focuses on how we use other's
codes. We want to create things of our own. And I think
less background information should be provided because
searching the useful information on the Internet is also
an important ability. |
5. The
problem sets should rather be fun based instead of
things like encryption and general mathematics. They
should be based on things like graphics or games etc.. |
6. Lengthy,
a bit too wordy |
7. I think
some of the questions are a bit ambiguous about what
sort of solution they'd want. It'd help if every
question ended with an explicit statement of the exact
type of answer we are expected to give. More fractals!
And why dun we get to write Mastermind games? ^^ |
8. - |
9. NA |
10. make it
more synchronized with the lectures |
11. I don't
mind if the problems continue to be hard, but no harder
than PS4 please! |
12. shorten
the problem set. and make it trickier and more
interesting |
13.
Generally speaking the problems are all very good, but
sometimes the story is a bit long... |
14. donot
too hard |
15. Down to
earth english |
16. I feel
if the problem set requires a large amount of reading up
(eg PS4), it would be good if some time (15mins?) could
be spent during lecture with a brief explanation. |
17. as
mentioned above. |
18. they
are very explanatory. however i am more used to having
the notes separate from the questions. too long to do. i
have to spend a lot of time on problem sets and ignore my
other modules. |
19. Nice as
it is. |
20. can you
give more examples |
21. more
cool and fun and challenging exercises |
Skip: 11 (34%) |
|
I apologise for the typos and
occasional mistakes. We're only human. I've been fixing typos as
we go along. If we recycle the problem sets for future batches,
things should be better. We will also review the descriptions of
some of the problems to make them more clear.
As for the story, I hope that people will appreciate that it
takes effort to come up with a story -- and I'm quite quite
irritated by the fact that people seem to be lazy and don't want
to read and expect us to talk about the problems during class.
Can people learn to learn for themselves?
Since CS1101S is an introductory class, it is not practical
for us to ask students to write too much of their own code, so
we resort to giving out a lot of support code. Already given the
somewhat few lines of code that students have to write, students
are already complaining that it's killing them. Writing full
programs will likely kill some people twice over.
It is precisely to satisfy hardcore Scheme-addicts that we
have the Programming Contests. :-P
|
Essay
Please let us have your comments about the Programming
Contests. |
1. Code
should be open out for further discussion and learning. |
2. i am
scared to look at them .. |
3. Maybe we
could compose some problems of our own and select some
from them as the programming contests problems. |
4. Well the
first problem set was a bit hectic to attempt the
contest 1. So i will surely attempt the second one but. |
5. Haven
try, no time, other modules are hard also |
6. Didn't
have time to work on it :( why don't you give us until
sometime end of term to submit? |
7. Fun! |
8. NA |
9. those
are the best part.. really enjoyable!!! |
10. It is a
good way to encourage those who have extra time to learn
more and explore more. |
11. have
not done any. have not interest in the part which does
not affect my cap |
12. I
haven't attended any Contest yet |
13. award
should be more precious |
14. good,
though i failed in the first one |
15. no
comments din take part in the first one. |
16. good to
practice. definitely helps train up. |
17. Did not
participate. |
18. should
not have it because some ones can not join the Contests
and think they lost something (the feeling like :not as
good as the others) |
19. good
idea to have them |
Skip: 13 (41%) |
|
There is no point discussing the code 'cos it's the process and
not the result. :-) Also, people should try coming up with
contest problems! I want to be able to recycle my problems for
future semesters.
As for suggestion 13, it turns out that your poor lecturers
are not particularly rich and so what we can give is what we can
afford. If I strike it rich, I will give out bigger prizes for
programming contests in future semesters. ;-P
In response to 14, there are no failures in the Contests.
Everyone who takes part is a winner in my opinion. :-P Those who
don't are not losers. They are just busy. :-)
|
|
Midterm |
Question |
Total
Responses
|
Multiple Choice
Comment on the difficulty of mid-term. |
A : Way to
easy |
1 (3%) |
B :
Somewhat easy |
3 (9%) |
C : Just
right |
13 (41%) |
D :
Somewhat hard |
7 (22%) |
E : Way
over your head |
2 (6%) |
Skip: |
6 (19%) |
|
Seems like the bell-curve we were looking for. :-) For the
record, the average score was 66, the median was 72 and the
highest score was 98. The scores were distributed on rather nice
bell-curve centered at 72.
|
Multiple Choice
Comment on the time allocated for the midterm. |
A : Way too
little. Too long, too little time. |
1 (3%) |
B : Time is
somewhat short |
11 (34%) |
C : Time
allocated is just nice |
13 (41%) |
D : Too
much time, too little to do |
1 (3%) |
E : I can
nap for an hour during the midterm and still finish
every question |
0 (0%) |
Skip: |
6 (19%) |
|
We actually already couldn't fully test all the topics we
covered during the first half of the semester. In any case, the
fact that one student got 98/100 and made only minor cosmetic
errors means that the test is humanly-do'able in the allocated
time. :-)
|
|
Seems like most think we had a fair mid-term.
|
Essay
Any other comments/suggestions for the mid-term? |
1. I guess
I didn't perform very well. |
2. better
marks distribution |
3. may be
it needs to be that way so u can separate the best from
the rest and also the ones who are week ( like me ) can
realise their weakness |
4. Maybe we
should cancel Problem 1.Because it is not useful.
Instead we should add some multiple choice problems like
the final exam. |
5. Should
be a little easy so that the students build some
confidence . Some of them are losing out hope after
doing badly in the ps and mid-term. |
6. I took a
long time to finish a question becoz i was thinking of a
different line as the question.................. Erm,
can make more explicit the questions?? |
7. Maybe
give out optional practice questions which are similar
to mid-term exam questions? |
8. NA |
9. could
have been a little lighter as was the first exam in nus.
but the exam was good enough |
10. No. |
11. the 4th
question should be optional and give bonus points. |
12. it is
better, if 10 more minutes in exam |
13. i think
it is ok, but i found because of my carelessness, i lost
lots of marks. sad |
14. No |
15. It
actually seems much easier than the problem sets we've
done. The only limiting factor was the time to think
through and check our answers. |
16. no
comments |
17.
increase time to think.. maybe put it in coursework
format |
18. Can you
mark basing on each student , not use the same pattern
in marking and give more marks for those who have right
algorithm, not some small mistakes (like the
brackets)... because writing on paper is very different
. |
19. i made
one careless mistake in the middle and wasted 15 minutes
... subsequently i couldn't complete the last problem |
Skip: 13 (41%) |
|
I don't understand suggestion 7. The midterms for 2004 and 2005
were made available in IVLE (together with solutions).
We cannot set exams such that everyone will score 100%. No
matter what reasonable thing we do, some students will do badly
--- that's just a matter of statistics. I think the spirit of
the mid-term should be one of figuring out what was not
well-understood.
In any case, the mid-term is only worth 15% and students who
did not perform quite so well need not get too upset. There are
many opportunities to make up for careless mistakes in the
practical exam (on 10 Nov 2006) and at the Final Exam.
|
|
General |
Question |
Total
Responses
|
Multiple Choice
What is your overall impression of CS1101S thus far? |
A : This is
a horrible class. Truly regret choosing it. |
0 (0%) |
B : Should
have taken CS1101XYZ instead. :-( |
6 (19%) |
C : Just
like any other |
1 (3%) |
D : CS1101S
is cool |
14 (44%) |
E : CS1101S
rocks. Coolest class I have taken in my life. |
5 (16%) |
Skip: |
6 (19%) |
|
I guess it is natural that the students who are not doing quite
so well are under the impression that life would have been
better in CS1101XYZ. My advice to them: It's too late to change
now and really, you don't know that will necessarily be doing
better there. All you know is that there's probably less
homework. :-) The thing to do now is to try to make the best out
of your present circumstances and try to learn something useful
in this class and don't worry so much about your grades. If you
learn the concepts and how to apply them, your final grade will
take care of itself. If you didn't actually learn the material,
then your final grade will reflect this -- but so what? How many
people will actually need to use Scheme in their future careers?
:-P
|
|
Good. :-) Turns out that many of those who responded "Others"
say that they are already interested in programming to begin
with, so this course can't turn them even more on. :-)
|
|
I'm sorry to learn that about 25% of the class would have liked
to have chosen the XYZ version instead. If you are a prospective
student and you are reading, note this point. Read this survey
carefully and understand what you are in (as best as you can)
for BEFORE you sign up.
|
Essay
Please give us your comments and suggestions on how to
make your learning in CS1101S more efficient and
interesting. |
1. More
work on my part. |
2. LESS
RISE IN DIFFICULTY LEVELS - I MEAN GET TO DIFFICULT
PROBLEMS slowly ..giving time for all to catch up |
3. To make
it more efficient and interesting, I think we should
have more interesting examples. |
4. By
introducing fun topics like games and stuff. I heard we
play with robots later on. So that must be interesting. |
5. Smaller
class has its benefits i guess, close bonding and closer
interaction between lecturers and students |
6. change
cs1101s into 2 concurrent modules and let us scrap some
other module xD Also it'd be nice if we could be
introduced to a bit more Scheme (some library or api?)
so that we can write more practical programs :) |
7. I prefer
something more challenging, but this is optional and no
effect on CA, such as self practise problem i mentioned,
and more story in programming, in fact as much as you
can give us, but just to refer for interest. Maybe now i
don't understand but tomorrow i might :)). |
8. - |
9. NA |
10. the
main thing is that the professors should go a bit slower
than the current pace.. |
11. 1. Do
more exercises other than purely reading. Application is
more important. 2. If I have extra time, maybe I will
think of some problems I which I may encounter in real
life and try to write a program for it. It is good for
practice, and it's fun! |
12. you
have done very good |
13.
Although this module is about programming methodology, I
think some systematic introduction on Scheme syntax
would be helpful in that we won't get stuck in the
grammar and can really focus on the methodology itself. |
14.
teaching in a more cool way |
15. See
other qns |
16. More
brain-cracking and mind-bobbling codes to interesting
problem to make us stare at the problem for the whole
lecture haha. |
17. the
teachers can inform us on what chapters of the book to
read up before class. like: "Please read chapter 2 of
SICP before coming for next class. If you don't read,
you going to not understand one bit". This is because
class pace is very fast. People can absorb faster. |
18. More
cool stuffs. |
19. So far,
I found interesting the lessons on quilting language,
game Nim and the movie database. I feel, this lessons
are more useful, and make us understand better for what
programing could be useful. |
20. I
really want to know some small applications of Scheme in
real life. It will make the employment opportunity
bright like Java....I wonder we will ignore it after
graduation, and have to study Java again |
21. more
interesting and challenging exercises |
Skip: 11 (34%) |
|
I really like suggestion 1. :-)
It is not possible to slow down the pace of the class. At the
other end of the spectrum we have people who are crying out for
more (see suggestion 21). We are already covering only 60% of
the material for the corresponding class at MIT.
I'm not a fan of having students read the text prior to the
lectures. I think it's too much pain for the students. My goal
is to have students NOT need to read the textbooks at all. When
I took the class myself at MIT many many years ago, I never read
the textbook. Only read the lecture notes and did the problem
sets.
|
|
I guess the people who regret chooseing CS1101S over CS1101XYZ
wouldn't recommend it to their friends. Natural. :-)
|
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. Somewhat
challenging and I hope to gain benefits from it in my
programming in the future. Although I must say, I have a
lot to catch up. But it is unique and refreshing compare
to what the other classes are having. The odds are, we
will perform better than Java when the time comes. |
2.
|
3. i
personally feel that this module can really remove all
the rust in ur head and make u more smart ..but the
problem is that when this module is done with 4 or 5
other modules it gets irritating ..and when there is an
alternative like java ..its tough to recommend this
module to any other person |
4. I think
the readability of some Scheme program is quite poor
when we use complex functions. This is not a good style
of programming. |
5. Well it
is a fun module to take but with too much workload. If
you have 5 modules with cs1101s as one of them then you
will end up studying all the time. But it even depends
upon student to student. |
6. Cool
enough, yet very
super-duper-irritatingly-time-consuming-yet-killing-and-suffocating-and-bla-bla-bla
frustrating when cannot solve problems, but i guess
that's applicable to all programming. So nothing much i
can do about my own desolation |
7. Pretty
heavy and pretty tough but like it a lot. Would like to
have it lighter and slower but wouldn't want to miss
anything. That's life i guess. |
8. Really
nice, nothing to complain. It will be more nice if you
give us more many sources about what we learnt, such as
RSA, Google mapping ... but please optional, too deep
and they are not easy at all :)). |
9. - |
10. NA |
11. this
module is kool , the way it is taught but a little
slower and more interaction would help a lot. |
12. I
really don't regret choosing CS1101S because I learnt a
lot more than what I thought I may learn. |
13. no |
14. Still
have not learned a useful programming language, and being
afraid can not use Java or C++ good enough comparing
with other guys who have choose CS1101XYZ. |
15. i like
it, and i think it is not so hard as i thought before. |
16. Great!! |
17.
Competition intense in here. Maybe that's one of the
concern about 1101S. Just don't have the motivation
since I always feel that I'm lagging behind the ppl
around me. |
18. the
class can be held like a forum, where we can go to ask
questions, but we must have been given the work to do
before the lesson. the teacher can give a lot of
exercises, i don't mind, but i just need to know how to
discover what are my mistakes, without getting penalized
in the process. |
19. 1101"S"
for "sadistic fun". Hopefully gets more "challenging"
with each chapter to keep up interest. |
20.
Even though the subject itself is too hard, I think we are
lucky to have lecturers like Razvan and Ben, otherwise
CS1101S would be a nightmare! |
21. it is
cool, I dont know other programming, But I see it more
interesting than others . Very freely in using, I like
it 'cos I dont like some thing strict and serious |
22. - |
Skip: 10 (31%) |
|
My response to 4 is that I think the code is quite readable. I
suspect this is a C++ or Java programmer complaining about the
style. The Scheme style is somewhat different, but more
intuitively obvious in my opinion. It is because Scheme is so
intuitively obvious that we don't need lots of C++/Java-styled
comments. This is probably also one reason why having some
programming background may actually not be helpful for this
class. :-P The C++/Java programmers get pretty confused by
Scheme at the beginning it seems.
My response to 14 is "Patience Padawan, Patience...." Razvan
will be teaching you all the Java you ever need to know (and a
lot that you never really wanted to know) in CS1102S, so you
will eventually get there. Sad to say, Scheme does have very
little commercial value so to speak. Nevertheless, I hope that
students will appreciate the "teaching value" of Scheme and why
Scheme is a good language to use for teaching intro to
programming. Think about this: MIT has been using Scheme to
teach into to programming for ALL their Electrical Engineering
and Computer Science undergrads for the last 20 years (no choice
there). There must be a good reason right? Perhaps it's the "S"
for "Sadistic Fun" reason? :-)
|
Essay
Do you have any concerns about CS1101S? If so, what are
they and how can we help? |
1. having
trouble with problem sets and keeping up with the class.
Nothing needs to be changed. Just me. |
2. i
somehow hope to get a B or a B+ and pass .. and i think
i'll be needing help for that also |
3. Why not
have the examinations on the computers? It is more
practical than written on paper. |
4.
Sometimes the procedures are not understood. So after
every procedure a small quote should be given to
describe the action of the procedure in brief. |
5. Exam,
that's all, afraid of time management |
6. DON'T
SCRAP THIS MODULE! |
7. Yes, I
still think that my programming skill still not fluently
at all, I need more self-practice exercises :(( |
8. - |
9. NA |
10. ya, if
we could have more consultation hours as most clash with
my other lectures and tutorials |
11. No.
Thanks to the lecturers and tutors for your hard work!
Scheme is COOL!:-) |
12. no |
13. no |
14.
Sometimes needs chim maths theories.. I think maths is a
important area that will make understanding the concepts
better... What maths modules should we take? |
16. taking
up lots of my other module time, especially when one PS
can take a few whole days. maybe make the pace of
learning scheme slower, so the PS is easier. how about
an Advanced scheme for the better students.. they can
then get credit for it. |
17. Must
not cancel this module. Too cool to cancel. Must make
more people suffer... it builds character. |
18. I am
very worried about my final grade for this module, I
really dont want to fail it and take it again for the
next sem...=/ What is the failing mark? Can I at least
have the border grade even though I have lot of
difficulties in this subject? |
19. I am
not clear the lambda expression, in some exercises I can
use it but in others I am stuck with the very new ways
of using it |
20. - |
Skip: 13 (41%) |
|
There's no real need to go read up on chim maths lah. The most
relevant and useful math class is probably the discrete math
class (CS1231).
Students who are worried about their grades should probably
just work harder and make sure that they understand the
concepts. Dun understand? Come to consultation -- but you cannot
expect the teaching staff to perform miracles. We can help
people learn, but we cannot learn for them. Most importantly,
cannot try to just memorize. Must practice and try problems
(lots in SICP and Concrete Abstractions). It's the process that
matters, not the result.
|
|
|