CS 699 Computer Science Internship is one of the culminating experience options for the CS MS.
International Student Visa Requirements International students have restrictions as to where and when an internship can be performed. The following restrictions apply.
- Must be registered full time (9 credits) unless it is a semester break (summer session).
- Work 20 hours or less per week during the regular academic term (fall and spring). Can work more during the summer.
- In order to do an internship experience off campus, the following additional restrictions apply to international students.
- Must be registered for CS 699 for 3 credits.
- Have been a full-time student for at least one academic year.
Credit Hours To be counted as an internship for X credit hours, students should work at least 30*X hours in the internship. For a 3 credit hour internship, the student should normally work at least 90 hours. The type of work must be approved by the student’s advisor ahead of time.
Final Report and Presentation Students who complete CS 699 are required to submit a report at the conclusion of the internship experience, and are required to offer to give a short presentation to the department about their experience (especially in relation to computer science skills used or developed during the experience).
Nature of Work For an internship experience to be approved, the work must be directly related to computer science. Positions that entail programming are normally approved. Positions that do not entail programming but instead involve systems administration are considered on a case by case basis.
Internships within the Department For those who want to take CS 699 for credit by doing work inside of the department (normally unpaid), the following are some options that can be considered.
- Running workshops on topics not covered in courses for CS students. Topics could include a particular programming language, development environment, algorithms, useful tools, etc. The topic must be approved by the instructor.
- Some current options to explore -
- Programming in environments not always offered in our courses - .Net, Java/Android, Objective C/Swift iOS, R
- Using/configuring systems that are of current interest - Hadoop,
- Programming/software open-source toolkits - machine learning, game creation
- Volunteering in the Unix programming lab to keep it open and maintain the machines.
- Running discussion/problem sessions for introductory CS courses.
- Helping with grading and assignments in a particular CS course. Note that assisting with grading requires approval by the department chairperson and a completed FERPA form on file.
For the presentation to the department after your internship is complete, you should include the following information.
- Position information - company, job title, job description.
- If possible, include a link to the job posting online. You should save the job posting when you are applying so that you will be able to share it even it is no longer available online.
- Applying for the position - information about the steps in securing the position - what types of interviews, calls, etc.
- Include some details about interview questions at each stage. If possible, give specific examples; if not, at least give a sense for the types of questions and how you prepared.
- Job/experience summary - what was your daily experience like, did you work in a team (and if so how was that), what main project did you work on, what tools/languages did you use, what skills/knowledge did you gain on the job, anything you wish you had experience with more before starting
- If possible give a demo of your work environment (what the tools/languages look like when open, etc.).
- Advice to other students based on your experience