Sunday, April 27, 2014

The case for in-house projects

In order to graduate, every ICT student has to go through either an internship or an in-house project. This semester, for the first time, I am supervising two in-house (IHP) project students; I have only supervised internship students before.

Historically, most students prefer to go for an internship, for a variety of reasons:

  • "Internship at IBM" sounds so much cooler on your resume than "Did a project in school."
  • You get to experience an actual working environment and find out if you have what it takes to make it in the real world.
  • Job offers at the end of successful internships are not unheard of. Having a job lined up before you have even graduated is a big deal. Of course, you have to perform really well for that to happen, but still.
Consequently, most students choose to apply for internships and will only do an IHP if they don't get accepted (naturally, the best students usually get accepted). This means that the majority of students who do IHP's are either the demoralized internship rejects or those who have failed some modules and have to stay in school to complete their coursework requirement.

For these and other reasons, IHP's have a bad reputation as a consolation prize for losers who couldn't make it to internships. Many IHP students lack confidence in their own abilities and constantly ask their supervisors what to do, treating their project like yet another module assignment. Others cruise through the entire 3 months watching Youtube videos, playing computer games and taking 4-hour lunches. Is it any wonder that internship students tend to outscore IHP students by three or four grades, on average?

Screenshot of actual submitted draft Project Charter. Apparently, IHP's are not the only ones with a bad reputation.

Guess what? IHP's are no worse than internships. They are worth the same number of credit units, and you can learn as much in an IHP as an internship (if not more). In fact, I would argue that they are better than internships in many ways, but only if you make the most of it. Here's how.

1. Pick or propose a project that interests you

When considering whether to bid for an IHP, really think about whether the project interests you. Lots of proposed projects are all kinds of cool, like creating a system to help patients with their physiotherapy, or doing data analytics to identify at-risk students - these are projects with real applications, not just something mundane that helps a company eke out a bit more profit. Alternatively, most supervisors will allow you to propose an appropriate project, so you get to define what you're going to do. Therefore, you can pick or propose something that really interests you, and you really, really should.

To me, this is the main advantage of an IHP over an internship. If you go to an internship and you're told to do boring data entry every day, you're stuck with it. In IHP, you can do what you want to do, not what the company requires you to do.

Well, within reason. Listen to your supervisor's advice on the feasibility of your proposed project. It's your supervisor's job to make sure you don't bite off more than you can chew; you're not going to be able to make an MMORPG in 3 months, for instance. But don't immediately reject a project idea that you don't immediately know how to do, because you should also:

2. Challenge yourself

Unless you really want to sell T-shirts online or something, don't touch that e-Commerce website project with a 10-foot pole. In ICT, you have modules like Databases, Developing Web Applications and e-Commerce Application Development that teach you a lot about how to make an e-Commerce website, so why on earth would you want to make one for your IHP? You've already made several in your module assignments.

When evaluating IHP's, we lecturers do take degree of difficulty into account. If what you end up with is essentially the same as your module assignments with a new coat of paint, then you're not going to score. The only e-Commerce website projects that get an A have to be spectacular, with lots of features that weren't explicitly taught in class.

Here's an open secret: what you learn in ICT will probably become obsolete pretty quickly, because technology moves so rapidly that the factual knowledge you acquire may be replaced by something else entirely in a few years. In fact, the most valuable skill you will get from a polytechnic education should be the ability to learn new stuff quickly, and this is one of the things that we're evaluating in an IHP.

File:Challenge Accepted Rage Comic.png

So go ahead and learn a new programming language. Create that networked real-time mobile game app that puts Flappy Bird to shame. You've got 3 months to find out what you need to know. If other people can do it, why can't you? 

3. Do something you'll be proud to show off

Here's another advantage of IHP over internships: they generally don't have any issues with non-disclosure agreements. While "Internship at IBM" sounds good on the resume, it's hard to distinguish yourself from all the other IBM interns. On the other hand, if you design and implement a cool new system, that's something you can show off to prospective employers.

Let me put it this way. Would you rather be the guy who says "I interned at IBM. I did a lot! I can't show you anything due to the NDA, but you can trust me, right?", or the candidate who says "I developed a mobile app to help colour blind people identify colours to help them in their daily lives - and here it is!"

"...and here is a Straits Times newspaper article with my picture on it. Any questions?"

On the flip side, don't be the one who says "I spent 3 months working full-time and all I made was a cookie-cutter e-Commerce website." Do something you can be proud of, and employers will be glad to hire someone who can achieve something remarkable on their own with limited supervision. 

4. Treat it like an internship

One of the reasons that internships tend to score better then IHP's is the fact that internship students are forced to follow the corporate culture. They have strict working hours, a dress code, deadlines and real-world constraints (like dealing with customers, which can be a special kind of hell). IHP's, on the other hand, are a lot less closely monitored. There is not much to keep you from playing games for half the day and take 3-hour lunches.

My advice is don't, just don't. Treat it like an internship. Come to school by, say, 9am, leave no earlier than 5pm, and put in a full day's work every day. Make schedules and give yourself short-term targets to aim for. Break your project down into features, map out how long each will take, add a buffer for contingencies, and stick to the schedule. If you need the database up and running by the end of the week, make sure it's up and running even if you have to work overtime. After all, that's how deadlines work in companies - you finish your work no matter what. If you expect to get grades similar to internships, then you have to hold yourself to similar standards (okay, maybe not the dress code part).

In many ways, sticking to a schedule is much more challenging in an IHP than in an internship. At a company, everyone there is acting professionally and doing work because if they don't, they get canned. During an IHP, you may be surrounded by friends playing 2048, showing you the latest trending Youtube video and inviting you to extended tea-breaks every day. The next thing you know, it's 4pm on Friday and all you've written is public static void main(String[] args){ }. Don't let that happen to you.

BTW, if you manage to finish the job that you planned to complete by Friday on Thursday, go ahead and goof off with a couple of hours of DOTA. Just be honest with yourself and don't give yourself an easy schedule.



An IHP is an uninterrupted 3 months where you get to work on a project full-time. If you're about to take on an IHP, think about the amount of work you produced last semester over all your modules. Even if you take into account the time you need to acquire new knowledge by yourself, your IHP should still have a scope that is about two or three modules' worth of final assignments combined. If your project could conceivably be done by a Year 2 student in a couple of weeks under supervision, you're not doing enough.

Like I said, this semester I have two IHP students. One of them is helping to create a GUI for an ICT common test timetabling system, which will help produce better timetables for all students in ICT. The other has the opportunity to create his own game, including gameplay logic, graphics and AI. Even though neither of them are top students in terms of GPA, I sincerely believe that as long as they take the above advice to heart, they have every chance of getting an A+ for their IHP. Not only that, they'd have completed projects that they would be proud to call their own.


Image sources:
http://en.wikipedia.org/wiki/File:Challenge_Accepted_Rage_Comic.png
http://www.np.edu.sg/home/news/archives/2013/oct_dec/Pages/20131202_3_ictapp.aspx

Saturday, April 19, 2014

How to save the Ngee Ann Polytechnic Board Games Club? (Part 2)

As reported in this previous post, the Ngee Ann Polytechnic Board Games Club (NPBGC) was due to be dissolved on 1 April 2014 due to a lack of members and the fact that the Ngee Ann Library has a board games room (BGR), so a separate club seemed superfluous. Well, it seems that the club has been given a reprieve, but they have had the following draconian measures imposed on them:

  1. The club now gets to use the BGR as their base of operations: a large, fully renovated room with custom-built tables and chairs, display shelves full of games and a sound system;
  2. Club members get paid a good wage to man the counter of the BGR;
  3. The club can now use the library's much larger budget to buy games, including multiple copies of games in order to hold competitions
This is the price for poor running of the club. Let this be a lesson to you all.

All kidding aside, it's not just a bigger room, money and more games. Ultimately, their reprieve is only for one year, and by 1 April 2015 they have to get their membership numbers up to at least 40 and increase the number of game loans from the BGC by an unspecified amount. It is also their job to schedule the members to man the counters at all times.

The biggest issue is the membership numbers, which is why the upcoming CCA Fiesta that introduces all the CCA's in Ngee Ann Polytechnic to freshmen is so important. This is their best chance to attract new members, to introduce the hobby and show everyone that board games is so much more than Monopoly or chess.

The decor in the Board Games Room does not help
The CCA Fiesta this year will be held from 22-24 April 2014 at the Sports Complex. Each CCA will be given a small booth, and the trick is to somehow attract the attention of eager young freshmen and distinguish themselves from over 100 other CCA's. The NPBGC committee has been working hard to come up with a plan. The last I heard, the current plan is to use a combination of visually appealing games and prizes to lure the attendees in, a few short games that they can try out to get an idea of what board games is about, and then to lead them to the BGR where the meatier games will be on display. Hopefully, this will be enough to get some students to sign on the dotted line.

This is the crucial first step in the revival of the club. Any readers out there, if you happen to be around during this period, it would be worth your while to drop by the NPBGC booth. If you don't know much about board games, here's your chance to find out. Oh, and bring a friend, or two, or twenty. The NPBGC is understaffed but enthusiastic, and boardgaming is a worthwhile hobby that really needs to be more widespread.

Will this be enough to save the Ngee Ann Polytechnic Board Games Club? Stay tuned!



Saturday, April 12, 2014

Three little updates

It's been three months since I last posted a blog entry. Just so that my loyal readers don't think this blog is dead (um, any loyal readers out there?), I'm just going to tell you about three little things that have happened in my life recently. In descending order of significance:

3. I've been made Assistant Course Manager

Ngee Ann Polytechnic has been reviewing the organizational structure of the various schools, and there have been a few changes made. As a result, I have been given the new post of Assistant Course Manager for the Diploma in Information Technology, which means that I get to work with the Course Manager to improve the diploma and influence how things are run. This comes hot on the heels of my appointment as Section Head and Cluster Chair, so I'm going to have to print new business cards again. :)

In the short term, this new appointment doesn't mean much. I have a few more day-to-day responsibilities, but otherwise it's business as usual. In the long term, sooner or later (and it may very well be sooner) the Diploma in IT is going to have to go through a review. Modules may be revamped or replaced, teaching methods may change, and the entire course structure could be turned on its head. As the ACM, I will have a decent amount of influence on what changes will be made.

So if you're a Dip. IT student who has some ideas or opinions on the course, I will be happy to have a chat. Your ideas might very well benefit students in the future.

2. I've won the School Teaching Award AY 2013/2014

Woo-hoo!

Every year, NP recognizes the outstanding lecturers in each school. Students are first asked to nominate deserving lecturers. From these nominations, a number of them are shortlisted and asked to prepare teaching portfolios. A panel then goes through the portfolios, and then the award winners are determined based on the portfolios and other criteria (including peer recommendations and student comments). Well, this year the panel has seen it fit to confer the award on little ol' me. :D


This is a big deal to me. Egotistical me has always thought that I'm a pretty good teacher, but I have never won any sort of teaching award. After a while I start wondering whether it's all in my head. Maybe I'm an awful teacher, and the students who say that they like how I teach are just humouring me (or buttering me up for better grades). To finally win an award for teaching serves as a validation of my teaching philosophy and methods, so yeah, I'm inspired to continue teaching in the way I think is best. For those of you who hate how I teach, well, pbththththhth!

By the way, this blog played a big part. Like I said in my first ever post, I started this blog partly to supplement my teaching portfolio, and the portfolio I submitted included lots of links to various posts on this blog, silly jokes and all. Turns out the STA panel has a sense of humour. Who knew?

1. My wife is preggers

We're expecting our second child in September, so there's that.