Skip to main content


CS5152 - Open-Source Software Engineering Each student will work in a team spanning multiple (international) universities on an established code base from an active open-source project using the guidance of an industry mentor from that project.

Groups/Teams On Cornell's side, there will be 8 groups each comprised of 5 students and each a part of a larger team spread across many universities. Each Cornell group will have two representatives, who will have extra responsibilities such as attending and transferring knowledge from the Hackathon (below), and who are obliged to stay in the class for the entire semester.

Kickoff Hackathon The Hackathon, hosted by Facebook, will kick off the projects by putting students and faculty in contact with each other and the project mentors from industry. There will be workshops on many of the basic skills, such as setting up development environments, learning source-control protocols, and getting an understanding of the relevant code-base layouts. Only our representatives will be able to attend, and consequently they must attend and must train their colleagues with what they learned when they return (some found it useful for the non-attending students to remote in via Skype or Google Hangout and follow the processes). The Kickoff Hackathon is the weekend before classes start, Friday February 7th through Sunday February 9th, being held in Menlo Park, CA. Facebook and Cornell will pay for plane tickets, hotel rooms, and food. Students can visit longer at their own expense.

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. Team rosters will be settled prior to the Kickoff Hackathon.

Grading Most of a student's grade will be determined by contribution to the code base, namely 75%. The industry mentor will provide the majorit 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.

Lecture W 11:15-12:05
Lab MF 11:15-1:10
Units 4

Application Process By November 15th, students must e-mail the instructor a PDF with a short description (as in less than a page) of their qualifications and motivations for the class. Students must indicate whether they are interested in being a representative, a regular group member, or both. Those who wish to be representatives must provide a Cornell faculty member the instructor can consult for recommendation. Senior and MEng students will be given priority, and juniors will be admitted if space permits. Undergraduates, please include your current (major) GPA. MEng students, please include your undergraduate (major) GPA.

You will not be able to enroll in this class directly, since enrollment as tentative on being admitted. Please enroll in classes as if this class were unavailable, since it is easier to drop classes than add them, and once admitted into CS 5152 your enrollment is guaranteed.

Instructor Ross Tate
Office: 4136 Upson Hall
Office Hours: by appointment