| |
Results of CS3217 (Semester 2, 2011/2012) 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.
-
Allows
Lecturer 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
or not to take CS3217. CS3217 is really not for everyone. It's really quite
hardcore and meant for the most highly motivated to push themselves. CS3217
is not *just another* iOS programming course.
Note: Feedback on 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.). 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 : 27/27
1)
Essay
Why did you decide to take this module? Do
you still it was the right decision?
|
1. I wanted to learn software engineering skills. Yes I learned a whole
lot of stuff during this course. |
2.
i felt I needed more deliberate practice. not sure if its the right
decision. I'll decide on that end of the semester because morale is
pretty low at this point. |
3.
map over software engineering project... |
4.
i think it is considering software engineering project sounds really
boring |
5.
I wanted to learn more about software engineering. |
6.
I would like to learn more about software engineering, involve in a
practical project.
So far, it is right decision. |
7.
In order of importance:
To learn iOS programming.
UI programming.
To get used to high work load.
To do some real SE.
Probably still OK. |
8.
I wanted to learn about the techniques of software engineering, ios
development and experience Prof. Ben's class. I made the right decision. |
9. The lecturer is Prof Ben. Yes I do. |
10.
I like to challenge myself and I want to improve my programming skills
as well. It was definitely the right choice, PSes were fun and I like
learning things fast =) |
11.
It's because I want to push me forward to becoming a capable software
engineer.
Yes. It was the right decision. I could have been better executed on my
part though. |
12.
I wanted to learn more than what is offered by most regular courses
since they do not have the rigour that cs3217 has. I do not regret
taking cs3217 but I think my lifespan has shortened dramatically. |
13.
To learn iOS, meet great software engineering students and work
alongside the best. The hardest part is to get started and this course
has definitely help me in overcoming the barrier and spark my interest
to self-explore iOS. And I am lucky to have work with some of the best
students in my team:) |
14.
Just for kicks. |
15.
1, want to learn more about SE,
2, want to build up some real software,
3, want to learn builind ios app,
4, want to learn more programming,
5, want to make imba friends,
6, want to kill free time |
16.
I took it because I was interested in writing apps and also, I heard
that it is a very fun (and torturous) module to take.
Honestly, I thought of giving up and dropping the module when I was
doing ps03 because I spent 5 days on it without any progress. But I
decided to drop another module instead so that I can spend more time on
CS3217. Thankfully, things are better now!
So, yep I do not regret taking this module. The people in this class are
cool! Nowhere else can I find a class with such dedication to a module. |
17.
It's never a wrong decision to take a module by Prof. Ben. I took this
module to challenge myself. |
18.
I wanted to strength my software engineering skills and be trained in a
tough technical environment. |
19.
Prof Ben teaches it. Of course. |
20.
Took the course to level up my programming skills and gain more
experience building iOS apps. Yes, I still think it was the right
decision, even at the expense of other modules :S |
21.
I want to do some interesting stuff with proficient people. I think my
decision is right. |
22.
Yes, it was the right decision.
I took this course because I want to learn something useful, practical
and interesting. |
23.
More software engineering exposure. Quite cool to pick-up objective c
along the way.
I took the course to improve my software engineering and programming
skills. It was definitely the right decision. |
24.
I took the course because I knew I will learn a lot from it. I had taken
Scheme before and I loved it. I always love Prof Ben's courses. |
25.
To strengthen my software engineering skills. Yes. |
26. I chose to take the course because I want to learn a new programming
language (Objective C) and practise software engineering skill.
Fortunately it was a right decision, even when it is a lot of pain >!< |
27.
Because I felt I needed to challenge myself so that my potential can be
reached.
I
ask this quesion to myself everyday. ;) |
Skip:
0
(0%) |
It is nice to see that
again, we have a highly motivated group of students in CS3217 again this year.
:-)
|
|
1)
Multiple Choice
How do you find the lectures? |
Response |
Percentage |
They are completely useless. I learn nothing. |
|
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 |
|
Skip |
0
(0%) |
Glad to see that 75% of the students think that the
lectures are useful this year. While there is still room for the lectures to be
improved, this represents a 12% improvement from last year. Good to see that we
have done better in structuring the lectures this year compared to last year.
2)
Multiple Response
How do you find the
tutorials? |
Response |
Percentage |
They are completely useless. |
0
(0%) |
They are not very helpful to my learning. |
1
(3.7%) |
They're okay, but the time could be better spent
discussing other things. |
2
(7.4%) |
They are typically useful. |
22
(81.4%) |
I learn everything in CS3217 from the tutorials! |
2
(7.4%) |
No idea. I don't go for tutorials. |
0
(0.0%) |
Skip |
0
(0.0%) |
Seems like the response on tutorials is
significantly better this year with almost 90% thinking that they are useful.
3)
Essay
Suggest other topics
that should have been covered for the lectures (if any). |
1. More
about code organisation and design. |
2. It
would be good to cover some of the project management model/technique! |
3.
Storyboarding is new but I think it would have been good to cover some
important points about using it. |
4. More
warnings and precautions about the potential pit falls could be given.
I
do agree on the philosophy of letting (forcing) us to pick up most of
the stuffs on our own. But a lot of times, even some high level and very
general guide lines are not harmful and could have saved a lot of time. |
5. It
would be cool if there are more lectures.
Can spend time explaining the various methods we can use to avoid magic
numbers. Objective-c allow us to set properties in the project files.
Maybe a good place to store our constants. |
6.
more Objective C language and tips
lectures |
7.
More in-depth coverage for MVC
pattern. |
8. More
design patterns? |
9. I
think that it would also be good if more code examples would be given,
especially when teachng the design patterns (like delegate, etc.). This
is because these things seem very logical in theory but I personally
feel they are a bit more typical in practice (especially while
implementing them the first time). |
10. Data
management |
11.
Maybe, more about design patterns. |
Skip:
16
(59%) |
We'd look into these suggestions next year. Some of the
suggestions from last year were incorporated into this year's lectures and so I
guess there are fewer "missing" topics.
4)
Essay
Suggest other topics
that should have been covered for the tutorials (if any). |
1. The
tutorial may cover more details on SE? |
2.
Optimization (maybe not suitable)
Black box & white box testing. |
3.
Concrete examples on software engineering. |
4. More
technical stuffs e.g. the algo of physics engine |
5.
Current tutorials are sufficient |
6.
existing frameworks in IOS
opengles |
7.
Same as lecture. |
8. more
about design patterns and ways to decompose a problem. |
Skip:
19
(70.3%) |
Thanks for the suggestions. We will look into them for the
next offering. Optimization is unfortunately not a suitable topic for CS3217 I'm
afraid. Neither do we really want to spend time on the algorithm for the physics
engine. It is likely that none of the students are ever going to write a physics
engine in their later lives. The point of the Physics Engine PS is really to
test/practise your software engineering skills. It's a problem that's not *too*
hard, but neither is it too trivial. Sure, it might be a little painful, but
learning is often painful.
The teaching staff had a very long and involved discussion about whether to get
rid of PS 4 and just have students use one of the available Physics engine
libraries. After all, we were going to let the students use other libraries for
PS 5. This would also reduce the overall workload. Two things: (a) we decided
that it was valuable to retain PS 4 because we are optimizing for learning value
and are not trying to minimize pain. We decided that learning value was more
important than minimizing pain and the process of trying to understand a set of
complicated equations in order to implement a physics engine was helpful for
learning; (b) we also discussed whether to disallow the use of a third-party
Physics Engine for PS 5. We decided against this because if we do so, the
students would didn't do PS 4 right or very well would sort of be penalized
twice. Also, we felt it would be helpful for students to learn about how a
Physics Engine should be organized from looking at an open-source engine. Again,
the consideration was maximization of learning value.
5)
Essay
Feedback for Lecturer
Ben Leong. |
1.
No other lecturers that I have met in NUS care so much for his students.
Reading every single lines of code and challenging his students to do
beyond what they think they can achieve. I would be curious to know what
makes him so passionate. |
2.
I find it hard to understand the topics that I don't know before. Not
much technical content is taken away from the lecture (except for life
lessons). The concepts only get clearer as I struggle with the PS.
This probably has something to do with your talking speed. Please slow
down a bit and give us time to digest. Not that we cannot understand
what you are saying, but we don't have time to think about what you are
saying.
Guest lectures are OK, and even quite good in my opinion, since we are
hearing from people who experience it first-hand, and while they are
still working on the product.
Tutorial are good because it discusses the pitfalls after we have gone
through some practical experience. It is a good time spent. |
3.
Good job |
4. Too
handsome |
5. The
course was very well planned. |
6.
Prof Ben never disappoint his
students. |
7.
It's Prof. Prof is awesome. |
8. Well,
he is awesome as always. I have been scolded by him countless times, but
deep down I know that it will do me good and I do hope that he too
doesn't think very badly of me. I have never been so frank to any
lecturer other than him and I don't think I ever will be. I will miss
him a lot and I pray he comes back to teach CS3216. From the next sem, I
will miss him a lot. I consider him equal to my father in this home away
from home. I consider myself fortunate to have known him. |
9. Still
a cool lecturer :) |
10.
Responsible, dedicated and motivated. He identifies 'lobangs' and helps
his students by linking them up with external parties for their project.
Very thankful for that! |
11. It
have been a great experience learning from you. |
12. Best
lecturer in NUS. |
13.
Concepts are well explained. Instructions are clear. |
14. Best
lecturer ever. I never absent a single lecture for CS3217. |
15. No
comment. |
16.
Prof Ben is really good and motivating. I like his way of informal
lectures. |
17.
Have a really good "common sense". |
18.
Talk slower. |
19.
awesome =) What else can i say ^^ |
20.
Engaging and passionate. |
21. Great! |
22.
ok... since no one is perfect. sometimes a bit harsh to students. |
Skip:
5
(18.5%) |
Thanks for the kind
words. A bit of scolding never killed anyone... I think. OK, will try to be a
bit kinder to the students.
|
|
1)
Multiple Choice
Do you think the
problem sets were designed well to meet your learning needs? |
Response |
Percentage |
Complete waste of time, I learnt nothing.
|
|
There was little to be learnt
|
|
I learnt some stuff, but not a lot
|
|
I learnt quite a lot
|
|
I learnt more in CS3217 than all my other classes put
together. |
|
Skip |
0
(0%) |
Happy to note that 96% of the students learnt quite a lot
from the problem sets. This represents an improvement from the 85% we had last
year. Seems like we really did fix most of the bugs in the problem sets this
year.
2)
Multiple Choice
How would you assess
the difficulty of the problem sets?
|
Response |
Percentage |
They were too easy
|
|
They were not much of a challenge
|
|
Average, just like my other classes
|
|
They were challenging
|
|
I almost wanted to commit suicide |
|
Skip |
0
(0%) |
It seems that the distribution on the students' perception
of difficulty is similar to last year. Since we are using the same (but
improved) problem sets, I guess it's not entirely too surprising.
3)
Multiple Choice
How much time per week
do you estimate that you spent on CS3217? |
Response |
Percentage |
At most 15 hours. |
|
Between 15 and 25 hours. |
|
Between 25 and 35 hours. |
|
Between 35 and 45 hours. |
|
Between 45 and 55 hours. |
|
More than 55 hours. |
|
Skip |
0
(0%) |
Hard to believe, but the
distribution of time spent this year is lower. I suspect that this is because
we're ironed out all the major bugs in the problem sets.
3)
Essay
Did you find the feedback write-ups that you received
after grading to be useful? If so, why? If not, why?
|
1.
yes it was useful.
it can help me to summary the procedure of doing an assignment,
and it also provide feedback to teaching staffs about the assignment. |
2.
Yes, very useful. It's more important for us to learn where we did
wrongly than to simply obtain a grade. |
3. The
feedback that I received was mostly about coding style. So they were
useful. |
4. Yes,
they pointed out a lot of errors that I never noticed. |
5. Yeah
though haven't had time to read them too closely. |
6.
Yes. But sometimes it's quite hard to
illustrate a point just by comments or write-ups. Maybe a few good
example could have been given to learn the good practice, since we have
so many good coder among us. |
7.
The feedback that involves mark
deduction are generally clear to understand and useful. However, i think
it would be good if the tutors commented more on the codes that aren't
directly involved in the grading. Like why do the tutor feel that our
codes are good and where can we improve on etc. or which part of the
code is hard to read. Any minor suggestion of improvements would be cool
too even if its just one small portion of the code. |
8. Yes.
I know which part I can improve directly from my code, which is very
helpful. |
9. yep.
good to know where i can do better. |
10. Ok
but I don't really read the feedback... |
11. Yes
definitely! I can finally see what are my bad habits. |
12. Yes,
they showed me where I could improve in terms of the way I code and
engineer software. |
13. Not
really. The structure |
14.
quite useful |
15. In
general, the feedback write-ups are useful, but it would be better if
the comment/feedbacks provide more information (links/articles) to help
students correct their mistakes better. |
16.
Yes, they were useful. I could understand exactly what I have done wrong
and what i need to improve on. |
17.
Ya, very useful. I liked the fact that I received in-line code comments
for first 4 PSes. That was awesomely helpful. In PS 5 though, I was a
bit disappointed since comments in grading.txt don't help as much as
in-line comments. |
18.
It makes me know what to improve in the following PS. But I did not have
time to discuss with TA in detail ;-( too bad. |
19.
yup, very =) I can learn the goods as well as the bad and peer learning
is also very effective in these cases. |
20.
Not much |
21. I not sure if my code is OK or because my grader is lenient. My mark
rarely gets deducted because of coding style. |
22.
It's somewhat useful but not much. Reading the feedback didn't really
help me improve as much as reading the in-code comments. |
23.
Yes, the feedback is really useful and with reflection, it has helped me
in improving the code I write. |
24.
Definitely. They actually tell me where I'm wrong. |
Skip:
3
(11.1%) |
Glad to see that most students think they got useful feedback on their
assignments. Kudos to TA Mengran and the tutors. Re: comments 17 and 22, this
feedback that I'm referring to consists of BOTH the comments in the grading
report and also the inlined comments.
Students should try to make sure that they read the feedback from the TA or
graders so as not to repeat the same mistakes.
4)
Essay
What are your views on the problem sets in general? |
1.
challenging.. |
2.
The timing is much better this time. |
3.
Problem sets are well structured with high learning curves. |
4. very
good |
5. It is
really cool, but really time consuming |
6.
I think they were quite well designed
and fun to solve. Especially the last one. |
7.
Challenging, tedious and time
consuming. But fun and rewarding! Forces me to learn on my own which
stretched me to my limits. |
8. The
instruction in the PS is too long-winded.
PS4 is not very useful as a design practice. |
9. They
are pretty fun and interesting and generally manageable though not
advisable to the people who are busy with other stuff xp |
10. Very
well done. However, I feel that emphasis on testing is still not enough. |
11.
They're challenging and can provide good learning experience. But
personally, I didn't find them very fun and cool to work on. That's why
I wasn't very motivated to do the PSes very well. |
12.
Tough. |
13. I
love it. But since I'm more of a utility guy, I would wish that the 5
problem sets will help us create a Path app:) That would be cool. Just
my personal view. |
14. Good
and challenging. |
15.
Challenging. Lots of icing to test of ability to solve problems. |
16.
They are cool problem sets and is a good software engineering practice. |
17.
Very well planned. Good amount of information, not too much not too
little. |
18.
They were difficult, but excellent in teaching software engineering and
iOS programming. |
19.
Too much sleep has been lost over these Problem Sets |
20.
The problem sets are quite interesting in comparison to other software
engineering assignment, while provide enough suffer time for student to
gain knowledge from the problem sets. |
21. problem sets are good |
22.
I think they are great. Hats off. Learnt a lot. |
23.
The first problem set is too easy. The gap between 2nd and 3rd is too
big. |
24. Rather abrupt. Most of the PSes were based on reading stuff up
myself or asking around. But I guess that's the aim of it right? Since
we needed to learn stuff by ourselves. |
25. hmmm. It's hard to say.
I think it's hard to find a balance between letting us learn on our own
and spending too much time on unnecessary pit falls.
I you put too many guide lines, it becomes normal tutorials. Yet, less
instructions means more struggle, which may or may not indicate good
learning experience>.< |
Skip:
2
(7.4%) |
I am glad to see that the problem sets are general well-received either
though they are kind of tough.
To respond to Comment 8, it's hard to find a problem that's somewhat big so that
the students have a chance to get some design practice and yet not be too big
that there's too much work for the semester. We have already tried to find a
middle ground in the Physics engine.
I agree with Comment 10 that there's not enough focus on testing. Agreed that we
should look into how to increase the testing component and/or see how we can
introduce some TDD (Test-Driven Development).
5)
Essay
Please let us have your suggestions on how the problem
sets can be improved to make learning more efficient.
|
1.
Compile a self help booklet to collect all the pitfalls from previous
students or tutors? So that for more competent student they won't need
to look at it. But for those who are struggling, this could be a live
saver. |
2. Maybe
can move some more from PS 3, 4 and 5 to PS1 and 2. |
3. PS4
might be changed? |
4.
Nothing beyond what is already noted in the problem sets. |
5. Its
cool. |
6.
Perhaps PS5 should start after finishing grading PS4 so I can have more
time fixing my physics engine. |
7.
Please fix the late penalty marking scheme.
It makes students very very unmotivated for the future pSes and even the
project. |
8. Maybe
get PS4 less problematic. |
9.
Provide *a little* more guidelines please! |
10. Fix
some of the typos and errors. |
11.
Increase the weightage of the testing component. |
12. I
think PS4 can have other stuff added to it. The appendix was very
accurate and there weren't much trouble going through it. |
13. Push
a few things from PS3 to PS2 to let us get used to programming the
interface. |
14. If
the problem set did not provide assets, the game made by us would more
variety since the constraints are less. Also, we would be forced to
learn how to get and maintain assets, which will be useful in final
project. |
15. Same
problems as usual from last year. Maybe check if things are alright or
the organisation flow is still the same. |
16.
Even though I think the PSes are not very fun, I really appreciate them.
They're the best PSes I've done in NUS. |
17.
I think PS1 and PS2 can be put together |
18.
Highlight common pitfalls in problem sets to ensure that students
focuses more time on it. |
19.
none. |
20.
Instructions can sometimes be a bit ambiguous or have some typos. |
21. They are awesome as it is. |
22.
Maybe a short solution for some parts of the problem sets can be good,
maybe it will help reduce the pain in the ultimate problem set 5 where
there is the integration of buggy PS3 and buggy PS4 is a real painful
time (for me this was because of the design in PS3 and PS4 was not good
and the feedbacks for PS4 arrived to late so I have too little time to
correct). |
Skip:
5
(18.5%) |
I think the suggestion to collect pitfalls from previous students is a good
one. It turns out that only a small number of students camped in PL1 this year.
Last year, there was massive camping and so there was a lot of communication
between the students to share pitfalls. I think that really helped. This year,
we have a lot more lone ranger types who do their own thing.
To respond to Comment 7, there is nothing to fix. We aren't even supposed to
have late submissions to begin with. There was no late submission penalty scheme
last year because there was very few late submissions and even if there were,
they were like a couple of hours or one day late. The number and degree of late
submissions this year was quite surprising given our experience from last year.
Hopefully, in future classes of CS3217, there shouldn't be much late submissions
and so effectively, a late submission policy shouldn't be necessary.
To respond to Comment 14, the suggestion of not giving
assets is not practical. We really don't want students to be wasting time
running around looking for assets. I think the class already has enough work.
Students are welcome to use their own assets for PS 5. I think this is stated in
the Problem Set.
To respond to Comment 15, definitely not. The problem sets
last year was quite a disaster and the teaching stuff was running around like
headless chickens trying to resolve the problems that come up. In contrast, we
hardly had to do anything this year about the problem sets and there were only a
minimal number of typos. Overall, I am quite pleased with the Problem Sets.
Kudos to the TA and Tutors for fixing most of the bugs from last year. Most of
the issues were due to Apple-side changes that blindsided us.
|
|
1)
Multiple Choice
What is your overall impression of CS3217 thus far? |
Response |
Percentage |
This is a horrible module. I truly regret choosing it. |
0
(0%) |
It's alright, but mostly painful. |
7
(25.9%) |
Just like any other module. |
0
(0%) |
It's a good module and I definitely enjoy it. |
10
(37%) |
CS3217 rocks! Coolest module I have taken in my life. |
10
(37%) |
Skip |
0
(0%) |
It is interesting to note that the distribution on this question is similar
to last year. Basically, there's about 1/4 of the students who regret taking the
class and 75% who think they chose to take CS3217 correctly. I hope that things
will get better for the 7 students who are suffering more than they'd like
between now and the end of the Semester.
2)
Essay
What do you think you
have learnt thus far? |
1.
Software engineering principles and iOS programming. |
2.
The ability to pick things up on my own. I realise the fastest way for
me to learn is by doing it. |
3. How
to code properly, interact with groupmates, independent learning. |
4. I've
learnt so much. Time and people management are among some of the stuff
that i learnt along the way. I loved the way we learn something new and
picking up new stuff on the fly =)
But I guess the most important lessons I've learnt is to teach myself
*fast* and to prioritise and plan carefully if you have too many things
to do. |
5.
Design is important if not the most important part of software
engineering.
I am not good at the moment and I need to improve.
Start things earlier if I don't want to stay up the whole night later.
|
6. I
have learned to think more about the structure of the code I am writing
and how to write good code. |
7.
X-Code, Objective-C, github, (a lot of ?) physics, coding standard, MVC
Do not write duplicated code. Torture myself in a happy way. |
8. Obj
C.
Using open source physics engine.
...
Dealing with depression. |
9. I
learn not to treat CS3217 like its something completely new. I bit
myself when I realised the stuff I do is similar to the thought process
I've been using for other projects as well. I threw it all away because
I wanted to learn something new or clean out my rubbish processes that I
was afraid of having in case it screwed up with my thinking. |
10.
xcode programming |
11. That
the human limits can be stretched and challenged greatly, haha. I
actually enjoyed the time when I was sleeping at 11am and waking up at
6pm, and work through the night till the next morning. Quite fun. |
12. iOS
programming
UI programming
Practice SE in project |
13. lots
about software engineering |
14. I've
learned how to design good software systems and value testing. |
15. I
have learnt software engineering skills, especially by getting feedback
on my style and design. |
16. AF
and RI is cool. Software engineering is not easy. It is easy to say we
want low coupling and high cohesion, but difficult to achieve in
reality. Have to constantly think about what are the repercussion of our
coding structures. |
17.
Basic concepts regarding software engineering, for example, abstraction,
mutable/immutable data types. I also learnt software design patterns
such as observers and delegates. But it is only through the problem sets
that I understood such concepts. |
18.
- The importance of testing (the pain of not testing before coding)
- Software engineering theory and practice.
- Objective C
- The troublesome provisioning/certificate of Apple. |
19.
Everything. I have learnt a lot of software engineering and I don't
think I need to list that. But apart from that, I learnt this -
1. Patience - Debugging for hours taught me that.
2. Work with 39 degrees Celsius fever - This was horrible. REALLY
HORRIBLE. But I have come out stronger.
3. handle frustration - I was really pissed off with the PL1 timings.
They didn't have timetable for first half of midterm. Secondly, they
schedule practicals till 8pm some days. I used to leave my evening
classes, then come and find the lab busy. I think I did suffer because I
didn't have a Mac. Travelling to SoC when I had high fever was almost
unbearable. |
20.
Lots of things about software engineering. Lots of practical things =D
Design patterns.
Testing.
Refactoring.
Self-motivated iOS graphics programming. |
21.
How to create better software, from how to plan better to how to code
better. |
22.
MVC and other design patterns.
How to design and build something that's relatively large.
Do testing. |
23.
Quite a bit of things but mostly debugging. |
24. Life
is hard |
25.
basic ios programming.
software engineering principles.
sleep is optional. |
Skip:
2 (7.4%) |
Looks good. Looks like the students are learning what they
are meant to learn. Sorry about the PL1 availability. Unfortunately, PL1 is
really a common and valuable resource and classes sometimes need to use it
during office hours.
3)
Essay
Please share
one thing you love most from this class |
1.
Learning stuffs all the time. |
2.
Writing code. |
3. The
difficulty level! =) |
4. Free
food |
5. The
McDonald's! |
6. Prof
Ben, my team mates, the Facebook group. |
7. The
rigour of the module |
8. It
keeps me busy. |
9. The
people in this class are fun to interact with! |
10. high
calibre of classmates |
11. The
environment of crazy ass students. |
12.
Generally, I like the challenges presented by the problem sets as it
helps us to learn stuff. |
13. The
guest lectures are interesting. |
14. I
love the fast pace and the rate we pick up new stuff =) |
15. The
friends in this class are awesome! |
16. Can
code something that works. |
17. The
PS5 is the most painful problem set but also most fun. |
18. I
love the in-line code comments whch tutors give for grading. |
19.
Watching your own code work (especially for PS04) can sometimes be
really rewarding and gratifying. That is the reason why I chose to be an
engineer :) |
20.
Having tutors reading every line of codes. |
21. At
the end of the problem sets, we actually have a working game to play
with. |
22.
awesome classmates |
23.
It forced me to learn a lot new things and learn by myself. |
24.
The guest speakers are a good additional to this module |
25.
Ben Leong, the best lecturer!!! |
Skip:
2 (7.4%) |
Like last year, it seems that the students appreciated (i)
free food; (ii) challenge/learning; and (iii) cool, talented and motivated
classmates. What's different this year is that we also had some really cool
guest lectures by former students, which some students apparently appreciated
too.
4)
Essay
Please share one thing
you hate most from this class. |
1.
The time table is really bad! |
2.
Too many reports to write... :( |
3.
Testing :p |
4. Xcode
is a horrendous IDE. |
5. 3
hours of lecture a bit too much |
6. I
hate PL 1. I do think that this was unfair to those who don't have a
Mac, especially because since I haven't been well this semester for
reasons I won't disclose here, I had a very hard time. Please improve
this for the next time CS3217 is taught. |
7. I
write too many bugs. |
8. THE
F**KING MAC. |
9. I was
forced to learn a lot things by myself and do have time for other
modules. |
10. stay
up in the night to rush the PSs because I had not planned well. |
11. No
sleep |
12. The
tight deadlines. =( |
13.
tutorial falls on my free day haha |
14.
Debugging the physics engine because I had no idea what I was
implementing and whether they were correct. |
15.
sleepless nights >"< but finally now I already got used to it :D |
16. The
knowledge that my grade will not be proportional to the amount of time I
spent on the module |
17.
Sleepless night. |
18. work
hours.. haha |
19.
having 1 hour on thur and 2 hour on fri for lectures. Should put
everything on one day, 3 hour slot. Perhaps even have the tutorials on
the same day. |
20.
Spending a lot of time doing researching and coding (it's cool but
suffering). |
Skip:
7 (25.9%) |
The schedule was supposed to be lectures on Tues and Thurs, not Thurs and
Friday.
I am really quite sympathetic to Comment 16, but like I explained at the
beginning of the class, the final grade is a reflection of the demonstrated
competence of the student and not a reflection of time/effort spent. It turns
out that in fact, for software engineering, the grade is often inversely
proportional since the better engineers write better code and are much faster in
debugging. Sadly, the transcript should be honest in reflecting the relative
accomplishments of each student. That said, to me, what really matters is
learning. A student might be a B student today. It doesn't mean that he/she
cannot become an A student with more practice. I make no apologies for what is a
reality of life. What I will however endeavour to do however is to provide as
accurately as possible a reflection of the final level of competence for each
student in the final grade. In other words, if a student do not do very well for
the Problem Sets but demonstrates beyond reasonable doubt that he/she has
reached a high level of technical competence in the Final Project, some of the
earlier sins can be forgiven.
5)
Multiple Choice
Would you recommend
the module to anyone else? |
Response |
Percentage |
No, I won’t want them to suffer the pain I did. |
3
(11.1%) |
Nah, I don’t think it’s worth it. |
0
(0%) |
I have no opinion about this. |
4
(14.8%) |
Yes, I will encourage anyone who asks me. |
15
(55.5%) |
Of course, every NUS student should take this
class! |
5
(18.5%) |
Skip |
0
(0%) |
I guess the response to this question corresponds to that for Question 1
above. 7 students are suffering and these either won't recommend CS3217 or have
no opinion. The remaining 20 students are generally happy with the course, in
spite of the suffering.
6)
Essay
Please give us your
comments and suggestions on how to make your learning in CS3217 more
efficient and interesting. |
1.
More content about software engineering. Not the drawing diagrams part.
The coding organisation part. |
2.
BLEH |
3.
Shorten the PSes and introduce a small project |
4. Its
good the way it is! |
5. Same
answer as 21. PL1 ISSUE PLEASE PLEASE PLEASE. |
6. We
can have a longer tutorial. |
7. I
would love to have a compiled resource like a booklet, a couple of web
site links or blogs to turn for help. |
8. It's
the most efficient and interesting course in NUS already. |
9.
cannot think of more. |
10. If
we can have timely feed back on previous PSes, then it'd be great. For
e.g. I got my PS1 feed back close towards the end of PS2 and PS4
feedback close to the end of PS5, though I know tutors also need time to
grade, a general feedback will be good first so we know what to look out
for in the next PS we do.
Perhaps timing of proposals and pitching can not fall together with PS 5
>< |
11. I
find that it is not that relevant for us to code such a complicated
Physics Engine to learn the implementation of Physics Engines. We spent
a lot of time debugging the formulas and stuff.
I think the same outcome can be achieved even if the shapes were changed
to circles, which reduces the difficulty of the problem set yet still
achieving the learning outcome.
Regarding the implementation of rectangles, perhaps it can be given as a
bonus in ps04? Since many people used an open source physics engine for
ps05 anyways. |
12.
Manage my time more wisely. |
13. I
know it is quite difficult but it would be good to bring in more guest
lecturers. |
14. The
lectures about Objective C are quite dry (somehow redundant). In my
opinion, students can learn about these programming language thing at
home. In lecture, it's better to give more examples (demos maybe) to
support some hard to understand topic like MVC (I suffered from this
topic)... |
15.
Don't know |
16.
Provide more information with regards to the problems in Xcode, so less
time is wasted on making it work. |
17.
Teach more technical stuffs related to objective-c. |
Skip:
10 (37%) |
To respond to Comment 5, there is really nothing that we can do about PL1.
PL1 is required for use by other classes during office hours. It is available
for CS3217 students to do their homework after office hours. It was the same
last year. It will be the same moving forward. It is not feasible for the school
to issue each student a MacBook.
To respond to Comment 10, we have already done our best to grade and return the
PS's ASAP. The problem sets are very nasty to grade and moderating them to make
sure that no TA/Tutor is too strict and/or too lenient is already a big
headache. In any case, this year has already improved much already since you can
see the tutors committing their grading remarks to GitHub as they go along and
you don't actually have to wait for the grading to be completed to see their
comments.
To respond to Comment 11, we disagree. Part of software engineering is
learning how to code with minimal bugs. Many students have done PS4 just fine.
If you have a lot of trouble debugging, that's an indication that your
programming/debugging skills are still not quite there yet and the additional
practice is good for you. Reducing the problem to circles will make PS 4
completely trivial. We actually considered not letting students use a 3rd party
physics engine. We decided against it to make sure that the weaker students
don't die. Makes sense? Basically if you have a lot of trouble with PS 4, you
should be working harder instead of complaining. PS 4 is meant FOR YOU. >:-)
7)
Essay
Any final words about
CS3217? This is your chance to tell us anything you want that is not
already covered by the previous questions.
|
1.
Try pair programming |
2.
At this stage I just hope I pass this module. |
3. Great
module! |
4.
CS3217 is really a cool module and I enjoy the process of building stuff
with many proficient people. |
5.
CS3217 is actually a module that stands the greatest chance of
encouraging students to pursue entrepreneurship and work on problems
that they are passionate about. CS students rocks! |
6. for
problem 22 choice E
if "every" NUS student take this class, most of them will die. |
7.Since
I have been told this is not for everyone and not meant to be easy at
the very beginning, for a lot of challenges I am not sure whether they
are intentional or not.
Anyway, It is hard to balance between challenge+space to explore and
guide lines+easier learning experience. |
8. Nah. |
9. The
tutors are awesome! |
10. This
module rocks, please continue having this module and torture more
students. It will benefit them ultimately haha. This module is also
gaining fame for being a challenging, tough yet rewarding module in NUS.
Even people from Faculty of Engineering know about this module. Should
keep it this way! (: |
11. Hope
the class can produce more success stories like HuntVille.
|
12.
Maybe can consider using Android platform for future CS3217 modules!
|
13.
Thanks Prof for starting this module for SoC! (: |
14.
Worth it but much sleep has been lost. Could be more lenient during
break periods since students are expected to code during CNY AND midterm
break in order to make the deadlines |
15. The
module brought me through many different emotions. The joy of learning
and coding and finishing things. The pain of integration and when facing
mysterious bugs. The regret of couldn't deliver bug-free PSes. It's a
whole new experience compared to CS2103 - much harder but much more
interesting. Best module in NUS so far. |
16. Thanks for
enrolling me into this module. The rest is history. Thanks Prof Ben for
these 13 weeks. |
17. CS3217 is a good module and it should be continued! Hopefully, there
will be a lecturer taking over the module when Ben goes on leave. |
Skip:
10 (37%) |
Excellent suggestion on pair programming. It was actually an idea I thought
about but didn't really know how to implement effectively. Actually, there is
nothing stopping you guys from pairing for the Final Project. Pair programming
doesn't work for the PS's because the goal of the PS's is to build up individual
competencies and to allow us to better assess the ability of each individual
student.
To respond to Comment 15, I am glad that CS3217 is a "whole new experience
compared to CS2103". Otherwise, we'd all be wasting time. :-P |