6.S194

Open Source
Software Development Lab

Global, collaborative, open source project studio.

Ted Benson

eob@csail.mit.edu

Office: W3C Atrium (32-G515)


David Karger

karger@mit.edu

courses.csail.mit.edu/6.S194

Thanks

(for the early signups)

Today

  • What we'll do
  • What you'll learn
  • How you'll be graded
  • Project orientation & breakout
  • Weekly Responsibilities

What We'll be Doing

Outside ClassOpen Source Projects
MondaysLectures,
Speakers,
Activities
WednesdaysDesign Studio,
Worktime

Each of you

  • Assigned to project based on your preference form
  • Have a mentor from the project
  • Have teammates to work with (MIT + elsewhere)

Projects: Coding

  • Work with your mentor
  • Scope, style, features will vary
  • Every situation will be different

Projects: Management

  • Weekly 20-minute standup meeting with me
  • Weekly written checkin (1 per group)
  • Keep a developer's journal

Mondays

  • Lectures
  • Activities
  • Guest Speakers

Wednesdays

  • Design Studio
  • Group working period

Schools

MITStanford
CornellWaterloo
U. TokyoNational U. of Singapore
U. SichuanU. Helsinki
TorontoU. Texas
Imperial College of LondonJagiellonian
Tampere U. of TechnologyMore Canada

Projects

Ruby on RailsMongoDB
PhabricatorFreeseer
KotlinSocket IO
Pouch DBReview Board
Mozilla Open Badge

What You will Learn

Learn lessons hard to fit fit into a pset:

  • Collaborating with a global team
  • Contributing to a real-world, large scale project
  • Writing software that touches real users

Make you confident, capable, contributors

  • Comfortable jumping in to new codebases
  • Able to debug and understand others' code
  • Versed in professional coding workflow (git, etc.)

Cultivate thoughtful coding skills

  • design
  • architecture
  • management
  • decision-making skills

(and of course)

Open source fame and glory

The Experiment

Software Engineering Class

+

Medical Residency

+

Design Studio Critique

How We Train Doctors

University(Broad Knowledge)
Med School      (Trade Knowledge)
Residency(Practice, Mentoring, Reflection)

Residency

  • Practice medicine under the wing of a mentor
  • Develop clinical reasoning skills

"Residency" for CS

  • Develop software under the wing of mentors from the open source community
  • Use class time to build clinical reasoning skills

How We Train Architects

Design Studio

Sketch → Present → Critique

  • Separate artifact from creator
  • Practice discussing one's work
  • Practice giving, receiving feedback

Code→ Present → Critique

  • Open Source Projects
  • Cross-school Teams
  • Lectures and Activities on development topics
  • Frequent presentation / discussion of work

How to do Well

Building Software is more
than just Writing Code

  • Project participation
  • Planning, scoping, iteration
  • Coding (correctness, robustness, style)
  • Communication
  • Commenting on each other's work

Weekly Responsibilities

  • Group: 20 Minute Standup with me
  • Group: Writeup (one day before)
  • Personal: Development journal
  • Personal: Coding
  • Personal: Class Participation

Big Milestones

Prototype Demo (middle of semester)**

Report (end of semester)

Grading

75% Project
15% Class Participation & Activities
10% Group Participation

Project Breakouts

Primary Goals Today:

  • Email mentor to say hello (cc eob@)
  • Make sure you've joined all relevant groups, lists
  • Get project running on your machine
  • (if possible) Get project building on your machine