The CO 370 Midterm
On Feb 22 2010, I wrote the hardest exam of my entire undergraduate career. The 2-hour CO 370 midterm exam designed by Prof. Ricardo Fukasawa of the combinatorics and optimization department at the University of Waterloo was perhaps one of the best well-designed exams I had ever seen to date.
I felt that the questions were all solidly hard but yet entirely fair. They were all direct applications of material we had either seen in class or in the assignments, usually both.
I put in about 9 hours of total study time for this midterm worth 30% of the final grade. I thought that was quite generous. But I was able to be so generous only because of the free Reading Week that just preceded it. I was looking forward to getting as close to 100% on this midterm to enhance my buffer for the 50% final, in case I didn't do too well on it.
The truth was that almost everyone in the class, including me, could have gotten 100% on this midterm exam given sufficient time. At this point you should be thinking to yourself, hmm, that certainly smells like a time pressured exam to me. And it was! The midterm was a 3 to 3.5 hour exam compressed into 2 hours. Now we're talking!
It was at this point that I realized how useful all my analysis and pondering over time-pressured (TP) exams over the last 5 years was going to be. I cleared my throat, rolled up my sleeves, released a brand-new piece of lead at the tip of my mechanical pencil, and got down to work. I spotted four equally-valued questions at 25 marks each, for a total duration of 2 hours. That was half-an-hour per question tops.
I quickly took 5 minutes to skim through the questions and determine a total oder on the questions. The questions were definitely arranged in random order. On purpose of course. Within minutes, I was able to sort the questions in ascending order of difficulty: 4, 3, 1, 2. Phew!
Five minutes into the exam, I quickly scanned the room to see how people were doing. Everyone seemed to be scurrying to put pen on paper. It was at this point that I realized the class as a whole was probably going to end up doing pretty badly on the exam. They hadn't realized what was coming at them. They hadn't realized what they were dealing with was a TP exam. They were certainly going to run out of time, no doubt.
In a TP exam, it is crucial that you take time at the start of the exam to figure out the order in which questions must be answered to maximize final grade. Remember, TP exams are like a beach littered with diamonds everywhere. So you want to head towards the areas with the highest density of diamonds first. Approaching a TP exam sequentially, from first question to last, is perhaps the worst thing you could do for your grade.
Half-way through the exam, I could actually feel my head getting hot during the exam. I don't think I've ever sweat any exam before. This was a first. I kept getting visions of how my brain was like a giant 3 GHz Intel quadcore microprocessor with 8 gigs of unpartitioned ECC memory, with each cell, tissue and muscle in my brain acting like a tiny resistor, releasing a microwatt of heat upon each computation. Luckily, there was a water fountain right outside the exam hall so I could be constantly sipping on chill water every few minutes to keep cool.
The marks were of course unevenly distributed throughout the exam. This is a hallmark of every time pressured exam. The marks for each sub-question were allotted not based on the amount of time it would take a student to solve it or how difficult the problem was, but based on how important the prof thought the concept was, or based on how many concepts the question was amalgamating. It's a perfectly legit way to assign marks, but if you didn't realize what was happening, you'd have been in for a surprise.
A point I had failed to address in my previous blog post on TP exams was the idea that there is an initial investment of reading, parsing, making sense of, understanding, and building a mental, conceptual model of the problem in your head before you can even attempt to solve it. This is an important yet time-consuming step.
A lot of subjects are like this with long-winded stories about the problem statement in English with a lot of useless info in between. Translating the word problem to a mental mathematical framework that is concise and precise takes time. So the faster you can do this, the more time you'll have left to actually solve the problem. This is a higher-order skill that can only be obtained by the experience of solving hundreds of practice problems the day before the exam.
The midterm exam consisted of only 4 typos. And we were interrupted by the prof for corrections and clarifications just twice. Not too shabby. At the end day, I approached the exam by eating my own dog food. Time pressured exams are my specialty, and I think people who had spent time thinking about them before hand were at a significant advantage compared to people who still think it is unacceptable and unfair if they can't finish an exam on time.
The Age of Co-op
I feel co-operative education has finally come of age. Having completed 6 co-op terms myself, I can now almost definitely say that if you're not in a co-op program at your University, you're certainly missing out on something significant. It would be like having pizza without the cheese. Or milk without the fat.
I'm glad the University of Waterloo chose the term "co-op" instead of "internships". People tend to associate internships as being free work or minimum wage. They equate internships with apprenticeships. But that doesn't have to be true. Some co-ops earn pretty close to full-time wages in their last and second-last co-op terms. I certainly did.
The fact is that Waterloo is eons ahead of many other large universities in terms of co-op. But it is also eons behind where it could be. The process isn't nearly as streamlined as it should be. But the administration realizes this, and they're making changes. But not speedily enough. Times are changing quick. Our competition is catching up fast. If we don't hurry up, then we risk becoming the university-equivalent of an IBM.
There's quite a bit I've taken away because of enrolling in a co-op program. The benefits are just too many. So many that it should be made illegal to graduate without the co-op experience. It sometimes baffles me that there still exists universities without co-op, or programs at universities where co-op is optional.
Let's take a whirlwind tour of the various advantages of co-op.
First, co-op allows you to sleep around. You get to try companies of all sorts of sizes and types. You'll get to try out different positions within each company. Each company will give you a unique experience, and if nothing else, will teach you what you're not interested in. You can try out tiny startups like Dropbox that have as little as 3-10 employees, medium-sized companies like Initech that have 100 employees, moderately-sized companies like Google with around 20,000 employees, or huge software behemoths like Microsoft that have over 90,000 employees. The choice is entirely yours to make.
Second, co-op is a huge break from school. Do not underestimate this benefit. I have to admit it. Engineering study terms at Waterloo are kinda hard. The work load is a bit too much. I've done poorly every time I've had back-to-back study terms. And I've had 3 of those so far. The burnout is inevitable. Co-op terms will allow you to explore new cities and take a break from the monotonousness of school. When you come back for a study term, you'll be refreshed and recharged, not tired and exhausted from the set of final exams you wrote 1.5 weeks ago.
Third, co-op pays for your tuition. You don't have to rely on your parents anymore. You don't have to rely on government loans anymore. You'll actually have a bit of money left to travel if you put in the necessary effort to get a well-paying job.
Fourth, co-op lets you master the fine skill of performing well on interviews. Interviews are a key skill that will determine a fairly large part of how your future career looks. So if there's any time to get better at it, it would be in University. For free. If you can handle, without breaking down, a small stuffy room with 3 really egoistic interviewers grilling you second by second and micro-analyzing every little detail about you, you're already well on your way towards success.
Fifth, co-op forces you to learn to manage your time. Interviews will happen during midterms, and you just have to deal with it. If you find a job in the States, you will need to deal with filling out all the paperwork for the internship visa when lab report deadlines are creeping up on you. You will need to find housing during the term when major assignments are due. You will constantly find yourself pressed for time, and if you can deal with all the insane time pressures university has to offer, you'll be well prepared for your future careers.
Sixth, you obtain invaluable life lessons when you do co-op. I'd argue this is the most useful benefit of co-op. You get better at crafting effective resumes and cover letters. You get better at interviews. You get better at finding someone to take over your sublet if you're on a lease. You get better at moving between cities. You learn to adapt to a new city quickly. You get better and quicker at reading maps. You get better at securing housing without being able to see the place in person. You learn to adjust to a new job within days. Not weeks, not months. I mean days. You learn to travel light. You learn to pack better and more efficiently. You pick up the ability to roll with new friends and new colleagues quickly. You learn to pick up company policies and practices quickly. You learn to judge people accurately just by meeting them once when you're trying to decide if you should room with them for 4 months. Sometimes you don't even get to meet them. You learn to manage your expenses and do taxes now that you have income. And the list goes on and on and on and on.
Seventh, you're very likely to obtain a full-time job offer after your last co-op term. You therefore don't have to worry about a future right away. And your starting pay will likely be noticeably higher compared to what's offered by companies you haven't worked at, or compared to students who have had no prior work experience.
But co-op isn't a magic bullet. If you don't take advantage of your work terms, you'll be the one to lose out. If you don't put in the right amount of effort to find the jobs that you want, or if you expect interviews and job offers to land on your lap, good luck! Every term, dozens of Waterloo kids I know struggle preparing for technical interviews, predicting interview questions, practicing interview tactics, researching the company and the interviewer — all while studying for midterms and having a life. And the results are almost always positively correlated with effort.
Seth Godin brings up a really thought-provoking and priceless point on the matter.
I think internships are overrated. Most of the time, the employer thinks he's doing the intern a favor, but he doesn't trust the interns to do any actual thoughtful, intelligent work worth talking about. And to be fair, most of the time the interns are busy hiding, not grabbing responsibility but instead acting like they're in school, avoiding hard work and trying to get an A.
If you start a co-op term and act like a co-op student, you're going to lose out. You won't be treated maturely, you won't be trusted, you won't be thought to be intelligent, and you won't be given enough responsibility to learn anything of value. In your co-op terms, it is imperative that you think and act like a full time. You will speak like a full time, you will provide recommendations to your boss like a full time, you will fill out your time-sheets and weekly status reports like a full time, you will build your network like a full time, and you will hang out with the full times. Very few people in the company in addition to perhaps your boss and your fellow co-op colleagues should know or even suspect that you're only a co-op student. This is the single most effective strategy that will differentiate you from an excellent co-op student to an outstanding one.
If you're ever caught saying or even thinking "what can I do? I'm just a co-op", you've already failed. If you ever act like you're in school, dodging work, avoiding responsibility, you've already failed. If you do just the work that's given to you, you've already failed. If you come in at 9am and leave at 5pm, you've already failed. As my friend Ryan famously said: "Quit, or be exceptional; average is for losers."
And of course, be prepared to work hard. And I don't mean this lightly at all. Co-op terms are no time to slack off! They're not a break from school. Your co-op terms should be so hard, it should seem like school is a break from co-op. The more responsibility you assume at work, the harder your term will be, and the more you will learn. Having several in-demand skills is what employers really value. Even a month of serious hard work will go much beyond the 900 hours of classes and the 400 hours of homework you put in at school.
Isn't it odd that we're willing to spend $300,000 to buy an accredited but ultimately useless academic line on our resume, but we hesitate to do a month of hard work to create a chunk of experience that's priceless?
Think about it.
And when you come back home after a long and tiring day at work, what do you do? Do you watch TV? NO! Do you play video games? NO! You read. You learn. You practice. You burn the midnight oil. Self-education during co-op terms is as important as the job itself. Some people are learning more from feeds that they're subscribe to within Google Reader than they ever learned in undergrad and graduate school combined. You want to spend all your weekday evenings reading to the point where your eyes hurt. You want to essentially teach yourself a new skill-set each week, one that none of your classmates are likely to ever have.
At Waterloo, most engineers graduate with 6 terms of co-op. That's 2 years of solid, real-world work experience on hand. Compare that to people who are able to graduate with zero real-world work experience. You'll be way ahead of the game, but only if you take my advice as gospel and exploit every single month of co-op to its fullest.
When does co-op not make sense? If you want just a quick degree so you can move on with life, co-op doesn't make sense. Like Steve Pavlina did, if you want to finish your degree in just three semesters so you can start your own company after, co-op simply just adds more drag.
The other situation where co-op may not make sense is if you're steadfast about going to grad school. But the added life experience might still make co-op worth it. And besides, very few people know for sure if they want to go to grad school until the end of their 3rd year or the start of their 4th year. I myself was pretty certain about going to grad school until about 6 months ago.
People at Waterloo who have taken heavy advantage of the co-op program are looking to hit big returns in the future. The machinery co-op equips you with is unparalleled. Next time you're at a company, I urge you to look more closely at the level of execution and performance of fresh undergrads who have been through a co-op program and those who have not. The difference is quite enchanting, to say the least.
It is now 2010. We're entering a new kind of age. An age where doing is about as important as knowing. To that effect, co-operative education has certainly come of age. Co-op is to modern-day society what apprenticeships were to the medieval and feudal ages.
If you have a choice, don't let the co-op opportunity slip. I guarantee you will regret it.
Reducing Air Fare
Last to last weekend, while virtually all my engineering friends were getting drunk and partying like crazy to celebrate their impending graduation, I decided to spend my time a bit more productively by carefully reading and analyzing Todd Sattersten's new ebook titled Fixed To Flexible.
There's at least 36 very important lessons in this ebook. None of these ideas are original or particularly new, but some of these ideas I have already heard from reading other blog posts and ebooks. But the one idea that stuck in my head really concretely was the story on page 5 about how RyanAir's CEO cuts air fare costs down.
Whenever I'm exposed to a dozen ideas and one just sticks, that's usually a sign of a strong interest in the topic. In this case, the problem of cutting air fare prices is strictly a socio-technical one. And almost everyone I interact with frequently knows, by now, how interested I am in hard socio-technical problems. Good socio-technical problems not only have a very good technical component to it, but all their solutions have very strong social ramifications which cannot be disregarded.
Allow me to paraphrase all of page 5. Unlike my previous blog posts, none of the ideas below are mine. But they're all great ideas. And here's why.
So I'm Ryan, the CEO of an air flight service company. And my mission is to deliver the cheapest flights. What do I do? I know there's a market for cheap flights, especially for short distances, i.e. flights less than 4 hours. Students, youngsters and casual tourists are the best target audience since they're always strapped for cash and do not mind being inconvenienced a bit if it means they get to fly cheap.
One way to reduce the price of air tickets is to reduce my own operating costs. The first thing I do is buy just one type of plane for all my flights. This causes inflexibility and the inability to fly inter-continental routes, but it also means the same small army of technicians can fix any plane. Training them therefore becomes easy. Also, pilots can be exchanged between planes even at the last minute without much notice.
If I place a large order of the same type of planes, the plane manufacturer might be willing to give me an unusually large discount. It is cheaper to build many planes of the same type one after the other, also known as economies of scale. I therefore find the cheapest aircraft that operates on all my routes. The Boeing 737 is the cheapest narrow-body airliner with just one aisle and 6 seats per row. So cool, I'll pick up a dozen or so of those.
The above partial solution does not have any social ramifications. The 737 is about as safe as any other commercial airplane manufactured by Boeing, so passengers need not worry about their safety.
The next trick is to charge customers for every use of the bathroom during the flight. This will discourage customers to use the paid on-board bathrooms, but rather use the free bathrooms at the two airports at both ends of the flight. This allows the air carrier to reduce the number of on-board bathrooms since fewer people are going to be using them. Reducing the number of bathrooms not only reduces the cost of production of the plane, it also reduces the turnaround time and operating costs of each trip. Fewer bathrooms will have to be cleaned out upon landing. Also, the space occupied by bathrooms can be replaced with more passenger seats, meaning that the average cost of each seat will go down.
This solution has huge social ramifications. People are obviously going to react strongly. It means that customers will now need to remember to use the free airport bathrooms and empty out their bladders before they board their flights. The gate staff will need to add an additional line to their pre-board instructions reminding customers to do the same. And of course, charging for bathrooms will only work for short flights, perhaps for flights that are 4 hours or less. People with small bladders, people who wish to consume excessive drinks during a flight, people with diabetes, and forgetful people will all have to bite the bullet and pay for every use of the bathroom. But most other people should be fine. Young, healthy, disciplined people like you and me should be able to handle paid washrooms quite normally.
The trouble with paid washrooms is that people now need to remember to carry cash/change with them when they fly. Or we'd need to add a self-service credit card swiper outside each washroom. And the bigger question is, how much do we charge for a visit to the washroom? Do we charge at most once for the entire flight, or do we charge for each visit? So many unanswered questions.
Another easy solution to reduce air fare is to start charging people for each checked-in baggage. The idea is to encourage people to carry less when they fly. Most passengers probably carry 3-4 times more luggage and more clothes than they actually need anyway. Hopefully with this rule in effect, people are likely to bring more carry-on luggage. People will need to pack more carefully. Check-in will be much quicker, and fewer gate agents will be needed to help with the check-in. This will all lead to long-term reduced costs, hopefully for the customer. The trade-off? People who carry liquids and gels are pretty much forced to now pay the extra fee for check-in baggage.
Another strategy is to take-off and land only from mid-size cities or from cheap, secondary airports in the outskirts of major cities. This has the advantage of significantly lowering landing fees, but it means people will need to travel more to get to and from the airport. Sometimes as much as 100-150 kilometers. Another socio-technical roadblock.
What if me forced customers to walk for 3-5 mins from the airport gate all the way to the plane? Once they're near the plane, what if we made customers climb a set of 50 steps or so to get into the plane? And what if we dropped people off at the tarmac immediately after landing and taxi? More walking for each one of us resulting in inconvenience, but it could mean lower-priced flight tickets since the air carrier does not have to pay any gate fees to the airport.
But even if we absolutely wanted to drop customers off at the gate, the other place where costs could be cut down is by reducing airplane loading time. The quicker we get customers, luggage and other freight into the plane, the less time we spend at the gate. For airports that charge gate fees per minute, this could be huge savings.
It's a known fact that passengers boarding the flight is the longest pre-flight activity before take-off. So how do we optimize boarding times? Reducing boarding time is difficult since it directly involves the passengers, making the problem strictly socio-technical. One common approach is to assign passengers to various "zones" or "seating areas" upon check-in, and then boarding people in order based on what zone they were assigned to.
For example, I know Air Canada boards its passengers from back row to front row so that the front row people don't keep the back row people waiting in line as the front row people struggle to stow their luggage into the overhead cabins. On top of that, it might be better to board people with window seats before people with aisle seats so people with aisle seats don't have to unbuckle and get up to let the window seat people take their seat. I'm pretty sure United Airlines does this. US Airways and Westjet, in contrast, seems to board passengers pretty randomly, except for perhaps giving preference to certain frequent flyers or elite passengers traveling in first class or for passengers who took the trouble of checking-in online 24 hours prior to departure. It turns out that random boarding is actually more efficient in certain cases.
I once read that Southwest Airlines claimed that if its boarding time increased by a mere 10 minutes per flight, the sheer number of trips throughout the year would require the air carrier 40 more planes at a cost of $40 million each to run the same number of flights it does currently! So shaving off even as little as 10 minutes off of boarding time can result in large savings down the road in the long run. There are many different boarding procedures, although I've only touched on 1 or 2 of them. Seems like there is enough money in this area to warrant a decent amount of simulation-based research in it. Here's a great paper/blog post on how one can board a 150 seat airplane in less than 15 minutes! Truly spectacular.
What other ways exist to reduce operating costs? We could get rid of meals on short flights less than 4 hours. That seems like a good idea. We could also force passengers to do their own inter-airline baggage transfer. We could board the plane from both the front and back. We could eliminate business and elite passenger classes to speed up boarding time and reduce the average price of a ticket. The simpler the fare structure and lower the price differential between the highest and lowest prices offered, the less consumer resistance there will be while purchasing tickets. Improved forecasting models to more accurately predict demand will mean fewer flights with empty seats. One way to achieve this is to incentivize customers to book early by offering cheaper tickets to early buyers. We definitely want the plane as filled up as possible since the difference between making and losing money can be just a handful of passengers. Finally, we could automate ticketing, check-in and boarding as much as possible. Thus, easily accessible kiosks with good, stable software and a highly intuitive UI is a must.
At the end of the day, some of all the cost savings made by the air carrier will hopefully be transferred to the customer. And air carriers will need to reduce their prices if they want to remain competitive with other air carriers. In the end, it'll be normal people like you and me who benefit from all these cost savings, at the expense of sacrificing certain services resulting in maybe some mild inconvenience every now and then.
Simple Lives
When I was sitting in my room pondering the most random things in life, I took a look around me and noticed I only had a handful of technologies around me at home to get through everyday life:
- Laptop and internet*
- Hair dryer
- Cell phone
- Wrist watch
- Alarm clock
- Graphing calculator
- SLR Camera
- Hole punch
- Paper
- Electric lights*
- iPod Touch
It turns out that only the starred items are really necessary. The others are actually pretty dispensable. If you took them away from me for a week, I may not even realize they were gone!
I have no smart phone, and I have no gaming consoles like Xbox, PS3, or Nintendo. I don't even have an external monitor, let alone a dual screen. I don't own a car either.
What surprises me the most is that at least in a University environment, I can compete on a level field with everyone else just with this small subset of technologies. It seems like the above list is the smallest subset you'd need before you start to lose out on competitive advantage. The mathematicians among you may realize that this smallest subset is what you might call an ideal.
As this juncture, the astute readers among you will perhaps ask what my point is, and if I ever had one to begin with. And my point is this. Just because you have the money to purchase all the gadgets you can think of or get your hands on, must you? Do you always need to own the most cutting edge technological devices? Do you really want to rely so much on technology to get your life going? What if I took them away from you?
Think of the technologies you own, and think how much of them you actually use, and actually need. You'll find that you can actually get away quite well with not owning at least half of what you own currently.
Keep it simple.