Created on 27-02-01
This section of my website will keep an account of my attempts at scaling the ranks of Hackerdom. After reading the "How to be a Hacker" guide, I've decided to try and concentrate on learning the actual programming languages and 'thinking processes' involved in solving problems.
I will base my learning around solving the problems provided by ACM. I will start by trying to replicate the sample solutions provided in Python. I will try and avoid learning the code 'by heart' and concentrate on understanding the object oriented approach to solving the problems, and try to identify differences in the 3 languages (probably just concentrate on Python + Java for the time being). Then possibly attempt solutions to the same problem in Java and eventually C++ (as recommended in the Hacker Howto).
Problems to be attempted in the near future will be:
I like these text-processing problems as opposed to mathematical ones - though I will progress to them later.
Work through the first 2 Palindrome problems until the code involved is understood. Using these for reference materials:
I suppose I should create a table to keep a record of my progress eg:
Problem Number | Problem Title | Python Solution | Java Solution |
---|---|---|---|
1 | Pesky Palindromes | Provided... | TBD |
2 | Palindromes | Provided... | TBD |
3 | Palinwords | !DONE!* | TBD |
*I produced an adequate (in my opinion anyway!) solution in about an hour. And half of that was spent chewing on a pizza in my flat while reading other code (Gregor LINGL's solution to Problem #353). For a while I felt guilty about stealing someone elses code, but then I thought "Well, is that not the point of 'Object Orientation' and 'Code Reuse' etc?". And anyway I didn't use it byte-for-byte, I had to make a few changes... Could someone please email me the proper etiquette for this kind of thing as I don't want to be accused of plagiarising someones code in later life!
I have to say I'm feeling quite chuffed with myself at the minute. It is now March 1st (12.16am - and I'm in the office!) and I am officially halfway through my Placement. Arguably this is the first *real* code I've produced in my time here. Hopefully it will be the first program of many...