Internship and Projects

Acceptable Projects

Students will work between 12-15 hours a week for one term (fall, spring, summer) to earn 4 credits. For projects with faculty, you and the professor will determine what is required for an acceptable project.

For internships, we are typically looking for the following aspects which make the experience a meaningful and relevant internship in computer science, not “just a job:”

  • You will be working with a team of professionals doing similar work
  • Your work will be supervised and evaluated by someone skilled in similar work
  • You will have opportunities to apply skills and competencies developed in your computer science or data science coursework
  • You will be developing skills and competencies in computer science or data science

Unpaid internships may be considered as well as paid internships.

Completing the internship proposal form (PDF) is a good way to help assess a position to see if it qualifies. Please also attach a copy of any job description or position announcement for the internship that will help us understand the breadth and scope of the work and responsibilities.

A position that doesn’t meet these tests – or for other reasons is not appropriate as an internship in your program of study – might still qualify for CSC 477 or CSC 499 credit if supervised by a member of the faculty.

Potential Project Areas

Not all of these examples are appropriate to every program of study. Permission of faculty is always required to enroll in CSC 499.   

  • Software development in a variety of computer languages, including but not limited to Python, C/C++, R, and Java.
  • Assisting with or leading software requirements gathering, software design, estimating, and planning efforts.
  • Assisting with or leading efforts in software quality assurance and/or testing strategies such as path-based, performance, security, etc.
  • Participating on a digital forensics/cyber security team or investigation.
  • Contributing to software process improvements such as exploring formal models, metrics and/or studying emerging trends in software engineering.
  • Technical hands-on work in customer support environments that includes debugging and troubleshooting software and networks.
  • Troubleshooting, debugging, maintaining, and supporting existing software products.
  • Contributing as a team member on a real-world software engineering project.
  • Contributing as a team member on a research team engaging in data analysis, software design, development and/or testing.
  • Website design, development, deployment and/or maintenance and testing.
  • Working as a research assistant with a major professor.
  • Working as a teaching assistant with a high school or middle school teacher to teach programming/computer science concepts in the classroom.
  • Working with a scholar in a data driven domain to support data in one or more of the following: procurement, cleaning, management, visualization, access.
  • Working with a scholar or employer as a research assistant or intern to manage a database management system, or work/data flow environment.
  • Working as an intern or assistant to create and/or maintain interfaces or web-based portals to support data access and management.
  • Working with a data analytics team