Friday, October 29, 2004

How NOT to go about a programming assignment

This link was sent to my class' mailing list by Bubble boy. If u've ever had a programming lab u'll like this thing. its quite funny.

1 comment:

Mr. PDNA said...

As my response to
"HOw NOT to go about a programming assignment"


My Computer Software Programming Tips by MR. PDNA of http://friendpair.50webs.org

=======================================================================
This post should be tagged as:
how to program, programming tips, programming assignment tips, programming assignment suggestions,how to go about a programming assignment, best programming suggestions, programming assignments,software development
=======================================================================



1) RESPONSE: Compile Often.

I Disagree with "Ignore messages". When there are many errors it is useful to start with the first one, and try to fix that and maybe it will make them all go away.

Note: I STRONGLY AGREE in making a good attempt a piece of code, but I also agree with the idea of testing constantly and compiling.

2) Get Ahead.

You will have many other tasks to accomplish, try

As a quick simple time management tool I reccomend(WINDOWS):
http://www.karenware.com/powertools/ptcount2.asp

With many tasks, its best to get some done, and if you do assignments ahead of time rather than last minute... well you get the benefits of not procrastinating.

-Higher quality code
-less pressure/more time for other stuff/ your life/fun
-opportunity to do "bonus" if any
-opportunity to make it look extra special if needed.

3) Take a break.

Often you can get stuck with no ideas, it is best to take a break rather than doing the same thing and getting stuck over and over. Also called a "Eureka Phenomenon"

4) Read the specifications carefully.
Make sure every single sentence, every word, you have followed carefully, and matched the output exactly.

If you know the 'consumer' or marker of your assignment will be strict, then take special care for

- MAJOR : ==> ****meeting user's specifications ****
-commenting
-indenting

=================
Indenting Tip:
=================
-For c++,C use SourceFormatX program to format your source code.
-For web-based programming use HTML CODE EXPORT, and such.. This should work fine for javascript, html, xhtml with a few minor fixes
- Don't waste time manually indenting

5) Program in sessions.

- I tried an assignment once with only 15 minute sessions. The assignment was far too complex to remember what I did and to try things out. Once I used a block of about 4 hours, it worked out great.

6) Use Trial and Error if needed.

7) Get something done at least. If you find yourself losing time and procrasting, do at least one section.
Realize that you are pathetic if you can't get even ATTMEPT /get done ONE function done in 8 hours or however much time you put aside.

8) Ask for help. Killer error? Google It. Ask for help.. classmates, professor etc.

9) Make a list of problems with your assignment.
Rather than fixing minor problems, when testing, just record the errors and fix them after.

10) RESPONSE: Don't ask for help

I haven't tried not attending lectures or labs. Asking for help , by e-mail if anything IS recccomended. But only ask when you are able to provide an ATTEMPT. Try to set your limit of the number of questions, save a draft of your e-mail, reduce the number fixing some problems on your own if possible.

11) RESPONSE: Challenge your lecturer
It is dumb to fail to provide details. Don't make a professor or anyone have to go through your entire code if possible.

12) RESPONSE: Leave it all for the last minute


I'll admit, getting it done last minute may have some benefits i.e.
-thrill
-proving yourself as clever enough to do more with less time... but see the benefits above of doing it on time...

Briefly:
-Get higher quality, do it on time.
-Have time to check it over ..


13) RESPONSE:Cheat with your assignment

- You lose the experience of practice

Pros:
-Get assignment done, more time for other courses etc.

Cons:
-Lose valuable experience, you should prove yourself capable of the challenge.