CSCI 4950 (Senior Software Project)


**CSCI 4950 is indefinitely paused**


With department growth and navigating of shifting projects and workloads, CSCI 4950 is not currently being offered. If you have questions, concerns, or suggestions for CSCI 4950, please contact Jacquelyn Burt <>.

For similar opportunities related to professional software design experiences and opportunities, please work with your CS major advisor and/or your college's career advising office!

What is CSCI 4950?

CSCI 4950 is an experiential learning program for undergraduates majoring in Computer Science who are particularly interested in software development. This two-semester, year-long course gives professional, outside-the-classroom access to a substantial industry project, and will involve work within a team of students, a corporate sponsor, and a supervising facilitator. Professor Kevin Wendt will be coordinating the projects and grading. CSCI 4950 can be used as an upper division CSCI elective in the BA and can be used as a track elective for the BS program.

Why take CSCI 4950?

CSCI 4950 is a 3 credit course for each semester. All 6 credits would be able to be used as track courses for the B.S. program or CSCI electives in the B.A. program. Any questions related to how CSCI 4950 fits into your graduation plan can be sent to the undergraduate advisors.

In addition to the fact that the credits can apply to your degree, the course furnishes the type of real-world experience that companies often want to see applicants have on their resumes. It’s a great networking opportunity as well. We have had CSCI 4950 students receive job offers from their partnering corporate sponsors.

What to expect?

This is not a traditional class. You will work in a team setting with other undergraduate students and a corporate sponsor. Some corporate sponsors may treat their students as if they are interns for the company and give them access that wouldn’t otherwise be available. This also means they may want you to come to their office for tours or to work on the project. Groups may work in the evenings or on weekends since there is no set time for the class.

This is a year-long experience. Students accepting a spot on a team are agreeing to be part of the project for both the fall and spring semesters. Students will receive a grade for their work in the fall and for their work in the spring independently.

Teams will present their projects publicly at the end of the spring semester at a special event in front of students, all of the corporate sponsors, and faculty members.

As a sponsored class, all students will sign over IP rights to the University of Minnesota. The sponsor will have the opportunity to pay an additional fee for the licensing rights, which in return could fund scholarships and other opportunities for students in the department. 

Who is eligible?

We accept students into this experiential learning opportunity who are admitted to our computer science programs in both CLA and CSE. Even though the course is called “Senior Software Project”, we do accept some students who are sophomores and juniors. In general, we would like students to have completed CSCI 3081W (Program Design and Development) and CSCI 4041 (Algorithms and Data Structures). Passing grades in one or more of the following CSCI courses could boost your application to this program:

  • CSCI 4061 (Introduction to Operating Systems)
  • CSCI 4131 (Internet Programming)
  • CSCI 4271W (Development of Secure Software Systems)
  • CSCI 4707 (Practice of Database Systems)
  • CSCI 5115 (User Interface Design)
  • CSCI 5801 (Software Engineering)
  • CSCI 5271 (Introduction to Computer Security)

CSCI 4950 Software Design Showcase

At the end of every spring semester, students in CSCI 4950 present their projects at a showcase which anyone is welcome to attend. This is a great opportunity for students considering CSCI 4950 in the future to hear from students and corporate sponsors about what the experience looks like and what can be produced from the experience. An announcement will be sent out to students when a date, time, and location is during the spring semester. Be sure to sign up for our mailer so you receive this announcement.

How do I register for CSCI 4950?

You must apply to participate in this course, and not all students are accepted.

Application timeline

The department typically accepts applications from April until early July. If you are offered a position in the course and wish to participate, you will be contacted with a permission number to register for the course. Decisions are typically made and sent out to students via email by the end of July at the latest. Students should register for an alternative course option while they await a decision on course acceptance to CSCI 4950.