Where to find 'the art and Science of C' source code?

I want a summer internship where I can code.

  • Can you give me advice on finding summer internships for a sophomore CS major? I'm a sophomore at an "elite liberal arts college". We are not especially known for our CS department but it's good enough. I'm looking for jobs or internships this summer that will allow me to get practical experience and will help me find work in the future. Relevant information:Coursework: I've taken AP Computer Science, placed out of one college intro course and completed the other. Next semester I will be taking two courses: Data Structures and Algorithms and Computer Graphics.Work experience: I have worked several summers in a medical imaging (heavy math/cs focus) lab. I did a lot of programming for them, including designing and completing a fairly serious extension to their in-house software. Unfortunately, this work was mostly done in IDL, which is not a widely-used language outside of medical imaging and astronomy.Computer skills: I am competent in Java and unfortunately also IDL. I can use Unix. I understand the essentials of object-oriented programming (but have no knowledge of "design patterns"). I know basic Python, but in practice I've used it only for scripting. I have played with Scheme and worked through about half of Structure and Interpretation of Computer Programs, enough to at least understand functional programming. I've also read through K&R, so I am at least familiar with C, but I am not experienced.So what should I do? I don't feel that I have an especially strong background or set of skills. My options as I see them:I could apply for an REU (Research Experience for Undergraduates).There are many of these programs at college campuses around the country. I would get paid to do serious work and possibly also attend lectures/classes. According to the career center at my school, many of these programs actually have trouble filling up their slots, so I would have a pretty good chance of finding a position. However, they are often in less-than-exciting locations. If possible, I would rather not spend my whole summer on a state university campus where I don't know anyone. I could also apply for Google Summer of Code.I would be subsidized by Google to work on an open-source project. This has the same advantages as an REU, with the side benefit that I can work from home. However, I've heard it's extremely competitive. I am not certain that a sophomore with my skills and background could get accepted.I could also work part time while contributing to an open-source project (for free).This sounds fun, and assuming I can stay focused it gives me much of the same experience, but if I don't get an "officially sanctioned" internship I think my parents would wail and scream. Plus, I don't know what to work on or where to start.Do any of these strike you as especially good or bad options? Can you see any misconceptions? Am I missing any options? I would also appreciate more general advice: how and in what areas to improve my skills, programs to apply to and projects to work on, how to get started in open source, etc.

  • Answer:

    You've got nothing to lose by applying for internships at companies Google, Microsoft, Facebook, and Amazon. It's a bit late in the season, but everyone is growing their internship programs this year. Your experience sounds fine for that kind of internship.

vogon_poet at Ask.Metafilter.Com Visit the source

Was this solution helpful to you?

Other answers

(Ms. Vegetable) I'd vote for options 1 or 2. They will help you get a job after you graduate. I say this as a graduate of a small liberal arts college who worked in a physics lab coding in IDL for all of college. Specifically, it was astrophysics, and it has gotten me all 3 jobs after college. In fact, my current boss has told me he doesn't remember anything else about my interview. Take good notes in either case. See if you can do a final presentation at the end of the summer and do a good job - that summary will help you pull it all together and be able to talk about it in interviews. Don't worry about being on a state college campus where you don't know anybody - the rest of the people there will be ok. Exciting locations are for later. Random: see if you can study abroad. THAT is exciting. :)

a robot made out of meat

You may also want to consider smaller companies. We took 2 CS students on as interns in our small company over the summer. Our IT guy pretty much has a job w/ us lined up after he graduates. Unfortunately our programming intern wasn't as good, but if you are it's great exp. as well as a possible job right after college. Also mefiMail me if you're in NJ.

pyro979

I envy you. You are just 19 and making a great start with some skills that will be useful. Recently I took a remote sensing course and IDL was the language underpinning the geographic imaging software we used, called ENVI. I don't know where you are or if remote sensing projects happen where you are, but I think it's a really neat thing you could look into. Also spend some time looking at open source projects to see if there is something that is interesting to you. It looks to me like you just need that motivation to pull you forward. Then just contact the companies/institutions that do what you are interested in and try to get hired with them for the summer. The research option is valuable, but it doesn't seem to inspire you.

Listener

Talk to your teachers, TAs, advisors, counselors...everybody who might know more than you about this. There is a whole system set up for what you want to do, you shouldn't have to winnow the whole field yourself.

rhizome

It depends on what you want to develop. My experience with REU was that while there was lots of coding going on, the oversight and mentoring can be hit or miss. Often the scientists involved are not particularly knowledgeable about good / modern coding practices. An REU is why I still sometimes write programs using the F77 standard.

a robot made out of meat

drop me a memail.

rr

By all means, apply to REU and Summer of Code, but you should also be applying for cs summer internships. Think about things you want to learn and experiences you want to have (specific language? specific OS? big company? small company? specific industry? specific geographic region?), and find companies that appeal to you. Your school ought to have some sort of career counselors to help you out. Also chat with your cs professors, who may be able to hook you up with friends or former students of theirs who work at companies that could use interns. Don't worry about your skills; you won't be hired to re-architect anything anyway. When you apply to be an intern, showing the initiative and enthusiasm can matter more than any specific skill. At your level, I'd advise against a part time job plus open source work. (I'm assuming you mean a barista/retail kind of job here. Your work at the lab sounds possibly worthwhile, but if you've been there a few summers already, better to try something new.) Unless you're very driven and motivated, perhaps passionate about a specific project, I think you'll get more out of something more structured.

orangejenny

Do you wanna go the traditional route or would you be open to working in entertainment? DreamWorks, Disney, and Pixar have phenomenal internships for CS folks like yourself.

These Birds of a Feather

I have something of a similar background to you: I also attend a SLAC with a CS department as you describe. Check your MeMail for some anecdata.

zer0render

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.