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 CS3216 (Semester 1, 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.

  • Allow 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 - Students always want to know about class before they take it.

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 on their own homepages 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 : 39/43

Multiple Choice
1) Did you think the assignments were designed well to meet your learning needs?
Rank 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 CS3216 than all my other classes put together.

Skip 0

Seems like we've dropped from last year with only about 80% of the students claiming that they have learnt a lot (compared to 85% from last year). 

The proportion of "I learnt more in CS3216 than all my other classes put together" has however dropped from 44% to about 28%, which seems a little worse than last year, but 30% is about the norm. Last year was probably an anomaly. Truthfully, I feel that this is a little surprising because I think the the two assignments this year were the best designed ones for the past 4 years. I guess teaching is indeed quite unpredictable.
Multiple Choice
2) How would you assess the difficulty of the assignments?
Rank 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

The proportion of students who want to commit suicide has fallen from 14.6% last year to 2.5% this year. In this light, I think we're doing pretty good on the assignments. Personally, I really like the assignments this year. Most of the credit needs to go to Kok Wee and the tutors for pitching in to set up and update the assignments.
Multiple Choice
3) How many hours per week do you estimate you spent on this class?
Rank Percentage

At most 10 hours.


Between 11 and 13 hours.


Between 14 and 15 hours.


Between 16 and 18 hours.


More than 19 hours.

Skip 0

The time taken also seems to be lower compared to last year, which I find surprising because the mobile-cloud assignment is definitely somewhat more complicated that the GoogleWave assignment last year.
4) Please let us have your views on the Facebook assignment.
1. learnt quite a bit
2. I was happy that we can choose from making iFrame or standalone apps.
3. It was quite fun, and quite well designed. However, I think the teaching team should warn us about using AWS services T_T. It was quite costly afterward :(.
4. Challenging and interesting. The most important thing is I learnt a lot from it.
5. I feel that the Facebook assignment is a good way to let us learn about how we can tap on Facebook resources such as graph api to get an app started. However, Facebook app is not as popular as it is last time when it first come out. This really disappoint me because I have develop an app that nobody are keen to use as compared to last time. But I have to admit I learn a lot.
6. It is an eye opening experience to work with Facebook API
7. Great start to the module, allowed us to learn really a lot of web development, and how to fix bleeding edge screw ups. Learning Facebook integration is pivotal for good ideas and execution.
8. The Facebook assignment exposed me to the ever-changing world of Facebook API. Integrating the Facebook Connect was really a PITA, and it took us hours and days to find a method that works. Nonetheless, it was a good experience and we certainly learnt a lot, be it new frameworks or new languages.
9. A good start to the term. Although I think would have been better to start with seminar to gain more understanding.
10. The assignment is fun and challenging at the same time. I've learned a lot
11. Interesting and definitely gave me an insight on what Facebook can offer.
12. Learnt that Facebook programming is not quite simple, because Facebook API changes very frequently, and its documentation is rather messy and not easy to find out the exact code to use, since some parts of the API are deprecated. The assignment is reasonable, just that maybe because it was somewhat at the start of the semester, I think that most people need a little more time to know what the expectation of the assignment is.
13. Quite good. I learned most of the techniques from that assignment
14. Was very good to get an overview of what is possible on the FB platform.
15. Got to learn how to use the FB api, pushed us to read documentation of a REST API and learn how to use. The assignment is quite well structured and motivated us to find out more and implement.
16. No comment
17. It is quite a well developed assignment. I learn many things from that assignment. But also realize that how bad Facebook api is.
18. Really had a nice experience with Facebook API, which changing over time. I think this will be still a good practice for future batches, to let them try working with "external" websites.
19. The Facebook assignment kick started the entire campaign! And I think it was appropriate as the first assignment since it gave us the room to explore and have fun at the same time while staying connected to the world. LOL
20. The Facebook assignment is a good starting point for us to familiarize with real world app. And its a good platform to test out some ideas since many of our friends are using Facebook. But since there are too many apps on Facebook it could be a problem as well that its not easy to get public traction.
21. I expected it to be a slaughter; everybody was still feeling their way around. It would have been nice to have had some examples from previous years because frankly it was a mess and nobody really had any idea what to do. Here's how things work in the army (and NUS). When in a new environment/module/camp everybody works fairly hard for a few weeks until some sort of appraisal - monthly debrief, first project, grading, etc. Then people usually get an idea of how much work is desirable, and scale back. I think we were all too eager on the first Facebook one, and tried to do too much (i.e. try to do too many things, run around aimlessly rather than focus and feel for something) and may have missed the point of the assignment. I would have liked to have had a "tutorial project - maybe a one week challenge, Monday to Saturday, maybe hack some simple, existing code to create something to show off to the class.
22. It is well designed, the material given is sufficient
23. I think the scope can be more well defined. Some groups are doing do huge a project whereas some group are doing to hit the milestones only.
24. I learnt more than I expected
25. I felt that this assignment was useful in getting acquainted with web programming.
26. It is awesome. It was my first time building up something that people can use/play.
27. its good except for Facebook as a platform seriously sucks
28. Nice way to get started, but Facebook has lost its strength on the apps area. Development in other app environment like iOS or Android (or yeah, HTML5) are much more sexy.
29. The instructions given were good, very informative.
30. Useful, engaging and fun. I start with no knowledge of PHP, and finish with not full, but almost everything I need to complete a web app. The milestones are just great, help to guide us a lot. Thanks the TAs for great documentation and preparation too!
31. Quick and effective way of gaining certain techniques. A bit time consuming
32. Fun. Time for prototype is too early...
33. It is good but the problem is that its relevancy is dying because a lot of the products are spammy (i hate that) /dying out...
34. I enjoyed the overview of the Facebook platform. Glad we did an assignment on it, I would not liked to have done more than 1 fb app though.
Skip: 5 (12.5%)

Most of the comments this year are quite positive and similar to what we got last year. Very few complaints, which I guess is good. 

On comment 23, that's what life is really about. People get to choose how much effort they want to put into something. Some people can choose to do a lot, others can do minimal. That's just how life is. I really don't see why I should dictate what students should be doing.  

Facebook is definitely not dying. The Facebook App platform is however too saturated and dominated by big players such as Zynga and EA, so it's hard to compete, but that's not the point of the assignment. The whole point is to expose students to the FB APIs so that perhaps they might be able to exploit the API to do cool things in the future. FB Connect and Likes will be a very important component of future web applications.

5) Please let us have your views on the Facebook Application Seminar.
1. iPad seminar? I really didn't get too much value out of the seminar, it was more of a hindrance than it was beneficial.
2. Wasn't entirely clear what we must present to be honest; each app is different. However I thought that all the groups did well as a whole.
3. Really helpful. It helps us look into an app.
4. This should definitely come before the Facebook app assignment.
5. Ad-hoc, rush.
6. Serves more as an awareness/appreciation session for some of the better made iPad apps. There was a much larger proportion of iPad apps shown as compared to Facebook apps, which probably means that there is a much greater interest towards iPad apps than Facebook apps.
7. My favourite one; but I think this is less of a "project" and more of an exercise. This naming/classification is especially important. Timing is poor; many people sort of did it overnight or had to juggle with the Facebook and made it useless. Also Ajay got angry when I called his presentation out for being not as spectacular as I imagined. I expect somewhat more, though. The show & tell format is strong. Maybe not just Facebook Apps, but allow people to share Utilities they think are useful, etc.
8. Maybe we should have this seminar before Facebook assignment so that people can have some big idea before doing Facebook assignment
9. It's ok, but I don't really like the idea of having seminar on both Facebook and iPad apps. Just focus on one of them should be easier to make comparisons between presented apps.
10. No comment
11. The timing can be better organized as people are busy doing the assignments when this is due. Good way of learning. Be able to know the frontier apps and learn them on our own.
12. It was a good way to get insight into the current apps in the market. It pushed us to think more about how these apps are implemented and built around the existing technologies.
13. It's quite cool to review an existing app and discuss over it's pros and cons.
14. Very good idea.. cannot express how great it is.. btw, should also be ipad seminar in the heading...
15. The schedule introduces a lot of pain. I have to rush for the first assignment as well as prepare for the app seminar. It will be better to move it after the submission of the first assignment.
16. Hmm, not very educational to me
17. Useful, we are about to know what good/bad about an app. However there are too many groups choose to present an iPad app, thus the seminar is quite biased. Besides, we don't have too much time to prepare for it, maybe the seminar can happen after assignment 2 is great. Instead can put case study 1 after assignment 1, since that's more useful when we're going to do assignment 2. 1 advantage to do this is the case study is individual, so no meeting is required (because the period between after assignment 1 submission and Facebook App Seminar is quite short, it's quite troublesome to have enough meetings to prepare for a "great" presentation.) Overall the seminar is useful.
18. A good chance to study other apps and learn how to create something different. Lack of some framework for presentation and could provide more tips on what to study for all groups to gain the most.
19. Honestly, I don't think it was THAT useful. Could do without it. Maybe it'd would have been better presenting on the FB assignments other grps did rather than well known ones.
20. I was a bit bored doing this and found it a chore.
21. Well the seminar on the contrary paled a little in comparison to the Facebook assignment. Although there are still lessons to be learnt, I felt it wasn't as effective. Picked up some presentation skills though.
22. It is cool seeing others present about apps. I feel it might be better if we are assigned genres of apps to choose from.
23. This assignment was an eye-opener to various apps and how UI/UX play an important role.
24. It's a good break between assignment 1 & 2. Most of the presentations are interesting
25. An ok assignment, mainly because the workload was not too heavy.
26. It is actually a good way to have a very focused discussion about new and forward-thinking apps.
27. I like the seminar. From the Seminar, I learned what is a good application. From the seminar, I know the what kind of application I should try to develop in future. In addition, I also learn something about the business model of an application.
28. Sadly, I was not present for the class :( The preparation for the seminar was quite haphazard as it clashed with our first assignment prototype deadline.
29. It's quite useful that we may enrich our knowledge with many applications that we might have not heard before. Most of the apps presented were never been heard by me, haha
30. waste of time
31. The Facebook/ipad app seminar is very helpful when groups of us hunted for interesting apps and do analysis and share with the whole class. Moreover, the after class blogging and commenting opened up chances for us to discover more and read thoughts from others.
32. Able to see many interesting applications
33. It was cool, cos I knew what the good apps are around, and what should have been done in a better way. Thus I can learn their good and bad.
34. Didn't really learn a lot from it.
35. I think this is not as interesting and useful as the other assignments.
36. The Facebook application seminar is a good way to open up our views on different app , their strength and weakness and what to look out for when developing a app.
Skip: 3 (7.6%)

The FB application seminar has always had mixed reviews. Some folks think it's great and others think it's a waste of time. :-)

But teaching is really not a popularity contest, so we don't have to do things that is popular with everyone as long as we know what we're doing.

Scheduling has always been a problem because we don't have a lot of time and I really want the two programming assignments + this seminar to be completed before the midterm break.

Actually, the intention of the seminar was to be a way to practise presentation skills and the presentation workshop was supposed to be conducted before the seminar. Unfortunately, the presentation workshop had to be rescheduled because of the Presidential Elections and it came too late AFTER the Seminar was already over. Also, the attendance of the workshop wasn't quite as high as previous years, perhaps because many students were a little burnt out because of the second assignment.

The Seminar was supposed to help student develop two soft skills: (i) presentation skills; and (ii) an awareness of what the heck is going on out there in terms of apps. Trouble is that some students didn't take this assignment seriously and were just going through motion. That, is not something I can help. What I can do is to create opportunities for learning. Whether students make the most of the opportunities to maximize the value of their tuition is really up to them.
6) Please let us have your views on the Mobile-Cloud Assignment
1. It's good, sometimes hard to meet the requirements in the aspirations coz ideas and aspirations don't always meet.
2. Really very bleeding edge. Even the frameworks used are not very stable yet. More time should be allocated to this assignment
3. More challenging than the Facebook assignment, but more fun :)
4. Quite useful, the milestones are quite a lot, they're helping us learning new things. It's just that we didn't have time to carefully learn each thing, so as you said, this is just to let us know the existence of such things, but might not actually learning it.
5. Good
6. It is a quite good assignment. I learn how to build a real mobile application with HTML5 as base. It is quite interesting.
7. Very very good...forces learning of something that you might otherwise not be able to do due to other modules even if you are interested in it..
8. Really enjoyed playing with HTML5 and local storage. I don't think we had nearly enough time to complete the assignment though.
9. The Mobile-Cloud assignment spanned across the recess week and mid-term period. There wasn't much time spent designing and programming on it till the last week before submission. Personally, I find that there wasn't much difference from the first assignment, as we used most of the technology introduced for the second one, except for optimizing for mobile devices.
10. The mobile cloud assignment gave us the opportunity to explore the mobile scene. I think it is a very apt assignment since the mobile scene still has lots of room for improvement. Furthermore, the rise of the cloud and the chance for us to learn and apply our skills works well hand in hand.
11. deadline was too tight
12. I learnt a lot about HTML5 during this assignment.
13. After doing the mobile cloud assignment it let us understands the current limitation and maturity of doing a HTML5 application.
14. Good chance to work on a mobile app. Timing was very tight so final product could have been better.
15. Learn about HTML5 and able to see the new and cool features of HTML5
16. I think this is a bit overlays with FB app.
17. Great experience working with HTML5 frameworks.
18. I think it is good that this assignment forces us to make non-native apps. in this way, we are pretty much forced to find alternatives and make the best out of what we have.
19. Most of the apps are pretty well done, probably thanks to the fact that there are frameworks around to do iOS-styled HTML5 programming, which would allow the app to have a decent looking UI. As this is the 2nd assignment, the students probably have a better idea of what to expect and can express their skills better in this assignment.
Touching cutting-edge technologies like html5 css3 and cloud is helpful especially for preparing the final project. IMO this assignment makes more sense than the Facebook assignment as we might build more useful apps. The only problem was that cross mobile platform support for those scripts are not perfect yet and there's more to discover.
20. all good
21. Most useful assignment ever. Probably because this is the future of all mobile apps.
22. It feels as though the time given were so much shorter.
23. Useful as well, and really helpful for us since HTML5 and cloud is/going to be the trend. The rest api and the authentication knowledge are very important, could be much better if they were introduced in assignment 1. (Maybe does not need to be milestones, can be appendix, because it would save a lot of time to code.)
24. Really learned a lot in this assignment like principles of REST API, how to make offline applications and the importance of a good UX ( after working with frameworks like jQuery Mobile).
25. It went by in a blur of late nights. I don't remember it.
26. Challenging but it is fun learning new technology. No prototype requirement, which is good, :P
27. No comment
28. Most well planned, thought out and executed assignment of all.
29. It helps strengthen the skills and prepare for final.
30. I feel that it is too similar to the first assignment. Both are web development, so sadly people that already have experience in web development will gain an upper hand (read: learn less) as compared to people coming from other background, e.g. Java/C-heavy, desktop, or close-to-bare-metal programming.
31. It's kind of ok. I learnt quite a lot of stuffs. However, knowing that it's designed specifically for iPad make our design a bit less universal for all mobile device.
32. I didn't think the iPad was a good target choice, maybe the iPhone/Android. But it also let me gain insights on how the web is shifting towards supporting mobile devices. I learnt a lot too.
33. This is a good knowledge
34. The mobile app assignment provides me with the necessary skills and lessons to learn how to develop a mobile app using html5 with several existing mobile framework.
35. Most extensive use of JavaScript in my life
Skip: 4 (10.2%)

Frankly, I am hardly concerned about too little time and stuff. What I'm concerned about is optimal learning, which seems to be happening at some level, so I think we have met our goals in this assignment.

On the comment that the second assignment is similar to the first, that's absolutely rubbish. This means that the student didn't actually learn what he was meant to learn. The whole point in this second assignment was to explore the idiosyncrasies of the mobile platform. If I have to guess, the student must be from the group that built the online book sale site and tried to explain that it was a mobile app. Harlo?? Obviously if your team chooses to build an app that really *isn't* a mobile app to begin with, it would be no different from the first assignment. *hiaz*

This assignment is also an opportunity to explore mobile jQuery and Sencha frameworks. Glad that many groups did and realized the buggyness of these frameworks. My view is that HTML5 is not quite here yet 'cos support in the browsers is still somewhat spotty. However, the morale of the story is to "skate where the puck is going". I see part of the world moving towards HTML5, so it seems like a good place to check out.
5) Did you find the feedback write-ups that you received after grading to be useful? If so, why? If not, why?
1. Not very useful. Firstly because I already know what problems there are with my apps. Secondly most of us just give brief and easy comments since we are all so busy with other work that we have no time to evaluate properly.
2. Yes. The feedback helped to discover flaws in programs or ways that the applications could be improved.
3. Yes. It gave me much needed advice on how I can improve myself. Also, it is harder for me to identify my own flaws hence the feedback write ups I get are very valuable to me.
4. Not really. Some misunderstood our idea because they didn't take time and use the app.
5. Yes. The feedback gave me more ideas.
6. Not always. Sometimes we have reasons to do things in our own ways, people may have critiques, these critiques may have already been thought through by us and they are sometimes not that constructive.
7. To some extent. It's a reflection of what my peers think of me which would have been difficult to identify individually.
8. not really, the feedback write-ups do not seem to be done seriously
9. The feedback was very useful. It's very insightful and in details, letting us know what's right and wrong in our product
10. Yes! They were very useful! The loop holes identified in our SQL (injection) was especially useful. The feedback on possible improvements was insightful as well.
11. Yes, the comments let us understand on what's the good and bad of our apps, and that we can prevent ourselves from making the same mistakes again for the later assignments.
12. Yes. Helped me understand how users viewed our applications.
13. Yes, it is quite useful. There are many good suggestions, most of which I won't know from programming.
14. Yes they are extremely useful in letting me understand myself. I am glad that there is this kind of feedback and peer review system. We need this kind of system to keep improving ourselves as well as knowing our weakness from the peer's point of view. If we could take these feedback in and work on our weakness and strength, the effect will be immeasurable
15. Yes, it made me realize many very subtle things that I didn't pay attention to before
16. Not really, because most of the faults that we did are only due to the limited time constraints. The assignments don't reflect our real abilities, so the comments are not improving a lot.
17. Peer feedback was incredibly annoying because I don't know who I mistreated badly. And to be frank, I hear most people comment that they rushed through it and filled it in randomly without much consideration since they were rushing mobile cloud by then. To be fair, I did receive helpful feedback from those who could be bothered to tell me how I suck, but we're losing some vital data here (apologies, loss-averse). App feedback could have been more structured, I felt. Also, this peer-review feedback collection thing: people hate it. There's too much to do, at one shot. People are going to get bored and abandon it halfway, pity the last few groups.
18. yes they are very useful. lets just say I cant remember that last time I received any qualitative feedback for my work in NUS. really appreciate this.
19. Yes, definitely very useful. It gives me an idea what we've done wrong and how we can improve.
20. not useful at all, all problems are due to short of time, do you honestly think I am not aware of all the stuff you say? if I have the time I would have done that. feedbacks can be more useful
21. Yes, I have known my weakness better.
22. Useful for reflection. But most of them already know due to the team limitations and time constraints. Also would be more useful if there was more build up of the different projects for specific lessons learnt to be applied in the next assignment.
23. Yeah. The feedback provided some encouragement for us and some of the criticisms were really constructive. It provided a different perspective that we may have probably missed when coding, designing or testing.
24. It is very useful. Help me improve my coding style a lot.
25. Amazing feedback.. gives such a nice perspective when someone thinks your product looks great and organized while someone else says it looks cluttered.
26. Very useful, helping me know better about myself.
27. Yes. It provides the perspective from a developer and it really helps in reviewing the app I built.
28. Very useful. They enable me to reflect on myself what I have done right and wrong.
29. Yes but a lot of the comments are very generic. Perhaps on top of giving feedbacks, we can ask our peers to do a rating (1-10) for us to have a rough gauge of the standard. Coz many will say they think the app is good, but you don't really know how good it is. So if you have a value from 1 to 10 of how good it is, then we'll have a better gauge.
30. The feedback from Fb app assignment was not very useful since the problems mentioned were not major problems.
31. Yes they were good. I especially liked the peer review comments. The more comments I can get on my app, the better I can improve on it.
32. Feedback write-ups were a good measure of what was good and what wasn't, definitely found it useful.
33. yes. sometimes we are blinded and other people may point out some important things that we can't see.
34. Yeah they are quite helpful. I know I was kind of getting a free ride on one of the assignment, and it was reflected quite truthfully :)).
35. Yes, we know what we're good at and what we need to improve. Most importantly the UI design part, what we think is good is not necessary what others think is good.
Skip: 4 (10.2%)

This is the first year that we tried getting students to give feedback on the apps to other teams. Clearly, not all feedback was construed to be useful. However, it seems to me that there's sufficient useful feedback (that was appreciated) for the exercise to have been considered helpful. Thanks!
Multiple Choice
1) How do you find the lectures?
Rank 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


No idea. I donít attend the lectures

Skip 0

The feedback has dropped from 63% "Way cool" to 41%. :-( That said, I shouldn't be too sad. Historically, it was about 40% "Way cool", so we're really not doing too badly. Last year was probably just exceptional.

Last year I had Chewy Chong from Microsoft, who was absolutely fantastic and Pamela Fox from Google to talk about GoogleWave. It's not always easy to find good speakers. The key learning value for CS3216 really comes from the assignments, which I think were quite well-set this year compared to past years, so I suspect that the lectures aren't going to make a whole lot of difference. 
2)Feedback for Lecturer Ben Leong.
1. While I do enjoy his devil-may-care, iconoclast personality and enthusiasm when he speaks, he might consider comporting himself with a little more dignity. Seriously, I get that you can dress down on Saturdays but when you drop in to see your kids you shouldn't be wearing such a drapy shirt. Otherwise, I feel that perhaps he can do more. He has a wealth of experience and much to share with the class, and instead he 'hides' behind delegated work and external parties - this is good for him and excellent for us but he is somewhat denying us the opportunity to learn from him and get real proper feedback. He's seen a lot, and he knows things, and surely he can understand his kids. I also strongly dislike his habit of planning things precisely and not giving slack. Time will be wasted, speakers will drag; his focus on cutting classes precisely and chasing everybody else out sort of hampers any effective after-action review or commentary we could have had.
2. Energetic and insightful. Encourages student to explore beyond the limit. Inspires student by talking to them and sharing cool stuffs on Facebook group.
3. He is always cool. He does not teach by speaking but by doing himself. One of the most impressive thing is that he blogs and writes comments to encourage us to blog.
4. Haha, a nice Prof. Previously I thought Prof Ben is nice except that he made a evil survey that forced us to critique on team mates' bad sides. When the survey result came out, I realize the critiques are really constructive and it's not evil at all. So... Prof Ben is nice without exceptions.
5. Can't think of any...
6. Very interesting Prof that look at things from a different perspective and insightful.
7. There was a saying "The mediocre teacher tells. The good teacher explains. The superior teacher demonstrates. The great teacher inspires". I think it's true for Prof Ben.
8. Truthfully he did not teach much :)). But the way he inspired us help us to learn quite a lot of new stuffs :).
9. Talk fast and humorously.
10. I think the vision and skills he wants us to learn are great. I am a Ben Leong fan so not much for me to say...
11. As inspiring as usual.
12. Prof Ben is cool! He takes care of our welfare and invites interesting speakers to class. He is flexible and gives student enough room to explore on ourselves. But sometimes talks too fast and talks about things that are slightly irrelevant.
13. Well done =) Keep promoting good (life) values to students!
14. Prof Ben is the most inspiring lecturer I've ever had. CS3216 wouldn't be this interesting without him
15. Keep doing what you're doing. The articles shared on FB are very useful. The approach to conducting the module is good too. Perhaps can try to convince other fellow colleagues (lecturers) to adopt a similar approach to their teaching.
16. LOL. His content are a tad repetitive but interesting nonetheless. He enjoys talking about life and how we should go about doing "stuffs". Thought I learnt quite a bit from his talking. Much of the lectures however were outsourced, which I think is very beneficial. :)
17. Cool guy. Tries to let students learn as much as possible. Tries to impart practical knowledge for the REAL world and also LIFE skills. Would have wanted to hear more teachings from him.
18. approachable for help and care that students learn whatever they should be learning
19. He's extremely careful with his words. Favoritism
20. Haha, it seems that you are like us - most of the time listen to others' speech. But prof should spend a quite lot of time preparing for all the lectures! Hard working prof!
very contactable even though busy.
21. Probably have a more convincing tone in Lectures. Thanks for pointing out all the problems in our Final Project's idea. Super smart observer. :)
22. There should be more chit-chat sessions between the lecturer and students. I learnt from my friends who took the class in previous semesters that you guys spent hours before class debating about certain topics, such as politics and life. It would be great if we could have such informal sessions, but I suppose given the tight schedule that the lecturer has, it is not possible? :s
23. Initially, I thought that Prof Ben is going to be a normal professor with a spectacle and just teach just for the sake of teaching. Furthermore, he is from MIT so i half expected him to follow the conventional way of teaching this course. However, after getting to know him, he structured his course in such a way that there is life in it. Not only it is interesting because we do not get the same person to teach us for every lecture, but we are getting a wide variety of professionals who are sharing their expertise.
24. The lessons that was taught are more related to life which is so different from the rest of the modules. As such, I can say that this professor is more open towards learning outside classroom. He is also open to crazy ideas and will not hesitate to correct people of their mistakes and thinking. Even on his own, he is not afraid to admit his mistakes. It is really welcoming to find such professor still exist in this school. I hope that he will continue to this way of teaching. team dynamics. How to get the best team!
25. Great professor, great attitude and style.
26. Awesome lecturer.
27. Inspiring, but doesn't teach too much. This is a good thing and a bad thing. I would like more classes or perhaps Saturday workshops with ben.
28. Has worked hard to invite speakers to come and give their informative presentations. Cares about students by sending reminding emails time to time, but I might suggest that he could write shorter and more concise emails, because I realised the students do miss out points here and there if the emails are too long.
29. Prof sometimes talk too fast (maybe because his thoughts are too fast too). He sometimes use some "Singlish" words and not describe their meanings. First time a lecturer read and comment my blog. Really engaging. He's really good at what he's doing. And he has passion doing it. Awesome lecturer.
30. Very responsible. All the lectures are well prepared.
31. An excellent mentor and very good at providing extensive feedback.
32. You like to talk many random things which I like very much. Very passionate and disciplined, which motivates me.
33. Great module coordinator. He knows how to structure our assignments and grading and everything so that we try to learn instead of try to score.
Skip: 6 (15.3%)

Re: comment 19, I consider it odd 'cos I think I should really be more careful with what I say and I haven't quite been careful enough. On "Favouritism", what's that about?

Re: comment 22, yeah, time is a luxury I really don't have this semester because of teaching both CS1101S and CS3216 together. The fact that I'm even still standing is a miracle in itself. I am actually behind on several items, but I have been forced to work on "heck that can wait if nobody is going to die soon" basis. Lots of people are probably upset with me already, but what to do? Promised myself I will never teach two classes in the same semester ever again. >.< Will see if we can get Kok Wee to organize an end-of-semester BBQ and we can talk about the meaning of life then. :-P
3) Suggest other topics that should have been covered for the lectures (if any).
1. There is not much need for lectures actually since the module is all about projects.
2. Psychology of human behaviour. Marketing. All those non-technical stuff we need to know for our apps to succeed.
3. Some overall information on how to execute the individual assignments. More sharing of possible pitfalls and case studies from previous batches so quality of work over the years keep improving.
4. Communication skills
5. Possibly a lecture to introduce us to more bleeding edge technology so that we can pick them up.
6. Marketing for apps
7. perhaps a lecture on game development.
8. Skill-sharing. Let students share with others what they have learnt and think is most interesting.
9. I found the lectures that were of a technical nature to be of limited use. They give a decent introduction for some topics. But for a class like 3216 most of us have very different needs depending on what project we're working on, and it's usually easier to look it up ourselves. The non-technical lectures (Vsee etc) were really good.
10. Although I know that creativity cannot (or hardly) be taught, I still wish to have some lectures about creativity and idea-brainstorming. Maybe I'm too demanding, but since I'm asked, I want lectures on GUI design, UX and probably psychology as well!
11. MARKETING. MARKETING. MARKETING. In retail it's about location location location - even if you don't advertise people might walk by and accidentally see your shop, be intrigued, and try it out. If your shop is along Orchard Road or in a major shopping centre you'll definitely have that base of walk-in customers. The web has no such luck for you; there are so many addresses, and there are already so many distractions on the internet - it's not how good you are, it's who you know who think you're good. It's not about the power of the app, it'll be crushed by an app that's more popular. Also, because it's a pet rant of mine, any chance of a Social Media lecture discussing the ethics of spamming, the worthwhileness of allowing your app to update SM, and how to go about doing it. Also, goddamn it, can we instill some documentation discipline and make sure every single app has a ? or a tutorial page or at least a splash/pitch page explaining to me exactly what the fuck the app is supposed to do. I apologise, pardon my French - but this is serious now; the apps are way cool but if I have to spend fifteen minutes solving the riddle of what to do, then it's really frustrating. Like how every Market and Store app has its own page with screens and write-ups, make every single app produced have its own one too, with title logo, graphic etc, so I know what I'm looking at and how to judge it. If you don't tell me what it is I will probably not judge it properly.
12. Team dynamics. How to get the best team!
13. How some great projects are made? How a small team make a big big difference?
14. Too many already...
15. Case study of successful start-ups like Dropbox.
16. Would have been useful to have some design lessons. :P
17. More life stories by external speakers. I think I've learnt a lot more from
18. Real time technology (Comet, XMPP, etc)
Skip: 21 (53.8%)

The fact that students are able to identify both marketing and psychology as useful skills are already good enough for me. Last year we did have Chewy Chong give a lecture called "People are Not Like You", which was really a talk on human psychology. I think we probably covered quite a bit about both marketing and psychology in our Final project discussions. Marketing is really quite a wide subject and I'm not sure that getting some random business guy in to talk about marketing would have been effective. Perhaps a tech entrepreneur.

Re: comment 5, I guarantee it wouldn't help. Those who are keen to pick up bleeding edge technology would go read up on their own. Otherwise, I guarantee that talk alone will not be sufficient. The other way is for us to formulate assignments to "force" students to learn which we have accomplished quite successfully in CS3216 already.

Not sure that it's possible to teach team dynamics in a lecture. I think the interesting thing about CS3216 is that it provides sufficient opportunity for folks work with enough different people to sort of figure some of it out. There are several really great teams that have been formed for the Final Projects and that would probably be helpful for many students.

We did have a presentation and a Photoshop/Illustrator workshop. Not everything needs to be done in lectures and also not everyone is keen to learn everything. Workshops are used to teach "optional" topics. 

4) Which of the workshops (UNIX, XHTML/CSS, PHP/MySQL, Intro to JavaScript, AJAX) did you attend. Please let us have your feedback on them
1. AWS, UNIX, HTML5 The workshop for AWS and HTML5 are quite useful. But the one about UNIX is too basic.
2. most of them.
3. all except photoshop Workshops should include hands on instead of just sitting there and listening
4. I attended the AWS, HTML5, and Presentation. The Presentation workshop is the most useful one for me. I learned a lot about how to make a successful presentation. It's about content, not about visual aids!
5. AWS, UNIX, PHP/MySQL. Too complicated for beginners, too simple for experienced. Please modify for target audience which I think should be beginners.
6. I attended all workshops. The workshop about Presentation was excellent but probably the only one I found interesting and useful. Other workshops were too basic to be useful. Yes, I completely understand that there are so many things to cover but perhaps the workshops can be levelled up!
7. Everything except Photoshop and Presentation. As a non-coder, it was not easy to follow the programming workshops. I imagine it would be impossible for people without any programming background to catch anything. I also imagine that people with programming background would know most of the stuff already so it's pretty useless to them. If they do need to learn more, they would self learn it anyway. So these workshops become quite redundant since it only covers the basics.
8. I have attended all the workshops. For the CS students, I think that the workshops only scratch the surface of the content and not really substantial enough to entice the students to attend them. As for other students who do not contribute in terms of code, I think it's not really for them either because they are not going to be interested in the codes. Even for the non-coding workshops, they probably felt that they are either something that they have already known, or that the contents are somewhat of common sense.
9. Intro to AWS, UNIX, PHP/MySQL, HTML/CSS, JavaScript/AJAX/JQuery, HTML5 A quick introduction to the stuffs we used during assignments. Possibly cut down on the content, as there is too much to be covered over that short period of time. I love the catered food.
10. Intro to AWS: I did not know much about AWS previously and this workshop gave me a good overview of what it does. UNIX: It was really elementary :p PHP/MySQL: Basic stuff gone through as well. HTML5: Interesting topics covered.
11. I attend all. The workshops are quite helpful for beginners. But it would be better if the slides can be uploaded *before* the workshop, so that we have sometimes to read through and prepare questions.
12. If I remember correctly, those were AWS, Javascript, HTML5. They are all very good and I always get something out of the workshop. However as I said before people coming from web development have less to learn here, since most of the topics covered are topics that come naturally for a web developer. (Except presentation)
(1)Intro to AWS: Instructions by the tutor were clear and straight forward, but they could have solved our problems hand by hand instead because the manual was quite sufficient. (2)Javascrip/AJAX/JQuery: Cool stuff! I got to know how DOM works and potential loop-holes in client-side validation with JS. (3)Presentation: Really insightful talk! The discussion was interactive by using the online question system. Best presentation workshop ever had! (4)Time for the technical workshops are not really long enough to cover everything despite that they were for beginners.
13. AWS, PHP, HTML, AJAX As a non-coder, they were of hardly any value. Didn't learn much.
14. I attended Intro to AWS, UNIX, PHP/MySQL, HTML/CSS, JavaScript/AJAX/JQuery. I feel the workshops are good for introducing the concept to people who have no clue about these things, so that they can get a head start.
15. Intro to AWS, Unix, PHP/MYSQL, HTML/CSS, JavaScript/AJAX/Jquery, HTML5 Useful. Not enough plugs in the room. May need more hand ons.
16. I attended all of the above. I feel that the Presentation workshop could have been useful _before_ the seminar, strongly. It's also the one I liked the most. Being a non-programmer I did feel somewhat like the workshops were less useful for me - then again I know the programming people felt the workshops were fairly useless too, and I suspect they turned up because they felt like being Singaporean they needed to, in case the lecturer dropped hints or gave class part (ridiculous, I know, and yet...). Also, free lunch. Practically nobody came for the final set of presentations where there were no lunch - tells it all, really.
17. AWS: Most of the things were already in the pdf file. Maybe it wasn't really needed as the instructions in the pdf was quite clear already. PHP/MySQL: Was okay to me as I learned most of the stuff before. Could use more hands-on for non-programmers. Workshop was quite dull. JavaScript/AJAX/JQuery: Could use more hands-on for non-programmers. (Make sure they are actually trying!)
18. Intro to AWS, UNIX, PHP/MySQL, HTML/CSS, JavaScript/AJAX/JQuery, HTML5,
19. I think almost all... They were quite good..though I feel that the level is quite basic so maybe there can be some hacky uber elite ones too..
20. Intro to AWS, UNIX, PHP/MySQL, HTML/CSS. A better venue will be good. The power points in the class were not enough.
21. I attended AWS, UNIX, PHP/MySQL, HTML5. I feel that these workshop are excellent. If only i have the time, i would have attend all.
22. Intro to AWS, UNIX, PHP/MySQL, HTML/CSS, HTML5, Photoshop, Presentation I think the UNIX workshop may not be necessary.
23. almost all of them. I don't really find the workshops useful and hard to learn from them.
24. I attended aws, unix, php/mysql, html/css, javascript/ajax/jquery, html5. I think they are very brief and not very informative, but it's good that they do point us to the good source of knowledge.
25. I attended all the workshops. The ones I found most interesting are Javascript, HTML5 and Presentation. I hope in the HTML5 workshop, more example codes are showed and we have more time for the Photoshop one.
26. none of them are useful, they are too introductory, why would I spend time there if its something I can learn on my own with like 30 mins. the WSs are for non-coders and since they are not coding at all, as well just cancel them
27. javascript/ajax/jquery and html5. They're not helpful. What they were talking about are all some basic or general stuffs. I still need to learn everything by myself. But the buffet is nice!
28. All except photoshop and presentation (fell sick :/) Workshops are good. helps us designers to understand basic things about coding. But lecturer didnt specify in the first few workshop that not everyone needs to open an AWS account! Some of us kinda missed the "remember to terminate your instance" announcement so we paid like 30+ bucks to AWS for nothing. :(
29. I attended almost all the workshops except Photoshop and the presentation workshop which I kinda got the timings wrong. >< I think the remaining workshops were beneficial in a way that it kick starts the learning process. Given the timeframe available for these workshops, it was impossible to cover much of the content. However, if it were a tad bit more focused it would be good. :)
30. UNIX, PHP/MySQL, HTML/CSS, JavaScript/AJAX/JQuery, HTML5 I didn't learn much from the workshops. I think they talk too briefly because of the time limit.
31. Didn't attend any of them
32. Attended all except photoshop. I would have liked to have them be less of a lecture style, with some interaction and hands on in the middle of it.
33. Intro to AWS, UNIX, PHP/MySQL, HTML/CSS, JavaScript/AJAX/JQuery/HTML5 Most of them are quite ok. However, i think just a 2-hour session does not help much, and there are quite a number of sessions where people are not really interested, since the stuff is too familiar (I guess?). For me the most helpful one is the one about JS/AJAX/jQuery, because I did not know anything about these stuffs before, and my friend Jason did quite a good job of introducing them :).
Skip: 5 (12.8%)

I think we didn't do so well this year in terms of calibrating the level of the Workshops. The Presentation Workshop was supposed to have been conducted before the FB Seminar but got re-scheduled because of Presidential Elections. Too bad the attendance was quite poor.

Glad to hear that the free food was well-received. :-)

5) Do you think we should conduct other workshops? What should they be?
1. I think currently no need.
2. No.
3. Nope. Jus improve the ones now.
4. If workshops are conducted, they should be in-depth and for advanced learners. As well as stuff like UI/UX design.
5. No need for more workshops. Instead, each workshop should be more in-depth so that we can make a better use of the tools to apply to our works.
6. User interface design workshop.
7. I think the workshops are quite adequate.
8. Social Media, Marketing. Also a team-bonding workshop where we just do stupid stuff and play games might be cool. Come on, like you wouldn't be able to see it happening in this kind of module.
9. I think a workshop on creating Facebook app will be super useful.
10. I think it's good enough
11. Setting up and using version control systems (especially mercurial, haha). (How come I am the only one who can actually do the setup in the group)
12. Meeting/Teamwork workshop
13. Maybe one UI design workshop, not too many technical things.
14. Elite workshops!
15. Totally! Drawing workshops perhaps? :D Marketing workshops? :P
16. Yes, I would love to see a workshop about other kinds of programming language like Ruby, Python.
17. Workshops on bleeding edge technologies? Things that you think we might find useful. Such as a brief overview of different useful frameworks, (instead of jQuery we could be introduced to batman.js etc).
18. yes. Software engineering skills and team communication skills, esp. between designers and programmers.
19. Marketing for apps. Business and economics behind sales
20. illustrator
21. Marketing
22. ASP.NET?
23. Idea creations.
24. Objective-C
25. nice try, but no
26. I think these workshop is self sufficient.
27. Nope, they are actually relevant, just maybe lacking some depth.
Skip: 11 (28.2%)
Workshops were (mostly) meant to help the non-programmers level up, so it's not quite feasible to make them too advanced. The programmers are supposed to level up doing the assignments. 

Interesting ideas on what else to do. Yeah, I also take the point that we should work on improving the organization of some of the existing workshops.

Multiple Choice
6)We introduced blogging as a means to enhance learning and we would like to seek your feedback on it's usefulness. Do you think that this method to encourage reflections has helped you in your understanding of the material covered in lectures?
Rank Percentage

Nope. It's completely useless. I don't bother with reflections.


Tried a couple of times. I think it doesn't help.


Sometimes it's useful, sometimes it's not.


Generally helps for me.


That's the greatest thing about CS3216. All classes at NUS should introduce blogging.

Skip 0

The distribution is similar to that last year. It's fine with me that not everyone finds blogging helpful. In life, we cannot expect all things to work for everyone. As long as something works to improve the learning value for at least a reasonable proportion of the class, it is worth having.

Teaching/learning is complicated because different people have different learning styles. 

Multiple Choice
1) What is your overall impression of CS3216 thus far?
Rank Percentage

This is a horrible class. Truly regret choosing it.


Itís alright, but mostly painful.


Just like any other module


Itís a good module and I definitely enjoy it.


CS3216 rocks! Coolest class I have taken in my life.

Skip 0

Overall response to the course is a little worse this year compared to past years, but 85% of the class seem to positive about the course. 
2) What do you think you have learnt thus far?
1. Mostly programming techniques. Learnt a lot about php, and javascript as well as gotten much more familiar with frameworks like jquery. Besides programming,
Photoshop and illustrator. How to think from the perspective of others. Soft skills mainly.
2. TMTL = too much to list. LOL. But in general, other than the various languages, I think the bulk of the takeaway from this module thus far is the application of these languages and how best to work it to our advantage for the world. Design considerations, coding considerations, leadership, team dynamics etcetcetc Perhaps the most important lesson so far, is that I've learnt more about myself. My strengths, my flaws and how best to optimize myself. :)
3. I learnt things about life for a different point of view. You can say that I become mature such that my mother notice the change in me. The lessons especially about life is enriching that prompts me to think deeply and to see from different perspectives. I kind of become more open and know how the general mass think about several issues. It is not the programming or designing that I learnt most but the life lesson.
4. 1. programming languages related to web programming, html css js php ect. 2. how to work with others in a team 3. some design skills, photoshop, illustrator etc 4. how to look into an existing app. 5. pay more attention in daily life and find new ideas.
5. I've learned more from CS3216 than all of my other classes combined. I've learned not only technical stuff but also entrepreneurship, project management, team building...Obviously the best class ever!
6. A LOT of web development. Teamwork. How to have efficient time management. How to learn in suffering.
7. I truly regret choosing this class. I constantly feel like the most useless person on the team, a deadweight, having denied some other poor bugger entry into this module, and generally wasting people's time and resources. Don't get me wrong, this class is fucking fantastic and I am gleeful that I slipped through the cracks and gained the XP and levels, but this, I think, whoa. The nonprogrammers all have to deal with this, I think.
8. I feel I am pushed to learn new things all the time. I started to read more about IT, to think more about what are happening around and what I will do.
9. On the technical side, I've gotten to explore a lot of technologies I haven't used before. For non-technical things, gave me a better understanding of team dynamics and how to manage projects.
10. software development. team work technical skills good attitude
11. Time management, team effort and the technology limitation.
12. Learnt mostly web programming skills, and appreciation for some of the frameworks out there for HTML5. Also learnt that different group of people can have very varied mindset, and thus resulting in different workstyle for different groups.
13. Tons. I learnt PHP, CodeIgniter, Sencha Touch and Objective-C, which I previously have no knowledge of. Other than technical skills, I have also learnt how to put what I learnt from my work experience to good use. I encouraged a transparent environment within my team, where people should communicate their problems and update one another on what they have done. I find this approach to be really effective and it bonds the team together too.
14. How to work with non-programmers.
15. I need the right team to work thing out because I'm newbie! And I don't really hate web programming as I used to think. It's just that I'm not good enough! XD
16. Web programming and software engineering.
17. The existence (that's what you want right? =p) of Amazon, HTML5, some rewriting rules, local storage, etc2 and how to use them
18. Lots of project related and life related lessons. How to design for application developments. More information about tech related issues and how to think critically about them.
19. team dynamics, how to work with programmers and people from other countries.
20. Communications, I realise that my personality is flawed...
21. How to identify a real life problem and tackle it with other passionate fellows, see the market potential and come up with a practical business model, then split the work and execute.
22. Besides the technical skills of using Facebook API and JQuery Mobile framework, I think the most useful things I've learnt are the concepts and ideas shared in the videos and articles shared in the CS3216 FB group.
23. JQuery, HTML5, PHP Javascript, FB API, texting API. Basically: how to learn on my own.
24. Code for all the web stuff. Learn how to write a clear and well structured code.
25. Apart from new technical knowledge, I learned how to work in a fast paced environment and definitely learned how to learn!
26. Working with different team members. web programming skills good/bad ideas
27. Learnt about different languages such as JQuery PHP CSS HTML5
28. A lot of stuff about web programming. Importance of selling ideas. Product analysis.
29. * Working with people on product-generating projects (presentation, reports are not products). * Open up my mind to different point of view and way of thinking. * The fact that my programming skill is comparable to the other group mates -- gives me confidence. * Getting the drive to blog again. * General programming skills. * Finding people that share the passion and joy of programming / development. * Met all kinds of interesting people.
30. Mostly technical stuffs: PHP (kind of revision), setting up server, JS, jQuery, CSS, HTML5. However, learning to work with a lot of different people from different backgrounds is a cool idea, too :).
31. Mostly about team dynamics, project management and nothing about technology or computing.
32. A lot, teams kill, lots of tech stuff, lots more to learn
33. I have figured out what kind of life that I want to live
34. A lot. Team work, presentation skills. What is the software trend out there, what is going to be the next big things. How to pick up a new language in less than a week.
35. Go agile. AB testing. How to handle pressure. Idea's cheap, execution matters. Finishing strong. How hard have I pushed myself everyday. Damn and I don't even have to try to remember those above things. How cool is that?
36. learned a lot on my own, but some ppl simply take this class in order to act, learn nothing from those douche
Skip: 3 (7.6%)

Looks good to me. Seems to me that we're doing good again this year. It hardly matters to me what students learn as long as they all learn something along the way. CS3216 is not so much about stuff, but the process of learning. Learning comes in many different forms and different people need to learn differently. As long as students learn stuff in the class, I have earned my pay. :-)
Multiple Choice
3)Would you recommend this module to anyone else?
Rank Percentage

No, I wonít want them to suffer the pain I did.


Nah, I donít think itís worth it.


I have no opinion about this.


Yes, I will encourage anyone who asks me.


Of course, every NUS student should take this class!

Skip 0
We're doing a little worse than last year, but not too differently from two years ago. I guess we're operating at sort of steady state. Last year was just exceptional.
4) Please give us your comments and suggestions on how to make your learning in CS3216 more efficient and interesting.
1. Maybe can have some classes on knowledge exchange where the students with varied skill set in CS3216 can share their particular experiences with the rest of the class.
2. I prefer this module to be the learning module, not just introducing the existence of some cool features. So people can be a bit "enforced" to learn about the real things.
3. I believe in self-selection. Ben Leong won't suffer slackers or idiots, unless they're really good talkers (cough) and this class needs some good talkers as well.
4. I am quite sad that Google can't come.
5. More workload! I'm just kidding :P this is already very efficient and interesting.
6. remove non-coders
7. Already very efficient and interesting, lol
8. I get as much out of the class simply being around the other students. The motivation in the room is always evident. If there were a way to get together more, or have team code-a-thons that would be great. I would REALLY love a 24 hour quick app hack-a-thon with cs3216. Some really cool agile apps would come out of it.
9. I would really like the opportunity to know more people in the class. Perhaps tone down the assignments and introduce another one (I'm not sure whether this has been tried before). Or something like a 2-hour assignment (debate?) within lecture hours.
10. I like the talks given by those external parties. Also maybe slightly different objectives and grading criteria for non-programmers so that non-programmers have a clearer picture of how to contribute in the group. My experience so far being a non-programmer is that I feel quite lost sometimes looking for ways to contribute during the assignments.
11. Not sure how to go about this, but could have more lectures with interaction with Prof Ben so that it really doesn't feel like a (almost) full-fledged self-study module.
12. More structured approach for students from other faculties to contribute meaningfully to the projects. Most not integrated very well and some poorly distributed and preventing intended synergy of a good mix. Result is ugly apps or poorly coded app.
13. I think working together with teammates is a efficient way to learn.
14. Peer Appraisal can be made online earlier since I can't really recall every single memory about all my teammates in previous assignments at the end of the assignment 2.
15. I think it is fairly efficient and interesting as it is. :D Mini marathons would be extremely interesting. Like the hackathon etc. Where we have small groups in class code overnight and produce something extraordinary. :D
16. the most efficient way to learn is like what we are doing now, but doing a lot of repetitive work will damage this learning experience a little bit.
17. Introducing the external people to pitch is really good. May introduce more web developers to the class. If possible, we can work with the real web programmers in the final project
18. Some of the lectures are not quite relevant to the projects, and students do lose their attention for during these lectures. This is because the projects are the main source of marks for the students, and as a matter of fact, most students will be more interested in lectures that would help them towards in getting the marks. Thus, it would help if the lectures tie in more closely with the projects, maybe have prof to ask about the progress of each group with each lectures, which would then allow other students to be aware of each group's progress, and in turn hopefully motivate every group.
19. The first half of the course has been quite ok. I'm a bit confused for the final project, because it involves "extra parties" and the restriction on teams is quite loose (like no limit on number of members?). Hopefully it will work out well.
20. This is interesting enough for me.
21. Could force cross-faculty working, i.e. CS students do business and marketing while other students do coding.
22. Cut down on 1 assignment so we can put in more effort and time on perfecting the other assignments.
23. leave out the application seminar. I think anyone interested in making apps would have thought about this thoroughly already. no need to make everybody go through the motions.
24. The lectures can be held in the afternoon. Usually after the night class, a lot of groups stay back for project meeting. The meeting usually end up quite late and many a times, I have to stay overnight in school because I can't afford to cab home. In the days I need to cab home, I wasted a lot of money. The group can be randomized because I feel that it is really unfair. Even though, the course is based on HTML5 but I feel that when teams are formed, they usually consists of friends whom they have worked with effectively. And this is especially unfair when the group comes from SOC and taken CS3217 and everyone knows about each other coding style well. For those from other faculty, more often than not, they have difficulty finding a team. So grouping should be randomized so that it is fair for everyone and it promotes the "real life" situation where people have no power over who to work with in a team.
25. (1)Although the class size is small, it's not really easy to get to know everyone of the fellow interesting classmates given the time constraint. If possible we could have more then one pitching party, or just a party, to gather people and come up with some more cool ideas. (2)We've had quite a lot of experience passed down by former CS3216 students. If possible each of the team can have a former student as a tutor to share some ideas?
26. Less business stuff, therefore we are more willing to do some cool but currently may be useless (or no customer) stuff.
27. Invite more guest speakers to share their life/career experience rather than teach us things.
Skip: 12 (29.7%)

There are some people who think that the non-coders should be removed and some non-programmers who find that they don't know how to contribute. This, is a problem with the non-programmers. You see, CS3216 has had some really good non-programmer students in the past. In fact, in one year, the top student for the class was a non-programmer. We've never actually given instructions on how the non-coders should contribute, because we also don't know exactly. Much depends on the individual. The good non-programmers of the past have always been able to figure it out. The admission of the non-programmers have always been a bit random. It goes like this: first we figure out how many programmers we have. Then we throw in the designers. Once we have the critical mass of programmers + designers, we figure out how many "random" people we can take without causing the system to collapse. Among all the "random" applications, we try to pick the ones who look "different" so as to provide diversity. Diversity has always been a strength for CS3216.

The cost of diversity means that classes have to be held at night so that we can avoid scheduling conflicts. Also, the fact that I have many, many guest lecturers almost makes it a necessity for the class to be scheduled in the evening? People think that I like to stay back late at night or my wife really likes me to stay in school until late? If staying back late too costly, then figure out some other arrangement instead of staying back after lesson? Find another day? Harlo??  I'm actually quite irritated with comment 24 because it comes across as v whiny and particularly self-centred. I'm not very fond of whiners. Randomized groups are even more unfair. If some people are particularly good at networking, they are certainly ENTITLED to do better than the rest.  CS3216 is trying to encourage students to do things of significance. Things of significance are necessarily hard and failure in common. Under such circumstances, it is imperative that people learn to work smarter and quickly identify the good people and the lousy people and form teams with the strongest players so as to maximize the probability of success. THAT, is life. 

To respond to comment 18, I hardly care about marks. I care about learning. Students who don't care about learning are welcome not to come to lectures.

We actually have quite a few activities in CS3216 to promote interactions between the students. A lot of it is through free food at the workshops and the pitching party. Not sure that we actually have the time or luxury to do too much more. The "forced diversity" in the groupings of the assignments also help to promote interactions. I think it's not practical to have everyone know everyone in the class. Like I said above, we can have an end-of-semester BBQ to see how we have more time to chit chat and talk about life.
5) Any final words about CS3216? This is your chance to tell us anything you want that is not already covered by the previous questions.
1. Please don't stop this module =)
2. Really great module for trying out what I wanted to try doing. With the right marketing, this module has the chance to attract better students and produce better results.
seriously way too many surveys. and why the hell do we have to do peer reviews, it never helped seriously. Only weak ppl care so much abt how others think about him :<
3. Maybe a little more help or guidance would allow more submissions to be more complete, functional and cool. Honestly had high expectations, would love to have seen more awesome apps from my course mates so far.
4. I was quite disappointed to see that some of my peers were not putting in effort for the first two assignments partly because it was made known to them that both will not impact the final grade. Breaking such news would only serve to discourage people from putting their best into the projects. I personally put in my best effort and time into it and was really discouraged by what I witnessed :(
5. I hope to get some free Mac in coding camps like last year :(
6. Awesome stuff. I'm just sad that I took this module not at the rightest time with my commitments.
7. I like this module. My girlfriend hates it. I haven't seen her in awhile.
8. It's fun to work with awesome people here in CS3216!
9. I think the module is great. I think though that the people I've worked with aren't always the best. Can't expect that. But think non-programmers seriously do little while programmers die. Find it a little odd and is there a way to fix this?
10. I'm sad that this is the last offer of CS3216 :( I want to take it again badly...
11. This course structure is good. As a student, I am more willing to learn. I hope that this type of structure can be implemented in engineering because the module are so uncool
12. Its a really fun module and I hope it stays fun!
13. Rock on.
14. Cannot do better
15. CS3216 is really a unique module in terms of lecture style and assessment. I really enjoy this kind of self-driven learning, which is efficient and fun.
16. 3216 makes me think deeply about my life. Thx.
17. CS3216 is awesomely awesome. Thank you for the course.
18. Loving it.
19. It is painful for the students to have to do so many long surveys, which were supposedly optional, but always turns out being compulsory... I think the surveys could be shorten to just 1 to 3 very open questions, allowing the students to express their thoughts freely about the projects they have just completed.
20. I think the general direction of this module is about entrepreneurship and solve real problems to make money. This may not fits everyone who come here with a childhood dream. We should give more freedom in topic choice and less focusing on entrepreneurship.
21. The emphasis on peer learning is pretty awesome.
22. good call screening the students. they are truly outstanding and I learn a lot from my peers. possibly more so from the teaching staff.
23. I want more lectures! They don't have to be technical lessons (but if they are, it's even better!). The lessons can be about design, UX, or user's psychology. Case study by guest lecturer like one from VSee is also great!
24. CS3216 deserved to be 8mc not 5mc!
25. Too many assignments; it's merely about making stuff work, most end up with subpar quality for most assignments that will not survive the real world; its like the output of 3 separate project modules over a single semester all rolled into 1 module over a single semester.
26. One word. Awesome. :)
27. nice class
28. Oi, allow us to give general comments about the lectures & assignments after you ask us to rate, leh.
Skip: 10 (25.6%)

It turns out that this semester is very likely to be the LAST offering of CS3216. I would like to take a moment to offer tribute to the man who has contributed much to the fact that CS3216 even survived the last three semesters to begin with and that man is our TA Kok Wee. Without his hard work and support, CS3216 is *impossible* to teach. Maybe it looks pretty effortless with me doing so much "outsourcing", but frankly the preparation and execution of this class really involves too much work. Typically lecture-tutorial classes are *so much* easier to teach. All good things must come to an end and it's good to end on a high note. All in all, I'm quite happy with how the current semester is going. Most Final project groups, except one, seem to be on track. I'm not too concerned about that one because like I said, there's always one group that will self-combust every semester. It's like the law of nature.... and even in failure, there are lessons to be learnt.

Re: comment 2, it is not true that "Only weak ppl care so much abt how others think about him". Self-awareness is very important. Not many people at your age have fully achieved self-awareness. Almost certain the student who put down comment 2 hasn't, so peer appraisals are definitely helpful. :-)

Re: comment 3, I am not too concerned about completeness for the assignments, because the point of the assignments is for skills training, not product development. A lot more attention and guidance is given for the Final Projects.

Re: comment 4, it's actually a good thing. This allows you to identify the "slackers" and avoid them for the Final Project. There are quite a few highly motivated individuals in the class and these are the folks that people should try to pick as partners, not just in the assignments and Final Projects for this class, but probably as partners and/or co-founders in the future.

Re: comment 20, there is quite a large spectrum of Final Projects that are currently being done. Most of them are not going to make money, so I think this comment is invalid. The focus of the class is learning how to think through problems and identifying problems of significance. It turns out that much of entrepreneurship is about identifying problems of significance and not about wooly ideas.

As with all things in life, IT DEPENDS. CS3216 isn't the right class for everyone. For some, it's the best thing since sliced bread; for a small number, it's meaningless torture. Hard to believe, but we only have another 2+ weeks to go. I hope that everyone regardless of which class they fall into, would try to make the best use of the last two weeks to learn whatever he/she can.



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