SlideShare una empresa de Scribd logo
1 de 17
What We’ve Learned
   From Building Basie
                and lots of other software

                    using student labor

              over the course of eight years


Greg Wilson    http://third-bit.com   Feb 2010
I Beg To Differ
“…student projects,
    while laudatory,
   frequently fail to
   deliver anything
            useful.”


                        http://joelonsoftware.com/items/2009/10/26.html


 About a quarter of the student projects I’ve helped
 supervise since 2002 have delivered software that
  clients actually used, and the rest have produced
         something just as useful: experience.
The Big Picture




368 people, 136 projects, 35 countries of origin
How We Got To Basie
                   Start running directed studies
     2002          projects at University of Toronto

      2003         2004


First attempt to    2005       2006
build portal                               Join U of T fulltime
(using Java)
                                2007        2008
                                                        UCOSP
                                               2009      2010
Why Another Portal?

                  SourceForge and Trac already exist;
                  why build another portal?


 1)   Self-hosting
 2)   Simple
 3)   Batch operations
 4)   Sustainable

Cabot & Wilson: “Tools for Teams: A Survey of Web-Based
Software Project Management Portals”. Doctor Dobb’s Journal,
October 2009.
We’ve Been Busy!




https://basieproject.org/stable/basie/
We Have Tickets!




https://basieproject.org/stable/basie/
To Make a Long Story Short

                     Undergraduate students can build
                     a lot of great software

                     If:


1) You have realistic expectations
2) You’re patient
3) You realize that “how” matters more than “what”
1) Realistic Expectations

  Most students are doing
  five courses at once


Which leaves them 8-10 hours/week for your project

A 13-week term is equivalent to 3 full-time weeks

 How much do you expect a new (junior) hire to do
      in their first three weeks on the job?
Realistic Expectations (cont.)
Most faculty are working even
harder than their students

“We’re here to do research,
they pay us to teach,
we spend our time on admin.”


     They care about computer science,
 which is not the same thing as programming

        You can’t blame them for doing
     what they’ve been trained to do, either
2) Patience
Your project may be the first time
students have written something
that isn’t just going to be marked
and thrown away

And the first time that 90% right
isn’t good enough

 You must not make students feel like failures
 for working the way they have been trained to

      Even (especially) if those ways are wrong
Patience (cont.)
“Why don’t schools teach students
[Git | Haskell | GPUs | cloud]?”

Because the curriculum is full

4 years × 2 terms/year × 13 weeks
= 4800 hours

The hard part isn’t figuring out what should be in there

The hard part is getting agreement on what to take out
3) How, Not What
Q: What was the most valuable
lesson you learned from
your project?

Nobody said “technology”

What they did say was:

• Teamwork         • Presentation skills
• Prioritization   • Negotiating with real users
• Code review      • Building their network and portfolio

By the way, our project students are 28.5% female
There’s A Textbook For That
                     Karl Fogel:
                     Producing Open Source Software:
                     How to Run a Successful
                     Free Software Project
                     O’Reilly, 2005
                     http://producingoss.com




The same skills students need to succeed in grad school
Other Lessons Learned
• How to run meetings
• How to teach students how to do code reviews
• What level of tooling is appropriate/feasible
• Accountability
• How to accelerate ramp-up
• Carry-overs from previous terms
• Importance of full-time summer work (yay GSoC!)
• Industry support
• Presentations, presentations, presentations
• Scoping and re-scoping deliverables
• Recruiting students and faculty
• Grading
                                     Thanks to Prof. Karen Reid
                                     for this list (and much else)
Help Us to Help You
                             Basie
                             Eclipse4Edu
                             ElmCity
                             DC FlightSim
                             Ingres
                             MarkUs
                             Mercurial
                             Pony-Build
                             RoboCup
                             Thunderbird
                             WikiDev


http://ucosp.wordpress.com
Thank You




http://ucosp.wordpress.com

Más contenido relacionado

La actualidad más candente

The flipped induction
The flipped induction   The flipped induction
The flipped induction Chris Rowell
 
Governance Services iTime Project: Automated Filing - DevCon 2019
Governance Services iTime Project: Automated Filing - DevCon 2019Governance Services iTime Project: Automated Filing - DevCon 2019
Governance Services iTime Project: Automated Filing - DevCon 2019Tom Page
 
Andres Rodriguez at AI Frontiers: Catalyzing Deep Learning's Impact in the En...
Andres Rodriguez at AI Frontiers: Catalyzing Deep Learning's Impact in the En...Andres Rodriguez at AI Frontiers: Catalyzing Deep Learning's Impact in the En...
Andres Rodriguez at AI Frontiers: Catalyzing Deep Learning's Impact in the En...AI Frontiers
 
BPM Cluster Meeting 2014
BPM Cluster Meeting 2014BPM Cluster Meeting 2014
BPM Cluster Meeting 2014Jan Claes
 
sicsa-phd2016
sicsa-phd2016sicsa-phd2016
sicsa-phd2016turingfan
 
Lessons learned after 190M lessons served
Lessons learned after 190M lessons servedLessons learned after 190M lessons served
Lessons learned after 190M lessons servedRicardo Bánffy
 
Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Jorge López-Lago
 

La actualidad más candente (9)

The flipped induction
The flipped induction   The flipped induction
The flipped induction
 
Governance Services iTime Project: Automated Filing - DevCon 2019
Governance Services iTime Project: Automated Filing - DevCon 2019Governance Services iTime Project: Automated Filing - DevCon 2019
Governance Services iTime Project: Automated Filing - DevCon 2019
 
Andres Rodriguez at AI Frontiers: Catalyzing Deep Learning's Impact in the En...
Andres Rodriguez at AI Frontiers: Catalyzing Deep Learning's Impact in the En...Andres Rodriguez at AI Frontiers: Catalyzing Deep Learning's Impact in the En...
Andres Rodriguez at AI Frontiers: Catalyzing Deep Learning's Impact in the En...
 
BPM Cluster Meeting 2014
BPM Cluster Meeting 2014BPM Cluster Meeting 2014
BPM Cluster Meeting 2014
 
sicsa-phd2016
sicsa-phd2016sicsa-phd2016
sicsa-phd2016
 
Clean Code in Jupyter notebook
Clean Code in Jupyter notebookClean Code in Jupyter notebook
Clean Code in Jupyter notebook
 
Lessons learned after 190M lessons served
Lessons learned after 190M lessons servedLessons learned after 190M lessons served
Lessons learned after 190M lessons served
 
Big guns for small guys (reloaded)
Big guns for small guys (reloaded)Big guns for small guys (reloaded)
Big guns for small guys (reloaded)
 
Open Source In Education
Open Source In EducationOpen Source In Education
Open Source In Education
 

Destacado

Coupa roadshow master deck atlanta
Coupa roadshow master deck atlantaCoupa roadshow master deck atlanta
Coupa roadshow master deck atlantaCoupa Software
 
CUFP 2009 Keynote - Real World Haskell
CUFP 2009 Keynote - Real World HaskellCUFP 2009 Keynote - Real World Haskell
CUFP 2009 Keynote - Real World HaskellBryan O'Sullivan
 
What does it take to make google work at scale
What does it take to make google work at scale What does it take to make google work at scale
What does it take to make google work at scale xlight
 
GOOGLE: Designs, Lessons and Advice from Building Large Distributed Systems
GOOGLE: Designs, Lessons and Advice from Building Large   Distributed Systems GOOGLE: Designs, Lessons and Advice from Building Large   Distributed Systems
GOOGLE: Designs, Lessons and Advice from Building Large Distributed Systems xlight
 
The other side of functional programming: Haskell for Erlang people
The other side of functional programming: Haskell for Erlang peopleThe other side of functional programming: Haskell for Erlang people
The other side of functional programming: Haskell for Erlang peopleBryan O'Sullivan
 
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015Phil Calçado
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Phil Calçado
 

Destacado (8)

Coupa roadshow master deck atlanta
Coupa roadshow master deck atlantaCoupa roadshow master deck atlanta
Coupa roadshow master deck atlanta
 
CUFP 2009 Keynote - Real World Haskell
CUFP 2009 Keynote - Real World HaskellCUFP 2009 Keynote - Real World Haskell
CUFP 2009 Keynote - Real World Haskell
 
Pronk like you mean it
Pronk like you mean itPronk like you mean it
Pronk like you mean it
 
What does it take to make google work at scale
What does it take to make google work at scale What does it take to make google work at scale
What does it take to make google work at scale
 
GOOGLE: Designs, Lessons and Advice from Building Large Distributed Systems
GOOGLE: Designs, Lessons and Advice from Building Large   Distributed Systems GOOGLE: Designs, Lessons and Advice from Building Large   Distributed Systems
GOOGLE: Designs, Lessons and Advice from Building Large Distributed Systems
 
The other side of functional programming: Haskell for Erlang people
The other side of functional programming: Haskell for Erlang peopleThe other side of functional programming: Haskell for Erlang people
The other side of functional programming: Haskell for Erlang people
 
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
 

Similar a What We've Learned From Building Basie

Organization strategies to increase development productivity
Organization strategies to increase development productivityOrganization strategies to increase development productivity
Organization strategies to increase development productivityAaron Grant
 
History of call final report
History of call final reportHistory of call final report
History of call final reportj7045900
 
Keynote Address: Strategic Perspectives on an Exciting Future with Sakai
Keynote Address: Strategic Perspectives on an Exciting Future with SakaiKeynote Address: Strategic Perspectives on an Exciting Future with Sakai
Keynote Address: Strategic Perspectives on an Exciting Future with SakaiAuSakai
 
Sakai Charles Sturt Keynote
Sakai Charles Sturt KeynoteSakai Charles Sturt Keynote
Sakai Charles Sturt KeynoteMichael Korcuska
 
WEB DESIGN!
WEB DESIGN!WEB DESIGN!
WEB DESIGN!butest
 
International pbl conf_5b-c_kizaki
International pbl conf_5b-c_kizakiInternational pbl conf_5b-c_kizaki
International pbl conf_5b-c_kizakiSatoru Kizaki
 
Crowdsourcing Your Way to a Better ePortfolio
Crowdsourcing Your Way to a Better ePortfolioCrowdsourcing Your Way to a Better ePortfolio
Crowdsourcing Your Way to a Better ePortfolioKristina D.C. Hoeppner
 
20100330paperFilipAssessment
20100330paperFilipAssessment20100330paperFilipAssessment
20100330paperFilipAssessmentFilip Vervenne
 
Technology Driven Differentiated Instruction #KCDTTL
Technology Driven Differentiated Instruction #KCDTTLTechnology Driven Differentiated Instruction #KCDTTL
Technology Driven Differentiated Instruction #KCDTTLVicki Davis
 
Designing and Developing a Blended Course: Best Practices for Japanese Learners
Designing and Developing a Blended Course: Best Practices for Japanese LearnersDesigning and Developing a Blended Course: Best Practices for Japanese Learners
Designing and Developing a Blended Course: Best Practices for Japanese LearnersParisa Mehran
 
Course Possibilities & Architecture
Course Possibilities & ArchitectureCourse Possibilities & Architecture
Course Possibilities & ArchitectureFolajimi Fakoya
 
OLPD Technology Redesign (2011-2012)
OLPD Technology Redesign (2011-2012)OLPD Technology Redesign (2011-2012)
OLPD Technology Redesign (2011-2012)Alfonso Sintjago
 
Institute for New Paradigms - poster materials (higher ed)
Institute for New Paradigms - poster materials (higher ed) Institute for New Paradigms - poster materials (higher ed)
Institute for New Paradigms - poster materials (higher ed) Eileen O'Connor
 
Introducing CS students to open source
Introducing CS students to open sourceIntroducing CS students to open source
Introducing CS students to open sourceAll Things Open
 
Webstack Academy - Internship Kick Off
Webstack Academy - Internship Kick OffWebstack Academy - Internship Kick Off
Webstack Academy - Internship Kick OffWebStackAcademy
 

Similar a What We've Learned From Building Basie (20)

Organization strategies to increase development productivity
Organization strategies to increase development productivityOrganization strategies to increase development productivity
Organization strategies to increase development productivity
 
History of call final report
History of call final reportHistory of call final report
History of call final report
 
OOo4Kids
OOo4KidsOOo4Kids
OOo4Kids
 
Keynote Address: Strategic Perspectives on an Exciting Future with Sakai
Keynote Address: Strategic Perspectives on an Exciting Future with SakaiKeynote Address: Strategic Perspectives on an Exciting Future with Sakai
Keynote Address: Strategic Perspectives on an Exciting Future with Sakai
 
Sakai Charles Sturt Keynote
Sakai Charles Sturt KeynoteSakai Charles Sturt Keynote
Sakai Charles Sturt Keynote
 
Scale O Oo4 Kids
Scale O Oo4 KidsScale O Oo4 Kids
Scale O Oo4 Kids
 
Sakai Overview 02-12-2004
Sakai Overview 02-12-2004Sakai Overview 02-12-2004
Sakai Overview 02-12-2004
 
WEB DESIGN!
WEB DESIGN!WEB DESIGN!
WEB DESIGN!
 
International pbl conf_5b-c_kizaki
International pbl conf_5b-c_kizakiInternational pbl conf_5b-c_kizaki
International pbl conf_5b-c_kizaki
 
Crowdsourcing Your Way to a Better ePortfolio
Crowdsourcing Your Way to a Better ePortfolioCrowdsourcing Your Way to a Better ePortfolio
Crowdsourcing Your Way to a Better ePortfolio
 
20100330paperFilipAssessment
20100330paperFilipAssessment20100330paperFilipAssessment
20100330paperFilipAssessment
 
A New Hiring Paradigm
A New Hiring ParadigmA New Hiring Paradigm
A New Hiring Paradigm
 
Google summer of code 2012
Google summer of code 2012Google summer of code 2012
Google summer of code 2012
 
Technology Driven Differentiated Instruction #KCDTTL
Technology Driven Differentiated Instruction #KCDTTLTechnology Driven Differentiated Instruction #KCDTTL
Technology Driven Differentiated Instruction #KCDTTL
 
Designing and Developing a Blended Course: Best Practices for Japanese Learners
Designing and Developing a Blended Course: Best Practices for Japanese LearnersDesigning and Developing a Blended Course: Best Practices for Japanese Learners
Designing and Developing a Blended Course: Best Practices for Japanese Learners
 
Course Possibilities & Architecture
Course Possibilities & ArchitectureCourse Possibilities & Architecture
Course Possibilities & Architecture
 
OLPD Technology Redesign (2011-2012)
OLPD Technology Redesign (2011-2012)OLPD Technology Redesign (2011-2012)
OLPD Technology Redesign (2011-2012)
 
Institute for New Paradigms - poster materials (higher ed)
Institute for New Paradigms - poster materials (higher ed) Institute for New Paradigms - poster materials (higher ed)
Institute for New Paradigms - poster materials (higher ed)
 
Introducing CS students to open source
Introducing CS students to open sourceIntroducing CS students to open source
Introducing CS students to open source
 
Webstack Academy - Internship Kick Off
Webstack Academy - Internship Kick OffWebstack Academy - Internship Kick Off
Webstack Academy - Internship Kick Off
 

Último

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxSayali Powar
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1GloryAnnCastre1
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 

Último (20)

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptxBIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
BIOCHEMISTRY-CARBOHYDRATE METABOLISM CHAPTER 2.pptx
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1Reading and Writing Skills 11 quarter 4 melc 1
Reading and Writing Skills 11 quarter 4 melc 1
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 

What We've Learned From Building Basie

  • 1. What We’ve Learned From Building Basie and lots of other software using student labor over the course of eight years Greg Wilson http://third-bit.com Feb 2010
  • 2. I Beg To Differ “…student projects, while laudatory, frequently fail to deliver anything useful.” http://joelonsoftware.com/items/2009/10/26.html About a quarter of the student projects I’ve helped supervise since 2002 have delivered software that clients actually used, and the rest have produced something just as useful: experience.
  • 3. The Big Picture 368 people, 136 projects, 35 countries of origin
  • 4. How We Got To Basie Start running directed studies 2002 projects at University of Toronto 2003 2004 First attempt to 2005 2006 build portal Join U of T fulltime (using Java) 2007 2008 UCOSP 2009 2010
  • 5. Why Another Portal? SourceForge and Trac already exist; why build another portal? 1) Self-hosting 2) Simple 3) Batch operations 4) Sustainable Cabot & Wilson: “Tools for Teams: A Survey of Web-Based Software Project Management Portals”. Doctor Dobb’s Journal, October 2009.
  • 8. To Make a Long Story Short Undergraduate students can build a lot of great software If: 1) You have realistic expectations 2) You’re patient 3) You realize that “how” matters more than “what”
  • 9. 1) Realistic Expectations Most students are doing five courses at once Which leaves them 8-10 hours/week for your project A 13-week term is equivalent to 3 full-time weeks How much do you expect a new (junior) hire to do in their first three weeks on the job?
  • 10. Realistic Expectations (cont.) Most faculty are working even harder than their students “We’re here to do research, they pay us to teach, we spend our time on admin.” They care about computer science, which is not the same thing as programming You can’t blame them for doing what they’ve been trained to do, either
  • 11. 2) Patience Your project may be the first time students have written something that isn’t just going to be marked and thrown away And the first time that 90% right isn’t good enough You must not make students feel like failures for working the way they have been trained to Even (especially) if those ways are wrong
  • 12. Patience (cont.) “Why don’t schools teach students [Git | Haskell | GPUs | cloud]?” Because the curriculum is full 4 years × 2 terms/year × 13 weeks = 4800 hours The hard part isn’t figuring out what should be in there The hard part is getting agreement on what to take out
  • 13. 3) How, Not What Q: What was the most valuable lesson you learned from your project? Nobody said “technology” What they did say was: • Teamwork • Presentation skills • Prioritization • Negotiating with real users • Code review • Building their network and portfolio By the way, our project students are 28.5% female
  • 14. There’s A Textbook For That Karl Fogel: Producing Open Source Software: How to Run a Successful Free Software Project O’Reilly, 2005 http://producingoss.com The same skills students need to succeed in grad school
  • 15. Other Lessons Learned • How to run meetings • How to teach students how to do code reviews • What level of tooling is appropriate/feasible • Accountability • How to accelerate ramp-up • Carry-overs from previous terms • Importance of full-time summer work (yay GSoC!) • Industry support • Presentations, presentations, presentations • Scoping and re-scoping deliverables • Recruiting students and faculty • Grading Thanks to Prof. Karen Reid for this list (and much else)
  • 16. Help Us to Help You Basie Eclipse4Edu ElmCity DC FlightSim Ingres MarkUs Mercurial Pony-Build RoboCup Thunderbird WikiDev http://ucosp.wordpress.com