First and second year students are unlikely to get selected for major internships (right?). Given this, what can students do after freshman and sophomore years that will be useful later on. I thought of learning MATLAB, but not sure if this is a good idea or if there are better options.
The summer after sophomore year should be late enough to start doing research. There are lots of questions / tutorials about how to start research; best to just talk to your professors and/or apply to research programs such as the REU. This is also a good time to start studying for your physics GRE.
For the summer after freshman year, it's probably too early to do the above (though it's worth asking your professors about research options). I recommend working on soft skills -- writing, people skills, presentation skills, and programming all come to mind.
Programming sounds like a perfect summer project that could be somewhat self-directed. You could tie this in with numerical methods.
Check the offerings at your local community college.
You could also focus on community outreach. You might be able to latch onto an existing program in the target area, or volunteer at an observatory or science museum. Or you could create a hands-on program at your public library as a volunteer.
Another possibility would be to volunteer at a recycling facility that safely dismantles dead electronics, or that teaches basic computer use and repair skills to teens and adults.
You could design and teach a self-contained enrichment course at a senior citizens center.
Depending on where you live, you might be able to volunteer to assist with the high school physics classes (there are often one to three sections -- so this would be part-time).
You could study a new foreign language.
Those are just a couple ideas to get you started thinking.
Don't forget to check for REU opportunities.
The summer project I did, which later turned out to be the most useful, was sitting down and learn C++ from scratch, using Stroustrup's own introductory book. Learning a programming language like it was intended, and not like a tool to use for a specific thing (like what is taught in most courses) has over and over again proven valuable.
I suppose one would maybe rather learn Python today, but once you know how to write code, you can swap one language for another with only minimal pain. This is often not the case if you have only learned to use the functionality needed for a given course.