Skip to main content


CS-5152: Open-Source Software Engineering This class is about learning software engineering, especially as employed by the open-source community, through a hands-on experience with mentorship, guidance, and peers. Each student will work in a team on an established code base from an active open-source project using the guidance of an industry mentor from that project. This class is not about "open source" as an entity in and of itself, though; we might not cover aspects of open source like its history, philosophy, or legal complexities (such as licensing).

Teams Teams and projects will be decided before the semester begins. They are usually in the range of 4 to 8 students working together with one or two industry mentors.

Kickoff Hackathon The Kickoff Hackathon will kick off the projects by putting students in face-to-face contact with their project mentors from industry. All students are required to attend. The Kickoff Hackathon will be the weekend of September 14-15. The Kickoff Hackathon will not be an overnight endeavor; it will start after breakfast, include lunch, and end before dinner.

Projects Students will rank the available projects in order of interest, and a matching process will be run to determine which project a student is assigned to. So far, students have always been able to get on one of their top 3 choices. Team rosters will be settled prior to class enrollment.

Grading 75% of a student's grade will be determined by contribution to the code base. The industry mentor will provide the majority of this evaluation. The remaining 25% of a student's grade will be determined by class participation and deliverables. There will be no final exam, but there will be final deliverables such as short papers and presentations to be done at the scheduled final time.

Weekly Meetings Every week students will video conference with their entire team, including their mentor, for 30 minutes hopefully during lab hours (some teams may need to meet outside of class due to external constraints). These meetings should quickly review what has been done, what problems people are hitting, and what should be accomplished in the next week. In order to keep meeting times flexible so that we may meet the constraints of others on the projects, students must be able to attend all lab times, at least until a meeting time has been decided. Plus, each week every student needs to quickly meet with the professor to explain what they are working on and to check that they are keeping on track.

Lecture W 11:15-12:05 in TBD
Lab MF 11:15-12:05 in TBD
Units 4
Final TBD (during finals week - cannot be made up; you need to be physically present)

Instructor Ross Tate
Office 434 Gates Hall
Office Hours by appointment

Application Process

You must apply and be admitted into the class in order to enroll. The application process is lightweight. However, because fall semester is (from the industry perspective) far away, at present I do not know what projects are how many slots will be available. As such, fill out the following form and I will contact you mid-summer to fill out an application and project preferences once the projects have been determined: