Sunday, January 10, 2010

A New Beginning

Tomorrow will be the first class for CS3216. Again.

Typically, if I were to be teaching a class for the third time, I would probably be able to do it in my sleep.

Not so for CS3216.

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.

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.

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.

But such is life.

There is the saying that if we really believe in what we're doing, then we better "eat our own dog food". So we eat.

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.

So every semester we try new things. We try to make it better - though we aren't necessarily sure that we will succeed.

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 feedback for the module 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?

To digress, I would like to take the opportunity to address the following comment by a student last year: "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."

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.

Sometimes, small is beautiful.

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.

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.

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.

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.

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.

To conclude, I would like to address the issue of blogging.

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".

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.

How does blogging help in the learning? Well, we have to go back to the psychology of learning.

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".

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.

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.

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).

Well, school is overrated, because learning is EVERYWHERE. To think that learning can only take place in school is completely misguided.

That said, given that we have job to educate our students, we should try to earn our pay.

In addition to "forced" thinking, there are two other key advantages of blogging.

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.

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.

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.

There are many good things going for blogs - but there's no free lunch. Blogging every week requires effort and discipline.

As it turns out, I believe that teaching also requires some leadership by example.

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.

However, I will probably do it AFTER I have read what the students have written.

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. :-)

Actually, if students expect me to say "smart things," I suspect they will be sorely disappointment. My talent lies in stating the obvious (did I say school is somewhat overrated? :-)).

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.

To understand my concerns, see this entry. 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. :-)

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.

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.

I'm ready for CS3216. Are you? :-)


  1. Hi Prof,

    I think 'forcing' us to blog is a great idea, as it really forces us to synthesize our thoughts and take a stand on issues. I don't think it really matters which stand we take. The most important is to have the courage to take a stand and to be able to back it up with good reason.

    Thinking is hard. Thinking and putting these thoughts into words is even harder. Hopefully, after completing a full semester's worth of insightful blogging, my coursemates and i are that much smarter :)

    Looking forward to seeing everyone in class tmr!


  2. It seems that blogging requires people to think through a lot so as to reflect what we have learnt?

    But for me, when I blog I do it with a light heart. I did not really think that much but to enjoy and regurgitate the things that I've learnt just to share it with everyone else. In my personal blog, when I see people searching about terms that I used to search for and I manage to solve their queries, I feel happy.

    I believe there's no way to pen down everything you have learnt but by sharing, you are helping others who need help by contributing what you know to others.. And this is what comments are for right? To ask and to answer cos everyone have different perspective on what they want and hope to know?

  3. Do or Do Not, There is No Try.

    If I'm not wrong, this does not mean that trying (which I assume implies trying with full spirit) is not enough and that one must succeed, or not make an effort in the first place. Because that's not possible. What it does mean is that we should always keep such a determination. Something like "to reach the moon, aim for the stars". Right?

  4. /start of protest/ But that was not a model answer! /end of protest/


    Seriously, prof, the rewrite was a joke. I make it a point to never rewrite my blog entries (except for grammatical errors, sentence structure flaws, etc etc, because I'm anal with my writing like that) - and for proof, I point you to my other blog, where I've written stuff I look back upon and wince over, because it's been proven to be false over the long term.

    I have no problems with disagreeing with people I respect. The truth of the matter was that you pointed one aspect of Wave that I had not seen, and I felt like an idiot for not taking that into account. I'd been thinking about Wave for over a month now, and when I finally settle down to write I am usually pretty well versed on all the angles on that particular topic.

    I just felt like a doofus, is all.

    Am looking forward to your class tomorrow.

  5. @Reuben,

    Thinking is hard. Thinking and putting these thoughts into words is even harder.

    Correct. Some of the blogs are still blank at this point and it's probably not because your schoolmates are idle. CS3216 takes only the most motivated and talented students.

    The blogs are blank 'cos they are probably agonizing over what to write. *evil laughter*

    What doesn't kill them, will make them stronger.

    When all of you grow up and go out to work, you will understand the importance of developing strong communication skills.

    There are many competencies required for success (whatever your definition of success might be). People should go figure out what they are and start working on developing them. For most definitions of success, communication is pretty important. :-)

    @Hong Jun,

    Perhaps you are better at articulating your thoughts so it's not hard for you.

    But your goal in CS3216 blogging is to communicate your ideas clearly and to demonstrate that you have gained certain insights in seeing/doing what you did.

    For most people, it requires a certain about of effort and thought. Perhaps you're different? We'd find out soon enough. :-)


    Correct. Life is full of choices. People don't necessarily have to do what people or society expects them to do.

    Bill Gates went to Harvard. Most people would expect him to graduate. He decided that getting a degree at Harvard wasn't worth his time. With hindsight, he was probably right. So, he chose "Don't Do".

    How many of you have the guts to choose "Don't Do"?

    And if you do not choose not to do, which by default means you do, how many people put in effort to nail the things that they have decided they should do.

    Choose your battles wisely and when you fight, always do for the kill. Don't do anything half-heartedly. Life is too short and there too many things worth doing that you shouldn't waste time doing stuff that doesn't make a difference.


    I just felt like a doofus, is all.

    You should learn not to take yourself too seriously. It's okay to be a doofus every now and then. :-) Helps you keep your sanity. :-P

  6. Yesreee! Doofus is I! Now to sleep I go!


  7. @Cedric,

    Good. We have a fast learner. :-)

    Good night! :-P

  8. Marking through blogs is a great idea.

    But being in singapore, and NUS, I fear that some may take this as a 'homework' and work too hard towards a 'correct answer' when all that is asked for is a simple reflection.

  9. @doomdg,

    Thanks for the comment.

    Not to worry, the water will find its level. The students will check out what their friends write and eventually, they'd all figure out what to do. :-)

    Sometimes we need to have a little faith. :-P

  10. I'm pretty sure if anyone of us asks, Professor Ben will gladly let us podcast our thoughts instead of blogging, or maybe even vlog for credit (:

    That said, I think blogging will serve its purpose in extending the discussion beyond class.

    Also, using a poor analogy, it's kind of like the tutorial participation points one might encounter in other modules, only in this case you get to "participate" from the safe ground behind your keyboard, instead of being called to the front to present some Discrete Mathematics question you didn't know how to do.

  11. @Kah Hong,

    Also, using a poor analogy, it's kind of like the tutorial participation points one might encounter in other modules, only in this case you get to "participate" from the safe ground behind your keyboard, instead of being called to the front to present some Discrete Mathematics question you didn't know how to do.

    Absolutely a poor analogy 'cos this blogging business is very different. It's *much* more painful than tutorial participation point schemes for those who are not keen to participate. From experience, there will a number of students who eventually cannot keep up and will fall out. We can afford to give and take.

    And doing well in this particular component is not something that can be "forced". To get a lot of credit for this blogging component of the class, a student must really have learnt something and thereby be able to communicate it publicly.

    BTW, you are indeed welcome to podcast, vlog, whatever. However, do note that it's the message and medium that matters. Unless you find it easier or more convenient to podcast. Otherwise, no need to waste valuable time and effort 'cos it's not going to earn you brownie points.

  12. "Sometimes, small is beautiful."
    I think simple suits better here.

    "I'm am actually more impressed with students who come up with views contrary to mine"
    I learnt the msg that we cannot believe in everything a teacher says from a few places/ppl in the past alr. I also agree that it is important that we can think for ourselves. After all a teacher should teach a student how to fish (how to think) rather then give them a fish (instill a thought into them that they must believe in).

    For me, unless the view is totally flawed or illogical, I usually prefer to keep an open mind to different views, rather than take an extreme view and shut off myself to all other suggestions.

    Actually I prefer this kind of blog participation than normal tutorial participation. It may end up students "fighting" to ans/ask qns for the sake of gaining marks. Here is more comfortable as we each have our own zone to post (a "home"). And we have more time to think, to come out with sth of a better quality.

  13. that was weird, my comment just disappeared somewhere up there..hmm... anyway, i think blogging's a really good idea to let us explore our thoughts, analyse them then share them. It's organised, personal and gives people the comfort zone that some require.. though as for the above view comment..i agree with Li Yen. Just taking in one perspective is foolish while I support that we should always keep our minds open to different views (since im sure there are views that aren't wrong, just different), it is good to develop our stands as well after analysing different views. This way, we really think carefully into all the different perspective, provided and challenged by others :) Im a bunch of tired muscles now though i must say i enjoyed my time a lot and it's really nice to meet so many talented people :)