Wednesday, November 02, 2005

Lab 4 and some thoughts

As all NUS CS1101C students have experienced, Wednesday has always been a mind-numbing day as we all struggle to attend the day’s lesson with a tedious lab assignment at the back of our minds. Some, including myself, even stayed up late the previous night and started attacking the question the moment it released and often ended up like walking zombies the next day in school. This week’s question was released as usual this morning at 12am, but it did not bother me this time as I intend to tackle it only after dawn break when I got myself some well-deserved sleep. And so, when I looked at the question at around 8am, I was shocked when I saw the title, “Mini graph plotter”, and it spans over 7 pages long. My first reaction was that “Wah graph plotter? Sure or not?” and together with that came a few “what ifs”. What if I dun understand the question? What if I dunno how to do? What if I cannot finish in 1 hr 45 mins (since the practical exam will be 1hr 45 mins, so I limit myself to that timing)? What if…etc.

Then I pause and gave myself a slap. Damn! I have not even read the question and I am already panicking? After giving myself a couple more slaps, I began reading the question and realized it was not as difficult as I thought. The assignment was to write a program to plot the graph of a quadratic equation with the coefficients the user input. In fact, all the previous labs were not that tough, just that I always have the misconception that the current lab must be tougher than the previous one and that they are out there to torture us with impossible tasks. Challenging yes, but all were manageable. It was always that stupid interpretation that caused so much fear in me every time I get started on the lab assignments. So, after the initial shock, I started planning how to write the program. Yes, this is the first time I took out a paper and started planning my approach. All the previous labs, I would just glue myself to the laptop and started coding, which was highly discouraged by the lecturer and tutor. Yet, I never bothered and ended up with numerous errors and having to spend lots of valuable time debugging. This time, although, along the way I met with some problems like trying to figure how to rescale the graph and why in the hell I cannot use the rint function? (I found out that I forgot to include –lm during compiling…), the whole program took me only around 2 hrs++. Even though I exceeded the supposed timing, I did a hell lot better than my previous labs; my record was 7 hrs.

All in all, I would say that it was a good experience and I learnt a few things from this lab which I shall apply during the PE. Firstly, never never ever panic. If you panic, that’s it, your mind will break down and time will be wasted while you recover from it. Second, always plan. Never attack the keyboard immediately. It helps a lot. Third, practice incremental coding. This means do a bit of codings then compile it. In this way, you will know where the error is should there be any. This helps a lot too! There is an immerse sense of satisfaction the moment I completed this lab assignment. It was as though the whole world was applauding and cheering for me when the desired output materialized on the computer screen. Each graph turns out perfectly well with each different quadratic equation that I tried. And with each successful tries, my confidence level grew, and with it my fear diminished into nothing. The satisfaction that everything I learnt throughout the course has been well applied to solving my problem. The satisfaction that, no matter how impossible the question seems, I have conquered it.

Perhaps this is the kind of satisfaction that I am pursuing in a university education. The satisfaction that at the end of the day, even with numerous obstacles along the way, all my efforts, all the time I spent, all the stress I was facing, all the seemingly never ending tutorials and the “hard life” we are leading (as always complained by Zhi Guo…) are all worth it, that I have achieved my objective and that is to learn and attain knowledge. Like I always say, grades are secondary. Not that they are not essential, but they shouldn’t be more important than the learning process itself. Sadly, it is because of the grading system and highly exam-oriented environment that takes away all the fun in learning. Oh well, no point complaining about this, time to move with the Cheese!

Move with the cheese and enjoy it!
--- Who Moved My Cheese?

2 comments:

Anonymous said...

Excellent, love it!
» » »

Anonymous said...

Best regards from NY! »