01 Jan 2010
This is a meta-post to review what happened in 2009.
I decided to write a post about the main events of 2009, but I think it will end up being a retrospective since 2005, when I started college.
After 4 and a half years I graduated in Computer Engineering at Unicamp. Our curriculum has features that facilitate early graduation, so it is not surprising that more than 10 classmates have also graduated with me (about 15% of the class).
The key feature is the fact that you only need to do one among undergraduate research, internship or TCC and that our suggested curriculum (which I always tried to follow) leaves the last semester just for internship. As I did undergraduate research, I was exempted from the internship and, being up to date with the curriculum, I ended up finishing a semester earlier.
On the last semester, I also started enrolling in graduate courses as a special student, to speed things up. This valuable suggestion was given by a professor, Rodolfo, during the second half of the 3rd year, in a Computer Architecture class. With this strategy I graduated having already done four graduate courses: Computational Geometry, Computer Graphics, Network Flow and Image Processing.
Then I enrolled in the Masters program in the 2nd half of this year…
A big problem in deciding the area you like the most is that we only have contact with such areas at the end of graduation, when the courses become more specific. But by then it’s too late for you to make an undergraduate research to try it out. I had the privilege of discovering in my first year of college many topics in TCS and realizing that this was my favorite area.
I started my first undergraduate research at the beginning of the third year with prof. Orlando Lee and I only stopped when I graduated. At the time I knew of four or five colleagues who were already doing undergraduate research, but all of them had been invited by professors for their good performance in subjects they had taken with them.
Given that, I didn’t have enough confidence to knock on some TCS professor and ask to be advised. This changed during the holidays from the second to the third year. While browsing through some professors’ home pages, I saw an invitation on professor Lee’s, for beginners interested in Graph Theory.
I sent an email, got accepted and decided to get started in Combinatorial Optimization. Funny thing is that before starting, prof. Lee asked me if I wanted to study other topics from other advisors. As I really liked the Computational Geometry from programming contests, I was in doubt whether to speak with prof. Pedro Rezende. I then found out that he was on a postdoc work in Canada, so I ended up not talking to anyone else.
My interest in Computational Geometry has not diminished, so much so that the first subject I took as a special student was this one, as soon as prof. Rezende returned from his posdoc. I really enjoyed the course and I was almost certain that if I was going to do a master’s degree, I would do it in Computational Geometry.
It was then that, at the beginning of the fifth year, I decided to reach out to professor Rezende and ask to be mentored in the Masters program. He introduced me to a very interesting project that involved Combinatorial Optimization and Computational Geometry, and since I could apply things developed during undergraduate research and work in my favorite subfield of theory, I accepted the project. He suggested that I attended the Integer Linear Programming course with professor Cid, who ended up becoming my co-advisor, and was responsible for the combinatorial optimization part of the project.
The result of this is that I managed to get into the Master’s, having attended most of the graduate courses and with a project, which, I hope, speed things up for me a lot. With the project chosen, I already took the opportunity to apply for a scholarship to FAPESP and take the master’s qualification exam. In my opinion, the master’s life is very flexible as there are no fixed times to get things done, but this can also be bad for productivity. Thus, I prefer to work on a schedule of weekly meetings with my advisors and go to the lab every day.
I begin by saying that programming contests have always been so present in my academic life that I can barely separate them. This can be corroborated by the things said above, on how it influenced me in my choice of undergraduate research and master’s degree project.
I’ve been taking part in programming contests since the first semester and here I am once again grateful to prof. Rodolfo together with prof. Cláudio Lucchesi. I still recall when they showed up at a MC102 (programming 101) to advertise the “programming contest club” to us noobs.
I also remember that prof. Lucchesi spoke about the famous São Paulo goalkeeper, Rogério Ceni, an excellent free kicker, who stayed after training, when everyone left, practicing on-goal kicks.
In the first class I attended, I couldn’t solve any problem. I was still attending MC102 and had little programming experience. I remember that prof. Rodolfo helped me solve my first problem that day, while some of my classmates had already solved two problems on their own. I realized that I didn’t have the raw talent needed to do well. From then on, I always tried to take Rogério Ceni’s discipline with me in programming contests and try to succeed by effort.
I trained a lot and solved a lot of easy/medium problems. But today, looking back, I see that I could have better directed my efforts in training by doing less but harder problems. Anyway, everything went really well for me. In 2007, in an individual selective, I ended up falling in a team with two very talented guys: André and Paulo (this one, the opposite of me, both in talent and dedication, :P). We ended up qualifying for the ICPC World Finals in Canada.
In 2008 I let the internal pressure affect my self-esteem and ended up not even attending the selectives. I had decided to retire since then, but in 2009, already relieved from some self-demand, I decided to participate in the tryouts without much expectations. The years of training and the relative peace of mind in which I found myself were essential for me to once again fall into a team with two other talented people: Davi and Marcelo. In October of this year we qualified for the ICPC World Finals in China :)
In January 2010 we will attend a training camp at USP and in February we will go to Harbin, the ice city. Next year I retire compulsorily, very satisfied with the hard earned achievements. Maybe next year I won’t become Unicamp’s coach? ;)
This is a review and translation done in 2021 of my original post in Portuguese: Retrospectiva 2009.