Tuesday, March 23, 2010

On Mindsets

I'm a prof. Mine is a funny business.

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.

Personally, I look at my job a little differently. I think it's about helping people (students).

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.

This is all very general and unfortunately has little to do with CS.

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

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.

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.

If people haven't seen this clip, Richard St. John's 8 secrets of success, 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.

That's pretty much what I did.

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

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.

The one common thing that I have observed however is that they typically have what I would describe as a "winning mindset":

  1. They believe in something. Sometimes God. Sometimes other things. Mostly things bigger than themselves.

  2. They like themselves. 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.

  3. They accept personal responsibility. 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.

    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.

  4. They have a Can-Do spirit. 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.

  5. They seek continual growth. 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.

  6. They don't carry baggage. This is related to the first point about liking themselves. Some folks have this need to prove themselves. That's a no-no.

    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.

    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.

In CS3216, I try to do achieve three goals:

1. Teach stuff. 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.

2. Teach thinking. 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.

3. Reinforce/Fix Mindsets. 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?"

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?

Not everything in life that has value or meaning can be captured with a KPI/web metric. :-)

Thursday, March 11, 2010

On Wave and the Final Project

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.

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

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 not learning.

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

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

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.

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.

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

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.

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

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?

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

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:

Please do something you really believe in. 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.

Think Big, Take Small Incremental Bites. 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.

Deploy Early. 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.

Have Fun! 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. :-)