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 2, 2008/2009) Mid-term Survey + My Responses

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

There are several reasons for this survey:

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

  • Allow 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 : 27/28

1) Why did you decide to take this module?
1. I thought it was going to be fun, and I can meet lots of talented people.
2. First, this module is so out-of-the-box and challenging. There is a certain form of unexplainable pride to be part of it. Second, I've strong interest in Internet Marketing and the development of social media. Most importantly, I believe this module will also enable me to cross the chasm between “developing interest” and “real action”.
3. Love at 1st Sight of the email about this. Serious, I have been looking and hoping to take this type of module which allow students to release their creativity and do almost "whatever they want". Possibilities are endless in this module. As I am not a computing student, I would also like to pick up programming on the fly and learn a lot one go rather than taking modules by modules CS module and slowly learn.
4. I want to find a practical way to start my dream and also want to make a difference.
5. This is a chance for me to try something I like. It turned out that I did some amazing stuff that I wanted to do for a long time. This is also a perfect networking place, we have the best of NUS students here in my opinion.
6. I wanna take some practical works on facebook & wpf, apply what I've learn about facebook social graph, and try to learn as much as possible from other people.
7. It seemed like a great challenge, an excellent learning opportunity, and a chance to meet more interesting individuals.
8. Frankly, my main reason was to take a non-examinable module that is fun and interesting. Facebook is at least more interesting than another computer methodology or accounting. And I didn't believe it when the lecturer said the workload will be very high.
9. I was looking for something fun and different. Looking for a place to meet and work with cool, passionate, and interesting people from all over the university, looking to make practical applications, and to test if I am up to actually making applications with the current standard of my art/design/programming skills.
10. Its out of the box ...crazy! Seemed like a nice opportunity to do something different, while learning something really worth learning. Moving onto new stuff, especially in programming was something that did not look forward to and i wanted to overcome that. Meet birds of a feather :) No one had intimidated me about this module (unlike some friends of mine) :P
11. I want to take something different from the rest of the NUS modules. This module happens to be different. I thought I will really learn something out of this module. Not hard skills, but soft skills.
12. For fun; to make something cool; I was getting lost in this life and hoped this module could help me find out what i truly love
13. Know more like-minded and un-likeminded people. Was hoping this will provide me with some insights into my blindspot.
14. To learn something new.
15. Taught by my prof.
16. Build up a good portfolio for the game industry (by doing a Facebook game). Force myself to learn new programming languages. Get familiar with working on game projects.
17. To be able to do something really cool!
18. Because i was interested in seeing dreams happen on web applications. I was searching for people who had the skills to execute some crazy ideas that i had, and happened to find this module. Oh, and the module description intrigued me :D
19. To learn about FB platform. Get to know people who are as crazy as me. have a fun time
20. I wanted to learn something really useful, something that you can see results almost immediately, unlike other courses... Who the heck encounters partial differential equations or triple integrals daily?!
21. Wanted to improve the facebook page that I was maintaining so that it can be a better marketing platform. Also to learn about social networking.
22. Because it is quite interesting, and I think the knowledge and skill I will acquire through the course will benefit my future work/study.
23. I like making a difference
24. 3216 is cool :)
25. Haha. This is the best module in NUS ma. The structure of the class is very dynamic, and it really opens our mind to many revolutionary ideas.
Skip: 2 (7.4%)

All in all, I must say that I have very motivated students this semester. From the answers to this question, it's quite clear that it's because they are here to learn. :-)
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 1

Hmm, looks like we're really doing something right this year with 90% of the students responding that they learnt quite a lot. The figure was only 60% for the corresponding survey last year.
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 1

It seems like the students found the assignments significantly harder this year. The most likely reason is that the WPF assignment is much harder than the Facebook assignment. Last year, the class had a Facebook overload and developed three Facebook apps during the first half of the semester.
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 1

To be honest, I already tried to reduce the workload from the last offering by reducing the assignments from three to two and by allowing larger groups. But to be fair to me, the basic requirements for the assignments that takes up 70% of the grade were really more than reasonable. As it turns out, like last year, students spent a lot more time than expected trying to get at the 30% of the "creativity" grade. 
4) Please let us have your views on the Facebook assignment.
1. It was extremely insightful considering that I have zero programming background. I'm in awe of my project mates who were resourceful to find materials to pull it together.
2. too many milestones. Probably can reduce a bit next time.
3. It's fun.
4. An fun filled assignment ... we did not know what we were up everything started well and we decided to complete the rat race to the best of our abilities ! Serious comments on the blog already.
5. Nil
6. It is a challenge start for me. It will be better if there are more pre-process.
7. Hurried start to the module, but it was good to set the tone from the on-start. Was a little cruel to have submission be on the week of CNY though. Grading on the coolness factor seems a little subjective. Might have been good to break down into various components.
8. I learnt a lot from the facebook assignment. I felt that the specification of a certain minimum number of implementations of a particular task was not very necessary (like 5 FBML tags at least).
9. A lot to learn. Much time trying to setup server etc. FB tools are quite easy to use.
10. Very tight deadline for an assignment. But i guess we really learn how to work with tight deadlines. For an ARTS student myself, I have really learned, a bit of programming here and there so I think its really a way to learn.
11. One thing about this assignment is that it's "live" on facebook, so there was a certain "pride" element attached to it. As such, we dedicated a lot of time and effort on it. Besides, it's the first assignment, so everybody is still very active and hyper. Suffering indeed bonds people, adding more fulfillment from this project. Good structure too, as it let us explore the different features that the api provides.
12. There are too few programmers
13. Its pretty cool. Everything on the assignments is pretty cool. However, it'll probably be better if the distribution of programmers can be more even.
14. Wah major stress. My group might have worked too hard for it, but that cant be true, other groups were also as mad. I still think we should have started with a simple and short hello world app ( 1 wk?) so we can get used to working with each other and understand the workflow for making a facebook app better. Then the big major facebook assignment.
15. Workload too heavy......... First assignment seems as challenging as a final project
16. I firmly believe some of the milestones are not realistic or reasonable and detrimental to a successful app. For eg, a fixed required amount of fbjs. If my app has no use for fbjs why should I include it for the sake of including and be marked down for uncreative use? Yes there was a disclaimer on the assignment specs, but please be realistic. When we hardly have time to eat/sleep and finish the work how to even find time to write a petition? Since this module prides itself so much in flexibility, I believe the milestone should be as general to all app as possible. I believe wpf milestones are much more general and applicable to any app.
17. Since last year this has been done before, it's structure is pretty good already. Nothing much else to say. Structure Excellent. Almost everybody submitted slightly later than the deadline, probably the time of the deadline wasn't very good. Maybe like the usual 00:00 deadline. A like 9am deadline or some other time maybe better. A deadline on weekend might be good too. So that if we stay like many days overnight to rush assignment then we won't have to skip class as we have the weekend to rest.
18. ok lah, facebook is not very hard
19. Awesome assignment. I like it that the deadline is particularly short. It forces us to learn the quick and dirty way. And once the assignment is over, we will review and consolidate what we have learned to be even more prepared for the final project. If the assignment is too long, people may slack, and defeats the purpose of learning. I think it is a magical number!
20. It starts the nightmare of this semester. The assignment itself is not that hard but what we want to achieve is somehow beyond our strength. Going through the whole process of building a web app is tough but amazing. Quick learn and quick deployment is challenging but greatly rewarded. Poor management and efficiency did cause serious problem and that is the first lesson to learn. Really glad to have a great team to work wiz..
21. It's a good warm up for the course. The assisgnment milestones are moderately easy, but final application delivery depends on students. In that way, it encourage us to work for the best without worry of milestones.
22. It was intense and painful. But nonetheless, I grew from the pain. I felt I have learnt a lot and am much more prepared for the Final Project because of the Facebook Assignment. The good thing is that it was given at the start of the term where things are still pretty relax for the other modules. I can still afford to spend a disproportionate amount of time on this module.
the compulsory milestones were easy, but we ended up pushing ourselves too hard
23. Provide the full codes (a php file) for a working hello-world, as we realised that there was problems with the setprofileFBML function thing that creates the sidebar box which we spent almost a day trying to figure out... Actually everyone was still quite disoriented at the first week, no one did any work until the 2nd week which resulted in a bit of a rush. Perhaps you can instill more fear (heh) during the first lecture so people get to work asap.
24. Too short time to form teams, come up with an idea, learn how to adapt to Facebook and then execute it! It would have been nicer to let us have a week of intro breather into Facebook and the other ppl in our class.
25. Facebook assignment is well-designed to guide the students, it also has a lot of room for creativity. Unlike other modules in NUS, you have to think a lot to get a high score for the assignment. This module is not about your grade, but it matters as only the best in class gets the top grade. There're some problems with the zone set up, some teams couldn't get the right set up & forced to use a different framework/tool. A better Unix guy would be very helpful for this assignment. Also the joyent thing should be send to students when they are selected for this module, it takes very long time for approval. So my suggestion: - keep the same structure for this assignment, you guys have enough experience to run this smoothly already. - better guide on zone set up. Ask some experts from SoC to help if possible.
Skip: 1 (3.7%)

Re: comment 7, I apologize that it was due during CNY. It's a scheduling problem. Didn't really have much of a choice unfortunately.

Re: comment 16, the milestones are very specific because the point of the assignment is to "encourage" students to try out the various features in the FB API. Perhaps a petition is too strong a word, you guys could just have sent me an email asking to be exempt from a milestone and I'd see if it's reasonable. So far, I have never rejected any reasonable requests and some groups were in fact exempt from some milestones.

Re: comment 23, no lah, that make the assignment *much* too idle. The Facebook assignment is simple enough so that there are enough programmers in the class who can satisfy the basic requirements by themselves. That's part of the learning. The WPF assignment is much more complicated and it would be probably be too much to ask for you guys to build from scratch.

Re: comment 25, I disagree that there is any major issue with the Zone setup. This comment must be from the team that struggled with CakePHP. You guys were not expected to use any frameworks. Groups that do the simple php thing shouldn't have big problems. What I should have done however was to have warned you guys are about CakePHP. One group of students last year also blew up on that. They couldn't get it working on SoC Zones either. Chris Henry is a Zones expert but the way. Kent is pretty good with Zones too.

Personally, I wasn't too concerned with the Facebook Assignment this year because we already had a lot of experience with the assignment last year. Was much more concerned about the WPF assignment this year. 

5) Please let us have your views on the Facebook Application Seminar.
1. It was a good learning experience. I learnt a lot from my peers. The only bad thing is that it was too rushed. Right after we handed up Facebook Assignment, we have only the weekends to work on it. It didnt helped that it clashed with Chinese New Year.
2. The motivation behind having the seminar was good. Given that the module is about evolving platforms instead of just Facebook though, it might have been good to have the option of doing a social app that might not be on Facebook. Grading on the presentation seems a little subjective. Might have been good to break down into various components.
3. Nil
4. it was a good learning experience
5. Not sure whether it will be better if changes the sequence of Seminar and first assignment.
6. It was fun to learn about what works and what doesn't work for consumers between 20 to 30 years old (my classmates). Seems about the only assignment that I know what I'm doing.
7. This is in between the FB and WPF assignment. Maybe it might be better to put it before the Facebook Assignment. Then we will learn from others mistake by analysing them only do ours. We might learn how to avoid those mistake and learn things from other apps before executing ours. But the problem is maybe if we do it 1st then we can we appreciate more about other apps. So not so sure which way better. Another suggestion is to let each of us present one very short seminar that we prepare during the holidays. Then we can also save time and lessen the workload during term time. Everyone was quite busy at that time already. So many didn't meet many times. The preparation was not a lot, but nevertheless sufficient. Presentation wise everyone did quite well. But not enough "WOW" factor. The blogging about it part it's quite cool. But reading through all the others blog and to give are very time consuming. Some people say the same thing and got dilemma which side to comment on. Overall. ok.
8. It is very engaging, especially for the blogging activity along with it. Other modules should follow this kind of style to promote engagement in the topic
9. Ok~ easy and student-friendly maybe we can do the seminar before the deadline of FB assignment
10. Useful. Super easy compared to other assignments
11. It was quite a fun assignment but the fun was taken out cuz we had to rush the previous assignment then this. Not much time was given to fully play around this.
12. Tutors could also give some comment and share their experience.
13. The idea of having us present was good! It was placed perfectly - just after we had completed assignment 1 and we gained a much better perspective.
14. It is quite well-designed.
15. Hey.. I've written it on the blog already. sorry feeling too lazy right now to copy paste too :P
16. Hmm... this seems kind of random because there is no real structure to doing it. Did not really learn much as well, because different teams seem to be too general when they talk about their application, it is hard to derive the main learning point.
17. Time is too tight. Immediately right after the deadline of assignment 1, the application seminar is due. Not forgetting, even after the deadline has past for the first assignment, many are still working on bugs to upgrade the programs to an acceptable standard. I believe it'll be good to provide some breathing space
18. It's quite fun to do research about other Facebook Applications, see what's popular now, find out why some apps succeeded...
19. Pretty useful lessons by looking at other applications on facebook. I've learnt many thing about UI & back-end stuff as well as some very good presentations from non-SoC students. - 20. Suggestion: make the session longer. Q&A would definitely be interesting. I feel bad for the teams that didn't have Q&A session.
20. It is fun.
21. Sometimes I think the order of things in these module could be rearranged. This seminar is useful but it comes too late for the first assignment.
22. Didn't spend a lot of time on this relative to the other assignment. Think every group had a good presentation with a focus on being creative.
23. It is the most styled n interesting seminar i have ever attend. A process of evaluation unveils the opportunities and push ppl think hard abt what the hell the web is.
24. I like! It was a rather rush job, but after the first time I was thinking that it'll be great to have a second presentation so we can show what we learnt from the first presentation. It was pretty fun and interesting. ^_^
25. It's a small scale assignment. Only presentation. But its a good seminar, get to learn from 1 and another.
Skip: 2 (7.4%)

The presentations we had this year were better than those we had last year. Perhaps it's because we had a better venue.

For all the complaints about timing, some of you guys should someday become a prof and have to plan a teaching schedule and you realize the constraints in terms of what needs to come before what and how space out assignments and deadlines, etc. Public holidays like CNY also wreck havok to the scheduling. The planning for this semester is already much improved from last year when I didn't quite know what I was doing. :-P

I thought the blogging thing was helpful too - but frankly the grading nearly killed me. :-)

6) Please let us have your views on the WPF Assignment
1. XIONG AH!!! Lol, integration almost killed the people on my team. There was really too little time, the software was extremely difficult (and non logical) to use, and we ended up creating something that I was personally quite dissatisfied with. Many of the cool functions that we initially wanted had to be scrapped.. It could have been so much more! :(
2. Its good to learn and experience a new platform for making applications. But considering the amount of time we have, 6 weeks for 2 assignments, I personally prefer to consolidate my knowledge on the Facebook platform by doing another application on it instead of trying out another platform.
3. Don't ever use WPF again. Use more popular platforms like Gears or Air which provide cross platform support. It's quite irritating to be forced to use Windows, though I'm a Windows user. Perhaps we have can larger groups to spread out the workload too. It's quite hard to learn a new platform, which also involve learning new languages...quite xiong to do that in a period of 1-2weeks.
4. The WPF seem to be a very hard programming language. But letting us learn a MS thing is something new. Though very hard but some might still be working with MS or MS product in the future. So it's also good to learn something on MS which is not very common. For those who didnt use WPF, they didn't have a lot of support (got some lah). So basically change from doing AIR to doing Gears cause they cant do certain things. But choosing these also grant them an advantage of doing more things than doing more programming as in WPF. So it's not bad either. Overall this assignment lacks a bit of creativity and some of the submission have little practical usability/
5. I don't really like this assignment at all. I don't like the idea that the application which I have painstakingly developed is not cross-OS compatible. Many shares the same sentiments as me, but have decided to choose the WPF platform because of the resources available and the very very tight deadline given (noting that tutorials have begun)
6. Lotsa things to be learnt. WPF is not trivial at all, esp if you had no prior experience in .NET
7. oh...WPF is terrible~~ but I learn a lot :)
8. I hate to install the WPF software. Its a very big hassle. 3 weeks to finish an assignment that we know nothing about, its tight deadline + learning a new software. So its very tough.
9. The WPF assignment was very torturous. Structure of the assignment wise, I think that the introduction of the marketing portion and interface design were good, but I'm not sure of the importance placed on it. Because in reality, everything is really driven by users' needs.
10. It's interesting. I like WPF technology and it's really a chance to test what I can play with it. Milestone are set the same way as FB assignment. This assignment encourage creativity and exploration. I'd also really like to develop my application to be the final project application.
11. I like the effort put in to expose us to new technology. Providing a code skeleton is the correct way to go because this app is way too technical and complex. But due to the short time, the creativity is very limited. The fatigue from facebook is also a problem.
12. It was great to introduce an added dimension to the module, and adjust the mindset of the class to look for "evolving social platforms" instead of just Facebook or other social networks. WPF was not friendly though.
13. I don't hate WPF...just don't like it because it takes more time to figure out how to do it rather than what to do. Even though i did do much coding in this case, instead of randomly hacking, I somehow catch the idea about xx is the future. The concept of online/offline app is not new to everybody but when working on this concept, it turns out to be another story. Anyway, install something built by ourselves is a bit cool...again, many thx to my teammates and we did an awesome job~
14. Awesome. This assignment proves that CS3216 is not just about Facebook. I like the idea of introducing other technology buzz words like Hybrid applications, Cloud Computing. The course is not about learning a software (for e.g., WPF) per se, but about learning the development processes and ideas relating to future trends of computing.
15. Luckily we did Google Gears, so we had a lot less problems to deal with as compared to the other groups. Its good that other programs (adobe air etc) were given as options.
16. The installation of the big files is too troublesome.
17. Too much stuff to learn in such a short time. Assignment was released late on schedule. No one is asking question because you can't skip the development to go on forum and ask and wait for the MS guy to reply. End up there's almost no support from MS. Suggestion: - Move to air/gears next year please. Air ~ Flash, Gears ~ JS so at least your staff can pick it up easy to help students. - Give students more time to work. 4 more days would be enough.
18. It was very difficult! To figure out how to get it to work on your own workstation was tedious and at the end of the install fest itself - I wasn't very excited about working on this one! But I did learn and disconnected operation is quite cool
19. I finally manage to appreciate visual studio.
20. Nil
21. I really wanted to jump out of the assignment into a world outside SOC. My visits to the restroom seemed like the only breaks I had !! And I did not learn a lot from the assignment... at least not as much as I did from the other was a struggle to make sense out of non sense. Overall I should say it was a nice exposure to WPF, though not sufficient enough to learn different interfaces. I guess the slogging is truly worth something , for I believe that its going to be the next gen thing !!
22. Again, much time was spent on setting up stuff. Workshop was quite helpful. Assignment wise, I think there isn't much type of applications that needed offline access. Most of the apps are mission critical apps.
23. This is the nightmare. Ashamed to say I contributed less to this than the Facebook Application. Was lost right at the programming beginning, but managed to do some market survey. Timing also clashed with the sudden influx of work.
24. It is quite well-designed.
25. WPF thing is quite cool. It'll be better if the duration could be longer.
26. the learning curve was too steep , because we had no experience with wpf before, it was quite hard to learn.
Skip: 1 (3.7%)

My general feeling is that the WPF assignment is a bit too challenging. The logistics were actually also a nightmare for us in preparing the Workshop. Yeah, I understand that many of you guys nearly died, but trust me that the teaching staff also came close. :-P

I apologize for the delay in the release of the assignment. There was a good reason. Yuen Hoe and Kok Wee were working out the sample app for you guys and they ran into some difficulties integrating with the SoC Virtual Machines. I already instructed the teaching staff to provide sample code and give you guys preinstalled VMs to reduce your workload and pain. If we had released the assignment on time without sorting out all these things, some of you might have run into more trouble. Also, my view was that it was good to give you a couple extra days to rest after the FB assignment and that none of you would likely have started working on it so early .... and we don't want the early birds to have to suffer more frustration because the sample code is not available and you had to figure out from scratch how to do the syncing.

At the end of the day, I still think that the introduction of WPF is not without its merits and that students did learn something in the process. I personally don't work with Windows much either - but Windows actually does have quite a lot of cool stuff. I would also like to take this opportunity to thank Apurva Lawale and Pratibha Kumar from Microsoft for helping us with the WPF assignment and workshop.

5) Did you find the feedback write-ups that you received after grading to be useful? If so, why? If not, why?
1. Yes, it is very detailed.
2. Useful:) as least let us know where can be improved
3. Yes, very useful, and very detailed. Thanks for all the detailed criticisms! It really helps in re-assessing our application and discussion new solutions to the problems raised. Tho' I still don't believe that my art is the best, personally I feel that Captain Cook's art is way better than mine. Fish Vegas is also pretty good. (Which is also why I decided to pick up illustrator during WPF..) ^_^
4. Haven't received them yet, but yes, I'm sure they'll be! It's good to know my own weaknesses, even tho it might sting a little!
5. The feedback for the Facebook Assignment was excellent. There didn't seem to be any feedback about the Seminar though.
6. Yeap. It indicates my weaknesses, and provides solutions on improvements. These are pretty important. These are sometimes what I meant by ... my blind spots?
7. Very useful, cause we are all not experienced and lack some common sense. It will help us a lot when doing the final project.
8. yeah~ very useful
9. The comments are quite true though most of them are not on my part (design)
10. It's useful with tips and hints for future development. Some advices also coincident with my doubts about the app, and make me double focus on that.
11. Yes, get to learn from the mistakes.
12. For mine, I feel the feedbacks were mostly obvious issues that our group already know but do not have enough time to implement. In a way the feedback does not taken into account the complexity and time of the app. Some app are much more complex and making it look fancy is probably not the first priority. Because making the app at least workable is the most important.
13. Yes, very useful. Because It revealed some problem of our own programming habits and the collaboration among team members.
14. Yes. The feedback for the Fb assignment was very good. Showed us that you cared enough to read through and understand the effort we put in - and that is very encouraging.
15. I have never seen a more detailed feedback write-up in my entire 3 years in NUS! Most of the feedback I got barely exceed 2 lines in other modules. Kudos to those who spent the time to write them. As a student I appreciate the amount of feedback that I received here. Most of them are spot on and some even provide recommendations to tough issues that our group faced. If every module in NUS bother to provide feedbacks like those in CS3216, students will be able to learn much faster and more effectively.
16. Yes, useful and I take responsibility for lack of contribution. It's tough not to feel old when blogging was not done as part of coursework as an undergrad. But it was good to read from people's views on things.
17. Certainly... Kok Wee's comments make me think about what I should do before coding. It turns out that coding is not hard and the core part is more likely to be how you actually code your mind. Faults are really there and the space to improve is there as well. Maybe i am a bit uncomfortable with dealing wiz the detailed part, ehhh, it is actually compulsory to think through it otherwise life is even tougher....sure, how to manage to project scale is another lesson to learn...
18. Nil
19. Quite useful, especially for final project.
20. The feedback is very useful. The staff read every-single-line of my code, I think. They provide excellent feedbacks on the code review, and they all true.
21. Not very useful. The feedback to a large extend did not apply to our ideas for the future and our first apps were based on what we had planned in general for the full-fledged app.
22. Yes. It pinpoint exactly what we need. The teaching staffs are very experienced and take great pain to think about our application and come up with the feedback.
23. Yes, because it's in very detail. Seems like you all check through all the codes and give us comments in extreme details. The feedback was also very useful.
24. Quite useful.
25. I think so, it helps us to do better for the final project
Skip: 2 (7.4%)

Glad to know that students found the comments useful. CS3216 assignments are extremely hard to grade and we spent a lot of time grading them.

Re: comment 4, I think you need to check your spam folder for Kok Wee's email. Or you can email Kok Wee. Maybe there was a mistake.

6) If you’re a programmer, do you think that the non-programmers are able to contribute effectively to the assignments?
1. They play a pivotal role in making sure the product is nice and marketable. But when there's too many of them in a group, the programmers suffer. It is still about writing programs, design is important but without a working app, there's nothing to design about. However, I feel that people who can't do programming and design are a total burden. I'm sure you know who I am referring to. Marketing skills are useless if 1) there's no product 2) there's a product but looks like crap. People who can only do marketing shouldn't be allowed to join this course, unless they are keen on learning the other 2 skills.
2. Yes. In both the assignments so far, I believe that interested non-programmers contribute equally.
3. Yes!! We needed and need designers badly and are trying to bribe the existing small pool of designers !! I am not sure about the biz oriented people though....
4. Yes but to a limited extent. More programmers are needed because the assignment are really very technical.
5. NA
6. Definitely.
7. Of course they can. As far as I can see, it is designers who lead a team ( i know Prof Ben disagree). When people randomly come up with ideas, programmer will response like " yes, i can do it" or "no, I cannot do it", then how? Who is going to make decision? I suppose designers should do and drawing pretty pictures is definitely not the only thing they can contribute to project work. Programmer struggling with code and they don't bother to think why I am doing this crazy stuff....
8. NA
9. Not programmer.
10. Yes, they are invaluable to the success of the assignments. I cannot design, but they can. However, they should learn more on how to integrate design into programming, that will make our (programmers') life a lot easier.
11. Depends on their roles. Good designers are very important, they make the front end look good. Report writers are also important. If you're neither designer nor report writer nor programmer, you're not useful in this class.
12. I am considered a semi-programmer. In both the WPF and Facebook assignment, the non-programmers are generally able to contribute pretty effectively. In my WPF group especially, one of the member is unable to code, design and draw, but he managed to secure a good marketing deal for our app with an external organization. I guess its about maximising each other's potential.
13. If they can do designs, then they can contribute pretty well. Unfortunately, other than that ... I don't think they can contribute too effectively. They do not provide much value add to the team, other than helping to write the report and stuffs. That is of coz, unless they are open and can provide marketing directions and all that.
Definitely, without designers, we can do nothing.
14. -
15. Okay, I happen to be a partial programmer. I think non-programmer can learn basic programming and contribute as effectively. It does depends on the team dynamics. The experienced programmers need to be good enough to allocate manageable tasks to the newbie programmers and guide them along.
depends on whether the non-programmer wants to learn and have a heart for the project
16. Yep, non-programmers did their best. Thanks to their effort, report and user experience of apps are no longer burdens to programmers. I propose the perfect team is 1 reporter/marketing/business man, 1 designer and 3 programmer with 1 programmer be a leader. If the programmers are good then 2 programmer would be enough, otherwise the jobs would be too easy (and can not utilize all manpower).
17. Designer can definitely contribute to the assignments cause a lot of designs is also needed. For semi-programmers, if their team got too many hardcore programmers which can do all the job then they can't really contribute much coz the hardcore basically can cover a lot already.
18. The designers made front end work more appealing with great designs and ideas for user interaction. It might have been good to have a component grade specifically grading the design of the application to let the designers be more motivated. The involvement of pure marketers might have been made better by involving them in product management type roles while the product is being built. E.g. market survey, product usability testing (based on paper prototypes), etc.
19. mostly. For games, designers are more important. For utilities, not so. Else they will just help with writing the fluff side
20. Nil
21. Some are extremely helpful who take care of all the reports, generate ideas, gameplay... so that we can focus on what we're best at. While others are simply free riders, who know sh*t about software development and hence contribute nothing
22. N.A.
23. absolutely yes!!!
Skip: 9 (34.6%)

I am glad to see that the majority of the programmers agree that the non-programmers in the course are quite important. :-) Part of the story in CS3216 is to make students aware of the importance of an ecosystem and that programmers alone are not enough. :-P
7) If you’re a non-programmer, what are your views on the assignments? Do you find it difficult to contribute?
1. There are always opportunities to contribute if one sets his/her mind to it. Most obviously, Help Guides and Documentation are always key to a good user experience.
2. For people between designer and programmer are hard to contribute. For designer it is easy to contirbute. The only thing is that at some point of time where the programmers are crunching for the final touches then non-programmers can do almost nothing but give suppport and encouragement.
3. No. I think non-programmer need to take the initiative to help in areas where the team needs help. However, I feel that the structure of the lessons and to a much lesser extent, aspirations, are too programming centered. It is not easy for non-programmers to know how to contribute. Of course, if they dare to take this course, they should know for themselves how they are able to contribute la.
4. n/a
5. As a half-programmer, I think its generally easier to contribute to the Facebook than the WPF assignment. The learning curve is steep but generally doable.
6. Yeah.. At times I felt really useless. I wanted to do more! Or maybe it was cos i had to rush the front end work, so when it came to my turn to slack everyone else was chionging and i really wanted to help. All i managed to do was to make one small scrollbar look pretty and work! >.<
7. -
8. Yes. A bulk of the assignment is too technical based.
9. NA
10. Hmmm yeah, I think its difficult to contribute. Because the whole course is programming heavy, as in all the milestones are based on programming, I always felt that even as an artist I'm not able to contribute to the group. I liked the UI milestone in WPF, because it allowed me to actually do "work" for the module. But my group members have been very nice and have told me that art is very important. >_<
11. I'm a programmer
12. We all have our roles to play, I'm a designer myself. So for me, its not difficult to contribute because I have to design.
13. Yes, difficult to contribute. This is a CS module afterall, so programming component is quite heavy. My rudimentary knowledge of Flash did not come in handy either.
14. The assignment allows us to bring to life our ideas that we had in mind for a long time. Nope, not difficult to contribute.
15. Comparing with programmer, non-programmer has a easier job. However, a team cannot work without non-programmer.
16. Nil
17. sorry am a certain point of the assignments, i seriously considered becoming a designer or something .... seemed like the work was more interesting on the other side of the fence ...haha :P
Skip: 10 (37%)

Hmm.... interesting - but it's good to know that the programmers all feel that the non-programmers are critical to their success in this course, even though some of the non-programmers seem to find it hard to contribute at times.
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 1

I'm glad that the lectures are generally well-received by most students. :-P I am curious to know how come there are 4 students who have no idea what's happening.... would encourage them to drop me a note at some point.

I think I did several things right this year with the scheduling of the lectures. Also, I suspect that "earn my pay" summaries also help reinforce the key ideas of the lectures.

2)Feedback for Lecturer Ben Leong.
1. Talks very fast, and it's pretty funny hearing his speeches. However, he speaks wisely, and i truly enjoy his guidance ... I think he is quite able to connect with my pattern of thoughts regarding visions and all. His comments (including those he left at blogs) are quite insightful, and can see that he truly listens to the student's feelings and ideals. Works hard, and leads by example. Quite the sort that I might categorize as a Life Teacher, instead of a simple module lecturer.
2. The "earning-my-pay" talks, though short, were very effective in bringing the class together to focus on the key issue. All these talks about social media can be very diverse and draw our attentions away from the key point. Most enthusiastic lecturer I've ever met (no one can fight). Very real in his interaction with the students too, hallmark of a wonderful educator. Respect. [Salute]
3. Ok lah. Very Evil. Yeah the friday facebook pitching session was fun but I didn't regret choosing the musical instead. ^_^ heez.
4. Don't know what to tell him...thanks for the module! Even though you appear evil, guess its for the greater good. I am seriously considering another opportunity to be your student...maybe for urop, if possible :) For sure, you are going to be someone who has made my academic life different and be one of those rare teachers who have inspired me to learn and love what I've learnt. But I would say that your feedback really demands us to work more than we want to.
5. A lot of motivational talk, gave a different view of what learning is about and I think this is good. However I feel he can be elitist sometimes, only talk about getting or being the best sometimes.
6. Full marks for founding the class in the first place. Building communities is the way forward for helping NUS students compete in the global economy. Without fail, each lecture/session is littered with "earning my pay" summaries that usually hits the nail on its head, driving through key issues surrounding the software development community.
7. Haha.. evil prof! But one who really thinks, and constantly challenges us to reach higher, reach for more. It makes things really stressful, but then it makes us learn a lot! What would be nice tho is a follow up module from CS3216 where we can expand on what we've done and spend a whole semester on a super duper crazy proj.......
8. Nice to be so spirited every time. :)
9. Blessed are those who are evil enough to make us understand that in the end, the suffering is worth it all.
10. I feel that dr ben is very knowledgeable and opinionated. He is very willing to share his experience with us. However, sometimes I think that he will impose his opinions and it is really very hard to change his mind. He is commendable for all the hard work in designing such special module and facilitating it. He is friendly and readily approachable. But like I said, his knowledge and life achievement may indirectly make him closed to other views of things.
11. I like the style of the class you made, and especially appreciate your effort to invite the guests to come to the lectures. I also really like the case studies written in form of story telling.
12. very evil~~
13. Damn cool ~
14. He earned his pay. He have very practical teaching style, which is something that most teachers need. He can strike a chord with the student and engage us very well. He not only teaches useful stuff, but at the same time, really make us KNOW that what he teaches is very useful.
15. Very good summary every time that let us understand what is important because every lecture there's too much thing said and to learn. Cut in at the correct time when guests speaks to let us have a clear mind of what is going on. Hardworking on reading at every blog and commenting.
16. always good....
17. Nil
18. Evil, but cool and helpful :) Like a daemon with wings~~
19. Prof Ben has a very unique way of teaching. He doesn't teach anything, he inspires students to learn. Its kind of playing cheat but for some reason if students are willing to put more effort/ kill themselves to learn because they are inspired, why not.
20. very enthusiastic, very knowledgeable, very nice to the students. Among the best lecturers I have known in my entire NUS life.
21. Simply the best lecturer. =)
22. Thanks for taking me in this class, and for constantly driving us to our potential. Best lecturer award should go to you. Thank goodness u r not my boss ;p else sure die of stress.
23. GREAT. Thanks for making the class interesting.
24. He is a very impressive lecturer with out of the box teaching strategies
25. Considering the efficiency, I would learn more specific knowledge in lecture.
26. He's smart, but not that kind of super-duper-smart guy. His strength is that he knows to influence people to do things, inspire them. Best lecturer in my NUS life so far. Keep it up ;). Suggestion: - slow down a bit when you talk, sometimes it's hard to hear what you are talking (you definitely want us to learn more, don't you? So speak just a bit slower)
Skip: 1 (3.7%)

Thanks for the kind words... some of you say the funniest things. I'm frankly quite amused. :-)

Re: the "earn my pay" speeches, they are really a response to feedback I got in this section last year. Some students said I wasn't teaching and was only doing logistics coordination by getting people to teach for me. :-) Okay lah, it's really not that big a deal to me what students say as long as I'm convinced that they are learning something. One of the issues that arose last year was that I realized that some students weren't really paying attention much to the lectures. Maybe the students just lack the maturity and listening skills (and I mean really listening out to what the speakers are saying), so I decided that perhaps a summary would be helpful to nail the idea ideas. The blogging thing also came out of this observation and my attempts to maximize learning value.

Re: comment 6, I had already responded to the student on this accusation of "elitist". This idea of trying to form teams with the best people is really not elitist but common sense. Í don't believe I need to say more because most students will figure this out. The courses at SoC involve a great deal of group work and every semester I have students who complain that they got stuck with teams where some people didn't pull their weights.

Re: comment 10, personally, I think opinionated is good. I would encourage all of you have to opinions about everything and to engage people who don't share the same opinions. Yep, it's quite hard to change my mind, 'cos I think quite hard before I form an opinion. To change my opinion, you would have to have a good case - but that's not to say that it's not possible. We cannot be wishy-washy and anyhow believe people. Sometimes, it's also good to defer making up one's mind until we have enough information or have thought hard enough about the issue.

3) Suggest other topics that should have been covered for the lectures (if any).
1. basic marketing 101 eg. covering the 4Ps (price, product, promotion, place). afterall, the software has to generate income right?
2. User study
3. It was said that in the development of software, major part of the budget goes to marketing. This idea was reinforced several times by Dr Ben. I thought this course will be made perfect if there are topics with regards to the marketing aspect of this nature.
4. Nil
5. NA
6. n/a
7. More WPF/Air/Gears workshop. It's new, so don't expect people to pick up that easy.
8. Google Gears!!!!!
9. Instead of lectures and workshop, we could have 2 workshops per of shorter duration. Guess that would be more useful. The lectures really did not interest me and I attended them to have a nice break and because we need to blog about it later....anywayz I realised that to blog, I just need to pen down what Dr. Ben summarises at the end and copy paste it onto the blog post.
10. I think a few courses focusing on layout design and art for the non-programmers might be useful. I am not particularly worried for designers because many take this course with proficient design and photoshop skills. But I worried for the marketing/business people that may really have problem finding how they can contribute. Adding new marketing-related aspirations does not really solve the problem because anyone just need an hour to think and write.
11. Practising sales pitch, marketing, business skills. People's skills.
12. Lectures could have been more interactive and fun.. haha.. after all we barely meet the rest of our classmates apart from those in our group, so perhaps that's what made us more sticky to our original groups to begin with!
13. Can't think of any offhand.
14. Hmm.. how about production or workflow? I feel that these always get neglected. I
15. Right now the class is very end consumer focused. Maybe it is because that the facebook itself is end consumer focused. I think WPF has great potential if students think about uses for enterprise use. After all there are more mission critical apps on the enterprise side and more mobile warriors
16. intro to new n cool tech :)
17. With regards to "evolving platforms" technologies, Twitter might be the only big missing piece, but the skill sets taught to us through the assignments more than prepares us to tackle this relatively new platform. Perhaps more of a module suggestion than an additional lecture, mobile application development would be excellent as an extension to this course. That aside, it might have been interesting to do a lecture/workshop on fund-raising for tech start-ups to let the class know how easy it is to get seed funding in Singapore. This could perhaps even latch onto the once-a-semester Garag3 Open House to minimise efforts.
18. I think more than enough topic has been covered.
Skip: 9 (33.3%)

Glad to hear that students have internalized the importance of sales. Unfortunately I have to admit that sales is really not my forte, even though I can probably do some rudimentary selling if required. People should go and take classes at biz school or read books. My sense is that a lot of it is also common sense, i.e. understanding the psychology of the people you want to sell to and using some creativity to figure out how to sell to them. There are probably also some standard techniques.

CS students like to do startups, but one of the problems is that many of them focus too much on technology and not enough on sales. As long as I have alerted the students in CS3216 of this pitfall, I think I have done my job.

Re: comment 8, actually I already realized that some of you are doing exactly that - but it's not a real problem. Proves that you're minimally paying attention to what I say and taking notes.

Thanks for the other ideas. I will think about them and see what we can do in the future. The main constraint is that we only have a limit amount of time. A semester is really quite short. :-)

8) 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. most are really basic. should cater for experienced programmers also
2. UNIX: sufficient, but if we have a whole sheet of what exactly to do/ a simulation would be better.we jsut copy and you explain what is happening. XHTML/CSS: sufficient. PHP/MySQL: I think can teach a little bit more. JS/AJAX: maybe a little more on AJAX WPF: this is super tiring and many can't finish.It's a little too tedious to do this.But the workshop is well prepared, just the nature of MS products.
3. I attended all the workshop. UNIX - CSS - PHP - MySQL - JS - Flash (you guys missing this one) workshop are very basic, actually I don't need to go. I can't give feedback as I know most of the stuff before hand. WPF workshop is totally useless in my opinion. It's too complex to make it in 1 day. All I did was just copy/paste without understanding the code.
4. Attend all except for AJAX. WPF was fun as I finally had hands-on access, I got lost in the rest because no access to the system.
5. I attended all of them and have learnt a lot! Thanks. :)
6. I attended almost all of them, but wasn't able to understand much.. I did get the CSS and AJAX bit pretty well, or at least the concept of it, (which is cool cos then i could understand what could be designed) as well as WPF (because it was really nicely guided) but for the most part, the instructions given were programmer-oriented, which i feel should be the way for this module cos u're teaching the programmers to get better, not the non-programmers to become programmers. All the same, it would have been nice if there could have been a detailed guide (in plain english) for each tut, which non-programmers like me could refer to before class :D
7. Nil
8. UNIX, XHTML/CSS, PHP/MySQL, JavaScript/AJAX, WPF i have attended, all were quite useful WPF and JavaScript/AJAX were particularly useful for our projects
9. all helpful wpf workshop too long
10. Very useful. Some of those with specific examples/tutorials/WPF such as AJAX and WPF are more useful because we get firsthand experience with the topic. I think the XHTML/CSS workshop should be done with a tutorial. It is cool for non-programmer to see how the code translate into images. It is kind of hard to structure such workshops with half the class programmers, while the other half is not. Instead of striking a balance, maybe splitting into two groups might be good.
11. All. They are quite useful for beginner like me who are new to web programming.
12. All of them. The workshops are pretty basic. Good to get off the ground. Provides a good starting point for newbies. The contents and followable and sufficient. However, as with technical lectures, one can't benefit much from it if they don't do revisions on the workshop's contents. That'll be the student's responsibilities.
13. I attended all of them. They are really very useful especially for a non-programmer like me. I don't like coming to school on Saturdays but I know I cannot miss the workshop because of the stuff I am going to learn.
14. all due to the time limit and schedule, the content covered is very basic and some things we have already learnt beforehand. Advanced topics like AJAX is interesting. WPF is painful but Kok wee is excellent.
15. All. UNIX: The unix one was good, and I learnt a lot from them, since I was trying to mess around Mac and Linux myself. XHTML/CSS: I've been trying to figure out this for a long time and I was quite happy to find most of my questions answered in a single day of workshop! PHP/MySQL: I've learnt this myself before so I didn't really find them useful. Javascript/AJAX: I was a little afraid to tread into more languages but this workshop showed me that it wasn't that difficult at all and threw away the illusion that jQuery and other libraries were difficult to use. WPF: 16. No one had any real idea what the heck was really going on...
17. UNIX - workshop is very fast, can be quite confusing sometimes (for a non-programmer) XHTML/CSS - only basics are taught, so quite easy to follow. PHP/MySQL - confusing! but maybe because I wasn't listening hard Javascript/AJAX - only basics are taught, so quite easy to follow. WPF - all we are doing in the workshop is copy and paste code, so there's not much to learn although TA did try to explain the code, I feel we could have been more independent.
18. Unix and wpf. Very informative and helpful.
19. UNIX. It is too advanced for me.
20. Attended all workshops other than XHTML/CSS. For the PHP/MySQL, JavaScript/AJAX, it might have been good to have everyone do the W3 tutorial before the workshop so that a little more depth can be put into the workshops. The WPF workshop was really well structured, but those that worked on the Desktops seems to have learnt more WPF related lessons whereas those on laptops seem to be stuck trying to fix installation related bugs.
21. I attended all of them... They are alright.
22. UNIX and WPF. They're not too in-depth but covered most of important materials needed for assignments.
23. I attend all of them. Fairly, they cannot deliver everything in 2/3 hrs then...What workshops do really matters since it opens the door...and then long way to go loh~
attended all...have provided feedback to the respective tutors. Please keep the 1st workshop before the first assignment is released....i mean the one that had intro to extracting info from facebook.
24. PHP/MySQL - perhaps can teach mainly using examples. Javascript/AJAX - It helped to reinforce knowledge. WPF - GooD
25. WPF - Good. lots of info to learn PHP-MySQL - NOt that useful because it is quite similar to other things i have learnt.
Skip: 2 (7.7%)

The workshops were meant to be quite basic because they are meant to bring some people up to speed or at least expose them to the material. CS3216 is not really about teaching stuff, but about opening horizons and pointing people in the right direction to learn stuff on their own.

I am also quite reluctant to increase the class time. CS3216 is already quite heavy.
9) If you missed one of more of the workshops, please let us know why you didn’t attend them. Did you already know the material or was it due to scheduling conflicts?
1. Flash/Actionscript - something I already know and conflicting schedules.
2. N/A
3. NA
4. I already know them or I have other module work to do or rush this module's assignment.
5. as mentioned above, workshops are quite basic so i don't feel that bad if i miss one or two of them
6. Nil
7. Chinese New Year
8. N.A.
9. Scheduling conflicts. There are other commitments that I've neglected for too long.
10. Ajax - Know the material
11. i did not miss any.
12. I am a good student, I come for all the workshops and ate all the free lunches.
13. I didn't attend XHTML/CSS, PHP/MySQL, JavaScript/AJAX because I've known the material.
14. Conflict in schedule
15. Flash. Scheduling conflicts.
16. n/a
17. Due to schedule conflict as I promise something before I receive that the email stating that the workshop will be held on the 1st saturdy of the 1st week. Hopefully next time can pal nearlier and inform earlier.
18. I attended them all
Skip: 9 (33.3%)
We had A LOT of problems with the scheduling of the workshops, which is why I scheduled all the workshops on Saturdays. I am most grateful to my most brilliant and dedicated teaching staff for agreeing to take time off to teach on Saturdays.
10) Do you think we should conduct other workshops? What should they be?
1. Perhaps a few more on the more advanced stuffs, like various PHP frameworks or some very useful javascript libraries..?
2. I think that workshop for semi-programmers should be conducted to increase their competence against other hardcore programmers. Maybe can be held during the vacation so that they can  learn before the course start to work on the assignment.
3. Nil
4. Project management. Coding style. Software engineering.
5. no suggestion at this time
6. Hm. How about preparing art for applications? Like the differences between raster and vector, how to save art, best resolution for screen.. etc. This will help optimize art for the applications so that loading time etc wouldn't be so long.
7. A design-intensive workshop :P
8. how to write an executive proposal for VC funding.
9. C# classes for WPF
10. I think we should have a BBQ. Just to de-stress and have fun.
11. more workshops on flash and photoshop
12. No. But the workshop usually come too late. Like flash and php, they were after the fb assignment. If they were before it will benefit more.
13. You should. Even though it is almost impossible for ppl to make use of the stuff in their projects, the good point is to show the choices we have to build our app. What should they be? ennn, it is unfair for you guys to teach everything in a few hrs but may be helpful to recommend some good tutorials/books/random stuffs...
14. FBML/FMJS. Alot of what we learn in CSS/AJAX, we find it hard to apply them into facebook due to compatibility issue.
15. Marketing of software or games. Maybe can be done hand-in-hand with the Electronic Gaming module or Biz Sch.
16. Yes. Some C#, one more workshop on working with visual studio and .net platform.
17. So far so good.
18. Advance JS/AJAX would be very interesting. Also UI design workshop (I don't know how this one works, probably provide some concept about design?)
19. Hmm i think flash should have been covered earlier, but that's just a personal opinion. I do think that a more in depth UI/UX workshop could have been held, but that's really just a personal opinion (esp since the learning curve for UI is really steep)
20. Fund-raising workshop (See Q18)
Skip: 7 (25.9%)
The idea to work with another course sounds pretty good. :-)
Multiple Choice
11)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 1

I think that blogging really works *much* better than the IVLE Discussion Forum. I understand that the foreign students are likely to have a harder time with the blogs because they may not be quite so comfortable writing in English. Nevertheless, I would like to convince them that if they are not comfortable, they should still write more to improve.

The importance of writing cannot be understated for ANY profession. I didn't believe my teachers when I was younger - but I'm quite sure that the students will understand someday, even if not now. :-)

Personally, blogging also takes a toll on me, but the way I see it. I already know the objective of each class. Sometimes we get it right, sometimes we don't. Either way, blogging a summary at the end of each class allows me to reinforce some of the ideas and also make-up for things perhaps not covered quite so thoroughly. Not every student is inclined to blog, but for those who do so seriously, blogging gives me a very direct channel to understand how the students thing and respond to some of their ideas directly.

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 1

Wow, looks like CS3216 is quite well received this semester. Perhaps I'm doing something right. :-)
2) What do you think you have learnt thus far?
1. life, marketing and teamwork
2. If you are dreaming big, here's your chance.
3. - refreshing views from coursemates on what social networking should be - programming - there are many roads to success..
4. I've learnt that it really pays to keep your eye out for innovations and to think: Learnt to stop thinking that ideas have to be new to earn money, because some times simple applications can be those that churn out a lot of cash. Learnt more about how social networking sites work and how existing applications encourage user interactions and how to apply them to our own applications. a lot lah. these are the main ones. ^_^
5. 1. That I can learn languages in a single day. 2. I've realised how resilient I am. 3. How to split the workload and work as a team 4. How much I can love and hate programming simultaneously ! 5. How to avoid working on other modules...aka how to copy from friends as much as u can, to survive thru the semester till the recess week/reading week. 6. What a semester long rat race feels like!
6. That MONEY CAN BE MADE IF YOU GOT THE IDEA. The skill of picking up stuff by yourself? After being forced to learn several languages on my own.
7. Be more mature. Time Management. Abillity to sleep less. The lastest and future trend in computing and web programming. Facebook users type and how to taget them. A little of UNIX, HTML/CSS, PHP/MySQL, JavaScript/AJAX, WPF, Gears Working in a group with extreme short deadline. Writing blogs with useful content. Being able to reflect on things learnt, and noting down them. Being able to learn programming with the internet itself. Realising that sometimes forum are better than API page. How to analysing things critically. Presentation skill. Increase Self esteem. Dare to be different.
8. 1) Varying programming languages 2) More knowledge about how to talk to hardcore programmers
9. New platforms evolve everyday. The ones who survive know how to learn; and execute well.
10. the BIG picture. through the talks given by Ben and many external speakers. and the skills and exercises that help me kick start of my future study/work in web programming and hybrid application
11. never rush to do something...think through it first and do it better. marketing plans...sorry no. what a life can be when u r mugging in COM1 for a few weeks. It is hard to master something but even harder to start doing something. Don't do much and do what u can manage to do.
12. Apart from the technical aspect, I think this is one of the few modules I have taken that allows you to do something and learn by DOING. Things like team dynamics and project management are definitely additional skills that I have acquired in this module.
13. - Lessons of business, team management, and future technology and possibility. - Over ambitious kill. Especially when I don't know skill of my peers very well, and the time for fixing/covers any mistakes are unrecoverable. - Shout out loud when being stuck. So, teammates can help and cover. It's disgusting to get stuck, let time goes, and excuse to extend deadlines later. - Optimized for 5 persons team formation is 1-1-3: 1 sales + 1 designer + 3 programmer. For 3 programmer, 1 to be the lead programmer who should care about the app as a whole, communicate with designer and other programmers to integrate design and all components together. 2 programmers to make components can divide their jobs by application functions or application layers. Application system, coding convention, application architecture should be brainstormed before all the real coding happened.
14. TONS of things. Cant write all of them offhead. But I know the lessons learnt will all come back to me when I need to apply them in the future. But the best part is learning about ideas. How we can think of ideas that makes a difference and actually implementing them!
15. Teamwork (i can't live without great programmers!), the (time) constraints of programming, and that while ethics may be important to me personally, other people might not adhere to that same rule. So watch your back. lol
16. - Learnt how to deal with non-programmers. - Learnt how to pick up new language in such a short time. - Basic concept to design social/web app. - Whole bunch of entrepreneur stuff. - Networking.
17. Some technical knowledge about web app team work
18. Experienced truly the power of team-work. Interface design and rationale from case study. Game design from inputs from my team-mates. How simple and seemingly stupid ideas can work wonders. Realizing the potential of connected identities across the web.
19. How to work with others
20. That people are important. I have to keep reminding myself about this. Looking for people.
21. I must say I learn a lot but at the same time I also learn nothing. In other words, info overflow. I will elaborate in the latter question on this module as a whole.
22. I believe I've upgraded my programming skills to some extent. That's not too important though ... What's important is that I've seen new ways of utilizing them to ride on opportunities. Like Xiao Nei, Google etc ... Opens my mind, widens my vision.
23. the price to do something you like how to survive common sense how to fail other modules easily :)
24. Dare to dream.
25. Nil
Skip: 2 (7.7%)

Seems like people are learning stuff. The interesting thing is that different people are learning different things. This may seem a little weird, but it's to be expected for CS3216. Frankly, I also learn stuff and different stuff each time.

Comment 21 is interesting. Will respond to it in the next section too.

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 1
I guess the results here are to be expected given that the course is better received this year than last year. :-)
4) Please give us your comments and suggestions on how to make your learning in CS3216 more efficient and interesting.
1. I think that I already spend way too much time on this module than is good for me :P meaning that this methods of teaching and assessing are efficient and interesting (they got a lazy person like me to work :) )
2. Discuss more with groupmates. Take less other modules. Must manage time very well and do work at your own optimum time of the day. Have fun playing around with groupmates while working.
3. I cant think of any. Maybe make this into a 20MC module so we can immerse 100% into it.
4. more external speakers on the latest technology in the field.
5. Blogging is good... but more discussions pls! ^_^ I like discussions.
6. less pressure less things to do like blog
7. Don't allow people from this class stay overnight in COM1...
8. Having individual projects I guess will really force every individual to learn something. While this may sound unfair to non-programmers, they are the ones who really get to learn something. Ultimately grades shouldn't be everything, I feel that grades should not be revealed through out the course of the semester. The students in the class are actually competing more than learning. Think about it, NUS is all about competing. See who can do better, lets face it we are all here because being selected for this module makes us feel proud of ourselves and most importantly there is no bell curve. We are all here for the A+!
9. Hmm... more efficient? Frankly, because most of us are new to this, perhaps it would have been better to throw us into a prerequisite module with many mini projs that cover a wide range of scope, showing us the possibility of execution and opening up our imagination, then chucking us into CS3216 for a hardcore execution of just one HUGE proj. It's a personal opinion, but it's just that i felt that we could have produced so much more if we had more time to intensely work on one proj, and really explore and execute super cool possibilities. Like prof Ben said during our meeting - how to make a difference in just 12 weeks? Well, if we didn't have to spend so much time on the learning curve, perhaps we really could make a difference!
10. Hmm..I think stuff that is used 1 time should just be provided instead of the team trying to figure it out. Server and development setup is an example. Also encourage people to use frameworks, libraries because after all, reading other people's code is an efficient way to learn.
11. - Keep class ratio at about 60% programmer, and 40% non-programmer. I think it'd be the golden ratio to have good team :P - Keep inviting guests to our lecture. I really appreciate this :)
12. Nil
13. Workload may be a problem for everyone. In my opinion, the reason why the problem is here may be not only for the really heavy workload, but also some problems related to class organization.
14. I think we should give every group a chance to talk about their Facebook and WPF application. There is a lot to learn from this class due to the calibre of students in it. The Facebook Seminar is a good example. It is very encouraging after seeing each other everyday in COM1, we get to see/show the app that all of us have been working so hard on.
15. I feel that this module really is more practical and useful than any other modules. However, there are too much things being taught a short span of time. The result is confusion and not knowing what is important. Dr ben always talk about NUS students jus going through the motion and not learning. I must say the same happened in this module. Yes we learn a lot but there is so much info and work that we are also going through the motion and not appreciating it. With such short deadlines, our minds will be preoccupied with rushing. Learning so many life "philosophy" and having not enough time to slow down and think through will just render it as a passing knowledge. I seriously believe this module should cut down on it's pace, workload and scope. I think no other module gives two week for deadlines. The quality of work required is such that the amount of effort needed is huge. I think this is partly our fault too. We are in an arm race to be the best. However, I feel the teaching team should do more to prevent this. Continues in next the question.
16. i thought the peer survey could be done using online survey templates eg surveymonkey, instead of using word doc. easier to key in that way and for the info to be consolidated.
17. It might be cool to do instant Twitter-ish feedback during each lecture to allow conversations to start even while it is on going. This perhaps might also help the presenter to readapt the presentation if he/she decides to do so. Each tutor overseeing 1 or 2 groups might also be a good idea to measure progress (this vs. the mid-assignment report) and coach the group should any coaching be needed.
18. let's groups have a session to advertise their apps which of course they are damn proud of
19. too much not going to fill
20. Have a breathing space between assignments
21. I think the blogging method was efficient and interesting. But perhaps there are some ways to aggregate the blogging efforts together, and then extract out summaries of important points. The reason is that everybody is contributing, but these contents are too scattered, and that makes it hard for effective learning. (Google Reader is only a "Reading" tool)
22. - Add in bell cure for this class. Definitely help to increase the competitive. Or at least said so, so students will work harder.
23. Perhaps have a lesson on time management..? or.. have more team members? or other ways to reduce the workload. Most people made SOC1 basement or other labs their home during the final days of the assignment deadline. This shouldn't be the way things should go. It is still a 4MC module after all. When some people cheong, more people are compelled to cheong too. And this results in everyone cheonging. So if you don't cheong, you feel you are slacking. When in fact, you are already neglecting other modules and most importantly, your loved ones, your family and your health. I know a couple people have fallen sick over the past few days.. Some had relationship problems because they had no time for their other halves. This problem needs to be at the top of the list of problems to be addressed
24. Status quo is ok.
Skip: 3 (11.5%)

To respond to comment 6, I did think very carefully about whether to introduce blogging. Yes, I understand that the workload for the course is already quite high and introducing more work will not help increase my popularity (though fortunately teaching is not a popularity contest). Given what I have seen thus far, I think that blogging does have its learning value.

Re: comment 8, there's already some individual work - remember the app seminar critique? However, for the programming assignments, ít's really not practical and it should be quite clear why not. While you're right to say that I expect all students in CS3216 to learn something, I don't expect them to learn the SAME things. What they learn will ultimate depend on themselves and how much effort they put into learning. Suffice to say that I don't expect non-programmers to become programmers after attending this course, though they better have a good understanding of how the programmers work. For the programmers, the course offer you the chase to try out new cool technologies, like the FB API, WPF, Google Gears, etc. Again how much they learn depends on whether they actually take the time to do those things. I was just telling some students the other day that a degree is not the same as education. It's possible to be educated without a degree and perfectly possible to be an un-educated graduate. It's about learning and learning how to learn, not about chasing dunno what degree.

To the comments that we should have more time and slow down. Well, there's a balance that needs to be stuck. On one hand, we only have 13 weeks in a semester, which frankly, is not a lot of time. On the other hand, I'm also trying to earn my pay in teaching you as much as I can during this short period. It is quite unlikely that any of you will be taking any future modules with me since I'm the CS1101S teacher for I suspect a couple more years.

Re: comment 23 on workload, my point is very simple: the workload is caused by the quality of the people in the class. The assignments are quite simple (as many of you admitted) and if people want to put no effort into doing them, you will still pass the class. As it turns out, CS3216 is typically taken only by the very best students at NUS and the nature of the best students is such that they are perfectionist. There's always a choice in life. You can decide not to take CS3216 - or if you decide to take CS3216, you can decide not to work. The latter will of course make you hated by your coursemates, but there's always a choice.

Re: suggestion 17, I think it's a good idea. Lemme think a little about it and discuss with the teaching staff. I'm very stressed out already and I'm not sure I want to do Twittering, but I'm open to trying new things. :-P

BTW, this midterm survey is not for fun. I actually do take the responses and comments seriously and may choose to do things differently depending on what I perceive to be of the greatest learning value. I was earlier having a hard time deciding whether to do Google Web Toolkit or talk about Open Source for week 12. Given your feedback, I have decided that we will do a in-class Final Project presentation/discussion. Essentially, each group will come up and present what they have done for the Final Project by then and the rest of the class will comment/critique and we will have a discussion. Not just that, a small handful of you will be anointed as facilitators for each of the projects. Your job will be to act as the facilitator for the discussion of the project that you're facilitating. I will be asking for volunteers over the next couple of weeks. :-)

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. CS3216 challenges and enforces a steep learning curve for most (if not all) in the class. The community building aspect of the module could extend beyond the class (bi-annual application challenge with a prize money??) to help sustain the ecosystem. One of the best classes in NUS ever.
2. This class rocks, very fun. Though it's really challenging for the student to let this co-exist with other modules, it sort of forces them to be better in time management, and sieve out the un-important things in life. I believe that when i look back years down the road, this experience will be one of those "life-changing" or influential moments.
3. It has been a fun but hectic time, but way too busy.
4. If I had more modules this semester, I would seriously consider if I really want to take this class.
5. 4) How many hours per week do you estimate you spent this class? A. At most 10 hours B. Between 11 and 13 hours C. Between 14 and 15 hours D. Between 16 and 18 hours E. At least 19 hours ARE YOU KIDDING ME??? I spent no less than 50 HOURS per week for this module. We camp overnight at COM1 almost every day. Super crazy but definitely one of the funniest, sickest and most memorable period of my life. Love every bit of this module!!
6. Seriously. I really hope more modules like CS3216 is offered in NUS. It is very practical and makes learning enjoyable. I truly believe in what I learnt. I especially like the part that this module's students are all handpicked based on merits rather than CORS bidding. It really makes the class more vibrant, and I really see that all the classmates are really remarkable people.
7. I think I'm pretty satisfied ... really looking forward to the final project. And yes, I'd like a BBQ get-together.
8. Can we have another final survey after the final exams to reflect on the whole sem? Don't put survey during midterm break. Put it after the midterm exams week. Less stress. Deadline dont put 00:00. Day time would be better than everyone rushing till late night. We are one of the best module in NUS, must be different in a good way. Not all the faculty receive the email. Missed some talents. Final project almost everyone stick to their original team. NOT FUN><. didn't get chance to work with more people and the total application created was less. Less creativity space was exploited as the opportunity of doing another thing was given up.
9. There are too few programmers in this course
10. I would never regret taking this module :)
11. Please make it an 8MC module. SERIOUSLY!
12. Nil
13. Oh, my top wishlist item! Can you increase our module credits? hahaha.. then maybe we can take one less module during the sem and let us really concentrate more on CS3216! :P
14. I think Dr. Ben should be more careful when picking up people for this class. There're some free riders in the class, there're some 1st year students who quite limited in term of skills also. To enjoy this module, you should be expert in at least 1 filed: design/coding/writing. Otherwise it would be a painful experience for you. And certainly not worth it. Also, Sharon shouldn't be admitted, as she can't contribute much to any project. Probably can let she attends the class, not to takes it. No offence.
15. As the module is very flexible and open ended, there is no "market-rate" of projects. Thus, students do not know when to stop. It is not just about making choices but making a level playing field. A market spoiler will make other's effort pale in contrast but it is not fair that the others have put in an equal amount of grade A effort in all modules whereas the market spoiler gets A and do badly in other module. In any case, the module encourages an arm race culture without a proper way to brake it. I believe most if not all students' other modules have been greatly affected by cs3216. I feel this module can be more beneficial if it knows each place as a 4mc module and that this module is not taken alone. Focus on something and go in depth than breadth. In a way, even after warning that this module is heavy, I feel cheated by the 4mc. It is definitely more than that and in a sense I was short changed. Please raise the mc or cut down on the workload. In closing, I will like to say this module has great potential but I would not recommend it to a friend if the current workload is maintained. Sometimes "Less is More". =)
16. it is a very challenging class to take, I don't remember my science modules being so demanding. but it is very fulfilling to build an app and every week, our brains get picked...learning seems so fun again. I do feel quite often that I've bitten off more than I could chew. actually all tutors for this module are very helpful, and they speak English! You have no idea how bad in English my TAs for the Science modules were.
17. I learnt a lot, really. People in this class are very nice. =)
18. ah? isn't there a final final survey when the semester ends? ^_^
19. Please offer more MCs for this module! Please get more designers for the class. Programmers are sufficient. Let students set the 16-20 aspirations themselves, while you just give the topic of the aspiration. That way the aspirations will be related to the apps.
20. No
21. this survey is quite long.....
Skip: 6 (23.1%)

Re: suggestion 1, application challenge is probably not feasible since people are generally busy and after chionging for CS3216, app development is particularly attractive. Of course, if I coughed up a big enough prize, say $1 million, this would work, but you guys are going to have to wait a bit for your poor prof to have that kind of cash to burn. :-) Lemme see if I can persuade Kok Wee to organize a BBQ. We can have a end-of-course BBQ and invite past CS3216 TAs and students to join. Maybe have a beat-boxing and bottle blowing talent show.

Re: comment 15, the workload is determined precisely by "market rate" as I mentioned above. Your perception on this mc business also needs some "fixing". I have no idea who you are, so I can't tell how many classes you have taken. Statistically, you are likely to be at least year 2. Lemme ask you a question: in your opinion, is the learning value of a class correlated with the number of mc's? My own experience in school is that there is NO CORRELATION. Lemme ask you another question: how much did your parent pay to put you in school? What's the point? Just to get a degree or to have you actually learn something? The point I'm driving at: the students who are concerned about the mc's for the class SHOULDN'T EVEN BOTHER to apply for this course. So please tell your friends about the workload and recommend that they don't take the class if you think they are like you and need to take classes that "know their place as 4 mc modules". :-)

That said, it has never been my intention for CS3216 to suck up so much time that the students end up failing our modules. Am seriously trying to balance and moderate workload while maintaining learning value. In the next offering (if there's a next offering), it might not be Facebook and WPF again. It might be something else. The truth of the matter is that I also have very little control over the workload. I do my best to come up with something that I hope would maximize learning value and the workload will be what it is. I'm well-aware of this "Teach Less, Learn More" mantra. The focus is "Learn More", not "Teach Less". Someone was commenting earlier, I don't teach anything. :-P How much better can you get?

Re: comment 8 about people sticking to their assignment 1 teams. This is actually something quite unexpected. There was a significant amount of musical chairs last year. The situation is likely caused by the fact that there are fewer students this year and because I allow people to form bigger teams.

The last comment I want to make is about the composition of the people. Some people say there are too few programmers, while others say they need designers. So who is right? BOTH. For some strange reason, the composition of the teams are not very balanced this year. Some teams have too many freshmen; some don't have enough programmers. But this is not new. It also happened last year. Well, I did tell you guys in NO UNCERTAIN TERMS at the beginning of the Semester that the key to success in CS3216 (and probably in life) is to form teams with the right people. May this be a lesson to all. Then there's also these complaints about slackers and "free-riders". Again, this will ALWAYS happen. Every semester will be the same - and life too will be like that. You will all meet people you think are quite idle and cannot stand. What I can say however is that the people who got admitted to this class are people that I believe have some sort of talent, and the potential to become a "somebody". Whether they actually get somewhere later in life, or become mediocre nobodies is a decision that they will make for themselves. CS3216 is merely the beginning of the rest of their lives. This is their chance to start on their path to greatness - but they can certain decide to not take this chance to "make a difference" and just be a slacker/"free-rider". Maybe it's not that they want to be slackers, but they have other things in their lives besides CS3216 and so they can't devote the time. There are many reasons for what we see in life. We just have to learn to work with who we get and size people up quickly so that we don't get stuck in teams with people who don't pull their weights. Such is life lah. :-)

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