CSE 495 15wi-15sp - Facebook Open Academy

Quick links: About Requirements Sign up FAQ

About

We are happy to announce that UW will again be participating in the Facebook Open Academy (a.k.a. Hacking For Credit) in Winter/Spring 2015. This class presents a unique opportunity for students interested in a job in industry to gain experience. Facebook has hand-picked important open source projects to which students will contribute, and it has chosen select engineers who will act as mentors to guide the students through the open source development process. We expect that students will learn a lot in this class and thus encourage any interested students to apply. In particular, prior experience contributing to open source software is NOT required.

In this course, students will work together as part of distributed teams of 4–15 students from all participating universities. Teams will be matched with open source projects according to student rankings and preferences. (A preliminary list of candidate projects is available here.) Students will meet weekly with their open source mentors, and teams will operate using industry-standard development practices and procedures. For example, code contributions from students will be reviewed by their mentors, each other, and other project members.

Instructor: Hal Perkins, email: perkins@cs.

Course Number: CSE 495, Winter and Spring 2015.

Course Goals

Our goal is that students who take this course will:

  • gain experience working as part of a team
  • become fluent in modern (agile) software development practices
  • gain experience "on-boarding" to (i.e., rapidly familiarizing themselves with) new software projects
  • make meaningful contributions to important open source projects
  • make valuable social connections in the open source software world
  • have an advantage when applying for internships and/or jobs in the future
  • and, have fun!

Links

(Will be updated as additional information becomes available)

Requirements

Prerequisites

Developing quality code for open source projects requires familiarity with computer system design, algorithms, and efficiency. As a result, we ask that applicants have completed or be currently enrolled in CSE 351 and CSE 332. Additionally, CSE 331 is considered a plus but is not required. Additional experience such as JavaScript, C++, web development, and so forth will be helpful depending on the project chosen, but these will not be a primary factor in choosing students for the course.

Requirements, Timing, Credits, and Grading

This offering of CSE 495 will be a 4-credit graded course. As Facebook's program is timed for a spring semester, we will split these four credits evenly across Winter and Spring quarters in 2015. Though teams will ramp up in January and ramp down in May, the majority of course work will likely take place between the main kickoff meeting at the end of January and the virtual product showcase (late March/April). Teams will meet periodically (weekly or biweekly) with their open source mentor. There will be a weekly meeting at UW of everyone registered for the course to report on progress, trade tips and ideas, and get feedback. The meeting time is not settled yet, but will likely be late in the afternoon. Right now the most likely time is Thursdays at 4:30, but this may change if needed.

The instructor will assign grades at the completion of the project in Spring 2015 after discussion with the open source mentor. Although the mentor will make a recommendation, the instructor will have the final say in grading. Grade recommendations are likely to reflect factors including how well the student worked as part of a team, faithfully applied themselves to the project, and adopted project practices. This class is intended to offer all students the opportunity to excel — e.g., there is no fixed-in-advance grade distribution ("curve").

As grades will not be assigned until completion of the program in the Spring, a grade of 'N' (in progress) will be assigned temporarily at the end of Winter quarter. A 'N' grade has no permanent effect on your academic record or standing; it is the normal way to handle continuing courses like this one.

Basic Timeline

Schedule
NovemberPreliminary list of projects published
Mid DecemberList of students and their preferences sent to Facebook
Late DecemberStudents assigned to projects and introduced to mentors
Late December/Early JanuaryStudents receive a 1–2 page "how to prepare to work on this project" document
JanuaryStudents begin formal work
January 30 - February 1Kickoff event at Facebook Headquarters in Menlo Park, California
End of Winter quarterStudents receive a temporary grade of 'N' (in progress)
March/AprilVirtual project showcase
End of Spring quarterGrades submitted

Participant expectations

  • This course is open to undergraduate students who meet the prerequisites.

  • Students must be enrolled in CSE 495 at UW for both Winter and Spring quarters, 2015.

  • Students must be available to travel to Facebook Headquarters during January 30–February 1, 2015. (This trip will be sponsored by Facebook, so no financial commitment from the student is required.)

  • CSE 495 is a graded, four-credit course. We will expect a minimum of approximately 12 hours per week of work from each student on their project during the main project period, including design, learning practices, programming, code review, meetings, and other course commitments. (Of course, we expect and hope that students will be so happily engaged this expectation will be trivial to meet.)

  • As the goal of this course is to contribute meaningfully to an important open source project, we expect students to learn and adhere to the standards and practices of the project and as suggested by their mentor.

Sign up

If you are interested in participating in this course, please fill out the following Catalyst survey by Friday, December 5, 2014 at 11 pm. Unfortunately, we only have room in CSE 495 for up to 8 or 9 students. Priority will be given to students based on factors including relevant experience, opportunity for personal growth, and course records. That said, we encourage everyone interested to apply (it's a very short survey!). In particular, note that prior experience contributing to open source projects is NOT required.

If you have applied but not yet heard from us, please be patient. We expect to send notification emails by mid-December.

Frequently Asked Questions

  • I am a special case because... Should I apply?

    Sure, why not? Please also explain your special case in Question 7.

  • I applied but have not received a response.

    Please be patient. We expect to send notification emails by mid-December.

  • "CSE 495 will be a 4-credit graded course. As Facebook's program is timed for a spring semester, we will split these four credits evenly across Winter and Spring quarters in 2015." Does this mean that the course is 4 credits for each quarter, or 4 credits split up into two quarters?

    As you might expect from the word "split", you should think of this as 4 credits across both quarters. For practical reasons, we will assign 2 credits in Winter and 2 in Spring.

Have a question not answered here? Please email the instructor and include CSE 495 in the subject.