Monday, February 8, 2010

Making Connections

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.

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.

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.

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.

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.

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.

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 making connections.

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.

I shall illustrate this principle with the Final Project pitching session we had this evening.

Random people coming to talk about random stuff. At first sight, it may all seem very random -- but it's not.

Well, CS3216 is organized into two segments: "Ideas + Skills" followed by "Execution".

The pitching session we had this evening contributes to the ideas part of the equation.

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.

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:
me: what do you think of tonight's session? interesting?
Tay: yup but i think some companies weren't specific with what they wanted
not sure if that's a good or bad thing
me: normal
everyone wants to get on the boat
but they dun understand the boat
dun understand where they want to go
but they think the boat's cool anyway .... and they are probably right in many cases
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.

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.

Is it easy therefore? Hell no. :-)

While opportunity is all around us, it takes effort to learn how to recognize and exploit them.

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.

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.

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.

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.

"Execution" = Final Project. That's all.

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

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

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

Sunday, February 7, 2010

The Answer is Yes

It's been a really busy week for everyone.

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.

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.

Teaching CS3216 really keeps me on my toes because every batch is different.

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.

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.

Why resubmission?

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.

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.

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.

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.

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.

Henry asked if his group can do a Chrome plugin instead of the Google Wave assignment, the answer is yes.

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

Why not? :-)

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.

If I should reject a request, it would be my responsibility to EXPLAIN why not. :-P

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 this, it encourages me that I might just have done something right.

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

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

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.

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.