Last year, I wrote a few posts tracking what I was doing during the summer. The goal was to hold myself accountable to complete a few tasks by giving updates on them every few weeks. I’d like to do the same thing this year — I believe I’m able to get more things done if I have a way of measuring my progress.

There is one small improvement I’d like to make. Reading back on last year’s posts, there were plenty of times where I said “I plan to do this!” and then never did it. This time around, I want to spend less words musing about what I could do, and more time reflecting on what I did accomplish. This can be seen as the overarching goal of this summer’s journey.

starting point

competitive coding

My primary goal for the summer is to familiarize myself with competitive coding. In the past, I’ve tried many times to “get into” competitive programming, all to no avail. Since I’ve now completed an algorithms class, I think this is the best time for me to give it another shot. I’m focusing primarily on completing USACO problems because I have a personal gripe with failing USACO competitions so many times. I intend to work my way to platinum by the end of the summer, but considering that it is now the middle of June, I’m not sure if I will get there.

I’d also like to work through the CSES and Neetcode problem lists, as I think they practice a different skillset than USACO problems do. I think it would be helpful for me to learn C++ this summer since I think it’s the primary language used for competitive coding. However, I’m not sure that strictly practicing competitive coding problems is the best way to pick up a new language.

My ultimate goal is to compete in an ICPC tournament. I think it will take more than one year to get to that skill level, but I want to get as far as I can this summer. As of mid-June, five weeks after the end of the semester, I’ve completed a total of 167 problems on various platforms.


Last summer I taught myself Python by working through CS 220 and CS 61A, which were college classes that had publically available lectures and homeworks. Knowing Python ended up coming in handy during the school year, so I’m glad that I took the time to learn it during the summer.

I’d like to pick up one or two courses this summer as well. I’m currently getting started with CS 544 (Big Data Systems) which has a handful of resources to work from. With the pace I’m currently moving at, I’ll be able to finish the course by mid-July.


I’m working around 30 hours a week, so most of these activities are completed after work or on the weekends. It has certainly been a struggle to figure out a nice schedule without compromising when I wake up, but I am getting there.