<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6752972069568649940</id><updated>2011-11-20T06:23:50.621+08:00</updated><title type='text'>Facebook@NUS</title><subtitle type='html'>I am the prof for &lt;a href="http://www.comp.nus.edu.sg/~cs3216"&gt;CS3216&lt;/a&gt;. I made my students blog for the class. I decided that it is important to walk the talk. :-)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1947593186614377262</id><published>2011-11-08T16:59:00.012+08:00</published><updated>2011-11-09T00:47:31.391+08:00</updated><title type='text'>The Last Lecture That Could Have Been Better</title><content type='html'>CS3216 was inspired by the &lt;a href="http://video.google.com/videoplay?docid=-5700431505846055184"&gt;The Last Lecture&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Just delivered what is likely my last lecture for CS3216. It is hard to describe the feeling. Strangely liberating is probably the best I can do. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In terms of delivery,  it could probably have been better. I committed the elementary mistake of trying to cover too much ground. I shouldn't have made, but I did. &amp;gt;.&amp;lt; Ah well. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I guess it's hard to resist the temptation to try to tell students everything under the sun, including the meaning of life, when there's a nagging thought that this IS the last chance.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;School is hardly the most efficient mechanism for learning and lecture is hardly the most effective way to have students learn. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My only consolation is that it is not likely that students would remember much of what happened tonight a couple of years down the road (which might also not be a consolation depending on how we look at it. &amp;gt;.&amp;lt;). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I guess my goal tonight is to provide students with some sense of the history and motivation of CS3216 together with an overview of the issues that I think matters. Most importantly, I wanted to pay tribute to the people who helped make CS3216 happen, especially long-suffering TA Kok Wee.  :-)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;In the spirit of walking the talk, I will also finish my final blog post for the semester tonight to summarize some of things I covered:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(i) The world today as we know it is broken. I believe that it is important for people to try to understand WHY the world come to be broken. My blame Wall Street, but that's too simplistic even I might not think much of bankers. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I really don't think that it's the fault of anyone in particular that caused the world to spiral into its current state. To me, it is really the consequence of what I believe are core structural issues, couple with many Prisoner-Dilemma-like situations, where people are naturally led to incentivized to do the "wrong" things. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think it's important for students to think about social political issues from a higher-level because I think it helps to put things in perspective. We live in a world much better than ourselves and I think it matters to understand, without judgment. The social pyramid I described is not a matter of good or bad. It just is. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Human societies have always self-organized into social pyramids in one way or another. That is merely a function of life's penchant to be unfair. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Am I hoping that one of the students can make a difference and put things right? Truthfully, not really. Truth be told, I'm not entirely convinced that the inevitable decay that we see happening around us can necessarily be stopped. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From where I'm standing, it seems to me that the future is pretty bleak for most of the developed world. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We've reached a saturation point whereby the good old days of 8% growth are over. At 3% growth, I think life will become harder for most people. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Deepan said he didn't agree and for all our sakes, I sure hope that he's right. I guess my point is not that we should be pessimistic about the future, but that it's important to be mentally prepared for hard times 'cos "unmanaged and unrealistic " expectations on serve to create unnecessary disappointments. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(ii) Before people can try to make a difference and perhaps save the world while they are at it, it is important to work towards self mastery. Because we can even have a chance at changing the world and external environment, I believe that it is important to look inward and make sure that things are in order. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The process will never be complete and starts with self awareness. That's one of the reasons why we have peer appraisal in CS3216. Obviously, I also took the opportunity to belabour the importance of 10,000 hours and deliberate practice. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(iii) Finally, I hope that students will focus on creating value. Why? I think that vocations that create value will tend not to contribute as much to the current downward spiral that is the reality of the world of the world we live in, compared to vocations that do not. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As we had discussed, value is obviously subjective. Something of value to someone might be completely worthless to another. I have a certain disdain for wealth arising not from the fruits of one's labours that generates value for another. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this light, I think stockpicking creates absolutely no way whatsoever and the same goes for making money off property. I see no reason why a pile of stones and bricks sitting quietly should generate significant amounts of wealth over time. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem with wealth arising from sources other than hard work is that it encourages greed. On the other hand, I believe that those who are able to invent new machines and groundbreaking services that solve *real* problems are entitled to become rich. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I believe that real value creation should be rewarded in monetary terms, commensurate with the value created. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In addition to these three points, I think I said a whole bunch of other random things today, but I suspect that these three things are what I tried my best to articulate today, but perhaps not very well. Today was not the best of days for me. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The funny story for today is that ex-student Linxi turn up today, and I was completely embarressed that I couldn't quite recognize her. Well, in my defense, I haven't seen her for a very long time and she has started working. She really looks quite different in make up compared to back when she was a student. We just had a rather long chat and caught up over GChat. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;Even though the class is effectively over (except for tomorrow's poster presentation, which I'm quite sure will turn out *just fine*),  I hope that my students will not be strangers once the class is over. They are always welcome to come have coffee with me. :-P &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Personally, I don't think I did do as good a job as I could have done today, but in the same spirit of forgiveness that I had espoused, I will get over it and start working harder on my last lecture for CS1101S this Friday. We need to give ourselves some room for mistakes. :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After teaching for many years, the fact remains: there are better days and there are not-so-great days. Preparation helps to increase the probability of good days, but we cannot be completely sure that we will always give a good lecture. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What I do however is that I always try my best and I try to learn from the mistakes so that I can do better the next time. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;While we can do everything within our powers to try to succeed, success is not always an outcome that we can control. The one thing we can control is how hard we try. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is my hope that my students will always do their very best, in whatever they choose to do. :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I look forward to an interesting poster session tomorrow. :-P &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1947593186614377262?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1947593186614377262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/11/last-lecture-that-could-have-been.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1947593186614377262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1947593186614377262'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/11/last-lecture-that-could-have-been.html' title='The Last Lecture That Could Have Been Better'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-3025949993603647585</id><published>2011-10-29T16:24:00.003+08:00</published><updated>2011-10-29T16:44:40.324+08:00</updated><title type='text'>The Last Lap</title><content type='html'>It is hard to believe, but we are almost done with the class. Ten weeks have passed and we have moved into the last phase of the class with the Final Project.&lt;br /&gt;&lt;br /&gt;The poster session will be happening in two weeks.&lt;br /&gt;&lt;br /&gt;Many weeks ago, I blogged about the importance of &lt;a href="http://cs3216.blogspot.com/2011/08/finishing-strong.html"&gt;finishing strong&lt;/a&gt;. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is over the next two weeks that we will see the true mettle of the students. We're reached a crunch time where most classes all have their assignments due at the same time. The time management skills of most of the students &lt;a href="http://justhalf.wordpress.com/2011/10/28/project-and-time-management/"&gt;will be severely tested&lt;/a&gt;. Those who survive, will emerge stronger. &lt;div&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;We have been pushing the various project groups to deliver a prototype and push out their projects for real users to test. The various projects are in various stages of polish and hopefully, the majority of them would be pushed out by user testing by this weekend.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;User testing is a very important component of CS3216. CS3216 is not just about software engineering, though there is a lot of that. The real goal of CS3216 is to provide students with an opportunity to identify and solve a meaningful problem. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Often times, students are somewhat immature and are not very good at articulating and/or identifying a good problem. They often get confused by the difference between a problem and an idea. Ideas that don't solve an important are really not very useful.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the reasons why I brought in a whole bunch of local entrepreneurs to give a talk last Monday is because entrepreneurs are folks who are good at identifying problems and also executing solutions. The sharing session was quite long and I was pleased to see that quite a number of the students stayed behind even after the session was over to chat with my entrepreneur friends. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Back to user testing, it was quite clear in our Final Project discussions that many of the students, while competent software engineers, do not have sufficient product development experience and have not spend sufficient time/effort thinking through the issue of user experience. The process of user testing is supposed to help students understand how users think and how to design better products. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We've also just finished our midterm survey and it seems that many of the students have learnt quite a number of things thus far and things are going relatively well like past semesters. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Final Projects that we have this semester are very diverse. While we only have two weeks left, CS3216 students are very competent and are capable of doing a lot in just two weeks. I am hoping that once the projects get pushed out to real users, the live feedback would serve to inspire the students to iterate harder to improve their apps. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-3025949993603647585?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/3025949993603647585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/10/last-lap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/3025949993603647585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/3025949993603647585'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/10/last-lap.html' title='The Last Lap'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-2847972281783635999</id><published>2011-10-19T19:02:00.028+08:00</published><updated>2011-10-21T20:20:59.134+08:00</updated><title type='text'>Why Occupy Vancouver?</title><content type='html'>I am currently in Vancouver attending a conference. The weather is nice and the city is very beautiful. It is very nicely landscaped and there's a lot of greenery all over the city. It reminds me a lot of Boston.&lt;br /&gt;&lt;br /&gt;It is interesting that my hotel is situated right next to the Occupy Vancouver protests.&lt;br /&gt;&lt;br /&gt;As I was mulling over what I should be blogging about this week, I thought that maybe I should take a break from typical exhortations about how to scale websites and why security is important and talk about something higher-level.&lt;br /&gt;&lt;br /&gt;I was once asked by an ex-CS3216 "what is the meaning of life?" Perhaps it might be helpful to reflect on this question with the current Occupy protests that are happening not only in Vancouver, but all over the world (except perhaps Singapore, where it failed miserably), and reflect on what is really going on.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;First, there's the TV coverage on the protesters. It is not very hard to understand why people are unhappy and taking to the streets.&lt;br /&gt;&lt;br /&gt;One protester said that all she wanted was a job and a future. She does not know how she is going to make enough money to pay for her study loans and bring up her two children. The unemployment rate in Vancouver is about 7% at the moment.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="fullpost"&gt;Wandering around the city, it is not obvious that things are quite so bad because there are lots of "Hiring" signs all over the place. I met this owner of a boutique and he was complaining about how the taxes and laws are making it very hard for the businesses. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;Hiring is very difficult and there are local laws that prohibit the hiring of foreigners if employers are not able to "prove" that the job cannot be done by a local. The owner however complains that the locals are lazy and not willing to work hard. He said that the young go to college and do fluffy degrees like psychology and expect a high paying job. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;Doesn't this all sound familiar? Classic tussle between labour and capitalists. &lt;/span&gt;Who is right? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Does it matter? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The sad truth is that the world today is that it's structurally broken. How exactly do the protesters think that protesting will change their lot? Many claim that their Governments are not listening. The implication, obviously, that if someone listened, someone will be able to change their lot? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Is that true? Sometimes, it is important for us to re-examine our assumptions. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have thought very hard about the shit hole that the world is currently in. The future is really very bleak. I do not believe for a moment that the Europeans can figure out how to get out of their current mess. America is very screwed and I really don't think that their lots will improve in the short to medium term.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Singapore is actually holding out remarkably well in the midst of this insanity, but it is a question how long we can continue to hold out before also getting sucked into the mess. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I see the current situation as a deadly combination of three factors, that, together, cause what I call a spiral of death: (i) expectations; (ii) politics; and (iii) rising costs of living. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are many things to learn in life, some of which are found in unexpected places. One of principles I learnt while doing HR for the Singapore Legal Service many years ago is called the "Principle of Equal Misery". The general idea is very simple: people are not unhappy necessarily because of how much they have, but how much they don't have, relative to others. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Critics of the Singapore Government have often cited the increasing the Gini coefficient as evidence that Singapore is doing it wrong and people are "suffering" because of the rising income inequality. The Singapore Government has always pushed back by citing growth figures and how our numbers show that our people are very much better off than folks from most places in the world.  Who is right?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Obviously, I support the Government's position and I don't think that the Gini coefficient matters. I think that what matters is whether lives are improved in absolute terms. However, it hardly matters what I believe, because I represent what is known as the "rational" camp, which I suspect is in the minority.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Lots of people are unhappy because sometimes (most times?) life is not just about reason and I can illustrate this with an example. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Every now and then I go jogging to try to keep fit and as a valiant attempt to pass my annual IPPT test, and as I jog, I would inadvertently pass these big houses. When this happens, one question often pops up, "Why are these people staying in such big houses while I stay in a HDB flat? Are all these people smarter and more capable than me?"  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Perhaps I might be arrogant, but I suspect that the answer is no. It is not unlikely that I am smarter, faster, more articulate and more hardworking that quite a few of the folks who own these big houses. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If so, then should I be staying in one of these houses instead of my dinky little HDB flat? :-) However, the reality is that if I stayed in my current job as a prof, I would never be able to afford such a house (at least not on a prof's salary without striking lottery or something :-)). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The obvious answer is then, obviously, to quit my job and to find a higher-paying job or start a company or something.... but this is where I stop myself, "Wait, why do I want to stay in such a house anyway?" Sure, it might be cool to stay in a big house, but am I really unhappy with where I'm staying now? As it turns out, no. So *why* am I thinking about buying a bigger house to begin with?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Life's complicated and what I have done with this example is to illustrate the issue of envy. Sometimes we might get lulled into thinking we need something we don't actually need just because someone else has it. Most people also have an inflated sense of their self-worth and think that they are better than others. When others have something that we don't and we don't think that they are better than us, we think we deserve it too. :-) That's the problem with the Gini coefficient. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The trouble with politics in the modern world is that we don't have enough benevolent and wise dictators and democracy is a failed system. The problem with democracy is that politicians need to be popular to get elected and to do so, they need to do what people want -- and the trouble is people often don't want what is good for them. Look at Steve Jobs, did he every trust the people to know what's good for them? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But this is the reality we live in and unfortunately I don't have any bright ideas for a system of Government that works better than a democracy, so we learn to live with what we get. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The biggest problem that we have in Singapore is the problem of success. It is my view that lots of people are unhappy because they are always comparing themselves to folks more successful than themselves and they have unreasonable expectations. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They expect to do better than their parents. They expect good jobs with high pay. They expect to own their own homes simply because their parents could afford to do so and they expect their kids to go to college. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To be fair, it is not entirely unreasonable to want progress and for their kids to do well. Why is that unreasonable? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is where the original "unreasonable" needs some qualification. By unreasonable, I don't mean that it is unreasonable for people to have these expectations, just that it is unreasonable for the system to be able to fulfill these expectations. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For example, Singaporeans want their kids to go to college. They believe that the college degree is a ticket to a better life.  It is partially true. The degree is a pre-requisite for many jobs. But what people fail to realise is that why college degrees and higher paying jobs are correlated, it does not necessarily mean that there is causality. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The trouble with the generally working class Singapore is that most people still don't understand that employers don't pay for degrees. They pay to get the job done. The degree is only useful as a signal for them to hire fresh graduates. Students with good grades are either (i) smart; or (ii) hardworking; or BOTH, and these are helpful traits in workers. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But how many people do we think can win elections by telling people straight in the eye, "you really shouldn't waste time getting a degree, you're not as good as 50% of the other people". There are always exceptions and late bloomers who get a degree late in life and do very well. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As more and more people get degrees become PMETs and expect higher paying jobs, we have to ask ourselves what the structure of our economy is going to look like. If we don't want to let more foreigners in, then who are going to serve in the restaurants and man the stores in the shopping malls? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The recent policy to increase university intake by another 1,000 is a disaster waiting to happen. I am not convinced that it will make our people happier in the long run. The trouble is that telling people to quit whining about not getting into university and to be content with their lot in life is not effective way to win elections. That's where politics fails.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I really do think that a very very important aspect of successful governance for the next 2 decades is to get people to wake up their idea and to be grateful that they have a roof over their heads and that they are not starving. People should really go to India and see how some of the folks there are living. WHY do Singaporeans deserve better and to be able to retire and not wash dishes at the hawker centers when they grow old? Many Singaporeans, probably because of their hard work and/or good fortunate will live relatively comfortably till the reach their graves, but does that mean that EVERYONE deserves the same?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This brings us to the last problem and that's the cost of living and this problem is *REAL*. There's some truth in that Singapore has already done pretty well compared to many other major cities in the world, but I really don't think we did well enough. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The biggest problem is property. Property is not a "normal" good,  or the sort that is easily described by the supply-demand curves in Economics 101. The demand is obviously somewhat inelastic because everyone needs a room over his/her head. Prices are however completely out of whack.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Does it make any sense? From the fact that there are very few people on the streets, we know that there is enough accommodation to give everyone a shelter. The problem is that the high property prices feeds into the high rental costs and also high mortgage payments that feeds the increasing costs of living.  The problem is exacerbated by the fact that many of the young are impatient and do have understand financial planning and credit. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Personally, I don't think much of property. People just need a place to stay. A property sitting idle and not doing much shouldn't be allowed to generate extra-normal returns. When people are allowed to make a lot of money without creating value, we are creating a moral hazard for society. So it is with Wall Street. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Obviously, I think that the right thing is for the Government to exercise its policy tools to drastically bring down the property prices. Many people will probably agree, except that they probably don't understand that such a move would be v bloody all round and be political suicide. This further underlines the problem with politics. Sometimes what is beneficial for the greater good simply cannot be done because people need to get elected. &amp;gt;.&amp;lt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what's the moral of this *really long* story? :-) That is something I hope that the students will think about. Perhaps post some comments and we can discuss. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-2847972281783635999?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/2847972281783635999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/10/why-occupy-vancouver.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2847972281783635999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2847972281783635999'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/10/why-occupy-vancouver.html' title='Why Occupy Vancouver?'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1119635697427609771</id><published>2011-10-06T22:02:00.008+08:00</published><updated>2011-10-07T00:02:18.680+08:00</updated><title type='text'>On Excellence and Death</title><content type='html'>&lt;div&gt;Steve Jobs once said:&lt;/div&gt; &lt;blockquote&gt;We don’t get a chance to do that many things, and every one should be really excellent.&lt;br /&gt;Because this is our life.&lt;br /&gt;Life is brief, and then you die, you know?&lt;br /&gt;And we’ve all chosen to do this with our lives.&lt;br /&gt;So it better be &lt;b&gt;damn good&lt;/b&gt;. It better be worth it.&lt;br /&gt;Be a yardstick of quality.&lt;br /&gt;Some people aren’t used to an environment where excellence is expected.&lt;/blockquote&gt; &lt;div&gt;&lt;/div&gt;&lt;div&gt;This comment was apparently made in 2008, when the man was almost certainly fully cognizant of his impending demise. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is not my purpose to bury or to praise the man. I would just like to take this opportunity to discuss the topic of excellence. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some folks think that excellence means starting a billion-dollar company or perhaps winning the Nobel Prize or something like that. I don't think so.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I actually agree with Steve. The brutal truth is that life is often nasty, brutish and short. Unlike a computer game, one doesn't have the luxury of reloading life from a saved game. We only get one shot at it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this light, it is my opinion that excellence is not so much a destination, but an attitude. We all have to decide what we want to do with our lives and give it our best. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When Steve says that "everyone should be excellent", he cannot mean that everyone can be excellent at anything. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Different people are different and it is in that diversity that mankind has successfully reached our current stage of modern civilization. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The trouble is that many are stuck trying to conform to what are society's norms and standards. Parents want their kids to become lawyers and doctors because they think that guarantees a good life. Many students want to join banks after graduation because they want to make a lot of money. Another girl I know is desperate to get married because her friends are getting engaged and are queueing for a flat. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My hope for my students is that they will find the courage in themselves to do something that they find meaningful and work towards becoming excellent at something. Anything.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dr. Martin Luther King once said, “If life makes you a street sweeper, be the best street sweeper you can be” and there is a &lt;a href="http://www.homeofheroes.com/profiles/profiles_crawford_10lessons.html"&gt;story about a janitor&lt;/a&gt; that makes this point in a very poignant way.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, I really don't think a life needs to be long. No one gets to decide how long his/her life will be (unless he/she decides to end it prematurely) so it's not really worth fretting over. How many people live longer lives fretting over it? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We should just learn to be grateful for each day we get and do things according to our good conscience (and be mindful of our mortality). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am grateful for what I have. I have a lovely wife and two beautiful daughters and get to decide what to do each day that will make a small difference. I count my blessings every day. :-)&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1119635697427609771?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1119635697427609771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/10/on-excellence-and-death.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1119635697427609771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1119635697427609771'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/10/on-excellence-and-death.html' title='On Excellence and Death'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-7722630376376858375</id><published>2011-09-12T14:35:00.004+08:00</published><updated>2011-09-12T14:51:51.062+08:00</updated><title type='text'>On Sales</title><content type='html'>While CS3216 is not a marketing class, one of the key points that I would like students to take away from the course is the importance of sales.&lt;br /&gt;&lt;br /&gt;While the hope that is that good engineers will be able to build insanely great products that will eventually "sell themselves", the road to success is hard and often times all we have are not a real product, but a dream.&lt;br /&gt;&lt;br /&gt;To get to the actual product, we might first have to sell that dream.&lt;br /&gt;&lt;br /&gt;First, come the idea and then comes the execution. Sales is part of that execution.&lt;br /&gt;&lt;br /&gt;I would like to put on record my gratitude to Yanjie for taking time off to teach a Presentation workshop last Saturday. Sadly, attendance wasn't that good.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;I would like to take this opportunity to highlight two classic TED talks that I think all the students should watch and understand: &lt;br /&gt;&lt;br /&gt;&lt;iframe width="560" height="345"  src="http://www.youtube.com/embed/1nYFpuc2Umk" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;iframe width="560" height="345" src="http://www.youtube.com/embed/qp0HIF3SfI4" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;In addition, Yanjie highlighted the following clips during the workshop:&lt;br /&gt;&lt;br /&gt;&lt;!--copy and paste--&gt;&lt;object width="526" height="374"&gt; &lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="allowScriptAccess" value="always"/&gt; &lt;param name="wmode" value="transparent"&gt;&lt;/param&gt; &lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talk/stream/2008/Blank/BenjaminZander_2008-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/BenjaminZander-2008.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=286&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=benjamin_zander_on_music_and_passion;year=2008;theme=presentation_innovation;theme=spectacular_performance;theme=speaking_at_ted2009;theme=live_music;event=TED2008;tag=Arts;tag=Culture;tag=Entertainment;tag=buddhism;tag=creativity;tag=leadership;tag=live+music;tag=music;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt; &lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="526" height="374" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talk/stream/2008/Blank/BenjaminZander_2008-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/BenjaminZander-2008.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=286&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=benjamin_zander_on_music_and_passion;year=2008;theme=presentation_innovation;theme=spectacular_performance;theme=speaking_at_ted2009;theme=live_music;event=TED2008;tag=Arts;tag=Culture;tag=Entertainment;tag=buddhism;tag=creativity;tag=leadership;tag=live+music;tag=music;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;/embed&gt; &lt;/object&gt; &lt;br /&gt;&lt;!--copy and paste--&gt;&lt;object width="398" height="374"&gt; &lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="allowScriptAccess" value="always"/&gt; &lt;param name="wmode" value="transparent"&gt;&lt;/param&gt; &lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talk/stream/2006/Blank/SirKenRobinson_2006-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/SirKenRobinson-2006.embed_thumbnail.jpg&amp;vw=384&amp;vh=288&amp;ap=0&amp;ti=66&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=ken_robinson_says_schools_kill_creativity;year=2006;theme=how_the_mind_works;theme=bold_predictions_stern_warnings;theme=how_we_learn;theme=master_storytellers;theme=the_creative_spark;event=TED2006;tag=Culture;tag=children;tag=creativity;tag=dance;tag=education;tag=parenting;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt; &lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="398" height="374" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talk/stream/2006/Blank/SirKenRobinson_2006-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/SirKenRobinson-2006.embed_thumbnail.jpg&amp;vw=384&amp;vh=288&amp;ap=0&amp;ti=66&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=ken_robinson_says_schools_kill_creativity;year=2006;theme=how_the_mind_works;theme=bold_predictions_stern_warnings;theme=how_we_learn;theme=master_storytellers;theme=the_creative_spark;event=TED2006;tag=Culture;tag=children;tag=creativity;tag=dance;tag=education;tag=parenting;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;/embed&gt; &lt;/object&gt; &lt;br /&gt;&lt;br /&gt;&lt;!--copy and paste--&gt;&lt;object width="526" height="374"&gt; &lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="allowScriptAccess" value="always"/&gt; &lt;param name="wmode" value="transparent"&gt;&lt;/param&gt; &lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talk/stream/2008/Blank/JillBolteTaylor_2008-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/JillBolteTaylor-2008.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=229&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=jill_bolte_taylor_s_powerful_stroke_of_insight;year=2008;theme=how_the_mind_works;theme=master_storytellers;theme=medicine_without_borders;event=TED2008;tag=Global+Issues;tag=Science;tag=biology;tag=brain;tag=consciousness;tag=illness;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt; &lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="526" height="374" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talk/stream/2008/Blank/JillBolteTaylor_2008-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/JillBolteTaylor-2008.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=229&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=jill_bolte_taylor_s_powerful_stroke_of_insight;year=2008;theme=how_the_mind_works;theme=master_storytellers;theme=medicine_without_borders;event=TED2008;tag=Global+Issues;tag=Science;tag=biology;tag=brain;tag=consciousness;tag=illness;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;/embed&gt; &lt;/object&gt; &lt;br /&gt;&lt;br /&gt;I hope that the students who missed the workshop will check out these video clips.&lt;br /&gt;&lt;br /&gt;This Friday evening, we will be holding our customary Final Project pitching party. The party serves as an opportunity for the class to come together to celebrate the completion of half the course and also to come together to share their ideas on what they think would make for a good Final Project.&lt;br /&gt;&lt;br /&gt;This pitching session is also about community. Many ex-students of the course will also come back and hang out. To listen to what the new batch of students have to say, to share their two cents or perhaps just for some free food and fellowship on a Friday evening. &lt;br /&gt;&lt;br /&gt;Finally, I would like to take this opportunity to thank my trusty TA Kok Wee and the tutors Eldwin, Zhao Cong and Haocong for the work that they have put in thus far to keep the course running like clockwork. Another 7 more weeks and we'd be done with yet another offering of CS3216. &lt;br /&gt;&lt;br /&gt;Time really flies. Hard to believe that this is already the fourth year. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-7722630376376858375?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/7722630376376858375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/09/on-sales.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/7722630376376858375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/7722630376376858375'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/09/on-sales.html' title='On Sales'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/1nYFpuc2Umk/default.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-6938083203014783678</id><published>2011-09-05T16:27:00.003+08:00</published><updated>2011-09-05T16:48:54.035+08:00</updated><title type='text'>On Ideas</title><content type='html'>I would like to congratulate my students on surviving the first 25% of the course with the completion of the Facebook application assignment and also the FB/iPad Application Seminar. &lt;br /&gt;&lt;br /&gt;CS3216 follows a tried and tested formula: the first six weeks is about honing technical skills and developing ideas. &lt;br /&gt;&lt;br /&gt;Clearly the two programming assignments, Facebook and Mobile-Cloud applications, are designed to help students pick up technical skills (both programming and design) in a hurry and I think we have done well with the FB/iPad app assignment. &lt;br /&gt;&lt;br /&gt;At the same time, the students are also expected to apply their technical skills to explore some new ideas and hopefully, the feedback that they will be getting will be helpful to them. &lt;br /&gt;&lt;br /&gt;I personally think that most ideas are not *completely* original. Most ideas are inspired by other ideas. Hence, it is also important for students to look around to see what's already available. Obviously, the FB/iPad app seminar was designed to do this. &lt;br /&gt;&lt;br /&gt;Tonight, we will have having another activity that is designed to achieve the same goals. We have invited external folks to come pitch possible Final Projects to the students. In this way, the students will get a sense of what the "market" cares about. &lt;br /&gt;&lt;br /&gt;Ideas also need "timeliness". Sometimes having an idea is not good enough. Obviously, coming up with an idea too late is bad ('cos someone would have done it), but some ideas fail because they are "too early". &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Also, it is my view that engineers should build stuff and for CS3216, instead of merely building assignments that will be graded and then thrown away, I hope that the students will take the opportunity to build something real that people actually care about. &lt;br /&gt;&lt;br /&gt;In this light, the students are welcome to work with external partners on real problems (if they want). &lt;br /&gt;&lt;br /&gt;Obviously, there are limits on what could realistically be accomplished in a 7-week Final Project. Still, because CS3216 students are technically capable, it is not unlikely that they would be able to put together a reasonably good proof-of-concept prototype. &lt;br /&gt;&lt;br /&gt;Hopefully, the Final Projects wouldn't just end when the course ends. Realistically, most times, they will. But I am confident that it is certainly plausible that we might see a working product that started in CS3216 someday if we try this enough times.&lt;br /&gt;&lt;br /&gt;To conclude, I would like to say that I think it's good to share ideas. I think most people overrate their ideas. The probability that someone will come up with a completely original idea that no one else in the world has ever come up with is very low. &lt;br /&gt;&lt;br /&gt;And in practice, coming up with an idea is the easy part. It's the execution that is really difficult and where most fail. That said, there are also some circumstances under which some stealth is a good idea. It just turns out that it's unlikely that in CS3216, these circumstances will arise. &lt;br /&gt;&lt;br /&gt;I hope that for the duration of the course (which only has 9 weeks left really) that the students will share and generate ideas liberally. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-6938083203014783678?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/6938083203014783678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/09/on-ideas.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/6938083203014783678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/6938083203014783678'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/09/on-ideas.html' title='On Ideas'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1363767980198377093</id><published>2011-08-29T11:02:00.003+08:00</published><updated>2011-08-29T11:25:33.786+08:00</updated><title type='text'>On Peer Teaching/Learning</title><content type='html'>Since we are having the FB/iPad application seminar this evening, it seems fitting that I take some time to explain what we are trying to do with this exercise.&lt;br /&gt;&lt;br /&gt;This is the 4th year that we're teaching CS3216 and also the 4th time that we're doing this seminar.&lt;br /&gt;&lt;br /&gt;Obviously, I didn't quite get it right the first year and the seminar in its current manifestation is the result of several iterations.&lt;br /&gt;&lt;br /&gt;It turns out that the seminar is not random assignment, but it is a specially designed component for CS3216 to promote peer learning.&lt;br /&gt;&lt;br /&gt;First, since students are learning how to develop apps in CS3216, it is natural to study existing apps in order to learn the good, the bad and the ugly.&lt;br /&gt;&lt;br /&gt;While it is easy for me to come up with a set of lecture slides articulating what is good, bad and ugly (and I did exactly that in my first year teaching CS3216), it quickly occurred to me that such an approach made little to no sense. That list is pretty common sense. Students would listen to me lecture, agree with me and I suspect would hardly remember a thing or be able to apply what they heard.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;The FB seminar is the chance for students to come together to do a case study of an existing application to figure out what is good or bad about it. We hope that the very act of coming together to discuss would promote what's called "peer learning."&lt;br /&gt;&lt;br /&gt;Thereafter, the act of presenting what each group had figure out further promotes peer learning and also helps students practise their presentation skills. It turns out that CS3216 typically have good presentation skills which is something that is helpful to learn through demonstration.&lt;br /&gt;&lt;br /&gt;One of the mistakes I made for the first 2 years was not to control the duration of the presentations, and students then tended to ramble on and on. The seminar ran over time and learning was not optimal.&lt;br /&gt;&lt;br /&gt;Since last year, we introduced &lt;span style="font-style:italic;"&gt;&lt;a href="http://www.youtube.com/watch?v=9NZOt6BkhUg"&gt;Pecha Kucha&lt;/a&gt;&lt;/span&gt;, and the groups were "forced" to keep their talk to just 7 minutes. It turns out that this time limit has two advantages: (i) helped to ensure that class ended on time; and (ii) students are forced to think harder about what's important. :-)&lt;br /&gt;&lt;br /&gt;Rambling is easy. Getting to the crux of what's important is hard and promotes learning.&lt;br /&gt;&lt;br /&gt;Finally, the students are forced to focus on all the presentations because they are required to write a critique about one of the presentations (but not their own). This final act of "forced" reflection would hopefully encourage reflection and deeper learning. Students are also required to engage each other in the blogs for a week to promote further discussion.&lt;br /&gt;&lt;br /&gt;We have no illusions that not every student would necessary learn what they are supposed to be learning in this process, but we try. While we ideally teaching to be highly uniform, information transfer is not the same as education. The efficient transfer of information is completely useless if students cannot actually apply what they learnt. &lt;br /&gt;&lt;br /&gt;It is much more effective if students learn less but are able to apply, and more importantly, LEARN HOW TO LEARN in the process. The following lecture by a famous Harvard prof Eric Mazur probably explains what I'm trying to say in a more articulate way (for those who have the time and patience to watch the full lecture). &lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;iframe width="420" height="345" src="http://www.youtube.com/embed/WwslBPj8GgI" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1363767980198377093?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1363767980198377093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/08/on-peer-teachinglearning.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1363767980198377093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1363767980198377093'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/08/on-peer-teachinglearning.html' title='On Peer Teaching/Learning'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/WwslBPj8GgI/default.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-5813266280611858535</id><published>2011-08-25T19:49:00.006+08:00</published><updated>2011-08-25T20:25:11.173+08:00</updated><title type='text'>On Wealth</title><content type='html'>I'm so swamped this week, it's not funny.&lt;br /&gt;&lt;br /&gt;It turns out that I did have something to write about but didn't quite get the chance to write about it. Until now.&lt;br /&gt;&lt;br /&gt;It is something that I said to one student -- can't recall who now -- and it's about wealth. My point: the only real wealth that we have is our time, not money.&lt;br /&gt;&lt;br /&gt;Case in point: Steve Jobs. He is one of the richest men in the world, but all the wealth in the world will do him no good if he doesn't have the time to spend it.&lt;br /&gt;&lt;br /&gt;And to some extent, nature is fail. Regardless of king or pauper, we get 24 hours everyday. No more, no less.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;While I'm *really* *really* short of time (at least at this moment in time), I'm really not too unhappy because I am spending my time doing things I chose to do.&lt;br /&gt;&lt;br /&gt;This simple fact is something I am actually quite grateful for. :-)&lt;br /&gt;&lt;br /&gt;Another interesting fact is that often times, money often used to buy time. For example, we might hire a maid to help us with household or spend money on medical treatments to expand our lifespans.&lt;br /&gt;&lt;br /&gt;Not trying to be too philosophical here, but His Holiness The Dalai Lama, was quoted to have said the following when asked what surprised him most about humanity, “he sacrifices his health in order to make money. Then he sacrifices money to recuperate his health. And then he is so anxious about the future that he does not enjoy the present; the result being that he does not live in the present or the future; he lives as if he is never going to die, and then dies having never really lived."&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Back to Jobs, it seems to me that most of you will go on to live longer lives than Jobs. But what does that mean? Do you necessarily lead better lives?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If we model life as a candle, I would prefer to burn brightly for a shorter period than to be a dim glow for all eternity, but that's just me.  :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is now the third week of the semester and most students should have their lives overtaken by the first assignment, and very soon the second assignment and Final Projects. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What I hope that you will keen in mind is exactly why you are investing your time in CS3216. CS3216 is not to be taken for a grade. It is to be taken to learn something that will help each of you succeed in your chosen profession, or perhaps just provide you with the opportunity to understand yourselves. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;10 weeks will pass in a jiffy.  It always does. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I would like to encourage you to read each others blogs and to engage each other in conversation. Much of the learning in CS3216 is also peer learning. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To conclude, I quote my wife, "You can vote for the wrong President, you cannot marry the wrong woman." :-P&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-5813266280611858535?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/5813266280611858535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/08/on-wealth.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/5813266280611858535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/5813266280611858535'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/08/on-wealth.html' title='On Wealth'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-4109346027753360830</id><published>2011-08-16T22:59:00.006+08:00</published><updated>2011-09-17T22:42:53.830+08:00</updated><title type='text'>Finishing Strong</title><content type='html'>Blogging is stressful. I do it because I always believed in walking the talk.&lt;br /&gt;&lt;br /&gt;It didn't take me too long to realize that students (children) don't do what we say, but do what we do.&lt;br /&gt;&lt;br /&gt;For teachers to have the moral authority to preach, they unfortunately will have to practise what they preach.&lt;br /&gt;&lt;br /&gt;It turns out that I can sorta write, so writing is not entirely stressful. The reason why blogging for this class is stressful is because there is this pressure to "say something smart".&lt;br /&gt;&lt;br /&gt;The problem is that this is the fourth time that I'm teaching this course and the third time I'm writing a blog because of this class. I don't actually read through what I wrote in the past (really don't have that sort of time or energy), but it also means that I risk repeating what I said in the past.&lt;br /&gt;&lt;br /&gt;Fortunately for me, something struck me while I was reading the class blogs and it's something that I think is extremely important: finishing strong.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;NUS does have its fair share of good and talented students. Yet, one quality that I have found that is often lacking is the tenacity to see something to the end.&lt;br /&gt;&lt;br /&gt;It is quite common to find students get excited about something and work very hard at it (especially in CS3216).&lt;br /&gt;&lt;br /&gt;The problem with life is that most things that are worth doing, are, well, HARD. While things can look really good at the beginning, things get more dreary and more painful as time goes on. There are also often problems. Sometimes, many, many problems.&lt;br /&gt;&lt;br /&gt;And often times, people end up going through motion towards the end, or perhaps they just give up.&lt;br /&gt;&lt;br /&gt;Three things I would like to say on this topic of "Finishing Strong":&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Life is more often a marathon rather than a sprint and so there's a need to conserve energy for the long haul and also manage morale. People often give up because they under-estimate how long it takes.&lt;/li&gt;&lt;li&gt;Only the paranoid survive. It is easy to get lulled into complacency. The job is never finished until we are past the finishing line. We should not celebrate prematurely and let our guard down. I'm teaching CS1101s for the sixth time (and teaching CS3216 for only the fourth time). I almost have Scheme coming out of my ears and I can probably teach CS1101S backways. Nevertheless, if you ask my tutors, both classes are treated as "fresh enemies" and not a single stone is left upturned to make sure that nothing goes wrong (as best as we can help it). &lt;/li&gt;&lt;li&gt;We don't always do things because it "feels good". To finish strong, sometimes we need to appeal to our conviction that we need to do some things just because "it is right" not because we "feel like it". If you asked me, I'd really rather be on a beach sipping pina colada than writing a blog, but we do what we need to do. &lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-4109346027753360830?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/4109346027753360830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/08/finishing-strong.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/4109346027753360830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/4109346027753360830'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/08/finishing-strong.html' title='Finishing Strong'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-691526323145126654</id><published>2011-08-10T22:51:00.008+08:00</published><updated>2011-08-29T11:32:06.459+08:00</updated><title type='text'>Confession</title><content type='html'>It is hard to imagine that again it's the day before CS3216 starts. This is the fourth time. &lt;br /&gt;&lt;br /&gt;Every semester I get to teach CS3216, I get ulcers. This semester is likely to be worse than normal since I also get to teach CS1101S concurrently. &lt;br /&gt;&lt;br /&gt;How cool is that? :-)&lt;br /&gt;&lt;br /&gt;Do I not always say "what doesn't kill you, makes you strong?" &lt;br /&gt;&lt;br /&gt;Always good to &lt;a href="http://en.wikipedia.org/wiki/Eating_your_own_dog_food"&gt;eat your own dog food&lt;/a&gt;. :-)&lt;br /&gt; &lt;br /&gt;For the information of the new batch of CS3216 students, I blog because I think it's important to lead by example. Also, over the years, I have found blogging to be a very effective way for students to reflect upon what they really learn in the class, and also for me to understand how they think and to engage them. &lt;br /&gt;&lt;br /&gt;In ordinary times, I would probably be responding to every single blog and most posts that students make. But these are not ordinary times. Even if I don't sleep I probably couldn't manage. &gt;.&lt;&lt;br /&gt;&lt;br /&gt;What can assure every single student however is that I will be reading every blog post they make religiously and I mean it. :-) &lt;br /&gt;&lt;br /&gt;Then I have a final confession to make.  &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;I really don't know HTML5 and CSS3 even as we speak. :-) &lt;br /&gt;&lt;br /&gt;This is probably very shocking because people will be wondering HOW it is possible that students are expected to learn about HTML5 and CSS3 if the prof has no clue. &lt;br /&gt;&lt;br /&gt;It turns out that if we go back in time 3 years ago when I first started this course, I had no clue how to build Facebook apps either. &lt;br /&gt;&lt;br /&gt;We are working with pretty bleeding edge stuff in CS3216 (and thanks to Facebook's capriciousness in how they change their APIs without telling anyone, there will be quite a lot of bleeding over the semester). &lt;br /&gt;&lt;br /&gt;If we wait till the prof figures it all out before we conduct this course, this course would never exist. &lt;br /&gt;&lt;br /&gt;Obviously, I have also figured out a way to conduct CS3216 without knowing a whole lot. The truth of the matter is that it is possible for me to conduct such a course because the course is not about *stuff* to being with, but about learning how to learn. :-) &lt;br /&gt;&lt;br /&gt;I think that honesty is a virtue and it's important for us all to know what we know and more importantly, what we DON'T know. &lt;br /&gt;&lt;br /&gt;Sadly, profs really don't know everything and don't have all the answers. &lt;br /&gt;&lt;br /&gt;In fact, not all questions have answers. Though the process of formal education has this nasty tendency to persuade students otherwise. :-'(&lt;br /&gt;&lt;br /&gt;As they say, in teaching, you tell them what you want to tell them, you tell them and then you tell them that you told them. &lt;br /&gt;&lt;br /&gt;Parents send their children to university, hoping that they will get an education. What exactly is that? &lt;br /&gt;&lt;br /&gt;IMHO, there are only two things that matter in education (might add more to the list if I figure out more things later): &lt;a href="http://cs3216.blogspot.com/2010/03/on-mindsets.html"&gt;MINDSET&lt;/a&gt; and VALUES. The world is changing too fast for *stuff* to matter too much and learning *stuff* is really the easy part. &lt;br /&gt;&lt;br /&gt;My goal as a prof is to help students succeed (whatever that means). Success doesn't always mean getting rich, though often it might. I am absolutely convinced that having the right "growth" mindset and the right work ethics is pre-requisite and enabler for success. &lt;br /&gt;&lt;br /&gt;Much of CS3216 is structured around creating the environment within which students can build up that mindset. Much of it involves some amount of shared suffering. Suffering, as it turns out, builds character. &gt;:-)&lt;br /&gt;&lt;br /&gt;The other key element is values. By this I mean honesty and integrity. Those who are driven and highly motivated often do succeed, but without the right moral compass, we might just have another Enron on our hands, which is obviously NOT a good thing. &lt;br /&gt;&lt;br /&gt;To conclude, I would like to share a short speech, given by Caleb Chao, who was SoC Valedictorian last year, and also one of those students crazy enough to have taken CS3216 in his freshman year when the course was first offered 3 years ago.  &lt;br /&gt;&lt;br /&gt;&lt;iframe width="420" height="345"  src="http://www.youtube.com/embed/Y59aadEz260" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-691526323145126654?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/691526323145126654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2011/08/confession.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/691526323145126654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/691526323145126654'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2011/08/confession.html' title='Confession'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/Y59aadEz260/default.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1520007854123250067</id><published>2010-05-25T00:44:00.001+08:00</published><updated>2010-06-25T23:35:50.921+08:00</updated><title type='text'>Random Stuff to Check Out</title><content type='html'>I have a habit of posting random stuff in the IVLE Discussion Forum for CS3216 in past classes. One student suggested that instead of posting them in IVLE to post them on this blog. I will still continue to post random stuff in the IVLE Discussion Forum this year, but what I will also do is to continue adding stuff to this list as we go along. Thanks to the Internet, there is so much knowledge and wisdom out there that's accessible with a click of a button. It would be criminal not to learn from them. :-)&lt;br /&gt;&lt;br /&gt;Anyhow, here some of the interesting stuff to read/check out:&lt;span class="fullpost"&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=D1R-jKKp3NA"&gt;Steve Job's Stanford Commencement Speech 2005&lt;/a&gt; (Stay Hungry. Stay Foolish)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://ecorner.stanford.edu/authorMaterialInfo.html?mid=2266"&gt;The Art of Teaching Entrepreneurship and Innovation&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.sgclub.com/singapore/adrian_tan_convocation_88171.html"&gt;Adrian Tan's NTU Convocation Speech&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=oTugjssqOT0"&gt;Randy's Lecture on Time Management&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/index.php/talks/david_s_rose_on_pitching_to_vcs.html"&gt;David Rose on Pitching&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/bill_gates_unplugged.html"&gt;How Bill Gates hopes to make a difference&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=v4uG2kSdd-4"&gt;Nick Vujicic&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/index.php/talks/barry_schwartz_on_our_loss_of_wisdom.html"&gt;Barry Schwartz on Common Sense/Wisdom&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html"&gt;Pattie Maes on Sixth Sense&lt;/a&gt;, a next-generation Minority-Report-like user interface.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/index.php/talks/richard_st_john_s_8_secrets_of_success.html"&gt;Richard St. John's 8 secrets of success&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=_Af4QLc2vhs"&gt;Anthony Robbins: The Power of Clarity &amp;amp; Purpose&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/kiran_bir_sethi_teaches_kids_to_take_charge.html"&gt;Kiran Bir Sethi teaches kids to take charge&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/lang/eng/cameron_herold_let_s_raise_kids_to_be_entrepreneurs.html"&gt;Cameron Herold: Let's raise kids to be entrepreneurs&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://harvardmagazine.com/commencement/the-fringe-benefits-failure-the-importance-imagination"&gt;The Fringe Benefits of Failure, and the Importance of Imagination&lt;/a&gt;, JK Rowling&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.inc.com/magazine/20081001/street-smarts-secrets-of-a-110-million-man_Printer_Friendly.html"&gt;Secrets of a $110 million dollar man&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.telegraph.co.uk/technology/3304496/Be-lucky-its-an-easy-skill-to-learn.html"&gt;Be lucky - it's an easy skill to learn&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Is Your Life Just One Big RPG? &lt;a href="http://www.youtube.com/watch?v=pMLtwJGA4Wc"&gt;Part I&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=1GaqoE_qLCs"&gt;Part II&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=4lTprV-dRmY"&gt;Part III&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/lang/eng/tony_robbins_asks_why_we_do_what_we_do.html"&gt;Anthony Robbins: Why we do what we do, and how we can do it better&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/sir_ken_robinson_bring_on_the_revolution.html"&gt;Sir Ken Robinson: Bring on the learning revolution!&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://paulgraham.com/marginal.html"&gt;Paul Graham: The Power of the Marginal&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; this is an old blog entry that I moved forward in time.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1520007854123250067?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1520007854123250067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/03/random-stuff-to-check-out.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1520007854123250067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1520007854123250067'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/03/random-stuff-to-check-out.html' title='Random Stuff to Check Out'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-8921917006937857072</id><published>2010-04-17T14:19:00.014+08:00</published><updated>2010-04-19T01:31:05.883+08:00</updated><title type='text'>Teaching as a Learning Process</title><content type='html'>As students are "forced" to reflect on what they have learnt this past semester as their swan song, I thought that it would be helpful for me to do the same -- but more than that, I decided that I would reflect not only on the current semester, but on the three-year journey that is CS3216.&lt;br /&gt;&lt;br /&gt;At the heart of CS3216 is my belief that Singapore is much too mediocre a society and what we really lack are peaks. By mediocrity, I don't actually mean bad. Mediocre actually means "average" and in the context of Singapore, it's a pretty high average.&lt;br /&gt;&lt;br /&gt;However, what I had come to realize by observing what's been happening in recent times is that a high average isn't going to cut it. Not by a long shot. :-(&lt;br /&gt;&lt;br /&gt;The world at large is getting increasingly complex. We are slowly but steadily running out of oil. China is fast becoming bigger and more unstable. US is fast moving towards implosion and bankruptcy. The picture really isn't pretty.&lt;br /&gt;&lt;br /&gt;In this light, what I felt what that what Singapore really needs are peaks.&lt;br /&gt;&lt;br /&gt;I also had a very dim view of the old farts like myself. I've missed my chance to be a Page or Zuckerberg. The future really belongs to the youth of today and the leaders of tomorrow. Education is the answer.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Then the question was: how in the world do we go about creating those peaks?&lt;br /&gt;&lt;br /&gt;Then I watched The Last Lecture and decided that maybe Randy Pausch knew what he was talking about and saw that Facebook was like the best thing since sliced bread and created CS3216 - because I thought, maybe if we did something different, some good might come out of it.&lt;br /&gt;&lt;br /&gt;Now that I have the whole system up and running, I can obviously tell a story about how brilliant I was when I "conceived" of CS3216. However, the truth of the matter is much less glamorous. I hardly knew what I was doing and I was mostly making things up as I went along. :-)&lt;br /&gt;&lt;br /&gt;What I DID know however was that what I really wanted to do was to help facilitate the formation (not creation) of those peaks that we need so badly. The idea is that the peaks were already there, but we just haven't quite been able to bring them out or the systems and structures we have in place were perhaps and impediment.&lt;br /&gt;&lt;br /&gt;I really didn't know but as Randy says, "Wait long enough and people will surprise and impress you."&lt;br /&gt;&lt;br /&gt;Because I didn't really know what I was doing, I ended up talking to a lot of people, mostly successful people --- and it wasn't too long before it became conclusive that there is no "formula" for success. The unfortunate corollary of this finding is that we can't really create peaks the way we used to train engineers.&lt;br /&gt;&lt;br /&gt;What I did find however was that successful people tend to think differently from the regular folks. It's really not about IQ. It's all about mindset.&lt;br /&gt;&lt;br /&gt;I think Anthony Robbins articulates this in a way that I cannot possibly:&lt;br /&gt;&lt;!--copy and paste--&gt;&lt;object width="334" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;param name="bgColor" value="#ffffff"&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/TonyRobbins_2006-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TonyRobbins-2006.embed_thumbnail.jpg&amp;amp;vw=320&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=96&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=tony_robbins_asks_why_we_do_what_we_do;year=2006;theme=how_the_mind_works;theme=presentation_innovation;theme=top_10_tedtalks;event=TED2006;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgcolor="#ffffff" width="334" height="326" allowfullscreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/TonyRobbins_2006-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TonyRobbins-2006.embed_thumbnail.jpg&amp;amp;vw=320&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=96&amp;amp;introDuration=16500&amp;amp;adDuration=4000&amp;amp;postAdDuration=2000&amp;amp;adKeys=talk=tony_robbins_asks_why_we_do_what_we_do;year=2006;theme=how_the_mind_works;theme=presentation_innovation;theme=top_10_tedtalks;event=TED2006;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;"Guess how many emotions people typically experience? Less than 12 and half of them make them feel like sh*t".&lt;br /&gt;&lt;br /&gt;Along the way, I have indeed found that notwithstanding differences in natural talent (or what's typically referred to as "Nature"), that people are products of their own experiences (or "Nurture"). Nurture is not just about how many tuition teachers one has had in the past. It's *much* deeper and more profound.&lt;br /&gt;&lt;br /&gt;Much of this I sort of figured out along the way as a scientist observing the world and the people that run around in it. In recent times, I've come to learn about this thing known as "&lt;a href="http://en.wikipedia.org/wiki/Neuro-linguistic_programming"&gt;Neural Linguistic Programming&lt;/a&gt;" and I'm in the midst of figuring out how it all works. :-) It's nice to have someone else work out the theory for you instead of having to start from first principles.&lt;br /&gt;&lt;br /&gt;The theory here is that most people typically have a lot of potential to do a lot more, except that they are "programmed wrongly". Well, it turns out that I'm a Computer Scientist. If it's just a buggy program, then I'm right at home. Debugging is probably no sweat lah. Just have to figure out how the heck to load the darn thing into memory without frying someone's brains. :-)&lt;br /&gt;&lt;br /&gt;Teaching CS3216 has been really rewarding for me because I've also actually gotten a lot smarter about a whole bunch of random things along the way. It's sometimes not even clear to me (like it's not clear to the students) that I've actually been teaching, but I've definitely learnt a lot.&lt;br /&gt;&lt;br /&gt;It's funny, but I came up with this conjecture earlier this evening that maybe CS3216 is just a class I created for myself to learn stuff I wanted to learn..... and along the way, I just sort of collected some students to learn with me? :-P&lt;br /&gt;&lt;br /&gt;I really like to learn stuff. I hope that to a small extent, some of the students this past semester have also started to appreciate the value of keeping their eyes open and learning random stuff. :-)&lt;br /&gt;&lt;br /&gt;The motto for CS3216 is "make a difference". Now that the course is coming to an end and we're moving on to bigger and badder things next year, it might be timely for me to share my views on this matter.&lt;br /&gt;&lt;br /&gt;I think it's HARD to actually make a difference. Like I said during the Last Lecture, most people are a lot less important than they think they are and our existence in this world is really quite transient. What is a 100 years in the face of eternity? Anyone knows his/her great-grandfather?&lt;br /&gt;&lt;br /&gt;Does it therefore mean that we should therefore give up and life an "ordinary life"? Well, that's a choice that each and every person must make for himself/herself.&lt;br /&gt;&lt;br /&gt;What I do think however is that to stand a chance at making a difference, we first have to &lt;b&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;&lt;u&gt;BELIEVE&lt;/u&gt;&lt;/span&gt;&lt;/b&gt; that WE &lt;b&gt;&lt;u&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;CAN&lt;/span&gt;&lt;/u&gt;&lt;/b&gt; MAKE a DIFFERENCE. &lt;/span&gt;&lt;div&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;At the very least, we can try (though I also say "Do or Do Not, There is no Try".... maybe I'm a bit schizophrenic :-P).&lt;br /&gt;&lt;br /&gt;Trying doesn't guarantee success. Sometimes the Gods will seem to conspire against us. What can mere mortals do? :-)&lt;br /&gt;&lt;br /&gt;That said, what I do know is that &lt;a href="http://harvardmagazine.com/commencement/the-fringe-benefits-failure-the-importance-imagination"&gt;if we don't try, we fail by default&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To conclude, I shall leave the students with one (hard) question that they should attempt as homework: &lt;b&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;WHAT IS THE MEANING OF LIFE?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Not to worry. It's not graded - at least not by me. ;-)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;This question doesn't have a model answer I think. Because everyone is built differently, it's likely that the answer will be different for each student. But this is actually an important question because the answer will reveal the sort of person we are and also be a guiding force to our short existence.&lt;br /&gt;&lt;br /&gt;To make the point more poignant (sorry this is a bit morbid), imagine yourself lying in your deathbed with hours left to go and someone asks you: "what the heck have you been doing with your life?" What will your answer be?&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-8921917006937857072?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/8921917006937857072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/04/teaching-as-learning-process.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8921917006937857072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8921917006937857072'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/04/teaching-as-learning-process.html' title='Teaching as a Learning Process'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-7045888652107054955</id><published>2010-04-06T19:11:00.012+08:00</published><updated>2010-04-06T22:34:25.075+08:00</updated><title type='text'>On Wealth and Execution</title><content type='html'>I haven't blogged for a while and I realized that many students haven't blogged as well - but we'd talk about that later.&lt;br /&gt;&lt;br /&gt;I also wanted to do an experiment to test if students would blog if I didn't blog. Sad to say, not many did. :-(&lt;br /&gt;&lt;br /&gt;What came to me earlier today is something quite philosophical, and thats the question: what is wealth?&lt;br /&gt;&lt;br /&gt;I recently get in touch with Nipun Mehta who has an interesting perspective on this question:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;embed src="http://blip.tv/play/AYG7%2BlYC" type="application/x-shockwave-flash" width="300" height="185" allowscriptaccess="always" align=right allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;His solution is the "gift economy", which attempts to "redefine wealth as contributions, not possessions".&lt;br /&gt;&lt;br /&gt;While interesting, and perhaps noble, such a definition is a little too abstract for me. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;So I approached this question from a more basic angle: if I can have an infinite amount of anything I want, what would it be? Money? &lt;br /&gt;&lt;br /&gt;Sometimes when you ask questions the "right way", you the get the "right" answers.&lt;br /&gt;&lt;br /&gt;My answer was pretty obvious: TIME.&lt;br /&gt;&lt;br /&gt;If only I had more time. I have so many thing I have to do. I have so many things I wanna do. I never seem to have enough time to do them all. :-( Simple as that. Instead of a daily struggle to pay the bills, mine is a struggle to stay afloat. &lt;br /&gt;&lt;br /&gt;Let's try to get everything squared away without blowing anything up yeah? &lt;br /&gt;&lt;br /&gt;If you will think a little deeper. There are two things that the world cares about: energy and money. To some extent, the two are actually interchangeable. Energy is money, albeit in a different form.&lt;br /&gt;&lt;br /&gt;Why do we need money or energy? Basically to buy time.&lt;br /&gt;&lt;br /&gt;Because we have money, we can take a plane or drive a car instead of walking on foot. That saves us hellaluvalot of time.&lt;br /&gt;&lt;br /&gt;Because we have money, we can go to the restaurants, we don't need to hunt down the animal, skin it and cook it ourselves. &lt;br /&gt;&lt;br /&gt;Because we have money, we can hire a maid to take care of the housework so that we don't have to do the laundry.&lt;br /&gt;&lt;br /&gt;Because we have money, we might be able to pump ourselves with more advanced medical treatments so that we don't die so early and have more time. &lt;br /&gt;&lt;br /&gt;You get the point. But suppose we all agree that wealth is really time, then there are two obvious corollaries:&lt;br /&gt;&lt;br /&gt;One, life is very fair, because regardless of king or pauper, we all have the same amount of time everyday: only 24 hours.  No more. No less. &lt;br /&gt;&lt;br /&gt;Two, what should we do with our time? &lt;br /&gt;&lt;br /&gt;I am not about to suggest that there is a model answer to the second question. To each his own. I am merely sharing a perspective. &lt;br /&gt;&lt;br /&gt;The second point I want to touch on in this blog entry is execution, which coincidentally is the theme for the second part of CS3216, if people still remember.&lt;br /&gt;&lt;br /&gt;It turns out that CS3216 is not the easiest class to teach. Because of the way it is structured, there are a lot of random variables. &lt;br /&gt;&lt;br /&gt;I don't know beforehand who I can get as speakers. I don't know who will turn me down. I don't know who will agree to come talk to the class, but have to cancel and/or reschedule.&lt;br /&gt;&lt;br /&gt;I don't know whether the new Google Wave assignment will work out. I didn't even know what Google Wave was about when we started. Thank God &lt;a href="http://googlewavedev.blogspot.com/2010/04/developing-with-google-wave-apis-for.html"&gt;it worked out&lt;/a&gt;. :-P &lt;br /&gt;&lt;br /&gt;Because I am teaching this class for the third time, I am obviously much smarter than when I started, but there are (always) surprises.&lt;br /&gt;&lt;br /&gt;For example, while I had expected all the teams to do well for the milestone portion of the Facebook assignment, some teams blew up on and I had to make up some new rules to remedy the situation and to put the course back on track.&lt;br /&gt;&lt;br /&gt;Now that we're nearing the end of the semester, I must say that I'm quite pleased to see how things have turned out and as far and I'm concerned, we're pretty much cruising to the end. &lt;br /&gt;&lt;br /&gt;There's still the poster session next Wed, but it's quite manageable. &lt;br /&gt;&lt;br /&gt;The only other loose end that I need to tie up is the Blogging King/Queen business. As it turns out, this current batch of students dun really like to blog and dun blog consistently. This is very different from the last batch -- but why am I surprised? :-) &lt;br /&gt;&lt;br /&gt;Upon careful deliberation, I hereby declare MYSELF the Blog King for this batch 'cos I think I have blogged much more consistently and conscientiously than any of the students.&lt;br /&gt;&lt;br /&gt;Because&lt;span style="font-weight:bold;"&gt; there can only be one&lt;/span&gt;, and I'm the one, this means that the no one gets a free A by blogging for this batch. At least not the way it was envisioned at the start of the semester. Sorry. &lt;br /&gt;&lt;br /&gt;Am I upset that blogging didn't quite work out this semester? Actually, no 'cos the point of the class is not about blogging. Everything that's done for CS3216 is supposed to go towards promoting learning. While the blogging component this year hasn't been quite so successful, some good has come out of it and that's about as good as it gets.&lt;br /&gt;&lt;br /&gt;In case people are wondering if this means it's the end of blogging for the rest of the semester. The answer is no. However. more will be revealed at the Last Lecture on Monday. Akan datang.&lt;br /&gt;&lt;br /&gt;People should not forget that I'm the evil prof. &gt;:-P&lt;br /&gt;&lt;br /&gt;To conclude, the point I'm trying to make about execution is that it involves focussing on the big picture and high-level goal, &lt;span style="font-weight:bold;"&gt;without&lt;/span&gt; losing sight of the details and begin able to adapt to unexpected events and being able to improvise as you go along.  Yeah, it's a mouthful. Go chew on it. :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-7045888652107054955?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/7045888652107054955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/04/on-wealth-and-execution.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/7045888652107054955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/7045888652107054955'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/04/on-wealth-and-execution.html' title='On Wealth and Execution'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-5025661703437484406</id><published>2010-03-23T00:41:00.013+08:00</published><updated>2010-03-23T03:43:14.850+08:00</updated><title type='text'>On Mindsets</title><content type='html'>I'm a prof. Mine is a funny business.&lt;br /&gt;&lt;br /&gt;In theory, profs are supposed to teach. What does that really mean? Some people think that teaching is about imparting knowledge. Others talk about teaching critical thinking.&lt;br /&gt;&lt;br /&gt;Personally, I look at my job a little differently. I think it's about helping people (students).&lt;br /&gt;&lt;br /&gt;I think teaching is about helping students lead better lives, helping them figure out what the heck they ought to be doing with their lives (though I often fail in this department because it sometimes takes longer than the window during which I'm teaching the students) and last but not least, to help them achieve their full potential.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;This is all very general and unfortunately has little to do with CS. &lt;br /&gt;&lt;br /&gt;Notice that I didn't say "helping students succeed" above. The reason is that it's hard to define "success". Some would equate success with wealth; others might have other view. Few would argue with "leading better lives". :-)&lt;br /&gt;&lt;br /&gt;So now here's the problem: if I'm supposed to help my students succeed, then I better an idea about what it takes to succeed. Even a moron can tell you that nature and nurture both play a part, so a "nature vs nurture" discussion won't be helpful.&lt;br /&gt;&lt;br /&gt;I guess I am fortunate to have met quite a few people in my life thus far, many of whom I would consider to be "successful" people. While I am not actively looking at wealth, most of them also turn out to be relatively wealthy, or I predict will soon be quite wealthy. &lt;br /&gt;&lt;br /&gt;If people haven't seen this clip,  &lt;a href="http://www.ted.com/index.php/talks/richard_st_john_s_8_secrets_of_success.html"&gt;Richard St. John's 8 secrets of success&lt;/a&gt;, they should. In any case, the point of this clip is that one obvious approach to understand what leads to success is to "study" successful people.&lt;br /&gt;&lt;br /&gt;That's pretty much what I did.&lt;br /&gt;&lt;br /&gt;More specifically, I tried to figure out the key difference between the sample set of "successful" people and the "other" folks (I hesitate to call them "unsuccessful").&lt;br /&gt;&lt;br /&gt;What I found is that it's a zoo out there. Among the successful people, there are folks who are highly qualified and went to the top Ivy League schools. There are also some who don't have much of an education.&lt;br /&gt;&lt;br /&gt;The one common thing that I have observed however is that they typically have what I would describe as a "winning mindset":&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;They believe in something.&lt;/span&gt; Sometimes God. Sometimes other things. Mostly things bigger than themselves.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;They like themselves.&lt;/span&gt; I don't mean that they are narcissists who look in the mirror everyday thinking "I'm so smart. I'm so good looking..." Nope. These folks accept themselves for who they are, warts and all. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;They accept personal responsibility.&lt;/span&gt; Singaporeans like to blame Government, blame father, blame mother, blame anyone and everyone except themselves when things go wrong. It's always the system is wrong, because there's streaming, too focussed on grades.&lt;br /&gt;&lt;br /&gt;Bill Gates apparently said "life is unfair get used to it". People need to quit complaining and actively take action to improve their own lots in life.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;They have a Can-Do spirit.&lt;/span&gt; Truthfully, there are very few things that cannot be done in Singapore. More often than not, Singaporeans fail even before they start because in their infinite wisdom they have already decided it would fail in their heads --- and many a times, it's because the understanding is flawed.&lt;/li&gt; &lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;They seek continual growth&lt;/span&gt;. Success does require a certain amount of effort and hard work even for the truly gifted. Being gifted only means you put in less than the rest to get to the same place. Doesn't mean that you can put in no effort.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;They don't carry baggage&lt;/span&gt;. This is related to the first point about liking themselves. Some folks have this need to prove themselves. That's a no-no.&lt;br /&gt;&lt;br /&gt;Some people will say that actually, this need to "prove oneself" might help some people succeed.... well, there's some truth to this, but I think the Star Wars analogy is appropriate. These urges to "prove oneself" is a Dark Side power. Sure, some people might succeed from the apparent drive that stems from these urges, but it's likely to lead to other problems eventually like arrogance and stuff. &lt;br /&gt;&lt;br /&gt;Think the Force. Yoda? The little green man? We want balance. Those who have such issues please acknowledge and go deal with your baggage. Unfortunately, this is really harder than I make it sound. However, people please try.&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;In CS3216, I try to do achieve three goals:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Teach stuff.&lt;/span&gt; Actually, I don't really teach lah. The way we try to nail this is to design good assignments to have students teach themselves and each other. I also try to get real experts in stuff I something about but not a whole lot to give a more *authentic* perspective on what I think matters.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Teach thinking.&lt;/span&gt; This happens at the project meetings. Every project is different and basically, I try to walk through how to approach the projects as problems with the students. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. Reinforce/Fix Mindsets.&lt;/span&gt; This is most ambitious, but I also think the truly important and transformative one. I mentioned this briefly earlier this evening to a group of students and someone asked, "So what's your conversion rate?"&lt;br /&gt;&lt;br /&gt;I felt like a website for about 2 seconds and then I said,"30%?". Truthfully, I humtum one. I actually don't know for sure. Maybe I'm just generating leads? &lt;br /&gt;&lt;br /&gt;Not everything in life that has value or meaning can be captured with a KPI/web metric. :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-5025661703437484406?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/5025661703437484406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/03/on-mindsets.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/5025661703437484406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/5025661703437484406'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/03/on-mindsets.html' title='On Mindsets'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-4590634203159149566</id><published>2010-03-11T00:46:00.010+08:00</published><updated>2010-03-11T01:55:42.416+08:00</updated><title type='text'>On Wave and the Final Project</title><content type='html'>I was just reminded by my trusty Tutor, Yanjie, that I have not been setting a good example for the class because I haven't blogged for a while. &lt;br /&gt;&lt;br /&gt;Fair enough, so I blog. :-) [May this serve as a gentle reminder to the students that while they were exempt from blogging last week because they were expected to be working on their Final Project Proposals, they are expected to resume with their weekly posts this week.]&lt;br /&gt;&lt;br /&gt;After reading some of the feedback from the midterm survey, perhaps I can take the opportunity to explain again why students are asked to blog: (i) because it "forces" reflection, which will help in learning (causes pain because learning takes effort); (ii) it helps many students improve their writing skills (yes, writing can be improved simply by writing more); and (iii) it helps me figure out what students are learning or are &lt;span style="font-weight:bold;"&gt;not&lt;/span&gt; learning. &lt;br /&gt;&lt;br /&gt;Students who don't think blogging is of value to them or who have no time to blog, don't have to blog. Maybe they will take a minor penalty in the final grades for the class, but in the grand scheme of things, it probably doesn't matter. Students should just have the guts to do stuff they wanna do and find value in doing. :-)&lt;br /&gt;&lt;br /&gt;Just one perspective to consider: suppose you decide not to blog because you don't like to write (which typically suggests that you don't write very well) then you have basically given up an opportunity to practice and improve your writing. Just think about who is paying the tuition. :-)&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Anyhow, just did my first video conferencing lecture on Monday, "live" from Sydney! I thought the audio quality (barring a short period of static) was pretty good. The visuals however probably weren't too great. &lt;br /&gt;&lt;br /&gt;I shan't go into too much detail about the talk, since the students are likely to say more. I would like to highlight three key points.&lt;br /&gt;&lt;br /&gt;One, the Google Wave Active Robot API is really quite intriguing. Why? Because why Waves were in the past confined within the browser, the Active Robot API allows robots outside the browser to interact with Waves which are these logical conversations "somewhere in the cloud". &lt;br /&gt;&lt;br /&gt;It seems to me that some interesting things can be done with Robots now (though I'm not entirely sure what) and I would like to encourage students to think of Waves not so much as this page in the browser but as "conversation objects". The Wave is really some abstract object and not just a browser-thing. Students should spend more time thinking through and try to understand what a Wave is. &lt;br /&gt;&lt;br /&gt;Two, the principles of Wave-y extensions are pretty interesting and might perhaps be applicable to user interface and interaction design at large, instead of just Waves. Two key points raised: don't modify stuff by removing/reformatting the text. If you need to modify stuff, give users the choice. :-P&lt;br /&gt;&lt;br /&gt;Three, lag is a huge problem for Wave at this point. That said, I believe that when the lag gets engineered away, there will indeed be some things that can be done better in Wave than in other media. One function that seems to be missing in Wave at the moment is search. There's a search facility to search in the Waves, but what I mean is that each Wave should have a in-page search facility to search within a Wave when the Wave gets long. Otherwise how to find stuff? &lt;br /&gt;&lt;br /&gt;Hmm, just realized that maybe a Wave robot can do exactly that -- which in a way highlights an important feature of Wave over something like Gmail, it's pretty easy to extend. :-)&lt;br /&gt;&lt;br /&gt;Alright, so much for Waves, some words of advice on the Final Projects since this week is the week where I meet with the various groups to do sanity checks:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Please do something you really believe in.&lt;/span&gt; I'm proud to say that after two years of CS3216, I've finally "figured it out" and I finally have the confidence to say that "students can do anything they want" (and still be reasonably sure that things will turn out okay). This is the chance for you to do something that you've always wanted to do but never found the time to do. This is the chance for you to do more than just another class project. This is the chance to work with perhaps the most motivated and talented students NUS has to offer on something that can make a difference. I think it would be criminal to settle for anything less. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Think Big, Take Small Incremental Bites. &lt;/span&gt;It's good to have a vision, but it also important to be grounded in reality. You have to learn to phase the implementation of the problem into small bit-sized chunks and nail them one at a time instead of trying to swallow the whole thing and choke. To do well for the Final Project, it's not about doing A LOT A LOT of work. Small projects, executed well can also find phenomenal success. However, it requires students to do a significantly larger amount of thinking than other class projects where the perimeters are much more clearly defined. Depending on the nature of the project, the considerations are different. Understand the problem; focus your energies on what matters most.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Deploy Early.&lt;/span&gt; The merits of deploying a working prototype early (within the next two weeks) cannot be overstated. In addition to being able to gather valuable user feedback early, it improves morale significantly and will allow students to avoid running into conflicts with the projects from other classes.   &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Have Fun! &lt;/span&gt;There are few things you will remember about school in a couple of years after you finish school. Believe it or not, many of you will remember the nights you spend with your friends in COM1.  Remember you only live once. :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-4590634203159149566?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/4590634203159149566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/03/on-wave-and-final-project.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/4590634203159149566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/4590634203159149566'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/03/on-wave-and-final-project.html' title='On Wave and the Final Project'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-6594092092205057464</id><published>2010-02-08T23:34:00.010+08:00</published><updated>2010-02-09T00:56:17.191+08:00</updated><title type='text'>Making Connections</title><content type='html'>We had a number of folks from Government organizations and the industry come down to pitch ideas for the Final Project to the students today. &lt;br /&gt;&lt;br /&gt;My friend, Dawn, was very kind and complimented me for saying some things after each presentation to try to "make the connections", to which I replied, but that's all very natural isn't it? Learning is all about making connections what. &lt;br /&gt;&lt;br /&gt;I didn't think too of it because it was almost an instinct, but then thinking about it a little harder -- maybe it isn't really obvious (by the way, there's actually a term for the stuff I did. Those are called "earn my pay" moments). Hold that thought.&lt;br /&gt;&lt;br /&gt;Then I recalled another conversation I had with another colleague about a week ago. This colleague argued that the current student feedback system and ratings were "unfair" because it is plausible that you might have a good prof, who does "the right things" to help students learn, but the students dun appreciate and he gets whacked.&lt;br /&gt;&lt;br /&gt;Before people make an assumptions that this colleague of mine is getting low teaching ratings, let me just clarify that this colleague has phenomenally high ratings -- therefore, he is saying this without prejudice. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;My view (and I think this view is shared by Yanjie) is that contrary to popular belief, students actually do know whether teaching is effective. If indeed a prof is doing the "right thing", then it is also his responsibility to explain to the students why he's doing the right thing.&lt;br /&gt;&lt;br /&gt;Back to my original point - the point I want to make about learning is that it's not about accumulating information or data, it's about &lt;span style="font-weight:bold;"&gt;making connections&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;It would be nice if students can make the connections by themselves. However, given that students don't have all that much experience and are not typically mind-readers, it is often helpful for the profs to help make those connections. &lt;br /&gt;&lt;br /&gt;I shall illustrate this principle with the Final Project pitching session we had this evening. &lt;br /&gt;&lt;br /&gt;Random people coming to talk about random stuff. At first sight, it may all seem very random -- but it's not. &lt;br /&gt;&lt;br /&gt;Well, CS3216 is organized into two segments: "Ideas + Skills" followed by "Execution".&lt;br /&gt;&lt;br /&gt;The pitching session we had this evening contributes to the ideas part of the equation. &lt;br /&gt;&lt;br /&gt;Obviously, the quality of the pitches were not equally good, but students should always pay attention to learn what's good and also learn what not to do.&lt;br /&gt;&lt;br /&gt;Some of the folks who came didn't have a clear idea of what they wanted to do -- but that's very normal. The following is an except of a GChat conversation with Kay Hong:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;me:&lt;/span&gt; what do you think of tonight's session? interesting?&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;Tay:&lt;/span&gt; yup but i think some companies weren't specific with what they wanted &lt;br /&gt;  not sure if that's a good or bad thing&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;me:&lt;/span&gt; normal&lt;br /&gt;  everyone wants to get on the boat&lt;br /&gt;  but they dun understand the boat&lt;br /&gt;  dun understand where they want to go&lt;br /&gt;  but they think the boat's cool anyway .... and they are probably right in many cases&lt;br /&gt;  :-)&lt;br /&gt;&lt;/blockquote&gt;It's true that Facebook is old news -- and that Facebook is probably going public soon. But it's also true that there are many people out there who are still trying to figure out how to exploit social networks to improve their business.&lt;br /&gt;&lt;br /&gt;Personally, I believe that there's still significant potential for many businesses to exploit social networks. The viral nature of human relationships (think gossip) cannot be understated.&lt;br /&gt;&lt;br /&gt;Is it easy therefore? Hell no. :-) &lt;br /&gt;&lt;br /&gt;While opportunity is all around us, it takes effort to learn how to recognize and exploit them. &lt;br /&gt;&lt;br /&gt;We'd follow up on this theme of "ideas" in a couple of weeks at a Pitching Party where the students will pitch to each other and former students will be invited back to share well. &lt;br /&gt;&lt;br /&gt;For skills, we had the first FB assignment and the Google Wave assignment to get students up-to-speed in a hurry on their technical skills.&lt;br /&gt;&lt;br /&gt;The FB app seminar we had last week is a combination of both ideas and skills. On one hand, the students are expected to think about existing apps to understand why they work (or FAIL); on the other hand, they get to learn some presentation and writing skills. Both of which will be helpful to them in the *real* world. &lt;br /&gt;&lt;br /&gt;There will also be two more case studies coming up where students will be forced to think about user interaction (not just interface) design and also about team dynamics. These are not like technical skills, but soft skills that will help them execute their Final Project better.&lt;br /&gt;&lt;br /&gt;"Execution" = Final Project. That's all.&lt;br /&gt;&lt;br /&gt;But execution is perhaps the most important thing that I hope students learn. Ideas are cheap. Execution is what makes people rich (or helps them save/conquer (pick one) the world). &lt;br /&gt;&lt;br /&gt;Since I'm blogging about today's pitching session before any of the students (lead by example), it might be helpful for me to provide a suggestion on what to blog about the session since the session might seem kinda random to some students (though students are free to do their own thing and surprise me -- just no gambling and no porn thank you). &lt;br /&gt;&lt;br /&gt;Well, I'm really interested in (student) learning. I would be quite happy to hear from each student the (i) three things that they learnt today, (ii) why they think the three things are the most important among all the things they learnt today (hopefully there are more than three) and (iii) how they will APPLY these three things to their lives/final project/job moving forward.  Simple? :-P&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-6594092092205057464?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/6594092092205057464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/02/making-connections.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/6594092092205057464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/6594092092205057464'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/02/making-connections.html' title='Making Connections'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-6836602651974391881</id><published>2010-02-07T15:06:00.006+08:00</published><updated>2010-02-07T15:59:38.371+08:00</updated><title type='text'>The Answer is Yes</title><content type='html'>It's been a really busy week for everyone. &lt;br /&gt;&lt;br /&gt;While the students were busy blogging about the Facebook Application Seminar, I have been busy working with Kok Wee and the Tutors on the grading of the FB assignment and also in preparing the Google Wave assignment. &lt;br /&gt;&lt;br /&gt;I haven't had the chance to read through all the FB Application critiques quite as thoroughly as I would have liked, but I will re-read all of them over the next two weeks while I'm away in Bangkok. &lt;br /&gt;&lt;span class="fullpost"&gt; &lt;br /&gt;Teaching CS3216 really keeps me on my toes because every batch is different.&lt;br /&gt;&lt;br /&gt;Traditionally (i.e. for the last two batches), the 70% milestone points are like giveaways because every group will fastidiously ensure that they were satisfied. This year it's quite a mess and I decided to something never done before: get students to re-submit. &lt;br /&gt;&lt;br /&gt;The nice thing about CS3216 is that it's a class I created and so I pretty much make the rules. More importantly, I get to change the rules along the way to adapt to surprises. I've never been a fan of dogma but it's not like I do stuff at whim and fancy either. &lt;br /&gt;&lt;br /&gt;Why resubmission?&lt;br /&gt;&lt;br /&gt;Reason is very simple: I have no intention of assessing students based on the three assignments: (i) FB assignment; (ii) FB app seminar and (iii) Google Wave assignment. These assignments are structured in so a way that students will LEARN stuff. As long as people learn, the objective is satisfied. The grades awarded are supposed to "punish" the idle ones who don't put in effort. &lt;br /&gt;&lt;br /&gt;Most groups have put in A LOT of effort into the assignment and convinced me that they learnt something and so I felt that it would not be fair to punish them just because they were not kiasi and kiasu enough to get every single milestone point. Scoring for the milestone points is not function of intellect, it's merely a demonstration of diligence. &lt;br /&gt;&lt;br /&gt;My hope is that everyone will finish the first three assignments reasonably well and all get reasonably high scores. The students will be assessed for CS3216 mainly on the Final Project. &lt;br /&gt;&lt;br /&gt;I must say that I am very pleased with the FB application seminar this year. After three iterations, we've finally gotten it right (I have to admit that we really do it quite right the last two times). The presentations were nice and succinct and the critiques and ensuing discussions were good. Apparently students have been forced to think. &lt;br /&gt;&lt;br /&gt;I tell my students that it's really fun being a prof -- because we get to do what we believe in. And it is in this spirit that CS3216 is conducted.&lt;br /&gt;&lt;br /&gt;Henry asked if his group can do a Chrome plugin instead of the Google Wave assignment, the answer is yes.&lt;br /&gt;&lt;br /&gt;Yecheng asked if he can swap the order of the Final Project and Google Wave assignment, i.e. do Final Project first. The answer is yes again (provided his GW and Final Project groups are the same). &lt;br /&gt;&lt;br /&gt;Why not? :-)&lt;br /&gt;&lt;br /&gt;Not that I'm a fan of Yes Man (starring Jim Carrey), but I think there's a cultural problem in our society where people ask too much for permission, rather than forgiveness. My policy for CS3216 is that pretty much anything reasonable and that complies with the high-level goals of CS3216 is possible - ask and ye shall receive. &lt;br /&gt;&lt;br /&gt;If I should reject a request, it would be my responsibility to EXPLAIN why not. :-P &lt;br /&gt;&lt;br /&gt;To conclude, learning is hard. And it is my belief that we are our own best teachers. So the whole structure of CS3216 is not so much in me trying to teach students stuff, but in me trying to encourage students to learn stuff on their own. When I see a post like &lt;a href="http://sto3216orz.wordpress.com/2010/02/07/i-skipped-the-workshop/"&gt;this&lt;/a&gt;, it encourages me that I might just have done something right. &lt;br /&gt;&lt;br /&gt;CS3216 doesn't seek so much to teach as to light a fire -- to convince students that they can do more than they thought they could do (before they took the class). &lt;br /&gt;&lt;br /&gt;Yes, it's painful lah, but as they say "no pain, no gain". The reason why CS3216 works is that there's shared suffering.  When you're suffering alone trying to decipher some obscure piece of code, you start asking yourself if you're an idiot. When you're sitting in COM1 with a dozen other students, it becomes an experience. Such are the mysteries of life. :-)&lt;br /&gt;&lt;br /&gt;I would like to wish all students a very Happy Lunar New Year. While I will not be physically around to give angbaos, those who have not already gotten my comments on your FB app critiques can look forward to CNY "good luck" comments that you will be expected to respond to. &lt;br /&gt;&lt;br /&gt;P.S. I was "supposed" to write about the FB app seminar this week, but I decide I would read through all the critiques once more in more detail first. Akan datang. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-6836602651974391881?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/6836602651974391881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/02/answer-is-yes.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/6836602651974391881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/6836602651974391881'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/02/answer-is-yes.html' title='The Answer is Yes'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1354838888402430941</id><published>2010-01-26T00:48:00.005+08:00</published><updated>2010-01-28T18:52:55.773+08:00</updated><title type='text'>On Cloud Computing</title><content type='html'>While I typically blog AFTER the students have blogged, I felt pretty inspired today and I thought I would pen down my thoughts before I forget them. &lt;br /&gt;&lt;br /&gt;I would like to thank Simone Brunozzi from Amazon for taking time to come talk to the class about Amazon Web Services (AWS) and Cloud Computing in general. &lt;br /&gt;&lt;br /&gt;The reason why we are deploying the class assignments on AWS and why I invited Simone to give a talk to the class is because I believe that cloud computing is future (and Amazon didn't pay me to say this). I'm saying this not because the technology is cool, but because it makes business. &lt;br /&gt;&lt;br /&gt;Simple reason: it's annoying (and expensive) run a data center. :-P &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;I must admit that while I have a reasonably good idea of how the technology works 'cos my area of research is networking and distributed systems, I had never used a cloud computing service before until this semester. &lt;br /&gt;&lt;br /&gt;I believe that it would be helpful for the students to understand how it works, because while many aspects are the same as traditional servers, there are also key differences. For example, persistent storage is something that requires a little more understanding and thought, i.e. should we put the data in S3, EBS or MySQL?&lt;br /&gt;&lt;br /&gt;While students are expected to work mainly with EC2, I hope that the students will also use the opportunity (and free credits) to explore the other AWS services that Simone mentioned. &lt;br /&gt;&lt;br /&gt;I'm not going to talk about the technical content of the talk since that's for the students to talk about and discuss. There are three things that I would like to highlight.&lt;br /&gt;&lt;br /&gt;One, the conversion to cloud computing will not likely be an easy one. The reason is that people don't necessarily change just because something is better. Small companies probably don't need the full capabilities of the cloud; large companies are resistant to change.&lt;br /&gt;&lt;br /&gt;The resistance is more often than not a human rather than a technical issue. Basically, change is scary because things can go wrong. Middle management in Asia is typically conservative. &lt;br /&gt;&lt;br /&gt;This is the question: suppose they convince their boss to switch over to cloud computing and their company saves a lot of money, will they get a bigger paycheck? Suppose something goes wrong in the process - who's going to take responsibility? &lt;br /&gt;&lt;br /&gt;The lesson here is that it's not enough to big something bigger and better. You've gotta convince the sucker to buy it. :-) &lt;br /&gt;&lt;br /&gt;Next, I really really pleased by how Simone answered some of the questions. Basically, to almost all the questions of "how do we do it?", his answer was "it depends".&lt;br /&gt;&lt;br /&gt;This underscores the importance of being flexible and understanding that life is complicated and that there are often different answers to the same question "what is the best way to make data persistent on AWS?" under different situations. In a nutshell, &lt;span style="font-weight:bold;"&gt;context&lt;/span&gt; matters.  &lt;br /&gt;&lt;br /&gt;Finally, I was very impressed by Simone's story about him advising the customer who had 200 EC2 instances to run his own distributed file system instead of using S3 or EBS (which would cost the customer more and increase AWS's profits). &lt;br /&gt;&lt;br /&gt;This underscores the importance of &lt;span style="font-weight:bold;"&gt;integrity&lt;/span&gt; in doing business. &lt;br /&gt;&lt;br /&gt;Many of my students will probably eventually end up starting their own businesses. &lt;br /&gt;&lt;br /&gt;My wife does not have very many good things to say about the sorts of people she has come across in the corporate world. She said that integrity is severely lacking.&lt;br /&gt;&lt;br /&gt;I hope that however that my students will learn from Simone's example and "do the right thing". Don't screw the customer to make a quick buck. Create value and build real businesses. :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1354838888402430941?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1354838888402430941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/01/on-cloud-computing.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1354838888402430941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1354838888402430941'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/01/on-cloud-computing.html' title='On Cloud Computing'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-8994179953767311628</id><published>2010-01-19T00:45:00.013+08:00</published><updated>2010-01-19T20:24:27.818+08:00</updated><title type='text'>The Paradox of Simplicity</title><content type='html'>CS3216 evolves over time.&lt;br /&gt;&lt;br /&gt;We have had a lecture on "Principles of Software Engineering" since the first year. &lt;br /&gt;&lt;br /&gt;The first year, it was guest lecture by Prof Stan Jarzabek. It was a good lecture -- but the non-programmers complained that it was too technical and they were completely lost.&lt;br /&gt;&lt;br /&gt;Last year, Prof Stan was busy and so I did an abbreviated version of the lecture followed by a sharing session by three students, Zi Han, Wei Man and Justin. The sharing session was quite well-received but there were still complaints that the lecture was too technical. &lt;br /&gt;&lt;br /&gt;So when it came to this year, I thought about what we should do and decided to keep the sharing session but do the lecture differently. Thanks Zi Han, Wei Man and Justin for coming down yesterday to do the sharing session. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;What I had come to realize was that it's not very meaningful to cover the principles of software engineering that students are not likely to relate to in CS3216.&lt;br /&gt;&lt;br /&gt;Software engineering is a complicated process and mostly relates to big systems. In CS3216, the focus is more on ideas and ideas, and while it would be preferable if students produce world-class and easily maintainable code, we have to be realistic about what can be accomplished in 13 weeks. &lt;br /&gt;&lt;br /&gt;In this light, I decided to simplify and to focus on what is most likely relevant to the students here and now. I decided that it is important to talk about stuff that the students can relate to immediately even in their first assignment.&lt;br /&gt;&lt;br /&gt;The simplification is evident on the number of principles we discussed in the lectures. Two years ago, there were six principles; last year, there were five; this year, I only talked about three of them. So much for dumbing down. &lt;br /&gt;&lt;br /&gt;Some students seem to think that the stuff I mentioned: (i) modularity, (ii) abstraction and (iii) design for change are quite straightforward -- and they are right. It's mostly common sense actually.&lt;br /&gt;&lt;br /&gt;The irony of life however is that many things are pretty simple and straightforward. Strangely enough, people often fail to do what is simple and straightforward. &lt;br /&gt;&lt;br /&gt;For example, the following lecture on Time Management by Randy Pausch says pretty obvious things:&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/oTugjssqOT0&amp;hl=en_US&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/oTugjssqOT0&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" width="425" height="344" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;How many people can actually do it? Personally, I can't even manage some of those things.&lt;br /&gt;&lt;br /&gt;In this sad state of affairs however is &lt;span style="font-weight:bold;"&gt;opportunity&lt;/span&gt;. Basically, this suggests that many people already know how to significantly improve their lives --- they just have to DO IT. :-)&lt;br /&gt;&lt;br /&gt;Truthfully, one of the reasons why the lecture was the way it was is because of what I'd heard about how some of the groups are doing -- some groups were struggling to distribute the work, some groups didn't know how to start and others didn't know what to do with the non-programmers. It's a learning process for everyone. :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Sleep matters.&lt;/span&gt; Finally, I'm not always serious about everything I said in class. While it is true that people can do a lot more things if they don't sleep, I am not advocating that students should deprive themselves of sleep.&lt;br /&gt;&lt;br /&gt;In fact, research has shown, and as &lt;a href="http://wlynuscs3216.blogspot.com/2010/01/sleep-does-matter.html"&gt;Li Yen has kindly highlighted&lt;/a&gt;, sleep deprivation hurts performance. &lt;br /&gt;&lt;br /&gt;In fact, it's more than just sleep. Some amount of balance and moderation is necessary for life in general. Many people focus exclusively on their careers to the detriment of the other parts of their lives (family, health, friends, etc.). &lt;br /&gt;&lt;br /&gt;While I don't believe in well-roundedness and advocate focussing on developing one's strengths, I do believe that some amount of balance is necessary in leading our lives. &lt;br /&gt;&lt;br /&gt;Our lives are pretty short. I should know. I actually feel quite old already. :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-8994179953767311628?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/8994179953767311628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/01/paradox-of-simplicity.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8994179953767311628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8994179953767311628'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/01/paradox-of-simplicity.html' title='The Paradox of Simplicity'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-8762123580216303991</id><published>2010-01-13T01:20:00.005+08:00</published><updated>2010-01-13T02:25:48.722+08:00</updated><title type='text'>On Success</title><content type='html'>Further on the question of success, I chanced upon the following Anthony Robbins video. Title says "Wealth Mastery" but Anthony Robbins deals with the issue of what it means to be successful and why some folks are outwardly successful, but extremely unhappy. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bve8VUQlAPQ&amp;hl=en_US&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/bve8VUQlAPQ&amp;hl=en_US&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;We were talking about failure and celebrating failure. The following is a cool story about failure and more failure and even more failure ... and then success: &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ywuse55qU2A&amp;hl=en_US&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ywuse55qU2A&amp;hl=en_US&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-8762123580216303991?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/8762123580216303991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/01/on-success.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8762123580216303991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8762123580216303991'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/01/on-success.html' title='On Success'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-2943750259520503669</id><published>2010-01-12T01:21:00.001+08:00</published><updated>2010-01-12T20:07:23.048+08:00</updated><title type='text'>Hard Questions</title><content type='html'>First, I would like to apologize to the class that today's lesson ended way late.&lt;br /&gt;&lt;br /&gt;Like I said in my previous post, CS3216 is "like a box of chocolates". I never quite know what I'm going to get. Truthfully, it's pretty scary. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;The Show-and-Tell this year was much longer than either of the Show-and-Tells for years' past. The main reason is that we had a *much* larger number of musicians, singers and dancers. Also, lots of the students showed stuff on their laptops.&lt;br /&gt;&lt;br /&gt;This year was much more show than tell and those who told, told a lot. :-) Previous years were mostly tell and not so much show.&lt;br /&gt;&lt;br /&gt;I guess I am quite good at cutting people off if they talk to much -- but I don't know how to cut people off in the middle of a musical piece. &lt;br /&gt;&lt;br /&gt;My consolation to the class is that future lessons, except the Facebook application seminar, are not likely to go overtime. Remember that I'm the guy with the wife and two screaming babies at home. &lt;br /&gt;&lt;br /&gt;If I keep going home past 11 pm, it will not be long before I have my ears twisted off. I think I have nice ears. I would like to keep them attached to my head thank you. :-)&lt;br /&gt;&lt;br /&gt;Anyhow, typically I ask students at the end of the first lecture if they have questions and I expect "normal" questions. &lt;br /&gt;&lt;br /&gt;Today, the students asked two questions and I didn't have the time to answer them so I said I would answer them in this blog. So here I am stuck with two hard questions. &lt;br /&gt;&lt;br /&gt;First question: What is success?&lt;br /&gt;&lt;br /&gt;Second question (asked by Wai Hong after Show-and-Tell): What is passion?&lt;br /&gt;&lt;br /&gt;What do you do when confronted with hard questions? You Google - and I did exactly that. &lt;br /&gt;&lt;br /&gt;I estimate that there must be at least 300 articles on success and about 30 on passion. Those with more time than me can go count and let us know exactly how many. &lt;br /&gt;&lt;br /&gt;So obviously, people are more interested in success. &lt;br /&gt;&lt;br /&gt;The truth of the matter is that I don't "know" the answers to the two questions. I can only talk about my impression of what they are. &lt;br /&gt;&lt;br /&gt;I think success is a state of mind. People can be divided into two categories by their mindset: winners and losers. &lt;br /&gt;&lt;br /&gt;The winners aren't necessarily your billionaires and often times if they aren't quite billionaires yet, they are just on their way. But this analogy seems to suggest that success is measured in financial terms. Maybe it is. Maybe it isn't. How would I know? After all, I'm a Computer Scientist, not a philosopher.&lt;br /&gt;&lt;br /&gt;The following quote by Ralph Waldo Emerson is pretty thought-provoking:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight:bold;"&gt;What is Success?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To laugh often and much;&lt;br /&gt;&lt;br /&gt;To win the respect of intelligent people&lt;br /&gt;and the affection of children;&lt;br /&gt;&lt;br /&gt;To earn the appreciation of honest critics&lt;br /&gt;and endure the betrayal of false friends;&lt;br /&gt;&lt;br /&gt;To appreciate beauty;&lt;br /&gt;To find the best in others;&lt;br /&gt;&lt;br /&gt;To leave the world a bit better, whether by&lt;br /&gt;a healthy child, a garden patch&lt;br /&gt;or a redeemed social condition;&lt;br /&gt;&lt;br /&gt;To know even one life has breathed&lt;br /&gt;easier because you have lived;&lt;br /&gt;&lt;br /&gt;This is to have succeeded.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I once stocked up on copies of this book called &lt;a href="http://www.amazon.com/Secrets-Millionaire-Mind-Mastering-Wealth/dp/0060763280"&gt;Secrets of the Millionaire Mind&lt;/a&gt; and I gave them away to random students who came to see me (it's a cheap paperback lah). I've run out. Sorry. &lt;br /&gt;&lt;br /&gt;The point of giving out this book was not so as to encourage students to become more money-minded, but to highlight to them this point I'm trying to make: success is a mindset. &lt;br /&gt;&lt;br /&gt;Sorry I like to pick on students, but welcome to CS3216. This &lt;a href="http://wing.comp.nus.edu.sg/~waihong/blog/?p=279"&gt;student&lt;/a&gt; for example has a mindset problem because he says "I think I am a failure". &lt;br /&gt;&lt;br /&gt;The truth of the matter is that I knew that already. Our friend submitted a seven-page personal statement and said he "already tried to make it as short as possible". After reading every single word and thinking through what sort of a person would write what I was reading, I was not surprised to read the "I think I am a failure". :-)&lt;br /&gt;&lt;br /&gt;Fortunately, the story does not end here. This student also says, "I don’t want to be one", which I also expected. &lt;br /&gt;&lt;br /&gt;The truth of the matter is this: CS3216 doesn't take losers. There aren't already enough places to go around. It is only right to offer the places to those who have the potential to benefit the most 'cos I don't have any confidence that I can turn losers into winners. My goal is to try to pick the winners and try to help them win earlier and bigger. :-P&lt;br /&gt;&lt;br /&gt;This particular student has talent. He doesn't really know what it is, but it's there. He feels he hasn't quite achieved his potential and he is NOT content with status quo. That means his mentality can be "fixed" so that he falls squarely in the "winning camp". &lt;br /&gt;&lt;br /&gt;Let's play a little game. I know what his talent is. I suspect he doesn't. At this point, all of you probably don't either - since you don't know him well enough. Over the course of the semester, why don't you guys figure it out and do him a favour and tell him? :-)&lt;br /&gt;&lt;br /&gt;Finally, what is passion? I think passion is a deep-seated conviction that empowers folks to do stuff above and beyond what is typically known as mediocre. It's not about what you believe, but knowing WHY you believe. No one &lt;a href="http://www.youtube.com/watch?v=_Af4QLc2vhs"&gt;says it better than Anthony Robbins&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I believe that I have a passion for what I do. It is now 4 am. I am dead tired. Still I blog. Enough said. :-)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-2943750259520503669?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/2943750259520503669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/01/hard-questions.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2943750259520503669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2943750259520503669'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/01/hard-questions.html' title='Hard Questions'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-8953149607650507094</id><published>2010-01-10T00:23:00.000+08:00</published><updated>2010-01-11T17:40:20.312+08:00</updated><title type='text'>A New Beginning</title><content type='html'>Tomorrow will be the first class for CS3216. Again.&lt;br /&gt;&lt;br /&gt;Typically, if I were to be teaching a class for the third time, I would probably be able to do it in my sleep.&lt;br /&gt;&lt;br /&gt;Not so for CS3216. &lt;br /&gt;&lt;br /&gt;While many people have been on vacation this past month, my dedicated teaching staff have been hard at work developing the new assignments for this year. To them, I owe a great debt of gratitude. Without them, CS3216 would not be possible. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Unlike last year, we will be introducing a new Google Wave assignment. Google Wave is so new that none of us knew how it works, and much less what it is good for - but we still have to come up with an assignment.&lt;br /&gt;&lt;br /&gt;Also, instead of deploying their homework on the SoC servers, the students this Semester will get to deploy their work on Amazon Web Services. Truthfully, we also had no idea what this was about and we had to go find out.&lt;br /&gt;&lt;br /&gt;But such is life. &lt;br /&gt;&lt;br /&gt;There is the saying that if we really believe in what we're doing, then we better "&lt;a href="http://en.wikipedia.org/wiki/Eating_one%27s_own_dog_food"&gt;eat our own dog food&lt;/a&gt;". So we eat. &lt;br /&gt;&lt;br /&gt;CS3216 is about learning how to take risks and work outside our comfort zones. Why would we want to do something like that? Well, because if we do not push at the boundaries, there will be no progress - and if we do not push at the boundaries aggressively enough, there will not be breakthroughs. &lt;br /&gt;&lt;br /&gt;So every semester we try new things. We try to make it better - though we aren't necessarily sure that we will succeed. &lt;br /&gt;&lt;br /&gt;I was chatting with Kok Wee (course TA) after we finished CS3216 last year. I told him that I thought we did well and the &lt;a href="http://www.comp.nus.edu.sg/~bleong/teaching/feedback/module_assessment-2008-2009S2.htm"&gt;feedback for the module&lt;/a&gt; seems to indicate so too. But it's scary sometimes when things go well, because in creeps the fear of screwing up. When things are going well and swimming along, where else do you have to go but down? &lt;br /&gt;&lt;br /&gt;To digress, I would like to take the opportunity to address the following comment by a student last year: &lt;i&gt;"I strongly suggest the last project before the Final Project be scrapped. Too much time is spent to master a totally new platform to create a new app. Perhaps it is not so strenous on non-programmers but it takes a lot for programmers to pick up a totally new platform. Although the intention is to expose the students to "evolving platforms", I feel that it is way too heavy and results in a lack of time for the final project. Overall this module feels more like an 8MC module and this view is echoed by all the students of the class. It is extremely taxing on students in their 3rd or final years where they are also pursuing their FYPs or design projects which also require an immense amount of time. While those modules are appropriately awarded with 8 or 12 MCs, this isn't. Although the student is already spending the majority of time on this, it does not translate to better scores, instead, it drags down the students' overall score as the other modules are severely affected."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Two things: (i) this student is referring to the Microsoft WPF assignment we had last year, which we have replaced this year with the Google Wave assignment. Google Wave is really just JavaScript, so life will be better this year (not only for the students, but for the teaching staff). (ii) We will continue to emphasize to the students to try to moderate the size of their projects and to avoid building the mother-of-all-projects project to take over the world. Instead, we hope that the students will deliver small but cool projects.&lt;br /&gt;&lt;br /&gt;Sometimes, small is beautiful. &lt;br /&gt;&lt;br /&gt;Sometimes, when we do something right/well, there are fears of not being able to reproduce past success. I would be honest and admit that these fears are quite real to me. &lt;br /&gt;&lt;br /&gt;CS3216 really has a lot of random uncontrolled factors. Like Forrest Gump says, "it's like a box of chocolates." I have no idea what we're going to get. &lt;br /&gt;&lt;br /&gt;However, there is also the theory of "Do or Do Not, There is No Try." Sometimes we might have concerns, but what really matters is whether we believe in what we do.&lt;br /&gt;&lt;br /&gt;I believe. And fortunately for me, I have a dedicated TA and four brilliant Tutors, who are all ex-students of this class, and who share the same belief. &lt;br /&gt;&lt;br /&gt;One lesson on risk management is to find the right people who BELIEVE in the same vision. I am fortunate to have found the right people and with that, we press on with CS3216 for yet another semester. &lt;br /&gt;&lt;br /&gt;To conclude, I would like to address the issue of blogging. &lt;br /&gt;&lt;br /&gt;It's clear to me that some students are going to find blogging a pain/chore -- and like Randy Pausch says, "if there's an elephant in the room, address it".&lt;br /&gt;&lt;br /&gt;CS3216 is about learning. The sad thing about learning is that students can go through motion the entire time they are in college, get good grades and learn absolutely nothing. This statement might seem like nonsense, but it's true.&lt;br /&gt;&lt;br /&gt;How does blogging help in the learning? Well, we have to go back to the psychology of learning. &lt;br /&gt;&lt;br /&gt;The thing about blogs is that there's some ownership. When a student blogs, it makes a statement about who he/she is. Very few people want to make a statement to others that "I'm a loser".&lt;br /&gt;&lt;br /&gt;In this light, when "forced" to blog, students will spend a lot more effort thinking about what to say and how they want to say it. It is not so much the blogging that the learning takes place, but in the agonizing over what to write where people will learn something.&lt;br /&gt;&lt;br /&gt;They are forced to take stock of what they have heard/seen and draw conclusions. That's important. Many people go through life not thinking hard about what they have seen or heard.&lt;br /&gt;&lt;br /&gt;I am one of the weird profs who tell my students that school is overrated (fortunately, parents don't believe that - or I'd be out of a job :-P). &lt;br /&gt;&lt;br /&gt;Well, school is overrated, because learning is EVERYWHERE. To think that learning can only take place in school is completely misguided.&lt;br /&gt;&lt;br /&gt;That said, given that we have job to educate our students, we should try to earn our pay. &lt;br /&gt;&lt;br /&gt;In addition to "forced" thinking, there are two other key advantages of blogging.&lt;br /&gt;&lt;br /&gt;One, it is important to learn to communicate in ANY job. Writing more through blogging is one way for students to practise this skill. We're not looking for Shakespeares in CS3216. People just have to express what they say in clear and concise manner. &lt;br /&gt;&lt;br /&gt;Foreign students might find blogging even more of a pain 'cos they have to write in a foreign language. All the more better write more to improve your command of English. &lt;br /&gt;&lt;br /&gt;Two, the blogs actually allow me to figure out exactly what people are learning and how much they are learning. Blog comments also provide me with a way to ask questions and challenge assumptions and/or clarify ideas. Students can also interact with each other and learn from their friends through the blogs. &lt;br /&gt;&lt;br /&gt;There are many good things going for blogs - but there's no free lunch. Blogging every week requires effort and discipline.&lt;br /&gt;&lt;br /&gt;As it turns out, I believe that teaching also requires some leadership by example. &lt;br /&gt;&lt;br /&gt;If I am to inflict such pain on my students, I jolly well demonstrate that I can take the same pain. In this light, I will also write a blog entry every week like the students.&lt;br /&gt;&lt;br /&gt;However, I will probably do it AFTER I have read what the students have written. &lt;br /&gt;&lt;br /&gt;It's not because I dunno what to say and I need to check what the students have written to check market rate and because I need to "copy" from the students. In fact, by blogging after the students, I am making my life much harder 'cos the expectation is that I have to say smart things that none of the students have said. :-) &lt;br /&gt;&lt;br /&gt;Actually, if students expect me to say "smart things," I suspect they will be sorely disappointment. My talent lies in &lt;i&gt;stating the obvious&lt;/i&gt; (did I say school is somewhat overrated? :-)). &lt;br /&gt;&lt;br /&gt;But more seriously, I don't want to write first because there's still a very bad culture in Singapore where students tend to think that there's some "model answer" and that the prof knows the "right answer". I suspect that if I weigh in prematurely on issues, students will end up worse off because they will be circumscribed by what I say. &lt;br /&gt;&lt;br /&gt;To understand my concerns, see this &lt;a href="http://isnerdreturntrue.blogspot.com/2009/12/problem-with-google-wave.html"&gt;entry&lt;/a&gt;. I would like to clarify that students won't "score more points" if they agree with me. No one has any need to rewrite *any* blog entries. :-)&lt;br /&gt;&lt;br /&gt;What exactly students think doesn't really matter. What matters more is how and why they think the way they think. I'm am actually more impressed with students who come up with views contrary to mine that are backed with with good ideas and thorough arguments. &lt;br /&gt;&lt;br /&gt;Anyway, my closing remark to the new students is this: don't complain about this blogging business. Just do it (Nike style). If you struggle with it, good for you. You're learning something and getting smarter. &lt;br /&gt;&lt;br /&gt;I'm ready for CS3216. Are you? :-) &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-8953149607650507094?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/8953149607650507094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2010/01/new-beginning.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8953149607650507094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8953149607650507094'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2010/01/new-beginning.html' title='A New Beginning'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-239562308475398908</id><published>2009-11-26T12:51:00.000+08:00</published><updated>2009-12-24T12:37:50.940+08:00</updated><title type='text'>Paradox of the Poor (Money No Enough) Programmers</title><content type='html'>Recently, I got involved in a some discussions over the future of Computer Science in Singapore. The truth of the matter is that Singapore has done very well with regards to attracting lots of world-class Infocomm companies to set up shop in Singapore. REGARDLESS of whether the current economic recovery is going to be U-shaped, W-shaped, O-shaped, whatever-shaped, the jobs are coming over the next couple of years. There are going to be a large number of them and these are going to require good programmers (and not just run-of-the-mill graduates).&lt;br /&gt;&lt;br /&gt;But there's apparently also a &lt;a href="http://sgentrepreneurs.com/contributors-corner/2009/11/21/a-foreign-entrepreneur-finds-it-hard-to-scale-a-team-in-singapore/"&gt;shortage of good programmers&lt;/a&gt;. For a CS prof who is concerned about the state of the local IT industry, this is clearly something that I am deeply troubled about.&lt;br /&gt;&lt;br /&gt;After discussing this issue with some folks over the last few days, I came upon this apparent paradox: &lt;span style="font-style: italic;"&gt;it is well-known that a good programmer is 10 times more productive than a mediocre one. In this light, suppose a mediocre programmer makes $30K a year, the good programmers should be expected to make $300K a year. However, we are not seeing this in the market today. WHY?&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;While thinking about this problem, I suddenly recalled this conversation I had over lunch a couple of weeks ago with my ex-classmate who is the co-founder of a successful startup. Over lunch, we were discussing the issues of manpower and pay. He made this one remark, &lt;span style="font-style: italic;"&gt;"I have this guy who is worth 10 times what I'm paying him - but I'm not paying him that much. The reason is that he doesn't KNOW he's worth that much, and I have no incentive to tell him."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This indicates that there's information asymmetry. The classic example of this is what's known as the &lt;a href="http://en.wikipedia.org/wiki/The_Market_for_Lemons"&gt;Market for Lemons&lt;/a&gt;. The idea here is that in the used-car market, there are two kinds of cars, lemons and peaches. Lemons are cars that will break down frequently and peaches are good and reliable cars. The catch is that only the seller knows whether his car is a lemon or a peach. A buyer cannot tell. Hence the information asymmetry. The question is this: suppose lemons are worth $20,000 and peaches are worth $60,000, what is the price of a used car?&lt;br /&gt;&lt;br /&gt;Clearly, the price must be at least $20,000 and at most $60,000. A market price of $60,000 is impossible because the buyers risk getting a lemon and suffering a huge loss. Suppose the clearing price for used cars is $20,000+x, where 0&amp;lt;x&amp;lt;40,000. The lemon sellers will gladly sell their car 'cos they will enjoy surplus x&amp;gt;0. The peach sellers however  will not sell 'cos they will lose $40,000-x&amp;gt;0. This means that at this price, the market is full of lemons. If the buyers were rational, they would never pay $20,000+x since they know that they must be looking at a lemon. The stable equilibrium is therefore a market clearing price of $20,000 and where only lemons get sold. This is a market failure because peaches cannot be sold. &lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="fullpost"&gt;&lt;x&gt;So how is this issue of information asymmetry and lemons related to programmers? &lt;/x&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, it seems to me that there's some weirdness in the market. If there's a so-called shortage of good programmers, then logically, the salaries of good programmers must shoot through the roof (in Singapore, not talking about Google, Mountain View here), but that's not happening. Hold that thought.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Over the past couple of years that I have been teaching at NUS, I have come to realize one curious thing. The class of Honours is NOT an entirely good indicator of whether a student is a good programmer. There is some correlation, i.e. First Class Hons typically better programmer than Third Class Hons, but there are very good programmers who are only 2nd Upper/Lower students (and quite a number of them!). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have had students who are elite programmers who fail MA1505 (calculus) and get their CAPs thrashed. There are also First Class Honours students that I would never touch with a ten-foot pole. Software companies try to do their due diligence and set tests and exams, etc. However, the&lt;i&gt; laupok&lt;/i&gt; First Class Honours will still probably get through.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All in all, I believe that there's an information gap. Companies look at the prospects and they are not entirely sure. Good programmers who just graduate fresh from school don't really understand their own market value and are willing to accept somewhat low salaries from the bigger firms. Bigger firms don't pay more because the programmers are docile enough to accept and they also have no interest to pay more. Cheap is good what. Smaller firms don't have the financial resources to compete and also take the cue from the large firms. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had an idea: suppose we have an oracle that will magically reveal the value of each programmer. We take a programmer and stick him into the oracle and out comes a dollar value, i.e. say $40,000, or $60,000 and both the market and the programmer believe that the oracle is accurate. How will this change the situation? :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have a theory - and I plan to build the oracle to test if my theory is correct. Wish me luck.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Afternote:&lt;/span&gt;&lt;br /&gt;Here's &lt;a href="http://www.johndcook.com/blog/2009/12/23/why-programmers-are-not-paid-in-proportion-to-their-productivity/"&gt;another post&lt;/a&gt; on the same issue (Thanks Zi!). The funny thing about productivity in programming is that we actually want programmers who write less code, not more. Also, the majority of the time is spent not so much on writing code, but in debugging. Good programmers generate fewer bugs. :-)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-239562308475398908?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/239562308475398908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/11/paradox-of-poor-money-no-enough.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/239562308475398908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/239562308475398908'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/11/paradox-of-poor-money-no-enough.html' title='Paradox of the Poor (Money No Enough) Programmers'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-5749048305273107612</id><published>2009-05-20T11:31:00.000+08:00</published><updated>2009-05-18T20:40:33.284+08:00</updated><title type='text'>Understand Life, Reject Dogma, Embrace Common Sense</title><content type='html'>"SINGAPORE needs people with a sense of the aesthetics and not just people who get straight As in school, said Minister Mentor Lee Kuan Yew. "&lt;br /&gt;&lt;br /&gt;Wei Man's response, &lt;span style="font-style:italic;"&gt;"Say that again?! My life will be different if you thought so ten years ago."&lt;/span&gt;   &lt;br /&gt;&lt;br /&gt;Wei Man is one of the most outstanding students I had this past Semester and the CS3216 Blog Queen. When I read her response, it bothered me. It also reminded me of this Facebook comment conversation I had with some former CS3216 students a couple of weeks ago about scholarships for foreign students.  &lt;br /&gt;&lt;br /&gt;My question to Wei Man: why should your life be different if the Minister Mentor thought differently ten years ago? He's not your grandfather what.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;First, I am surprised that people seem to think that this news reports is saying anything new. Do people think that the Minister Mentor just woke up recently and decided that we needed more than students with straight As? &lt;br /&gt;&lt;br /&gt;If people will &lt;a href="http://www.straitstimes.com/Breaking+News/Singapore/Story/STIStory_373476.html"&gt;read carefully&lt;/a&gt;, the example of the two Japanese landscape architects happened during the "Singapore's early years". Translation: the MM figured this out 40 years ago. :-)&lt;br /&gt;&lt;br /&gt;Frankly, the fact that Singapore (or any country for that matter) needs more than just students with straight-A's pretty common sense isn't it?  Really doesn't take a genius to figure it out. Why then is Wei Man surprised at this latest press report? &lt;br /&gt;&lt;br /&gt;For some strange reason, people seem to have this impression that the Government (whatever that means) "demands all its citizens to be a jack of all trades and good in everything" (to quote Wei Man). I was like "Huh? Since when?" :-P&lt;br /&gt;&lt;br /&gt;I'm a systems scientist. A system is a entity consisting of a collection of smaller components. Systems are interesting because they often exhibit behaviour that is different from its components. Futher more, one way of understanding systems is to understand how the individual components work and interact. Society is one such system.&lt;br /&gt;&lt;br /&gt;One criticism I have of our people is that they don't try to understand and appreciate the "laws of nature" but instead blame all their failings on "the system" or "Government". What the heck does that mean? &lt;br /&gt;&lt;br /&gt;Let's take two examples illustrating the sense in the madness we call the "system". &lt;br /&gt;&lt;br /&gt;First, why do we use grades for university admission. Answer is very simple: because there is a limited amount of resources (university places) and we need to allocate them in some "fair" way. Lottery wouldn't do.&lt;br /&gt;&lt;br /&gt;Second, why the apparent "fixation" on grades in the civil service? Since I'm an ex-civil servant, I can say that there's no "fixation" on grades. It's all quite practical practical. &lt;br /&gt;&lt;br /&gt;Again, there's limited resources, either scholarship places or jobs and there's a need to shortlist the candidates efficiently. Interviewing EVERYONE is NOT an option by a long shot. &lt;br /&gt;&lt;br /&gt;Why are Second Uppers paid more? Because the private sector also pays them more. If the civil service doesn't pay more, it can forget about hiring the better graduates. I wish that people can understand a little more about labour markets, about Economics and realize that grades are what's known as a signal. &lt;br /&gt;&lt;br /&gt;Line managers in the civil service are no different from those in the private sector. They hire people to do their work and minimize their own grief. If better grades do not translate to better workers, they hire for what? In case people don't know, civil servants don't get more bonuses if they hire people with better grades. &lt;br /&gt;&lt;br /&gt;Frankly, Singapore is a really "logical" society (maybe every society is equally logical?). Everything happens for a reason and there are good reasons for everything. The system might not be perfect, but people should first look within themselves and learn to take responsibility for their own actions and/failings.&lt;br /&gt;&lt;br /&gt;Finally, Wei Man thinks that "more options" means "more freedom to choose".  She is sort of right - but my stand is somewhat more philosophical: more often than not, it not so much the lack of options but the lack of guts that limits one's freedom of choice.  :-P &lt;br /&gt;&lt;br /&gt;I agree with Wei Man that Singaporean's education system is going the right direction, but after speaking with some parents last week, I have also come to realize that all the changes mean squat unless there is a change in the mindset of the parents. &lt;br /&gt;&lt;br /&gt;I wrote the following letter a couple of years ago at a whim while I was still a graduate student at MIT: &lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;The Straits Times,  March 27, 2006&lt;br /&gt;All-rounder student mould is pointless&lt;br /&gt;&lt;br /&gt;I, TOO, am heartened by the breadth and depth of the Ministry of Education's recent policies and I believe that our policies are indeed progressive.&lt;br /&gt;&lt;br /&gt;People are different and few are truly 'all rounded'.&lt;br /&gt;&lt;br /&gt;To expect our students to conform to the mould of an 'all rounder' model student is like expecting Singapore women to diet till they all look like Ally McBeal: It is self-defeating and pointless, unless what we want is a whole generation of mediocre students.&lt;br /&gt;&lt;br /&gt;We have to let a thousand flowers bloom. Then perhaps a garden might grow on our doorstep.&lt;br /&gt;&lt;br /&gt;Young Singaporeans have to understand that the world has changed since their parents' generation: Singapore is now a global city and they will have to compete with foreigners for jobs at home.&lt;br /&gt;&lt;br /&gt;Protectionism is not an option. We have no oil. We have no natural resources. If we drive up our already high labour costs, we are toast.&lt;br /&gt;&lt;br /&gt;Let us not forget also that there are 1.3 billion hungry people, in the emergent China, who are willing to do the same jobs for less; they are even willing to do jobs that Singaporeans are not willing to do.&lt;br /&gt;&lt;br /&gt;In some ways, our situation may seem bleak but I believe in our future; among all the people in our region, I believe that Singaporeans have access to the most opportunities.&lt;br /&gt;&lt;br /&gt;The question is: Will our people fully exploit the available opportunities to excel in a profession that they truly care about, or will they cave in to peer pressure and continue the blind pursuit of good academic grades and co-curricular activity records, believing that paper qualifications are the key to a secure future?&lt;br /&gt;&lt;br /&gt;To me, the truly worrying part is the expectations that the parents impose upon their children.&lt;br /&gt;&lt;br /&gt;MOE has done its part by reducing the syllabus, and it has improved the testing system by introducing questions that cannot be answered by simply regurgitating from a 10-year series.&lt;br /&gt;&lt;br /&gt;These are steps in the right direction.&lt;br /&gt;&lt;br /&gt;This move has, however, unnerved many parents, who seem to prefer the good old days, where their children can safely spend their entire lives buried in their books, but thereby 'guarantee' good grades at the national examinations.&lt;br /&gt;&lt;br /&gt;Like Ally McBeal, Singaporeans may need to take a look in the mirror.&lt;br /&gt;&lt;br /&gt;Ben Leong&lt;br /&gt;Cambridge, Massachusetts&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;I think I was spot on. One of the key concerns I got when I spoke with the parents was "is there a career if my son/daughter chooses Computer Science? Will the starting pay be less than the other professions?" &lt;br /&gt;&lt;br /&gt;I looked at them in the eye and told them, "if your son/daughter does well in WHATEVER course he/she chooses to study whether at NUS or NTU, he/she will probably find a decent job; if he/she does poorly, probably NO course will guarantee a job. So have your son/daughter pick a course, he/she thinks he likes. This maximizes the probability that he/she will do well. Simple as that."&lt;br /&gt;&lt;br /&gt;MOE needs to educate not only our children, but the parents. :-)&lt;br /&gt;&lt;br /&gt;This is my charge to my students: school is overrated. Life is *real* (and often very harsh). Take some effort to understand how the world around you works and think. Apply common sense. It takes some effort, but it's not that hard. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-5749048305273107612?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/5749048305273107612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/05/understand-life-reject-dogma-embrace.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/5749048305273107612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/5749048305273107612'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/05/understand-life-reject-dogma-embrace.html' title='Understand Life, Reject Dogma, Embrace Common Sense'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-7478011605326224639</id><published>2009-05-09T00:09:00.000+08:00</published><updated>2010-01-09T23:43:36.821+08:00</updated><title type='text'>Reflections Two Years Down the Road</title><content type='html'>We had BBQ tonight. Since last semester, it has become somewhat of a tradition for the class to hang out and chill out at the end of a tough semester. &lt;br /&gt;&lt;br /&gt;It was nice that most of the students turned up, except for a couple who are out of town. A few students from last batch also came -- Zongyao, Caleb and Christine. I would like to express my gratitude again to my trusty TA, Kok Wee for organizing the BQQ and also Janus for helping him. :-) &lt;br /&gt;&lt;br /&gt;It was really nice hanging out with the students. I had a great time chatting with the students, but I unfortunately had to leave early 'ços my wife was nagging me to go pick up our two babies. :-P  &lt;br /&gt;&lt;br /&gt;Jason asked me if I was going to offer CS3216 again next year, and I said, "Yes". &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;This is now the second time that we've offered CS3216 and truthfully I did have second thoughts in the middle of the semester about offering CS3216 every year. I was seriously considering the option of offering it every other year instead. I discussed this matter at length with Kok Wee, my trusty TA, who was adamant that we should offer CS3216 every year. (It's nice to have a TA who really believes in the course. :-))&lt;br /&gt;&lt;br /&gt;Last year we had about 50 students. This year, we only had 28. Personally, I am quite confident that we can sustain a enrollment of about 25-30 students a year, but one of issues that we had this year (which we didn't have last year) was the difficulty the students had in forming Final Project teams different from those for the Facebook assignment. &lt;br /&gt;&lt;br /&gt;It was a structural problem arising from the smaller numbers. Some groups inadvertently wanted to work together with their Facebook assignment teams and with a smaller enrollment, this made it difficult for the remaining people to switch groups even if they wanted to. The same issue didn't arise when we had 50 students last year. &lt;br /&gt;&lt;br /&gt;I didn't really like this situation because I had this idea that one of the skills I wanted the students to learn in CS3216 was how to get to know people and then form the dream teams to develop their "killer app". Because "Musical Chairs" didn't happen, I was thinking to myself that a perhaps more efficient way to run the class was to mount it every other year so that we can collect enough (say 50 students) in each course.&lt;br /&gt;&lt;br /&gt;What made me change my mind towards the end of the course was the realization that a smaller class actually has its advantages. With fewer project teams, I have the time to talk individually to each and every group and get to know each and every student. The quality of the Final Project apps this year also turned out to be significantly higher. &lt;br /&gt;&lt;br /&gt;It is no secret that CS3216 was inspired two years ago by the late Prof Randy Pausch's Last Lecture. In that talk, he described this class he created when he first went to CMU called "Building Virtual Worlds". It sounded really cool, but unlike Randy, I'm an animation guy, so this virtual world business was out of my league. It so turned out that I am the sort of guy who likes to build systems - and along came Facebook, so in a moment of insanity, I proposed CS3216 to my Department. &lt;br /&gt;&lt;br /&gt;I would like to take a moment to give credit to my Department, especially my Vice-Dean Prof Khoo Siau Cheng. Randy says CMU is great. Truthfully, NUS ain't bad. Instead of telling me that I was crazy and stupid, I actually got the support of SoC and later approval by NUS to mount a new course on Facebook programming! I am blessed to work in probably one of the most enlightened faculties on campus and probably in the world. For this, I am very grateful. :-) &lt;br /&gt;&lt;br /&gt;Truth be told, it's actually not very reasonable for NUS to have a Facebook Programming class, because that seems to make us too much of a vocational institution, which we are not. (However, as the students will attest, I don't actually teach people how to write Facebook apps (and neither did I ever have such an intention). The whole point of CS3216 is for students to figure out how to learn. Two generations of CS3216 students have thus completed the course, survived to tell the tale and learnt (albeit painfully) that picking up the technology is the least of their problems, if they truly want to do something great).&lt;br /&gt;&lt;br /&gt;Now two years down the road with CS3216, I can safely affirm that the late Randy Pausch was truly a great educator and his demise is indeed a real loss to humanity. I just went to read the &lt;a href="http://download.srv.cs.cmu.edu/~pausch/Randy/pauschlastlecturetranscript.pdf"&gt;transcript for the Last Lecture&lt;/a&gt; again and found the following quotes I am able to relate to quite intimately after teaching CS3216:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;The first assignment, I gave it to them, they came back in two weeks and they just blew me away. I mean the work was so beyond, literally, my imagination, because I had copied the process from Imagineering’s VR lab, but I had no idea what they could or couldn’t do with it as undergraduates, and their tools were weaker, and they came back on the first assignment, and they did something that was so spectacular that I literally didn’t, ten years as a professor and I had no idea what to do next.&lt;br /&gt;&lt;br /&gt;(If you) wait long enough and people will surprise and impress you. He said, when you’re pissed off at somebody and you’re angry at them, you just haven’t given them enough time. Just give them a little more time and they’ll almost always impress you. And that really stuck with me. I think he’s absolutely right on that one.&lt;br /&gt;&lt;br /&gt;And the course was all about bonding. People used to say, you know, what’s going to make for a good world? I said, I can’t tell you beforehand, but right before they present it I can tell you if the world’s good just by the body language. If they’re standing close to each other, the world is good.&lt;br /&gt;&lt;br /&gt;And BVW was a pioneering course [Randy puts on vest with arrows poking out of the back], and I won’t bore you with all the details, but it wasn’t easy to do, and I was given this when I stepped down from the ETC and I think it’s emblematic. If you’re going to do anything that pioneering you will get those arrows in the back, and you just have to put up with it. I mean everything that could go wrong did go wrong. But at the end of the day, a whole lot of people had a whole lot of fun.&lt;br /&gt;&lt;br /&gt;So today’s talk was about my childhood dreams, enabling the dreams of others, and some lessons learned. But did you figure out the head fake? [dramatic pause] It’s not about how to achieve your dreams. It’s about how to lead your life. If you lead your life the right way, the karma will take care of itself. The dreams will come to you. &lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt; &lt;br /&gt;The first clue that CS3216 was doing something right happened when I was grading the Hello World assignment apps last year. How much can students do with a Hello World app? Well, a lot more than I had EVER imagined. &lt;br /&gt;&lt;br /&gt;Teaching CS3216 is really challenging, but it is also intensely rewarding because I get to work with perhaps the most talented students we have on campus from all faculties. In some situations, the distinction between teacher and student isn't quite so clear.  &lt;br /&gt;&lt;br /&gt;Two groups of students this year taught me the truth that "&lt;em&gt;wait long enough and people will surprise and impress you&lt;/em&gt;".&lt;br /&gt;&lt;br /&gt;One group was &lt;a href="http://apps.facebook.com/_mishmash/"&gt;MishMash&lt;/a&gt;. Jiayang tells their story &lt;a href="http://thoughtsbook.wordpress.com/2009/04/17/last-lecture-last-post-last-thoughts-start-of-new-journey/"&gt;here&lt;/a&gt; and it's true! Truthfully, when the team first did MishMash for their first assignment, it wasn't so hot. It wasn't even usable and so I must admit I was not exactly encouraging when I heard that they wanted to work on it for the Final Project. &lt;br /&gt;&lt;br /&gt;I have to admit, I belong to the "Brutal Truth" camp. I don't tell students what they want to hear; I tell them what they need to hear. Telling students that they are doing well when they are not means that we condone low standards. That's not my style. :-P&lt;br /&gt;&lt;br /&gt;In any case, the story has a happy ending. Instead of being discouraged by my initial comments, they decided to prove me wrong and persevered. I was quite blown away by MishMash when the Progress Report was due. While all the other teams had trouble producing a prototype, MishMash was done. Also, the improvement in the app was phenomenal to say the least. Even my student Zi Han who has really high standards for web apps had nothing but good things to say about the app. Of course, I conveyed my thoughts to the team. &lt;br /&gt;&lt;br /&gt;The other group was &lt;a href="http://apps.xiaonei.com/mycampus"&gt;MyCampus&lt;/a&gt;. This a group of four freshmen. They worked on this Flash-based app for their first assignment and it didn't work out very well. Then they told me that they decided to do a Flex app on xiaonei for their Final Project and I asked, "Sure or not? How much Flash do you know?" The rest, as they say, is history. :-)&lt;br /&gt;&lt;br /&gt;Randy said that he could tell how well the BVW projects would turn out by the bonding between the students. The same is absolutely true for CS3216! Next year maybe we don't even have to bother to grade the apps. Maybe we just do a survey to ask the students how much time they spend with their teammates and how much they like each other. A similar trend was observed last year too, but these year's students seemed to like camping out overnight at COM1 a lot more. :-P &lt;br /&gt;&lt;br /&gt;To a great extent, CS3216 has transcended from being just a class and evolved into a community. Perhaps shared suffering creates bonding? :-) &lt;br /&gt;&lt;br /&gt;I have said a lot about how great things were, and I might have given the impression that life is a bed of roses. Truthfully life is NEVER a bed of roses. The class got random flak and naysayers: &lt;a href="http://www.weikiat.net/blog/2007/11/10/a-big-joke-from-nus/"&gt;here&lt;/a&gt; and &lt;a href="http://talkback.stomp.com.sg/forums/showthread.php?t=27209"&gt;here&lt;/a&gt;. The attendance at lectures started to drop significantly last year after the midterm break (which is why I started blogs this year - which apparently "fixed it". *Evil laughter*). &lt;br /&gt;&lt;br /&gt;I got a lot of flak from the students last year for random stuff like "changing deadlines" (actually I was giving extensions so I dun know what they were complaining about, but ah well), "poor scheduling" and for not being organized. I am pleased to say that I got a little bit smarter after last year and most of these logistics issues have been resolved. &lt;br /&gt;&lt;br /&gt;I'm not complaining. Merely highlighting that things are NEVER a bed of roses even if things &lt;strong&gt;seem&lt;/strong&gt; fine and dandy. This is especially if we try to smart and do something different and a little crazy.&lt;br /&gt;&lt;br /&gt;So why do I do what I do (other than that I'm a little crazy :-P). It's because I BELIEVE. I believe that there is a place in NUS for a module like CS3216. There is a need to give our students a chance to do what they want to do. A chance to dream. A chance to learn what they WANT to learn. &lt;br /&gt;&lt;br /&gt;CS3216 is infamous for its unreasonable workload. However, the truth is this: after the feedback from last year, I've fixed it!! Yes I did, believe it or not -- and I spent most of the Project Team meetings telling the students to scale down their projects. Just pick one thing and do it well..... but most of the students still went ahead and camped over. I suspect they actually enjoyed it (though they will still complain 'cos that's the way it is). &lt;br /&gt;&lt;br /&gt;CS3216 is a head fake. It's really not about programming Facebook apps (though most students will learn some of that along the way). What is it all? If you are a student reading this blog to try to figure out what CS3216 is all about and trying to decide whether it's for you, read the blogs by the students found in the sidebar. :-)&lt;br /&gt;&lt;br /&gt;The strange thing about CS3216 is that I don't know what the students learnt exactly. Much would depend on their backgrounds and what they decided they wanted to learn. Unlike a factory-system where we churn out a whole class of students all with the same set of skills, we instead have a whole class of students go away with different lessons. Yes, I know it sounds a little wild, but it's true. :-P&lt;br /&gt;&lt;br /&gt;This reminds me of the conversation I had with Chris Henry on the way to the BBQ earlier this evening where we had this discussion about education, politics and "the system". I shared with him my view that this idea of The Singapore Dream is quite bogus. What Singapore Dream? Are our people so pathetic that they don't even know how to dream that they need the Government to tell them what to dream? My hope is that our people will dare to dream and we have 4 million &lt;strong&gt;different&lt;/strong&gt; Singapore dream&lt;strong&gt;s&lt;/strong&gt;. :-) &lt;br /&gt;&lt;br /&gt;That is what education is about in my opinion: teaching our young to dream and helping them understand that life is about choices. &lt;br /&gt;&lt;br /&gt;To conclude, I would like to quote from Larry Page's recent &lt;a href="http://www.google.com/intl/en/press/annc/20090502-page-commencement.html"&gt;commencement address&lt;/a&gt; at Michigan (not what he said, but what his father said 53 years ago): &lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;"...we are entering a changing world, one of automation and employment change where education is an economic necessity. We will have increased periods of time to do as we wish, as our work week and retirement age continue to decline. ... We shall take part in, or witness, developments in science, medicine, and industry that we can not dream of today. ... &lt;strong&gt;It is said that the future of any nation can be determined by the care and preparation given to its youth. If all the youths of America were as fortunate in securing an education as we have been, then the future of the United States would be even more bright than it is today&lt;/strong&gt;."&lt;/em&gt;&lt;/blockquote&gt;I am really impressed that an 18-year-old could have said something like that. I believe that we have succeeded in making universal education a reality in Singapore today. The question remains: what will our youth do with their education? :-)&lt;br /&gt;&lt;br /&gt;That, is a choice.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-7478011605326224639?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/7478011605326224639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/05/reflections-two-years-down-road.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/7478011605326224639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/7478011605326224639'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/05/reflections-two-years-down-road.html' title='Reflections Two Years Down the Road'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-2199499117681047832</id><published>2009-05-02T04:41:00.000+08:00</published><updated>2009-05-03T17:07:15.401+08:00</updated><title type='text'>Wrapping Up</title><content type='html'>We've just finished grading all the Final Projects and the following are some of the final points that I would like to make to wrap up CS3216 for AY2008/2009 based on what I've seen in the Final Project reports. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Forming the Dream Team.&lt;/span&gt; I did mention during the semester that we should seek to find the best possible people when we form teams (if we have the option of choosing). &lt;a href="http://thoughtsbook.wordpress.com/2009/03/03/lecture-lost-track-of-number-of-the-discussions-and-team-management/"&gt;Some accused me of being elitist&lt;/a&gt;. :-P &lt;br /&gt;&lt;br /&gt;Well, the truth of the matter is that due to some leftover influences of our education system, I think some students haven't quite understood the meaning of "best". I am happy to note that at least one student got it and I would like to quote Khoa, "&lt;span style="font-style:italic;"&gt;The best is not the best, the best is the most suitable&lt;/span&gt;." I think Khoa got it. :-)&lt;br /&gt;&lt;br /&gt;The moral of the story is quite simple (and not rocket science): great, you come up with an idea to take over the world.  What you need to then figure out is how to break that idea into sub-tasks and what needs to be done for each of the sub-tasks. Then try to find the people who are the best in their respective fields for each of these sub-tasks. This is not the same as assembling a team of Dean's Listers or elite programmers. In fact, for  Facebook apps, a whole team of elite programmers without an eye for design is almost certainly a recipe for disaster. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Idealism vs The Real World.&lt;/span&gt; The key impediment to ideas that can take over the world today is not the dearth of ideas, rather, it is the the people factor. &lt;br /&gt;&lt;br /&gt;It's easy to talk about assembling the Dream Team. It's not always possible to find the Dream people. Also, some of the ultra-talented people have personality quirks that make them impossible to work with. So, therefore, for all that's said and done about this dunno what notion of a Dream Team, the reality of life is that many a times, we have to settle for a less-than-Dream-Team. &lt;br /&gt;&lt;br /&gt;The crux of the issue is therefore to understand what needs to be done and try our best to get the necessary resources to do it. Once the team is assembled, expectations may have to be adjusted depending on the available talents and skills. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Power of Passion.&lt;/span&gt; Sure, skills and knowledge are good, but sometimes passion and dedication can make up for the lack of skills and knowledge. I have to admit that I am quite blown away but what two of the all-freshmen teams, MyCampus and Spree Kingdoms, have accomplished for their Final Projects. These folks knew NOTHING about web programming at the beginning of the semester. &lt;br /&gt;&lt;br /&gt;Through sheer grit and determination, they not only survived, they prospered. That provides that attitude probably matters more than how much people know. :-) &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Reject Dogma, Embrace Common Sense. &lt;/span&gt; The scary thing about being a teacher is that students sometimes actually believe the things you say. :-) I did mention during one lecture that I think the best project managers are the elite programmers. &lt;br /&gt;&lt;br /&gt;As it turns out, at least two of the groups, i.e. MyCampus and Varsity Chronicles, didn't have a programmer at the helm - but they did well. So was I wrong? Maybe. Or maybe not. &lt;br /&gt;&lt;br /&gt;The point of the matter is this - what I really said is that elite programmers are good project managers because they are best able to assess the proficiency of their programmers and thereby estimate the amount of effort and time required to deliver different modules of a software engineering project. If need be, they can also offload some tasks. My view is that I have most confidence that a software engineering project will meet the schedule if I have an elite programmer as the lead. &lt;br /&gt;&lt;br /&gt;That said, project management is also about leadership. Strong leadership is also necessary in order to get the team to work effectively, so an elite programmer with no EQ will not make the cut either. &lt;br /&gt;&lt;br /&gt;The point that I would like to impress upon my students is not to take what I say too literally or assume what I say is necessarily correct. The most important skill that students today have to learn is how to look at facts, analyze them and come to their own conclusions. &lt;br /&gt;&lt;br /&gt;Common sense really helps because in life, we are faced with new situations all the time for which there are no textbook answers. To quote Justin, "&lt;span style="font-style:italic;"&gt;(Varsity Chronicles) forces me to make decisions which I have no experience to rely on. All I have was my &lt;i&gt;common sense&lt;/i&gt;, my understanding of the group's ability, and the feedback of my team mates to count on&lt;/span&gt;". &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__NdTxUPFPUQ/Sf1JkJPIlaI/AAAAAAAAAII/PuY7FL370BY/s1600-h/SOC%2BSurvival%2BGuide.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 276px; height: 320px;" src="http://4.bp.blogspot.com/__NdTxUPFPUQ/Sf1JkJPIlaI/AAAAAAAAAII/PuY7FL370BY/s320/SOC%2BSurvival%2BGuide.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5331498419180049826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Think Harder, Think Deeper.&lt;/span&gt; I must say that I am very impressed with the execution of the Final Projects this year. The average quality of the Final Projects are somewhat higher than those last year. It's not so much that the students this year are necessarily better, but it's more likely that the workload this year was moderated better so that premature burn out didn't happen after the initial assignments. &lt;br /&gt;&lt;br /&gt;It's not that the students this year did less work this year, but they didn't do quite so much for the assignments during the first half of the Semester which leave them with more energy for the Final Projects. &lt;br /&gt;&lt;br /&gt;What I would like to highlight however is that I still think that most students are somewhat too focussed on the execution and implementation and have often failed to take time to take a step back to think about the bigger implications of their work and longer term strategic issues like marketing and user experience. Detailed comments will be returned to the groups with the project grading reports. &lt;br /&gt;&lt;br /&gt;Just want to highlight again the following mantra: "&lt;span style="font-style:italic;"&gt;More thinking, less coding&lt;/span&gt;". &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CS3216 is all about the People.&lt;/span&gt; What makes CS3216 work is not so much Facebook or technology or any smartness in the way the course is structured (though there's indeed some sense in the madness). What makes CS3216 tick is the people. One of the points that is highlighted over and over in the Final Project Reports is how much the students have learnt from their talented peers. &lt;br /&gt;&lt;br /&gt;First, I am honoured to have had the opportunity to work with an outstanding group of students, who never fail to surprise me with their creativity, passion and grit. This past semester has been quite "happening" and tiring (for all involved), but it has also been a lot of fun. I would like to wish my students the very best in their studies and future endeavours. &lt;br /&gt;&lt;br /&gt;Second, I would like to take the opportunity to thank my team of dedicated teaching staff consisting of TA Goh Kok Wee and Tutors Chris Henry, Lim Yuen Hoe, Kent Nguyen and Chin Su Yuen. They have worked tirelessly to help with the preparation of the teaching materials and executed their teaching duties with professionalism and dedication. Without them, there would not be CS3216. :-)  &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-2199499117681047832?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/2199499117681047832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/05/wrapping-up.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2199499117681047832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2199499117681047832'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/05/wrapping-up.html' title='Wrapping Up'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__NdTxUPFPUQ/Sf1JkJPIlaI/AAAAAAAAAII/PuY7FL370BY/s72-c/SOC%2BSurvival%2BGuide.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-6301986900520296362</id><published>2009-04-28T16:31:00.000+08:00</published><updated>2009-04-28T17:24:05.186+08:00</updated><title type='text'>CS3216 Blog Queen</title><content type='html'>I am pleased to announce that Wei Man's blog - &lt;a href="http://mannie3216.blogspot.com/"&gt;Mannie's CS3216 Quest!&lt;/a&gt; has been voted the Best Blog for CS3216 for 2008/2009 by her peers. That makes Wei Man the Blog Queen this year. Congratulations to Wei Man!&lt;br /&gt;&lt;br /&gt;In close contention was &lt;a href="http://mylipsareliterallysealed.blogspot.com/"&gt;Chong Hui Hui&lt;/a&gt;, who also deserves special mention. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;I tried a few new things this semester and this blogging thing was one of them. &lt;br /&gt;&lt;br /&gt;Truthfully, not every student took to the blogs. While most students started strong, school work and pressures from other classes gradually took their toil and the number of blog posts dropped gradually. &lt;br /&gt;&lt;br /&gt;In the end, only a small number of students were able to persist and blog consistently for the whole semester. But I'm not bothered. We should only do things we believe in. :-P&lt;br /&gt;&lt;br /&gt;And I think that students should have the courage not to do what they don't think they want to do (even though their grades might be "penalized" if they don't do it). So do, so it's good. What's true however is that those who put effort in their blogs will be rewarded (let's think positive and avoid thinking about it in terms of those who don't being penalized). :-P &lt;br /&gt;&lt;br /&gt;Overall, my verdict on the blogs is that it was the right thing. It might not have worked for everyone, but it worked for some - and that's good enough for me.&lt;br /&gt;&lt;br /&gt;It's not easy to write a blog 'cos it requires thinking. And thinking is hard. :-)&lt;br /&gt;&lt;br /&gt;But it goes beyond thinking. To write their blog entries, the students not just have to think. More often than not, they need to form an opinion and that's important to me. The act of stating one's opinion in public also requires courage. &lt;br /&gt;&lt;br /&gt;My view is that students learn best when they reflect on what they have learnt and in this regard, blogging helps to "foist" this on the students. &lt;br /&gt;&lt;br /&gt;Above and beyond learning, blogging also facilitates the exchange of views. With Google Reader for example, it is quite easy to keep track of what everyone in the class has written. This mutual sharing of views important because as many students have reflected in their last posts, a lot of the learning in CS3216 comes from peer learning. &lt;br /&gt;&lt;br /&gt;One unique aspect of CS3216 is that it is somewhat like the story of the &lt;a href="http://en.wikipedia.org/wiki/Blind_Men_and_an_Elephant"&gt;Blind Men and the Elephant&lt;/a&gt;. Each student's experience of the class may vary depending on his/her background and interests. Hui Hui's post about &lt;a href="http://mylipsareliterallysealed.blogspot.com/2009/03/software-engineering-from-designers.html"&gt;Software Engineering&lt;/a&gt; for example is particularly interesting. Programmers would never think about software engineering from the angle she described. &lt;br /&gt;&lt;br /&gt;In addition to Wei Man's and Hui Hui's blogs, we actually received quite a number of other nominations, which is really cool because it demonstrates that we have a large number of interesting blogs. The process of shortlisting down to two for the final vote was tough! At this point, I shall leave it as an exercise for the reader to check out the other blogs in the class found on the right sidebar to identify the other worthy nominations. :-P&lt;br /&gt;&lt;br /&gt;To conclude, I would like to congratulate Wei Man again for her excellent blog. I believe that her blogs captures the spirit of CS3216 very well. Like all things, while CS3216 has some good parts, it also has some nasty parts. Wei Man is not constrained by political correctness and states her beliefs with conviction. I hereby shamelessly quote the Blog Queen: &lt;blockquote&gt;&lt;a href="http://mannie3216.blogspot.com/2009/02/tired-rant-rant-rant.html"&gt;I slept/worked 3 overnights in COM 1 and 1 overnight in the PGP study room along with the rest of my team. The COM 1 sofas on the first floor are my best friends now.&lt;br /&gt;...&lt;br /&gt;I remember Janus happily waving a ang bao at me and asking if I wanted to eat the heh bee hiam he brought. *Speechless* &lt;br /&gt;&lt;br /&gt;I'm thinking we must all be crazy &lt;br /&gt;... &lt;br /&gt;Turns out life has surprises in store for me. &gt;_&lt; &lt;br /&gt;... &lt;br /&gt;I even had to quit my part time job for this module!!!! &lt;br /&gt;&lt;br /&gt;ARGH!&lt;br /&gt;&lt;br /&gt;THIS IS MADNESS!!!!&lt;br /&gt;&lt;br /&gt;So much for module on improving social networking ..its entirely destroying my social life.&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;Fast forward to the end:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://mannie3216.blogspot.com/2009/04/you-know-what-i-really-wanted-to-do.html"&gt;I'll write a little more than that. Just to commemorate my survival in this sick module. &lt;br /&gt;...&lt;br /&gt;Taking this module is like being in a state of extreme stress all the time and where you also have to think out of the box to survive.&lt;br /&gt;...&lt;br /&gt;Its been a very hard module to get through, because of the speed of the assignments and the constant reshuffling of project mates.&lt;br /&gt;...&lt;br /&gt;That's something good about the class - by having proactive people in the class, it affects and changes the way other people think and work. You learn alot from people around you.&lt;br /&gt;...&lt;br /&gt;I learnt that I had a social life too, when the module started interfering with it.&lt;br /&gt;...&lt;br /&gt;Still, no matter how evil and horrendous the whole module has been, I agree with Prof Ben's methods. If you want to make someone learn, you put them through hell and high water. But you always watch out for them to help them out if they are really drowning to death.&lt;br /&gt;...&lt;br /&gt;It is hell, no doubt about it. But its what you learn from hell that you remember the most.&lt;br /&gt;&lt;br /&gt;I guess what I'll remember most is that I have learnt to believe in my ability to make a difference to this world. &lt;br /&gt;...&lt;br /&gt;But things are different now. This module has taught me that there are people out there that can help me achieve what I want to achieve. The whole class is like a microcosm of the world - there are all kinds of talented people in it, I just have to go out there, find them, and persuade them that what I want to do is useful and meaningful to the world.&lt;br /&gt;...&lt;br /&gt;Now I believe in being ready when opportunity knocks on my door, and its time to start preparing. I might not succeed in what I want to do, but I have a back up plan, and I'm not worried if I fail.&lt;br /&gt;...&lt;br /&gt;its been an eventful and interesting semester.&lt;/a&gt;&lt;/blockquote&gt;I believe that Wei Man's blog will also provide future students with a better idea of what CS3216 is about before they decide whether to take the course. :-) &lt;br /&gt;&lt;hr&gt;&lt;span style="font-weight:bold;"&gt;Addendum:&lt;/span&gt;&lt;br /&gt;It turns out that the students from the AY2007/2008 batch also had a &lt;a href="http://welovecs3216.blogspot.com/"&gt;blog&lt;/a&gt;. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-6301986900520296362?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/6301986900520296362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/04/cs3216-blog-queen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/6301986900520296362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/6301986900520296362'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/04/cs3216-blog-queen.html' title='CS3216 Blog Queen'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-3994079412528185579</id><published>2009-04-10T22:34:00.000+08:00</published><updated>2009-04-10T22:48:43.298+08:00</updated><title type='text'>The Last Lap</title><content type='html'>These last couple of weeks have been extremely hectic. &lt;br /&gt;&lt;br /&gt;Two weeks ago, my ex-classmate, Chiangkai, gave the class an overview of issues of security and privacy. Perhaps it wasn't too detailed - but it was never meant to be. People make a whole career out of security. It would not be reasonable for the class to actually "learn" security in a two-hour lecture.&lt;br /&gt;&lt;br /&gt;The intention of the lesson was mainly to highlight issues of security so that the students know that it is something that has to be taken into consideration whenever they create web applications. &lt;br /&gt;&lt;br /&gt;With the Final Project presentations we had this past week, we are rapidly coming to the end of the semester and the class. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Overall, I am generally satisfied with the progress of most of the project groups. On the whole, the average quality of the apps this year is probably better than those last year. &lt;br /&gt;&lt;br /&gt;Next Wednesday will be the day of reckoning because that's when all the groups will be asked to present to rest of the school what they have done this past semester. It is also a test of how well they can sell and convince the folks who will be coming that they have actually made a difference with what they have done. &lt;br /&gt;&lt;br /&gt;It's been a good semester. I look forward to be pleasantly surprised on Wednesday. &lt;br /&gt;&lt;br /&gt;To conclude, I would like to make the following point: notwithstanding all the complaints about the class taking up too much time, it has never been my intention for the students to kill themselves by creating huge apps. Not that I want to shirk responsiblity from the fact that many of the apps are HUGE, the truth is I have been asking many, if not all the groups to scale down and to focus on a small number of key features. &lt;br /&gt;&lt;br /&gt;Some of the groups will not finish their app by the end of the semester. They will deliver like the first half of their proposed features. That's actually fine with me. As long as they did a reasonable amount of work and did good work, they will get a good grade. &lt;br /&gt;&lt;br /&gt;What I really hope to see for such groups is that they will see their project to the end. That to me is a very important attribute: the tenacity to finish and to finish strong. &lt;br /&gt;&lt;br /&gt;Frankly, I'm quite tired after one semester. CS3216 really isn't the easiest class to teach. I'm really fortunate to have a brilliant teaching staff and I'd like to end off by thanking my Tutors Su Yuen, Kent, Chris and Yuen Hoe and my poor over-abused TA Kok Wee. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-3994079412528185579?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/3994079412528185579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/04/last-lap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/3994079412528185579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/3994079412528185579'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/04/last-lap.html' title='The Last Lap'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-2664187776655893213</id><published>2009-03-29T13:14:00.000+08:00</published><updated>2009-03-30T17:02:51.334+08:00</updated><title type='text'>On Entrepreneurship</title><content type='html'>Last Monday I invited a number of local entrepreneurs to come share their experiences with my students. &lt;br /&gt;&lt;br /&gt;The goal of the session was not to "promote" entrepreneurship. Rather like most of the other lectures, the goal is to provide students with a better understanding of the good, the bad and the ugly of entrepreneurship. &lt;br /&gt;&lt;br /&gt;My personal view is that the entrepreneurship cannot be taught (though some students vehemently disagree with me - but that's fine. It is certainly possible that the prof is wrong :-)). &lt;br /&gt;&lt;br /&gt;The following sums up my view: "Entrepreneurship is an attitude, not a product". &lt;br /&gt;&lt;br /&gt;Personally, I thought the session was really good and there are many lessons for the students to take away. However what they learnt would ultimately depend on how much attention they paid to what was said. What I will do is however to highlight some of the points that I think the students should take note and to respond to some of students' blogs.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Sales Matters (A LOT).&lt;/span&gt; I was glad that this point was emphasized several times by several speakers 'cos this is something that I have been stressing for most of the semester. Technology is not the key to success. What matters is to identify problems that people care about (pain points). If people will pay for the solutions, we will get rich; even if they don't, it's a public service. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Don't Try to be a "One-Stop Shop".&lt;/span&gt; There are not many problems that really matter. Once we identify one of these, just focus on solving it well instead of trying to solve every single problem under the sun at the same time. By being too ambitious, we likely end up solving nothing well at all. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. It is not ALL about money.&lt;/span&gt; A question was asked and some of the speakers said that they are doing what they are doing for the money. Some students therefore interpret entrepreneurship as something that's all about one. I really don't think that's true. These folks actually LIKE what they are doing. The fact that they have the potential to get obscenely rich in the process doesn't hurt. At the same time, what they highlighted is that folks who want to be entrepreneurs better have an eye on the money 'cos if not, it's easy to go bust. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. People Matter.&lt;/span&gt; One of the stories that students tend to cite is that one of Ash Singh chatting up some woman at a Starbucks and selling his business to the husband. Yes, networking is an important skill and aspiring entrepreneurs better get to know more people.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;5. Be Ready to Seize Opportunities.&lt;/span&gt; Opportunities arise from time to time. Some amount of courage is required to seize them. :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;6. It's not a Bed of Roses.&lt;/span&gt; Some of the students commented that the session seemed to emphasize too much on the good and not enough of the bad. As it turns out, most of the speakers are relatively successful in what they do. I guess it's hard to invite people to come share about what a loser they are.... then again, some of the speakers, especially Marc, talked about the pain of nearly going bust. Even HungryGoWhere wasn't profitable until recently. &lt;br /&gt;&lt;br /&gt;I would like to take this opportunity to thank all my friends for taking time off their busy schedules to come share their experiences with my students. :-)  &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-2664187776655893213?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/2664187776655893213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/03/on-entrepreneurship.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2664187776655893213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2664187776655893213'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/03/on-entrepreneurship.html' title='On Entrepreneurship'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-2049530688840814456</id><published>2009-03-17T02:04:00.000+08:00</published><updated>2009-03-17T02:25:49.836+08:00</updated><title type='text'>Dealing with the "Happy" Problem</title><content type='html'>Today's class was on the issues associated with scaling applications for huge workloads (million-eyeball range).&lt;br /&gt;&lt;br /&gt;This is not a random class. This was a class that I added in the middle of the semester last year after I watched Caleb blow up on FarmWars and realized how difficult it was to debug load problems for Facebook applications.&lt;br /&gt;&lt;br /&gt;The problem with Facebook applications crashing under high loads is that you cannot predict when it will happen and it's extremely difficult to reproduce the problem even know how to begin to fix.&lt;br /&gt;&lt;br /&gt;While the session today might seem very technical and some folks might be a little lost, I would like to emphasize that people are not expected to become experts at dealing with these load issues. Minimally, I would like everyone to have an appreciation for what might be the cause of load problems and basically, many things can go wrong.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;The interesting thing is that most times, it's not a hardware issue, i.e. ít's not true that the hardware isn't running fast enough, but rather, it's due to a host of factors.&lt;br /&gt;&lt;br /&gt;Minimally, I would like the programmer types and those of you who are setting up and running your apache webservers to have a appreciation for the complexities in tuning the parameters for the webserver and understanding some simple concepts about swapping to disk and the use of processes.&lt;br /&gt;&lt;br /&gt;Perhaps some of you might not have understood some of what was said, but perhaps some seeds of understanding would have been planted and if you end up creating a million-eyeball app that blows up royally, you will have some inkling as to what to do.&lt;br /&gt;&lt;br /&gt;Chris Henry would be holding a workshop on Web Performance this Saturday. After that workshop, you should not only have a high-level appreciation for web performance, but understand how you can try to improve the performance of your webpages.&lt;br /&gt;&lt;br /&gt;Chris is likely to also try to peddle his Honours Year Project on you. He is currently developing a measurement system to passively monitor Facebook app performance. If your app does have the misfortune of blowing up (or some would say the fortune of being unexpectedly popular), his measurement system is supposed to be able to help pinpoint when things blow up and allow you to see the interactions between the client and your webserver so as to help you pinpoint the reason for the problem.&lt;br /&gt;&lt;br /&gt;Chris needs real apps with problems to prove that his system works. :-) If it works, it will be win-win for everyone. :-P&lt;br /&gt;&lt;br /&gt;I have put up with latecoming for many weeks already and I am quite resigned to students coming late. Next week is however a very special lesson. I have managed to persuade a whole bunch of local entrepreneurs to come down to share their experiences with you.&lt;br /&gt;&lt;br /&gt;From last year's experience, this is a very interesting session - and it will be held in LT19. Please come on time for next week can? :-)&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Note about Final Project Prototype due this Friday:&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I am really not being evil by making you guys finish your prototypes early. You can ask Kok Wee about the consequences of leaving your CS3216 Final Project to the last two weeks.&lt;br /&gt;&lt;br /&gt;But more seriously, there are two reasons why this Friday:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;So that you dun have a lot of time to put in too many features.&lt;/strong&gt; It doesn't take a whole lot of features to make a sucessful Facebook application. A small limited set of features can succeed if executed well. By not giving you guys too much time, I force you to decide which one or two features of your app are most important.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;So that you have the chance to get user feedback.&lt;/strong&gt; One key attribute that differentiates social networking apps from regular webapps is that you can get feedback from and interact with your users. You need time to let your users use you app so that you can experience interacting with them and refining your app based on their feedback.&lt;/li&gt;&lt;/ol&gt;All in all, there's lotsa sense in the madness lah. Let's all &lt;em&gt;chiong&lt;/em&gt; the next couple of days and let's see some action on Friday! :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-2049530688840814456?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/2049530688840814456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/03/dealing-with-happy-problem.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2049530688840814456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/2049530688840814456'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/03/dealing-with-happy-problem.html' title='Dealing with the &quot;Happy&quot; Problem'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1590413064501562226</id><published>2009-03-14T23:02:00.001+08:00</published><updated>2009-03-14T23:27:08.244+08:00</updated><title type='text'>On Software Engineering</title><content type='html'>The topic for class this week was on the Principles of Software Engineering. &lt;br /&gt;&lt;br /&gt;When we talk about software engineering, what comes to mind for most people is programming. Some people think that software engineering is merely a fancy name for programming. &lt;br /&gt;&lt;br /&gt;Clearly, programming is the foundation of software engineering. Without programming and competent programmers, it is impossible to build complex software systems. However, software engineering is much more than programming and I shared with the class the story about group of elite programmers in CS3216 who blew up on their assignment last year.&lt;br /&gt;&lt;br /&gt;Truthfully, Software Engineering = Programming + Process + People. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;CS3216 is about making a difference. How does one make a difference? It doesn't take a rocket scientist to figure that there are two key steps: (i) come up with an idea; and (ii) execute. &lt;br /&gt;&lt;br /&gt;With the Final Project Proposals completed, all the groups have already come up with their killer idea to take over the world. Which group will succeed? Well, it depends on whether these groups successfully execute their killer idea.&lt;br /&gt;&lt;br /&gt;It is in this light that we had this last class about Principles of Software Engineering. One doesn't become a software engineer by attending this one class. However, I do hope that by highlighting the key considerations that the groups should keep in mind when designing their application, they will avoid potential pitfalls and bugs. &lt;br /&gt;&lt;br /&gt;Also, the final part of the class where I got three students to share their experiences on how they managed various projects has a clear purpose. &lt;br /&gt;&lt;br /&gt;Wei Man managed a large team of 80 at LucasFilm in developing a big commercial game using Scrum. Justin managed a smaller team of 6 people at GAMBIT in developing a smaller game over three months. Zi Han did a scrumish-agile-bastardized thing in leading a small group of 5 inexperienced programmers to develop a full-fledged commercial system in 3 months. What did I hope the students would learn from their sharing? &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tools and Processes are Available&lt;/b&gt;. First, there are tools and processes available to help manage a software engineering project. From Scrum to &lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; to Microsoft Project. There are many tools and frankly I don't know all of them and neither do I wish to discuss them in class. Instead, I would encourage students to explore and perhaps to ask Wei Man, Justin and Zi Han. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tools are Dead, People are Alive&lt;/b&gt;. Tools are no good without the people. And regardless of how effective a tool is, it is useless unless we have people who are trained and committed to use them. Also, not every tool is suitable for every situation and for everyone. People better go and pick the tools that are useful for their projects. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;It's all about People&lt;/b&gt;. At the end of the day, software engineering is about a group of people coming together to build a large software system. The biggest problem is the people. Much of execution therefore lies in getting the right people for the job and then motivating them to do the right thing to get the job done. This is an art form that cannot be taught in school in my opinion. Students will have to pick this up from doing stuff. &lt;br /&gt;&lt;br /&gt;The coming week is going to be tough 'cos I expect the first prototypes for the Final Projects to be ready by next Friday. That said, I have met with all the groups and emphasized like two million times to keep their prototype small.&lt;br /&gt;&lt;br /&gt;Don't have to save the world. Just pick a small and relatively common problem, i.e. used/needed by 80% of the people and nail it well. I hope that the discussions this week and the sharing would be helpful to the various project groups. &lt;br /&gt;&lt;br /&gt;Next week, we will cover another topic related to execution - in case some of the projects turn out to be runaway successes with millions of users: how do we design systems that will scale up to millions of eyeballs? &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1590413064501562226?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1590413064501562226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/03/on-software-engineering.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1590413064501562226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1590413064501562226'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/03/on-software-engineering.html' title='On Software Engineering'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-5808903421780932702</id><published>2009-03-03T02:45:00.000+08:00</published><updated>2009-03-03T03:17:54.643+08:00</updated><title type='text'>On  Case Studies</title><content type='html'>Typically, I post at the end of the week after all the students have blogged. Today, I decided that I would post first.&lt;br /&gt;&lt;br /&gt;This week is supposed to be the second rest week where the students get to take a break from the hectic first half a semester to prepare themselves for the Final Project. The students are also supposed to working on refining their proposal for the Final Project between last week and this week. &lt;br /&gt;&lt;span class="fullpost"&gt; &lt;br /&gt;We tried to do something today by discussion two case studies that were developed from the Final Project reports from the last batch. Neither case studies are prescriptive. I didn't have a set of teaching points in mind. The goal of the case studies is to highlight two key issues that the they should play attention to for their Final Projects - one, user interface vs user interaction and two, the importance of team dynamics. &lt;br /&gt;&lt;br /&gt;User interface and user interaction are not the same thing and as Kent rightfully highlighted, they both contribute to this amorphous quality known as user experience. I have to admit that I am not an expert at UI design. What I do know however is that a little bit of common sense (and planning) goes a long way. I was extremely pleased that Kent demonstrated at the end of his presentation how carefully the GetHelp! team had thought through all the different interactions for their application.&lt;br /&gt;&lt;br /&gt;I was also pleased with the discussions we had about the case study. I didn't have to do much. I was merely listening to what the students had to say and putting the points down on the board. Among themselves, the students highlighted most of the key considerations for Facebook applications. It was heartening 'cos it demonstrated that many things are quite obvious if people will just take "think" about it a little harder.&lt;br /&gt;&lt;br /&gt;Wei Man deserves special mention for realizing that there was a serious problem with GetHelp! in that it didn't provide a person who asked for help a good summary of the help that was offered. I am personally quite embarrassed because I didn't realize this even though I spent quite a lot of time trying to find bugs in Kent's app last year. Perhaps it was because I was trying too hard to find bugs instead of actually using the app like as it was intended. &lt;br /&gt;&lt;br /&gt;I would also like to thank Vincent Woon for taking time to come back this evening to share his experiences with the class. It's a pity that we ran out of time for if not, we would have had a longer discussion.  &lt;br /&gt;&lt;br /&gt;Personally, I think some students still need to learn to speak up a little more. I cannot emphasize the importance of speaking up and making sure people sit up and pay attention to your existence more. But actually, I am not overly concerned or in a hurry to see results.&lt;br /&gt;&lt;br /&gt;From my own personal, we hear our teachers tell us many things. More often than not, we hear, but we don't understand. This is not a matter of intellect or lack thereof. It's more a issue of experience, or rather lack thereof, that prevents young people from fully appreciating what they hear.&lt;br /&gt;&lt;br /&gt;Hopefully what the case study session has achieved this evening is to plant some seeds of understanding in the minds of the students. :-)&lt;br /&gt;&lt;br /&gt;Unlike my previous posts, this post is not meant to be a summary of the points we discussed this evening. That is the blogging homework for this week. :-) Hui Hui had an evening exam and unfortunately couldn't make it to class this evening. She is going to depend on what she reads from the blogs of her friends to figure out what she missed. &lt;br /&gt;&lt;br /&gt;I am well-aware that most students conveniently "forgot" to blog about the Google talk. I actually didn't forget. I intentionally "forgot" to send a reminder 'cos people were really stressed that week grappling with their WPF assignment. &lt;br /&gt;&lt;br /&gt;The goal in teaching is to facilitate learning and so I believe that some flexibility ought to be exercised when the situation demands of it. In this light, students will be pleased to know that they are not required to do a make-up post for the Google talk if they haven't already done it. &lt;br /&gt;&lt;br /&gt;However, starting from the lesson had earlier this evening, the students have no excuse. :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-5808903421780932702?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/5808903421780932702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/03/on-case-studies.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/5808903421780932702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/5808903421780932702'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/03/on-case-studies.html' title='On  Case Studies'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-8511809507537318992</id><published>2009-03-01T23:43:00.000+08:00</published><updated>2009-03-02T13:47:53.093+08:00</updated><title type='text'>New Teaching Statement</title><content type='html'>As it turns out, I found myself having to write a new teaching statement. The old one that I wrote before I started teaching at NUS and probably hardly knew what I was saying can be found &lt;a href="http://www.comp.nus.edu.sg/~bleong/teaching/teachingStatement.htm"&gt;here&lt;/a&gt;. Comments are welcome. :-)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Challenge of Education Today&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;After teaching at NUS for slightly over two years, I have found that teaching is not too hard. However just because we can teach, or know how to teach, doesn’t mean that we have done our jobs, because takes two hands to clap.  &lt;br /&gt;&lt;br /&gt;In particular, I have found the greatest challenge of education is not so much teaching, but in persuading students that &lt;em&gt;they want to learn&lt;/em&gt;. This problem is hard because of a combination of factors: (i) the allocation of students by the university admissions exercise doesn’t often assign students to their first-choice course; (ii) learning takes effort and it’s hard to persuade students to put in the effort; and (iii) most students are “lost” and don’t really know what they want in life.  &lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;strong&gt;It's About Learning How to Learn, Not About Stuff&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I have always believed that teaching is never about stuff. I never saw myself as a professor of Computer Science, but just a teacher. The reason is simple. With high probability, 90% of what students will learn in school will not be relevant for their working lives. &lt;br /&gt;&lt;br /&gt;This doesn’t mean that a college education is useless. What it means however is that the process matters more than the content. &lt;br /&gt;&lt;br /&gt;In my teaching, I seek to find opportunities to “force” them to learn things by themselves. While much has been said about how reliant Singaporean students are on spoon-feeding, my experience has been quite positive. &lt;br /&gt;&lt;br /&gt;I have found that if the assignments are structured “correctly”, it is possible to foster independent learning. Yes, there will inevitably be complaints from certain quarters, but if the students find that they really did get smarter at the end of a course, many actually appreciate being challenged. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Emphasis on Common Sense&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I read some of the things that some young Singaporeans post online and I ask myself, “Where has our education system gone wrong?”&lt;br /&gt;&lt;br /&gt;We have a lot of heavily-educated people, most likely with university degrees who can write fluently, who clearly demonstrate that they cannot think. Common sense is apparently not common. &lt;br /&gt;&lt;br /&gt;It’s mind-boggling how common sense can be applied to analyze and solve many problems in life. It is equally mind-boggling how often common sense is not being applied. &lt;br /&gt;&lt;br /&gt;Therefore, one of the elements that I attempt to emphasize in my classes is common sense. I try to explain how I think about issues to my students and to convince them that much of what I say isn’t rocket science, but intuitively obvious with the application of common sense. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To be Adventurous and Willing to Make Mistakes &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I personally don’t believe that it is possible for me to become so good at teaching someday that I cannot improve. The corollary is that there is always room for improvement.&lt;br /&gt;&lt;br /&gt;It is however hard to improve too much if we just focus on the basics, i.e. lecture and tutorials. Yes, it is possible to improve one’s lectures and tutorials, but there’s really so much we can do. &lt;br /&gt;&lt;br /&gt;To really push our teaching to a higher level, there is a need to try new things. New things are scary because they might not work. The key is therefore the willingness to try and the willingness to make mistakes. &lt;br /&gt;&lt;br /&gt;I have done my fair share of random stuff. Some things work; others don’t. The way I have managed the “failures” is to explain to students what I had hoped to achieve right at the beginning. As it turns out, our students are not unreasonable and many will appreciate the effort and will be quite forgiving if things don’t work out. &lt;br /&gt;&lt;br /&gt;A related point is that as teachers, we don’t have a monopoly of the good ideas. Sometimes we just have to ask our students for ideas that they think might work. My experience has been good. There have been several occasion where I adopted some ideas proposed by students to good effect. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To Walk the Talk&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Strangely enough, teaching also has a lot to do with leadership. &lt;br /&gt;&lt;br /&gt;As teachers, we preach. Students today won’t just believe what we tell them just because we tell them. We can preach all we like and it can make absolutely no difference. &lt;br /&gt;&lt;br /&gt;Personally, I believe that an effective teacher has to “walk the talk”. &lt;br /&gt;&lt;br /&gt;If we want our students to be excited about what we’re teaching them, we had better be excited about what we teach. &lt;br /&gt;&lt;br /&gt;If we want our students to believe our gospel, we had better believe it ourselves and be able to put that into practice.&lt;br /&gt;&lt;br /&gt;If we want our students to reach certain standards, we might first be able to achieve the same. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;There is No "Correct" Way to Teach&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;As teachers, our job cannot be to make every student a genius. That’s impossible. &lt;br /&gt;&lt;br /&gt;My view is that we would have done our jobs if we are able to help our students reach their full potential. &lt;br /&gt;&lt;br /&gt;Everyone has his strengths and weaknesses. I believe that we should try to help students discover and identify their strengths and to develop them. &lt;br /&gt;&lt;br /&gt;Because no two students are alike, it is my belief that there is no “right” way to teach. What we teach and how we teach will depend on who we teach. By the same token, if we are good with a group of students, it says nothing about how good we would be with a different group if there are significant structural differences. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;We are Salespeople&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I learnt this from Randy Pausch in his &lt;a href="http://video.google.com/videoplay?docid=-5700431505846055184"&gt;Last Lecture&lt;/a&gt; – as teachers we are selling education and as I alluded to above in the challenge of education, we are sometimes stuck selling stuff that the students don’t really want to buy.&lt;br /&gt;&lt;br /&gt;How do we sell stuff that they don’t really want, even though we know they need?  I don’t exactly have an answer. &lt;br /&gt;&lt;br /&gt;What I do know about sales however is that psychology matters, and so to be effective teachers, we need to spend time talking to the students to understand how they think and what matters to them. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Belief that We Can Make a Difference&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I believe that teaching is a calling and those who heed the call do so because they believe that they can make a difference. &lt;br /&gt;&lt;br /&gt;There are many choices in life and we have many “lost” students. Teachers are in a unique position to guide and to help. &lt;br /&gt;&lt;br /&gt;One of the reasons why I decided to become a teacher is because I agree with the philosophy of the &lt;a href="http://www.cedu.niu.edu/~fulmer/starfish.htm"&gt;“star fish story”&lt;/a&gt; where a boy is seen picking up starfishes and throwing them into the sea. Because there are so many starfishes, it all seems futile. The boy however picks up a starfish, tosses it into the ocean and says, “It sure made a difference to that one!”&lt;br /&gt;&lt;br /&gt;As teachers, we have finite time and finite energy. We cannot hope to save the world or to teach everyone. What we can do however is to try to a small difference to the small number of students we work with and try to do our jobs. :-)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To conclude, my teaching philosophy remains as it has been from the beginning: &lt;em&gt;I will strive not to teach, but to challenge the students to learn for themselves, to have their opinions about issues in life and to make themselves heard&lt;/em&gt;. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-8511809507537318992?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/8511809507537318992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/03/new-teaching-statement.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8511809507537318992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8511809507537318992'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/03/new-teaching-statement.html' title='New Teaching Statement'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-8092825805988580177</id><published>2009-02-15T00:55:00.000+08:00</published><updated>2009-03-14T23:36:45.264+08:00</updated><title type='text'>Sense in the Madness</title><content type='html'>Two weeks ago, we had the Facebook Application Seminar; last week was "Pitching Week". There is a common theme in these two past two weeks and that's &lt;strong&gt;ideas are important&lt;/strong&gt;. &lt;br /&gt;&lt;br /&gt;CS3216 is no about programming Facebook applications. That's really quite easy. CS3216 is about coming up with a good idea for a Facebook app and EXECUTING it. So there are two parts - idea + execution. Both of which are equally important. We first focus on the idea and for the second half of the semester, we will deal with the execution part in the form of the Final Project. &lt;br /&gt;&lt;br /&gt;The goal of the Application Seminar is to have the students study some existing applications in detail so as to learn about how they work and also practise analyzing the application and thinking about what's good, what's bad and what's ugly. We also experimented with blogging as a means to "encourage" (aka force) students to pay attention during the presentations and also to think a little deeper about what they heard. &lt;br /&gt;&lt;br /&gt;It really isn't that hard but it is something that I would like to encourage students to do critically to their own apps as they work on their Final Project. It is quite easy to get so caught up in doing the work that we sometimes forget to just sit down to just think about what we're doing.&lt;br /&gt;&lt;br /&gt;I always tell my students, "More Thinking, Less Coding".&lt;br /&gt;&lt;br /&gt;While the students might be a little upset to have the Application Seminar Critique foisted them, they might be comforted to know that I suffered with them because I had to read through not just their critiques but the comments they left on each other's entries. Overall, I think it was a good move - but I would only doing once during the semester. :-)&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Pitching Week is all about ideas. First, the students heard from the folks who are interested in working with them. There was NDP, NLB, APB and lots of others. &lt;br /&gt;&lt;br /&gt;There are many things that the students should have learnt from the session if they were paying attention. &lt;br /&gt;&lt;br /&gt;First, the session provides students with a perspective of what the industry cares about in terms of Facebook apps and why they care about what they care about. Some of those who turned up have a better idea about what they want; others only have a foggy idea, but that's how it is. &lt;br /&gt;&lt;br /&gt;Second, the students get to see how industry folks pitch their ideas. Personally, I think marketing is important. Technical skills are useless unless the sales matches up. There is no point building stuff that nobody will buy or use. &lt;br /&gt;&lt;br /&gt;Third, this is the chance to strike up partnerships. The folks who came to the pitching session has some things to offer and I do hope that by linking them up with the students, meaningful partnerships can be formed. &lt;br /&gt;&lt;br /&gt;The quest for ideas culminated in a Pitching Party last Friday. The idea of the Party was suggested by a student in last year's batch. We tried it out last year and it worked, so we did it again this year. &lt;br /&gt;&lt;br /&gt;In my opinion, it was as successful as last year. While I had planned for the session to start at 6 pm and end at 9 pm, we ended at 10 pm instead. The point of the Party was to allow students to pitch ideas to each other. &lt;br /&gt;&lt;br /&gt;At this point, they are supposed to be thinking about their Final Projects and so they can use the Party to try to get other students to join their groups, or if they had already formed their groups to try to elicit feedback from the group on their Final Project ideas.&lt;br /&gt;&lt;br /&gt;We also had some ex-students at the Party to do some pitching and also to give their views and comments on the ideas pitched. I thought it was a good session and I thoroughly enjoyed myself. &lt;br /&gt;&lt;br /&gt;Some students commented that they were quite overwhelmed last year. They thought they were all set on developing their Facebook app from Assignment 1 for their Final Project, but they were not quite so certain after all they heard in the two sessions we had last week.&lt;br /&gt;&lt;br /&gt;That's actually good news. It is my hope that students will spend more time thinking about their ideas and what to do for their Final Project instead of rushing into things. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-8092825805988580177?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/8092825805988580177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/02/sense-in-madness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8092825805988580177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/8092825805988580177'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/02/sense-in-madness.html' title='Sense in the Madness'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-4514351229404917434</id><published>2009-02-02T23:53:00.000+08:00</published><updated>2009-02-03T01:02:06.931+08:00</updated><title type='text'>Facebook Application Seminar</title><content type='html'>First, I would like to apologize to my students (and folks from the workshop) for letting class run overtime till about 9 pm earlier this evening. As it turns out, the presentations we had this evening were particularly brilliant and I didn't have the heart to cut people off even when they ran over time.  &lt;br /&gt;&lt;br /&gt;I am supposed to post my blog entry at the end of the week, but in this instance, I decided that it would be helpful for me to start the ball rolling because this week is a little different. &lt;br /&gt;&lt;br /&gt;Instead of merely blogging in general about what they think about today's session in general, the students are supposed to pick of the apps presented today (but not their own) and do a simple critique. Yes, I'm being evil as usual, but there are always reasons for evilness. :-P I do not believe in random evilness, only purposeful evilness.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;One of the goal of CS3216 is to make students think -- and by structuring the class and assignments in such a way as to encourage (or people will claim "force") students to think, I believe that I am earning my pay. &lt;br /&gt;&lt;br /&gt;In any case, the CS3216 blogs will be particularly active for the next 7 days. Each student will have 24 hours (till 23:59 tomorrow (Tuesday) evening) to post his/her entry and there should be some activity going on for the rest of the week as students thrash out their thoughts on the Facebook apps they heard about today. &lt;br /&gt;&lt;br /&gt;Will this work well? Frankly, I dunno, but if we don't try, we never know do we? What's quite clear to me is that I have an exceptional class of students who have set very high standards in both their first Facebook assignment and in the presentations we had earlier this evening. :-) &lt;br /&gt;&lt;br /&gt;Anyway, back to the core issues that I had hoped to highlight (or have students figure out by themselves) in the process of preparing for the Facebook application seminar and in listening to their friends:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Thinking about Implementation.&lt;/span&gt; This is aspect is mostly of interest to the programmers. At this point, the students have all completed one Facebook assignment and the majority should have a reasonably good understanding of databases and what's possible with PHP. Some groups have worked with Flash and so they should also have some idea of how to integrate Flash with PHP.&lt;br /&gt;&lt;br /&gt;One of the things that I hope that the programmers would do is to try to get into the habit of thinking about and figure out how existing apps are implemented. There are two reasons for this: (i) it's good exercise. Most apps are really quite simple and the practice of thinking about their implementation will help students implement their own apps faster in the future; (ii) this is the opportunity to learn about new techniques. If a student should look at an app and realise that it's not obvious how the app is implemented, then it's an opportunity to learn something new. Going through this mental exercise will help the programmers improve their programming skill and I believe that it's complementary to doing actual coding. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. Learning to Identify Good Ideas.&lt;/span&gt; After Assignment 1, it should be pretty clear to the students that the technical part of building Facebook apps isn't hard at all. Yeah, it's a lot of work, but it's not something that NUS students cannot manage. My experience last semester and from what I have seen from the first assignment is that our students are as technically competent as any of the Facebook developers out there. &lt;br /&gt;&lt;br /&gt;So what is the difference between a mediocre Facebook app and the 6-million-user app? My view: it's the little cutesy ideas and that's the whole point of having students think through what are the good, bad and ugly points about each app. While all the groups did fabulous presentations, some groups were better at identifying and highlighting the "core" ideas/lessons from the apps they studied. &lt;br /&gt;&lt;br /&gt;I shall refrain from commenting on these ideas because that's what the students are supposed to do in their assignment - they will comment on what they have heard from their friends' presentations.  If they can highlight points/lessons that their friends missed out, they will score points and their friends' group will lose points. :-P Yeah, very evil, but very fun I think. :-)&lt;br /&gt;&lt;br /&gt;I would like to take this opportunity to highlight &lt;a href="http://apps.facebook.com/mtvcribs/"&gt;MTV Cribs&lt;/a&gt; again. In many ways, MTV Cribs has all the basic features of Pet Society and more. What seems to be lacking is merely the will to follow through and to "market". Personally, I fail to see why it cannot be made as successful as Pet Society. What's my point? You guys decide how far you go. Size is no barrier, but neither am I here to push the students. My job is to facilitate learning and show people what is possible. Possible doesn't mean easy and each man (or woman) has to decide on what he/she wants to do with his/her life. :-P&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. User Interface Design and Interaction Design is Important.&lt;/span&gt; One idea can be implemented in many different ways. Some of which are more annoying than others. One of the key element of good apps is good UI and user interaction design.&lt;br /&gt;&lt;br /&gt;Apps should be simple to use. Simple apps with limited features are not necessarily bad, e.g. graffiti. Students should also take into account the psychology of Facebook users. They have no patience for complicated things and also for slow moving pets. :-P&lt;br /&gt;&lt;br /&gt;One of the announcements I wanted to make today, but didn't because we ran out of time is that we will be doing a simple case study on user interface and interaction design in two weeks. The case study has already been uploaded to the IVLE Workbin. People can check it out. :-) &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. Understanding the Curse of Success (Scalability).&lt;/span&gt; Facebook apps are quite a paradox. If you build an app that nobody uses, you will be very sad. On the other hand, if your app becomes exponentially popular, you may end up in trouble as your web server gets loaded. If the web service architecture is not done properly, it might blow up. FarmWars experienced some load issues last year (part of it was due to poor programming choices). &lt;br /&gt;&lt;br /&gt;The developers of Friends for Sale gave a talk last year and their talk was available online. I can't seem to find the video anymore, but the slides are &lt;a href="http://www.slideshare.net/simplyarun/virality-on-facebook-presentation"&gt;here&lt;/a&gt;. Moral of the story is that success on Facebook may cause headaches (and if not handled properly will results in a loss of users due to user frustration). &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;5. It's okay to Steal (Ideas).&lt;/span&gt; Alright, let's put this statement in context. My point here is that many successful apps have found revival after been "converted" to Chinese. Examples include Baidu and Xiaonei. It's not as crazy as it sounds, but one possible route to quick success is to identify a successful Facebook app and clone it for Xiaonei. I'm serious. Do not under-estimate the value of cloning. :-)&lt;br /&gt;&lt;br /&gt;It seems that good concepts as far as Facebook apps go, transcends cultural boundaries. See &lt;a href="http://www.insidefacebook.com/2009/01/26/exclusive-6-waves-emerges-from-shadows-with-22-million-active-users-on-facebook-from-around-the-globe/"&gt;this article&lt;/a&gt;. The point here is that it's really not just about ideas. It's a package deal consisting of both the idea and the execution. Not only must you have a good idea, you have to execute well in order to succeed. Ideas tried and test and proven to work are good 'cos you reduce the risk of uncertainty and can focus on getting the execution right. &lt;br /&gt;&lt;br /&gt;Alright, I guess this covers most of the summary points I wanted to make at the end of class, but didn't get a chance because we ran out of time. I'm looking forward to see what people have to say about the presentations earlier this evening. :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-4514351229404917434?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/4514351229404917434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/02/facebook-application-seminar.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/4514351229404917434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/4514351229404917434'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/02/facebook-application-seminar.html' title='Facebook Application Seminar'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1196875234349224757</id><published>2009-01-26T23:59:00.000+08:00</published><updated>2009-01-29T15:47:43.365+08:00</updated><title type='text'>It's All About Possibilities</title><content type='html'>Last Monday, we were honoured to have Pratibha Kumar, Apurval Awale and Ian Tan from Microsoft talk about XNA, WPF/Surface and the Imagine Cup. &lt;br /&gt;&lt;br /&gt;We are partnering with Microsoft this Semester and introducing Microsoft WPF as one of the new evolving platforms. The talks are packed full with cool stuff and I'm certain that the students' blogs will provide a good overview of what was said. &lt;br /&gt;&lt;br /&gt;The following are some of the key ideas about the future that I had hoped that the students would have gathered from these talks. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The "Digital Hub" Strategy&lt;/span&gt;. The Internet is a harsh place. Successful companies can get put out of business if they fail to respond decisively. &lt;br /&gt;&lt;br /&gt;One of the key strategies for companies like Microsoft and Apple is I would describe as the creatin of the "Digital Hub". In short, PCs are becoming commodity equipment, not very different from a TV or washing machine. &lt;br /&gt;&lt;br /&gt;In order to continue to growth, these companies are invading the living rooms and moving into digital entertainment, aka Digital Lifestyle.   Apple with the iMac and Microsoft with the Xbox are trying to take become the centerpiece of the living room, by acting as a "hub", e.g. iPod and iPhone interfacing with the iMac, your Xbox functioning not only as a game station, but also as a home theatre system. Then there's Microsoft Zune. What we will see is the convergence of many different electronic devices. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Network is the Future (and UI is your friend).&lt;/span&gt; Broadband to the homes is now commonplace, but as bandwidths continue to grow and access becomes truly ubiqitous, there will continue to be opportunities for even more innovation.&lt;br /&gt;&lt;br /&gt;Truthfully, even though as a Networking researcher, my keen interest is in what the new networks have to offer, it's really a whole package deal. While the increased bandwidth and underlying networking technologies is the key enabler, the deal comes also with improved UI and animation technologies. People actualy don't care about cool technologies. They care about technologies they can use.&lt;br /&gt;&lt;br /&gt;Microsoft WPF and Surface are representatives of next-gen UI. They might not be the best and the battle of the next-gen UIs have not yet been fought, but it's definitely coming. I predict that avatars and animation might have a large part to play in the next-gen UIs. Animation technologies have advanced rapidly over the last decade. It's not just about graphics. Animation-related AI is also very advanced now, think Spore.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Future of the Game Industry.&lt;/span&gt; Much of the advancement in the state of art animation has been fueled by the game industry. This industry is expected to continue to grow over the next decade (recession or no recession). In fact, inspite of the recession over the next 2 years, people are still expected to play games (they need a way to escape from their financial troubles even more than ever).&lt;br /&gt;&lt;br /&gt;So, the good news is: there's money (and jobs) there. Unfortunately, the bad news is: there's money there. As we live in the free market, people will go where the money is and with the money in the industry, more and more players will join the industry. Already, we have seen a proliferation of games over the past decade. &lt;br /&gt;&lt;br /&gt;Today, the games industry is much like the movie industry about 2 decades ago. It is costly to build a good game and building a game is a little like making a movie. If it is a hit, you can make a lot of money; but if it doesn't sell, there will be huge losses. Unlike in the past where it's possible to make a game in the garage, the games industry will be a very tough moving forward.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Proliferation of User-Generated Content and User-Created Applications.&lt;/span&gt; This is not at all a new concept and it has been around for a long time in the form of user mods for games. What is new is that there are now new frameworks to help publish user generated applications. &lt;br /&gt;&lt;br /&gt;This is seen in the XNA publication system where small timers can develop and publish their own games on the XNA network. XNA will take care of the payment and distribution of the software for the game developers. Actually, I was have been discussion this with Zi Han. I believe that it will not be long before game publishers get put out of business. Who wants to trot down to a shop to build a CDROM when it is possible to download and play a trial game directly from the network and pay only if one likes the game?&lt;br /&gt;&lt;br /&gt;The same concept is found in Facebook apps. Facebook itself is like the delivery channel for the new apps. Unfortunately, the nature of web apps is such that it is more difficult for Facebook to start charging people to use apps (or is it?).&lt;br /&gt;&lt;br /&gt;There are two important ideas that I think students should bear in mind about such platforms for delivering user-created apps. (1) The world is very big and there are seriously a lot of very talented and bored people around. Having these people work on stuff is like playing lottery. If any one wins, the platform building wins; and (2) part of the strategy here involves capturing eyeballs. To capture eyeballs, there's a need to constantly generate new content - and it is too expensive for one company to try to do that in-house. In any case, why do the work when there's someone else willing to do it for free? &lt;br /&gt;&lt;br /&gt;These are important ideas that should be gleaned from studying the Facebook app platform and XNA. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;There's a lot of money out there.&lt;/span&gt;  Notwithstanding the impending recession, there's still a lot of funding available in Singapore through Spring and MDA. Most of them come in the form of $50K seed funding, which is not a lot, but when can pay the bills for a couple of months. I would encourage students who are thinking of starting their own companies to check them out. With regards to the IP for the work done in CS3216, I checked with the NUS Industrial Liason Office last year and the IP should righfully belong to the students. The following is the reply:&lt;blockquote&gt;If the resources for the development of the Facebook Application can be downloaded from Open source, then the ownership of such development will reside with the individual student.&lt;/blockquote&gt;If there are any concerns for the projects this year, we can discuss. CS3216 is suppoosed to enable students to dream, not put up brick walls. If necessary, I'm quite willing to help students deal with bureaucratic and legal brick walls should they arise. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Money is in the Sales, NOT the technology.&lt;/span&gt; That said, I would like to drum into your heads that if you want to start a business, forget the technology. Yes, technology is cool to have, but it's NOT what makes a business/startup succeed. You need to be able to sell the stuff, i.e. find suckers who are willing to cough up money.&lt;br /&gt;&lt;br /&gt;To some extent, it's not hard to make money - but it's not entirely easy either. Just because people like your product, they might not want to pay for it. For example, Facebook is really quite a successful and good product. Most of my friends use it. But, can anyone imagine what would happen if Facebook suddenly decided to charge people for it? &lt;br /&gt;&lt;br /&gt;On the other hand, buggy products have been known to be able to corner the market (and make a lot of money). Which product(s) are left as an exercise for the reader. :-) &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Internet Boom has not Come and Gone. It is still here.&lt;/span&gt; Some people said that the time of the Internet was over after the dot.com bust of 2000, but they are wrong. Just check out all the new companies that made it to Fortune 500 over the past decade. Many are IT-related companies. &lt;br /&gt;&lt;br /&gt;I suspect that we will see the same trends for another decade or so. The Internet has reduced barriers to entry for new businesses significantly. As the Internet penetration grows, so the size of the market. Facebook and Twitter will not be the last of the new "successful" ideas. &lt;br /&gt;&lt;br /&gt;I firmly believe that notwithstanding our small size, Singapore is well-positioned to capitalize on the Internet. I would however encourage students not to think about selling stuff locally. The Internet is much too big for that. While it is okay to start small and use Singapore as a proof-of-concept testbed, think global. &lt;br /&gt;&lt;br /&gt;With each new year, comes new possibilities. May I wish all students a very Happy and Successful New Year!&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1196875234349224757?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1196875234349224757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/01/its-all-about-possibilities.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1196875234349224757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1196875234349224757'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/01/its-all-about-possibilities.html' title='It&apos;s All About Possibilities'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1863921050784044330</id><published>2009-01-20T23:39:00.000+08:00</published><updated>2009-01-21T00:04:30.668+08:00</updated><title type='text'>The Model Blog Post</title><content type='html'>I came up with this idea to make students blog about the lectures at a whim.&lt;br /&gt;&lt;br /&gt;When I first came up with the idea, I wasn't quite sure what it would achieve, but it seemed like a good idea, so we just try loh. Such is life. &lt;br /&gt;&lt;br /&gt;We don't always have to have a good idea of what we're doing. Sometimes we need to be a little reckless and to be willing to make things up as we go along. As they say, "No guts, no glory". &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;To recap, these CS3216 class blogs were meant to address two key issues from last Semester: &lt;ol&gt;&lt;br /&gt;&lt;li&gt;IVLE Discussion Forum Reflections didn't seem to work well. We didn't seem to be able to achieve the sorts of participation that I had hoped for or generate as much discussion as I had anticipated. It got worse towards the end of the Semester;&lt;br /&gt;&lt;li&gt;Some students started skipping lectures from the middle of the Semester and notwithstanding my efforts at arranging for interesting lecturers to come talk to the students, I had some nagging doubts about whether people were really learning anything. Learning is hard. It takes effort and it is really quite easy to go sit into a lecture and switch off. These blogs serve two purposes: (i) make sure that people come to class, or else they would have to be a real genius to be able to blog about a lesson in abstentia; and (ii) make sure people actually pay attention and learn something. &lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Sometimes we have to be honest when we don't know for sure what we're doing. This is one (well, another one :-P) of those instances where I thought I was doing the right thing, but I wasn't completely sure.&lt;br /&gt;&lt;br /&gt;Then I saw this post: http://zhouwenhan.com/2009/01/cs3216-platforms/, and I'm sure. :-P &lt;br /&gt;&lt;br /&gt;All students please refer to Wenhan's post as the model post for CS3216 class blog. It's not the content so much, but the PROCESS, that matters. &lt;br /&gt;&lt;br /&gt;What you're supposed to be doing during lectures is to jot down notes, points and questions. About what? Whatever that comes to mind and that you think is interesting. &lt;br /&gt;&lt;br /&gt;Thereafter, take stock of what you have and say something that demonstrates that you have thought deeply about some of the questions and/or issues. &lt;br /&gt;&lt;br /&gt;What you say doesn't have to be right. It's okay to say the wrong things and have your friends drop by and tell you so. &lt;br /&gt;&lt;br /&gt;It is not what you say that really matters. What matters is that you have taken time to think. &lt;br /&gt;&lt;br /&gt;Do you really want to come to school and learn to get smarter? Well, then starting thinking. I don't know of any other way. Once again, it's not so much the substance of what is said, but the PROCESS. &lt;br /&gt;&lt;br /&gt;Wenhan has actually highlighted a significant number of questions or problems that he didn't address in his main blog post. The other students who haven't written their posts and who are thinking about what to write can consider thinking about some of those points and addressing them as well.&lt;br /&gt;&lt;br /&gt;This brings us to a second point. Another way of getting smarter besides thinking about stuff ourselves is exchanging ideas with others. Again, it is a process. &lt;br /&gt;&lt;br /&gt;I'm quite happy today. I think I did something right. It all started as a random idea - but I decided to bite the bullet and acted on it, notwithstanding my understanding of student psychology, i.e. that some students are really going to hate me for inflicting this blog thing on them.&lt;br /&gt;&lt;br /&gt;Ah well, I am grateful that I'm not a politician. Being a teacher is not a popularity contest. &lt;br /&gt;&lt;br /&gt;I have a job to do. I try to earn my pay. :-)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1863921050784044330?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1863921050784044330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/01/model-blog-post.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1863921050784044330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1863921050784044330'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/01/model-blog-post.html' title='The Model Blog Post'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-1371720922446755449</id><published>2009-01-20T23:03:00.000+08:00</published><updated>2009-01-20T23:09:58.715+08:00</updated><title type='text'>Beware the Browser</title><content type='html'>It just occurred to me that none of the students picked up on what Caleb shared about the browser-compatibility issues, so I thought it would be important to highlight this. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;First, the most important element in a good app is a good concept. Users must have a reason to come back. As it turns out, the more popular apps are typically games.&lt;br /&gt;&lt;br /&gt;For games, they don't have to be overly complicated. It is important to understand the mentality of the Facebook users.&lt;br /&gt;&lt;br /&gt;Facebook games are distractions and time-wasters. Many people are wasting their time at work playing them which is why Caleb reported a drop in activity over weekends. &lt;br /&gt;&lt;br /&gt;Cuteness is important. However, as Caleb shared, FarmWars actually suffered a drop in the number of users after they "upgraded" from their initial version to a more snazzy version. &lt;br /&gt;&lt;br /&gt;Much of their problems came from the browser compatibility issues with IE. &lt;br /&gt;&lt;br /&gt;A corollary of this lesson is that students should test their apps with a variety of browsers and platforms and not stick only to one platform. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-1371720922446755449?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/1371720922446755449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/01/beware-browser.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1371720922446755449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/1371720922446755449'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/01/beware-browser.html' title='Beware the Browser'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6752972069568649940.post-9218829600619313194</id><published>2009-01-19T23:10:00.000+08:00</published><updated>2009-01-20T03:10:56.846+08:00</updated><title type='text'>You Blog, I Blog</title><content type='html'>I came up with an evil scheme to inflict pain on my students this Semester. I made them each write a blog for CS3216.  &lt;br /&gt;&lt;br /&gt;Can anyone imagine hardcore coders write blogs (in English, not in Java, C# or Scheme)? :-) &lt;br /&gt;&lt;br /&gt;Yes, so it is indeed evil for me to have inflicted this on my poor students. However, in the immortal words of Titanic (aka "You jump I jump"), as a teacher, I have decided that I will walk the talk. &lt;br /&gt;&lt;br /&gt;Like them, I will write one post after every major lesson/lecture and on top of that, I will read every word that each of my students write in their class blogs. I think it's fair. They now have no excuse not to write. ;-P  &lt;br /&gt;&lt;br /&gt;In this first post, I think I will try to articulate as best as I can what we are trying to achieve in CS3216.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Like every other course, we have a full page of learning objectives, yada yada, for CS3216... but frankly, they don't matter. In my view, all the "official" objectives for the course can be distilled into two key high-level "meta-goals":&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;To "force" students to think.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;To teach students "how to learn".&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;To force one to think sounds really nasty, but truthfully, it is actually possible to go through school without having to think much at all. &lt;br /&gt;&lt;br /&gt;One of the reasons why I decided to experiment with this blog is to see if I can make the students think a little harder about what they hear and what they see. &lt;br /&gt;&lt;br /&gt;The lectures for CS3216 may seem a bit random. They are not. &lt;br /&gt;&lt;br /&gt;The purpose of this blog is also to summarize some of the key points made in the lectures. &lt;br /&gt;&lt;br /&gt;Another reason for making the students blog is to encourage them to share ideas and interact. We actually tried something like that last year with what we call Reflections in the IVLE Discussion. I didn't think it worked quite so well and so I decided to try something different. &lt;br /&gt;&lt;br /&gt;Frankly, I really don't know how to teach students "how to learn". However, what we try to do is design the two assignments and the final project in such a way as to allow the students to figure this out. &lt;br /&gt;&lt;br /&gt;Instead of explicitly holding classes to teach Facebook Programming, we just spend a whole lot of effort crafting a monster assignment with 25 pages. Our experience last Semester has shown that, amazingly, this works! :-P &lt;br /&gt;&lt;br /&gt;We're trying to pull this off twice this Semester -- once with Facebook and once with Microsoft WPF. It's really not trivial to come up with a good assignment and I'm really fortunate this Semester to have the Microsoft folks helping out and also a most brilliant teaching staff. &lt;br /&gt;&lt;br /&gt;So to conclude, I hope that students will learn "how to learn" by just &lt;i&gt;doing stuff&lt;/i&gt;. But it's not just random stuff. It's actually assignments that have been designed with much care, coupled with sufficient flexibility to allow the students to express their creativity. &lt;br /&gt;&lt;br /&gt;Flexibility is important because it allows the students to do what they LIKE to do. Learning must be fun. :-) &lt;br /&gt;&lt;br /&gt;The greatest challenge in teaching today is not so much in the teaching of the students (or communication of knowledge); the greatest challenge is convincing students that they WANT TO LEARN. How hard is that? &lt;br /&gt;&lt;br /&gt;The saying goes, "you can lead a horse to water, you cannot make it drink."&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6752972069568649940-9218829600619313194?l=cs3216.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cs3216.blogspot.com/feeds/9218829600619313194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cs3216.blogspot.com/2009/01/you-blog-i-blog.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/9218829600619313194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6752972069568649940/posts/default/9218829600619313194'/><link rel='alternate' type='text/html' href='http://cs3216.blogspot.com/2009/01/you-blog-i-blog.html' title='You Blog, I Blog'/><author><name>Ben Leong</name><uri>http://www.blogger.com/profile/04378536909086234613</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://3.bp.blogspot.com/__NdTxUPFPUQ/SbvPR-CClpI/AAAAAAAAAHM/s4O9KYsk3lE/S220/portrait7e.jpg'/></author><thr:total>9</thr:total></entry></feed>
