Hello @all and @msehgal in particular,

I am not a top performer for starters… Faaaaar from it… I would define myself as a very interested and somehow dedicated “noob”. In fact, I shall write a longer post this time and sort of describe my story with programming and then provide some of the tips I have been providing over my participation so far in Codechef Discuss.

I started programming when I was around 8/9 years old. But, it was a short journey. My father, who is a Civil Enginner that recurrentely uses Visual Basic and MATLAB/Fortran to deploy some of its research results over the form of data analysis/graphics, showed me my first program ever:

A rectangle drawn inside a Visual Basic Window!! How exciting can that be?

It turns out, that for a 9 year-old, that’s really pretty boring actually…He then gave me a book called: “Programming with Visual Basic 6” (it is a portuguese book, I translated the title) and he encouraged me to work troughout it and see some examples… I swear to God I tried… I tried very hard!! I lost all my cartoons for that afternoon in an attempt to do a Drop-down menu and I had to program inside it, a new command to draw the above rectangle as I clicked on it.

(Obviously, I know now that what I was doing was using a framework that relied on Visual Basic programming language and I was actually doing event-driven programming which is a subset of OOP, that falls a bit out of ambit of Codechef… Nontheless, this was my first contact with a computer)

After that very bad experience, I totally lost interest in programming for ages… I kept acing at secondary school, always with good grades on Maths and Physics school subjects… And from say, 10 years old until I was 17/18, I never even thought about programming for a single second…

Then, at the age of 17, I joined a Physics forum, from a famous Portuguese University, called: “Universidade de Coimbra”… That forum could be compared to an hypotetical IOI forum, that is, it was a forum whose main goal was to prepare students from secondary school to do very well on IphO (International Physics Olympiads)… However, I didn’t compete at them (I wasn’t selected), but I stayed in touch with those people using those forums for quite some time (almost 2 years), and it was on one day, when I knew that the forum administrator was the 1st person in Portugal to have learnt Python!!!

He actually introduced Python on the forums and that was when my spark for coding lit up again! After struggling with the syntax of Python for weeks (no shit, it took me three weeks to figure Python used white-space as identation! ), I then successfully wrote my second program ever:

Ask user to input two numbers and print the result of their sum!!!

This, however, for being away of the OOP paradigm of Visual Basic, got me more motivated, and, as I had been recentely introduced to Project Euler, I immediately started expanding my Python knowledge and started solving as many PE problems as I could!!

Some of them were trivial in Python, some I hacked, some I always brute-forced and waited for days to see output and other silly stuff any un-guided begginer would possibly do.

After solving around 40 problems (some of them with copied solutions sadly…) I started to see that all the remaining problems were too theoretical and too hard for me to solve… So I searched for other websites and discovered Codechef!!! But, all problems here apart from TEST were very hard… I got demotivated ans lost interest in programming again… And, as the following year I would enter university (I started in the Civil Engineering Course only then I switched to CS) I had more on my mind than coding…

In Civil Engineering, during the 3 years I stayed on that course I only had 2 programming related subjects…

I had a subject called Introduction to Computation and Programming, where I basically learnt the C++ syntax and nothing else… I learnt how to use temporary variables to swap 2 variables maybe you know, advanced stuff a Civil Engineer would need to know… Nontheless, afterwards I was armed with a powerful knowledge, I knew C++ syntax Maybe I could use it to some more Project Euler problems (I did one or two additional problems in C++)…

Then, on the second year I had a subject on Numerical Analysis, where I leanrt the Bissection Method to find roots of equations eheh It was an interesting subject which took me back to project Euler, and where I managed to solve my first Dynamic Programming problem (Problem 81). I then came to Codechef and OMG I was such a pro… I solved so many problems from the PEER section… Like 15 or so… I got excited again… But I was lacking the time due to my univ course… and I stopped for a while…

Then my life gave a twist… A big twist actually… One day, when I entered Facebook… I saw an announcement for JULY12 long contest… User kuchumova_mary had commented on that status something like: “Can’t wait for contest!!”… I was in awe!!! How could a girl so much younger than me know about a programming contest??? Bruno thinks: “WTF is a long contest?? They have like live programming contests?”

So I added her on FB… We chatted for a while… and she introduced me to Codeforces and to the world of competitive programming (note, that by now I was aware of google code jam and other contests, but saw them only for… geniuses, not for me) and I introduced her to how Codechef worked and etc… So, we became “coder friends” (we still are today with some broken hearts in the middle… :’(, but, I felt like if I wanted to learn more, Codechef was the place, and she was the person who would guide me), and discussed problems on Codeforces and on that contest via FB… I had TONS of fun… Even though I only solved one problem… I felt like programming and algorithms were much more appealing that what I had realized when I was 8 years old… But, as you can all see now, my experience in competitive programming is basically 0… I just have the curiosity and the will to learn a lot more than what I know today, which is very little.

Today, as time passed by and as I attended several contests here and on Codeforces over the last months and as I switched to Informatics Engineering I consider myself to be a better programmer than the one I was before, but, I also know I still have a lot to learn and that I will never, ever be able to pay back to this community for what they all did to me and helped me in terms of my interest in programming…

I hope my story isn’t too boring, or too long… But, this was in general terms, the path I walked to become who I am today as a coder and as a person as well!!

It is with pleasure and hope that I see the rest of this path may be done by walking alongside every friend and every person I have met here… And it is a wonderful feeling!!

Best regards,

Bruno Oliveira