Here are some great suggestions for the students who want to productively utilize the first year summers:
Join an internship: It could be a technical internship, or it could be a non-technical one. It could be on-site or it could be remote. It could be at a startup or it could be at a big organization or it could even be your uncle’s company. It could be paid or it could be unpaid. Just do it. In the short term, your internship may not be very useful because you probably were filling excel sheets at that big company you joined. In the long term, it will be useful because you learn how to work with people, you learn how to learn, you get a chance to explore areas that you are unaware of.
Read technical books: For instance, you could pick up Introduction to Algorithms which is undoubtedly the bread and butter of Computer Science.
Take up online courses: You may want to explore Coursera and Udacity which are 2 of the best platforms to develop your technical skills. It may very well be the case that you are unable to understand 90% of it. But, the 10% that you pick up is better than wasting time doing nothing.
Read self-improvement books: Please note that most of the self-improvement books talk about money. However, in general, these books are more focused on “How to achieve anything that you want to?”. This could be money, this could be academic excellence, this could be anything you desperately want. My favourite ones are:
Start a Blog: It could be on anything - Computer Science, Travel, Food or even books. Writing a blog will help you connect with like-minded people.
Start a YouTube Channel: This is similar to starting a blog. You need not be physically present in the videos (if you are an introvert). You can simply demonstrate screen-casts about various topics