<p>I'm starting college in August and planning on double majoring in CS and applied mathematics, and as of now I'm thinking I want to go to grad school for computational biology, biomathematics, or bioinformatics... something along those lines.
This summer I'm doing almost nothing, and while it's relaxing and fun at times, I feel like I'm wasting my time. I definitely don't want to do this after my first year of college, so what are some good things to do, and when do I need to apply?</p>
<p>I've looked into internships a little, but it seems like you need more experience than I'll have after my first year (I'll probably be learning only Python). I'm also really interested in research, but REU looked like it was aimed more towards upperclassmen, at least in the fields I'm interested in. Any advice/experience anyone wants to share?</p>
<p>Try solving problems at [Project</a> Euler](<a href=“http://projecteuler.net/problems]Project”>Archived Problems - Project Euler) if you have free time.</p>
<p>Some companies, like Microsoft ([Microsoft</a> University Careers - Explore Microsoft Program](<a href=“http://careers.microsoft.com/careers/en/us/internships-explore-microsoft.aspx]Microsoft”>http://careers.microsoft.com/careers/en/us/internships-explore-microsoft.aspx)) have summer programs for freshmen/sophomores. Also check out Google Summer of Code (<a href=“https://developers.google.com/open-source/soc/[/url]”>https://developers.google.com/open-source/soc/</a>), where Google pays you to work on an open source project over the summer. You’ll need to work on open source projects during the year too, to have a chance at that. Or get involved in on-campus research with a professor, and spend the summer working with him.
Either way, you’ll have to work harder than your peers, and know as much as a CS sophomore to do anything meaningful.</p>
<p>Well it’s a shame you didn’t ask this earlier, you could have had the time to apply for an REU. But I strongly suggest you participate in undergraduate research. Yes, CS majors do it. No, you don’t need to wait until your senior year. Yes, sometimes it pays. Yes, you can do research AND internships (and I’ll bet you my car that the research is more interesting than the internship).</p>
<p>I would second Google Summer of Code (<a href=“https://developers.google.com/open-source/soc/[/url]”>https://developers.google.com/open-source/soc/</a>). It’s highly educational and highly useful (real projects with real impact and uses), but if your only programming experience comes from your freshman year, then it’ll likely be too complicated for the first summer break (so then you need to go learn more and try it again e.g. next year ). Or if not that, then personal programming projects or find an open source project that you would like to learn to know about and would like to contribute to.</p>
<p>Also, read, read, read. Summer breaks are a perfect time for reading all sorts of stuff that you find interesting, but which hasn’t been part of your curriculum. It’s especially important in your chosen majors, which are both abstract and which practically depend on areas where they can be applied. I.e. if bio stuff interests you, then learn about it and see how CS and math ties to it (i.e. what kind of problems can you model with them). Evolutionary algorithms, game theoretical models, molecular simulations…</p>
<p>Also, don’t worry about “learning only Python”. Python is currently perhaps the most used language in the scientific computing community (see e.g. <a href=“http://www.scipy.org/[/url]”>http://www.scipy.org/</a>). Why? Because it’s simple and lets you focus on the algorithms, rather than the code or compilers or whatever. It’s a really useful and beautiful programming language.</p>
<p>
I’m actually talking about next summer. I’m in the summer the year before my freshmen year right now.</p>
<p>@blue_box, I actually looked at the microsoft thing, but it just seems like with how few spots there are, I have a very slim chance of getting accepted.</p>
<p>What I’m really hoping for is either research or an internship that will pay me at least a little (like a stipend or housing or something, I don’t even mean like actually profiting). My school would be ridiculously hot over the summer, so I’m hoping that I can maybe get something in either Boston, Chicago, or California. Is this at all realistic? Or will I be too inexperienced after freshmen year to get anything?</p>
<p>I have freshman friends who are interning at companies after their first year, but they all have the programming experience of a second or third year CS student. Its a little unrealistic without that.</p>
<p>@premed84
“Is this at all realistic? Or will I be too inexperienced after freshmen year to get anything?”</p>
<p>You could always look at help desk type of work or e.g. quality assurance/software testing (you should be able to do that with freshman year knowledge with a little bit of guidance, if the used testing procedures aren’t very complicated). Also if you can pick up SQL (it’s fairly easy) during the freshman year, then you could look at data archiving or any kind of job having to do with operating databases.</p>
<p>All these ideas are very good. Practically speaking, you will need to have finished your sophomore year CS classes to really be eligible for an REU. One of the purposes of an REU from the university’s perspective is to try to recruit the students to their graduate program. Consequently the best time to get an REU position is in your second and third summers.</p>
<p>When you start in the Fall, find a professor whose research you might be interested and volunteer. This will help you get an idea of what is possible and you might find something for the next summer. Don’t restrict yourself to CS and Applied Math. Look into other sciences and engineering where lab assistants don’t necessarily need to have a lot of specialized skills at the beginning. perhaps you can contribute by writing programs for them in python and get some experience that way.</p>