73
Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Embed Size (px)

Citation preview

Page 1: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myths about MOOCs and Software Engineering

Education

Armando Fox & David PattersonUniversity of California, Berkeley

October, 2013

1

Page 2: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Outline

• 8 Myths about Software Engineering Education

• An Agile Approach to SW Eng Education• 5 Myths about MOOCs (Massive Open

Online Course)• Experience with SPOCs (Small Private

Online Course)• Conclusion: 21st Century Textbook is

SPOC-Ebook Hybrid?• Q&A• My Story – Accidental Academic / What

Works for Me

2

Page 3: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 1: No SW Eng Jobs in US

3

“I’m sick of hearing all the whining about how outsourcing is going to migrate all IT jobs to the country with the lowest wages. … Alas, high school students and their parents believe these rumors, and they are scared about majoring in computer science…[In fact, the] Office of Technology of the U.S. Department of Commerce reports that between 1999 and 2004, U.S. IT employment grew 17 percent.”

David Patterson, "Stop whining about outsourcing!" Queue (2005)

Page 4: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

4

Myth 1: No SW Eng Jobs in US

71%

14%

5%

5%

3% 2%

STEM Job Growth 2010 to 2020, US Bureau of Labor Statistics

Computer Occupations

Engineers

Life Scientists

Social Scientists and Related Workers

Physical Scientists

Mathematical Science Occupations

Page 5: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 1: No SW Eng Jobs in US

16. Petroleum Engineer28. Civil Engineer34. Computer Programmer40. Physician58. Nuclear Engineer60. Aerospace Engineer66. Mechanical Engineer 73. Electrical Engineer

5

83. Industrial Engineer

87. Attorney104. Airline Pilot137. High School

Teacher163. Police Officer178. Actor185. Firefighter196. Newspaper

Reporter200. Lumberjack

Top Jobs 2012. Based on salary, stress levels, hiring outlook, physical demands, and work environment (www.careercast.com)

1. Software Engineer

Page 6: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 2: SW Eng = Programming

• Reality: Programmers Eternally Optimistic– Almost perfect code 1st

time– Little debugging, then

ready– Don’t waste time with

specs, testing framework, …

• SW Eng ≈ Vitamins– Maybe good for you– Don’t really have to

follow

6

Page 7: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 3: Lots of Time to Teach SW

Eng• Reality: 4 to 5 full

time weeks to teach SW Engineering!

• CS/CE Degree => 1 semester or 2 quarter courses

• Students take 4 courses:– 1 * 15 weeks / 4 ≈ 4

weeks– 2 * 10 weeks / 4 ≈ 5

weeks

7

Page 8: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 4: Instructor is Expert

• Reality: SW Eng novices

• Unlikely faculty are practicing SW Engineers

• Unlikely faculty are even researchers in SW Engineering– 16 faculty taught UC

Berkeley SW Eng course in last 20 years 8

Page 9: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 5: Picking SW Development Method is

Easy• Reality: Many to

chose from• Plan-and-Document

Methodologies:– ≈ Civil Engineering– Waterfall, Spiral,

Rational Unified Process, …

• Agile Methodologies:– ≈ Movie Making– Extreme

Programming, Kanban, Scrum, …

9

Page 10: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 6: SW Eng Textbooks follow learning by doing

• Reality: surveys of methodologies, platforms, issues vs. “I hear & forget; see & remember; do & understand”

• Leading textbook in 7th Edition (1st Edition 1982)

• Amazon Rating: 1.7 / 5 stars

10

• “This is just a horrible book and it's unfortunate that many CS students have to get stuck using it”

• “Horrible out-of-date Software Engineering book” • “I found the book very hard to read, due in part to poor

organization, writing style, and FLUFF!” • “Train Wreck In Print”• “ Buy only if you want a narrow view of plenty of

outdated topics” • “This book is actively harmful to Software Engineering”

Page 11: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 7: SW Eng Tools Available

• Reality: No tools to support many SW methodologies, or too expensive for classroom

• So less likely for students to follow SWE guidelines– And harder for

instructors to check if do follow them 11

Page 12: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Myth 8: SW Eng Course => well prepared for careers

• Reality: Industry traditionally complains about SW Eng Courses at every university

• (Only CS course so widely defamed?)

12

Page 13: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Common Sad, Stable Situation

• Students ignore lectures, build SW as always have =>just a project course– frustrating to instructors– boring to students– disappointing to industry

• Reward for teaching SW Eng: poor evaluations – 16 faculty taught SWE last

20 years vs. 6 teach data structure or compilers

13

Page 14: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Revamping Berkeley Course

• Ask SW companies for advice– Amazon, eBay, Google,

Microsoft, Salesforce, VMware

• Students can write code, but lack basic SW skills, especially:1. Dealing with legacy

code (unanimous)2. Working in team for

non-technical customer

3. Automated testing

14

Page 15: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Revamping Berkeley Course

• Do project in ≈5 student teams• Recruit non-technical customer

from non-profit organizations– Can’t afford IT staff,

or even to buy software– Grateful for any help

15

Page 16: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Example Non-Profit Projects

• Humane Society Pet Matchmaker• Student Dormitory Package Notifier• Minority VC firm Customer

Relationship Manager (tracks startup proposals)

• Children’s Hospital Nurse Vacation Scheduler (see video)

16

Page 17: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Nurse Scheduler Project

17

Page 18: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Example Non-Profit Projects

18

• Bonus: CS does community outreach• Bonus: Led to new student

organization– Blueprint, Technology for Non-Profits

(http://bptech.berkeley.edu/)

Page 19: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Picking a Platform & Methodology

• Platform to motivate students– Smart Phone or Cloud

Computing?

19

• Pick combo with the best tools!– Save time given only 4-5

weeks– Easier for student to

follow advice – Can grade process vs.

final project

• SW Methodologies– Plan-and-Document or

Agile?

Page 20: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Picking a Platform & Methodology

• By large margin, best tools in Agile SW development for

Cloud Computing Apps– “Software as a Service” or

SaaS

20

• We’re using Ruby on Rails – Ruby programming

language– Rails programming

framework• Bonus: see lifelong

learning of new tools is essence of SW Engineering

Page 21: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Ruby on Rails Too Slow?

• Computer cost-performance improvements– 1000X since Java announced in 1995– 1,000,000X since C++ announced in 1979– Spend on programmer productivity (in

classroom)• In the Cloud, horizontal scalability can

trump single-node performance– Can teach (and test) what makes an app

scalable– Not covered elsewhere in curriculum 21

Page 22: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Agile Manifesto, 2001

“We are uncovering better ways of developing SW by doing it and helping others do it. Through this work we have come to value•Individuals and interactions over processes & tools•Working software over comprehensive documentation•Customer collaboration over contract negotiation•Responding to change over following a planThat is, while there is value in the items on the right, we value the items on the left more.”

22

Page 23: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Agile lifecycle

• Embraces change as a fact of life: continuous improvement vs. phases

• Developers continuously refine working but incomplete prototype until customers happy, with customer feedback on each Iteration (every ≈1 to 2 weeks)

• Agile: Test-Driven Development (TDD) to reduce mistakes, User Stories to validate customer requirements, Velocity (average no. user stories/iteration) to measure progress

23

Page 24: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

• If short iterations are good, make them as short as possible (weeks vs. years)

• If simplicity is good, always do the simplest thing that could possibly work

• If testing is good, test all the time; Write the test before you write the code to test

• If code reviews are good, review code continuously, by programming in pairs, taking turns looking over each other’s shoulders

• Each helps classroom problem

“Extreme Programming” (XP) version of Agile

24

=> N iterations/project

=> Serious testing

=> Peer learning=> Perfect for

classroom

=> Fewer lines of code

Page 25: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

How Popular is Agile?

• IT SW companies using Agile: Amazon, eBay, Facebook, Microsoft, Salesforce, …

• 2011 Survey of CS169 Alumni in industry– 68% Agile vs. 32% Plan-and-Document

• 2012 survey of 66 distributed projects*– 55% Agile vs. 45% Plan-and-Document

• Forrester: 60% teams use Agile as primary SW development in 2012 vs. 45% in 2009**

• Gartner: 80% teams primarily Agile by end of 2012***

25

*H.-C. Estler, M. Nordio, C. A. Furia, B. Meyer, and J. Schneider. Agile vs. structured distributed software development: A case study. Proc. 7th Int’l Conf. on Global Software Engineering (ICGSE’12), pp 11–20, 2012.**http://articles.economictimes.indiatimes.com/2012-08-06/news/33065621_1_thoughtworks-software-development-iterative.***http://www.pmi.org/en/Professional-Development/Career-Central/Must_Have_Skill_Agile.aspx.

Page 26: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

2-week Agile/XP Iteration

26

Talk to customer

Lo-fi UI mockup

User stories & scenarios

Behavior-driven Design / user stories

RSpec

Test-first dev. (unit/funct.)

Measure Velocity

Deploy

Legacy Code

Design patterns

Page 27: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Methodologies

• Software arch., design patterns, coding practices

• Test-first development, unit testing

• Behavior-driven design, integration testing

• Agile, iteration-based project management

• Version management & collaboration skills

• SaaS technologies, deployment & operations

• Ruby & Rails

• RSpec• Cucumber

• Pivotal Tracker

• Git & Github

• Cloud computing: EC2, Heroku 27

...become Tools

Page 28: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

28

Example: Behavior-driven Design from Lo-fi Mockup

Page 29: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Reaching agreement with customer via User Stories

Feature: staff can add admit to meeting with open slot As an EECS staff member So that I can accommodate last-minute requests I want to manually tweak a faculty member's schedule

Scenario: add an admit to a meeting with an open slot Given "Velvel Kahan" is available at 10:20 When I select "Velvel Kahan" from the menu for the 10:20

meeting with "Armando Fox" And I press "Save Changes" Then I should be on the master meetings page And I should see "Velvel Kahan added to 10:20AM meeting." And "Armando Fox" should have a meeting with "Velvel

Kahan" at 10:20 Scenario: remove admit from meeting

… 29

Page 30: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

From user stories to acceptance tests

• Runs “natural language” user stories as integration tests

• Each scenario describes one user story – Given steps: setup preconditions– When steps: take actions, using built-in

browser simulator– Then steps: assertions to check post-

conditions• Step definitions match story steps to

code via regexes• Quantify correctness and coverage 30

Page 31: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

31

Methodologies Tools

• Students more easily follow advice

• Instructors more easily grade

• Per-iteration progress quantified

• Students get feedback on estimates

• All these tools free, some hosted in cloud

Page 32: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Fall 09 Fall 10 Spr 12 Fall 120

20

40

60

80

100

120

140

160

180

200

Enrollment

Enrollment

Enrollment

Evaluating Agile Approach

• Students voting with their feet

32

Avg. Size 55

MOOCPre MOOC

Page 33: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Fall 09 Fall 10 Spr 12 Fall 120

20

40

60

80

100

120

140

160

180

200

31

66

112

161

Enrollment

Enrollment

Enrollment

Evaluating Agile Approach

• Students voting with their feet

33

Avg. Size 55

Fall 13

240MOOCPre MOOC

Page 34: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Fall 09 Fall 10 Spr 12 Fall 120

20

40

60

80

100

120

140

160

180

200

4

4.5

5

5.5

6

6.5

7

31

66

112

161

Enrollment Instructor Rating

Enrollment

Rating

Evaluating Agile Approach

• Students voting with their hands

34

Avg. 5.4

Avg. Size 55

MOOCPre MOOC

Page 35: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Fall 09 Fall 10 Spr 12 Fall 120

20

40

60

80

100

120

140

160

180

200

4

4.5

5

5.5

6

6.5

7

31

66

112

161

5.8 5.7

6.3 6.4

6.1 5.8

Enrollment Instructor Rating Course Rating

Enrollment

Rating

Evaluating Agile Approach

• Students voting with their hands

35

Avg. 5.4

Avg. Size 55

MOOCPre MOOC Record rating & size

Page 36: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Evaluating Agile Approach

• Topic useful in my work? Agree – Neutral - Disagree

36Velocity

Lo-fi UI mockups

User stories

Pair programming

Performance and Security

Design patterns

JavaScript

Working in a small team

Scrum team organization

TDD / BDD

Non-technical customers

Cloud performance, security

Ruby on Rails

Unit testing strategies

SaaS knowledge

Legacy code/Refactoring

Version control

26%

37%

37%

37%

42%

47%

61%

61%

63%

63%

63%

63%

68%

68%

74%

84%

95%

42%

37%

37%

16%

42%

32%

39%

28%

11%

16%

26%

26%

32%

26%

21%

11%

5%

32%

26%

26%

47%

16%

21%

0%

11%

26%

21%

11%

11%

0%

5%

5%

5%

0%

68%

47%

63%

74%

61%

84%

37%

63%

37%

61%

63%

68%

26%

42%

37%

63%

95%

32%

32%

26%

21%

28%

11%

16%

11%

37%

39%

16%

26%

42%

42%

37%

26%

5%

0%

21%

11%

5%

11%

5%

47%

26%

26%

0%

21%

5%

32%

16%

26%

11%

0%CS169 Alumni In Industry CS169 Alumni Still In School

Page 37: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Evaluating Agile Approach

• (Anecdotal) Industrial FeedbackI’d be far more likely to prefer graduates of

this program than any other I’ve seen. — Brad Green, Engineering Manager, Google Inc.

A number of software engineers at C3 Energy consistently report that this … course enabled them to rapidly attain proficiency in SaaS development. I recommend this … course to anyone who wants to develop or improve their SaaS programming skills.—Thomas Siebel, CEO C3 Energy, founder & CEO Siebel Systems

• Non-Technical Customer Feedback– 48% customers tried to hire students– 92% customers “happy” or “thrilled” (see video)

37

Page 38: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Interview Nurse Customers

38

Page 39: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Curriculum Committee Agrees

• “students learn best … by participating in a project … Utilizing project teams, projects can be sufficiently challenging to require the use of effective software engineering techniques…”

• “students better learn to apply software engineering approaches through an iterative approach …[they] assess their work, then apply the knowledge gained through assessment to another development cycle” 39

Joint Task Force on Computing Curricula, “Computer Science Curricula 2013, Ironman Draft (version 1.0),” ACM/IEEE CS, Feb. 2013

Page 40: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Ed Tech Transfer?

• Decided to write an electronic textbook (Ebook)

• Ebooks match rapid SW evolution• Fast publication

– Authors finished to book : 9 months– Ebook: 2 days

• No Errata– All Ebooks updated as authors desire

• Frequent Editions– Print : To amortize, new edition in ≈3

years– Ebook: Whenever authors want

40

Page 41: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Outline

• 8 Myths about Software Engineering Education

• An Agile Approach to SW Eng Education• 5 Myths about MOOCs (Massive Open

Online Course)• Experience with SPOCs (Small Private

Online Course)• Conclusion: 21st Century Textbook is

SPOC-Ebook Hybrid?• Q&A• My Story – Accidental Academic / What

Works for Me

41

Page 42: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

MOOC Surprise

• 6 months after decide to write Ebook, recruited for Massive Open Online Course– 1st Berkeley MOOC– 1st or 2nd MOOC from Coursera– 1st MOOC from EdX– 10,000 earned certificates in 2012

• Ebook and MOOC developed hand-in-hand– Each Ebook section maps to 1:1 to MOOC

video segment– Recorded MOOC 3 times => 3 editions of

Engineering Software as a Service: Alpha, Beta, 2nd Beta

42

Page 43: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

43

What Enabled MOOCs?

1980

2006

2006

2008

2006,2010

1. Reuse Prof investment in course prep/lecture, so lecture videos are “free”• We recorded live lectures vs. studio recording

2. Free, scaled up video distribution: YouTube

3. 10 minute segments >> 60 minute lectures• Discovered by Khan Academy

4. Scaled up question answer: By students & TAs in online forums (≈Stack Overflow)

5. Scaled up grading of exams & programming: Cloud computing + Rails testing tools

Page 44: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Autograding Strategies

44

Assignment type

Grading strategy

Write code • RSpec (correctness)•[now] reek/flay (code style)•[now] CodeClimate.org (metrics)

Write test cases (unit, functional,or user stories)

• Mutation testing (Amman & Offutt): app with inserted bugs should cause some tests to fail

Enhance legacy SaaS app (deploy on Heroku)

• Remote (cloud-based) integration test using Mechanize

• C0, happy path, sad paths coverage

Interactive short-answer/multiple-choice

• Our tools emit both printed & online-format (XML) quizzes• [soon] open-ended short-essay

Grading strateg

y

Sub-missio

n

rubric

feed-back

95100

Page 45: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Software Distribution?• Virtual Machines

preloaded with everything students need – With correct versions to

match Ebook, lecture– We used Virtual Box

• Amazingly, few problems with 1000s of students (forum resolved)– Except fast enough

computer (some netbooks too slow?)

– And portal to download VMs

(thanks to AWS, Google, Microsoft)

46

Page 46: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

MOOC Myth 1: Threaten US undergrad programs

• 80% outside US (10,000 certificates in 113 countries)– US (20%), Spain (10%), India (7%), Russia

(6%), UK (5%), Brazil (4%), Canada (3%), Ukraine (3%), Germany (2%)

47

Primary OccupationHigh school student 1%Undergraduate student 8%Graduate student 5%Raising family at home 1%Full time job 70%Part time job 6%Unemployed 8%

Highest Degree< High school degree 1%High school degree 8%Some college, no degree 11%Associate degree 3%Baccalaureate 32%

Prof. degree (JD, MD, ...) 11%Grad degree (MS, PhD, ...) 35%

• Reality: Threatens continuing education programs

Page 47: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

MOOC Myth 2: Lead to diluted courses

• Can’t teach 100% of on-campus course in MOOC?

• Better question: What can deliver that helps our on-campus students + helps 1000s who can’t attend?– E.g., Auto graders give quick, uniform

feedback + enable more staff time for projects

• MOOC minus “unMOOCable” still valuable for continuing education– E.g., our MOOC drops projects and

pair programming– Many MOOC students still say our course

better than anything available to them

48

Page 48: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

MOOC Myth 3: Will weaken on-campus pedagogy

• Berkeley: MOOC improved evaluations• Enough students to use inferential

statistics techniques (SAT exams)– Exploratory factor analysis: test

comparable concepts, can vary exams– Item response theory: which questions

more difficult for good students– A/B testing: which approaches lead to

better learning outcomes• Reality: can help to improve on-

campus pedagogy 49

Page 49: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

MOOC Myth 4: Distract faculty & hurt productivity

• Berkeley: 4X students in SW Eng course

• SJSU tried EE MOOC from MIT– MOOC homeworks, lectures– Same exams as prior SJSU course– Average 5% higher 1st exam– Average 10% higher 2nd exam– 91% got C or better (59% before)– More students finish course

• Reality: Can improve faculty productivity

50

Page 50: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

MOOC Myth 5: Profs now TAs for homogenized

courses• Small Private Online Course (SPOC) allows faculty to create a la carte course

• Automatically graded assignments?• MOOC Forum to answer questions?• Use videos

– To help prepare lectures? – Or as portion of lectures? (e.g., pieces

unsure about?)– Or as substitute when instructor travels?– Or to “flip classroom” if prefer tutoring to

lecturing?• Reality: SPOCs aid faculty, improve

their morale

51

Page 51: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

The SPOC Experience

• Technology developed can scale upto MOOCs, scale down to SPOCs– Improve quality of lesser-know

programs?• Tried 5 SW Eng SPOCs Spring

2013using EdX (first 5 SPOCs)– Binghamton University– Hawaii Pacific University– Tsinghua University, Beijing– U. of Colorado, Colorado Springs– U. of North Carolina, Charlotte

52

Page 52: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

SPOC Selection Spectrum

Binghamton UC Berkeley

U. Colorado Colorado Springs

Tsinghua UNC Charlotte

Hawaii Pacific

Engineering SaaS Textbook ✔ ✔ ✔ ✔ ✔ ✔

Instructor Reviews Video ✔ ✔ ✔ ✔ ✔ ✔

Reuse Assignments ✔ ✔ ✔ ✔ ✔ ✔

Autograde Assignments ✔ ✔ ✔ ✔ ✔

Reuse Exams ✔ ✔ ✔ ✔

Have Local SPOC Forum ✔ ✔ ✔ ✔

Reuse Lecture Slides ✔ ✔ ✔

Students Video Optional ✔ ✔

Show videos in some lectures ✔

Flip Classroom (video required) ✔ ✔

Online Course (video required) ✔

Autograded Exams 53

Page 53: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

SPOCGood & Bad

• Auto-graders took grading burden off staff & emphasized TDD

• Video lectures dense, efficient (can rewind)

• Students excited about latest tech (Rails, Agile)

• Students impressed with “world-class” instruction

• Students got jobs based on class material

• Given MOOC, answers available on Internet

• Auto graders checked for correct “output,” but did not check code style (fixed this semester)

• Some student computers too slow to run VM

• Some didn’t know Linux

• Some reduced work if hit logistical problems

54

Page 54: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

SPOCs Next Time

• Try participating in global MOOC Forum?– Talk to students other

schools about common problems

– Broaden SWE perspective

– Access to “World TAs” to help with technology (Ruby, Rails, tools)

• All 5 want to do again+Want to add more

universities

55

Page 55: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Conclusions (1/2)

• SW Eng Challenges– SWE unnatural, limited time,

novice teachers, many methodologies, poor textbooks, no tools, & industry criticizes

56

• SaaS & Agile revolutionizing SW industry + making SW Eng easier to teach– SaaS tools =>multiple iterations

=> better code => learn, use & appreciate SWE concepts

• Faculty, students, & industry now embrace revised SW Eng course

Page 56: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Conclusions (2/2)

• Need Ebook: MOOC alone too challenging for students (and faculty)

57

• MOOCs increase size and scope of course & repetitions of course– Auto graders, videos, forums,

World TAs

• 21st Century textbook: SPOC/Ebook hybrid?

• SPOCs+Ebooks expand number of classrooms as well as empower faculty and improve their productivity

Page 57: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

To Learn More

• Estler, H.-C., et al., “Agile vs. Structured Distributed Software Development: A Case Study.” Proc. 7th Int’l Conf. Global Software Eng., IEEE 2012, pp. 11–20.

• Fox, A. “From MOOCs to SPOCs.” CACM, to appear.

• Fox, A., & Patterson, D. Engineering Software as a Service, 2nd Beta Edition, Strawberry Canyon, 2013.

• Fox, A., & Patterson, D. “Is the New Software Engineering Curriculum Agile?” IEEE Software, 30:5, Sept/Oct 2013.

• Fox, A., & Patterson, D. “Crossing the software education chasm.” CACM, 55:5, May 2012.

58

Page 58: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Thanks! More info (papers,…): saasbook.info

Acknowledgments: Armando Fox, staff of UC Berkeley CS 169, support staff for EdX CS 169.1x/169.2x

59

Page 59: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

My Story: Accidental Academic• 1st from family to graduate from college; no CS or grad

school plan– Wrestler, Math major in high school and college

• Accidental UCLA PhD student– New UCLA PhD (Jean-Loup Baer) took pity on

undergrad• Wife + 2 sons in Married Students Housing while grad

student– Lost RAship ≈4 years in because grant ended – Part time at Hughes Aircraft Company ≈3 more

years• Accidental Berkeley Professor

– Wife forced me to call UC Berkeley to check on application

• 1st project as Assn’t Prof with an Assoc. Prof too ambitious + no resources– Took leave to DEC to rethink career in 3rd year

• Barely got tenure (Conference vs. journal papers, RISC too early)

• Still get papers rejected by jerks on Program Committees

60

Page 60: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

What Works for Me• Maximize Personal Happiness vs.

Personal Wealth• Family First!• Passion, Courage, & Optimism

– Swing for the fences vs. Bunt for singles– Friends come & go; Enemies accumulate

• Get Honest Feedback• Winning as Team vs. Winning as

Individual– No losers on a winning team; No winners on a

losing team

• One Thing at a Time– It’s not how many projects you start, it’s how many

you finish!

• Have Fun: Work Hard, Play Hard

61

Page 61: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Backup Slides

63

Page 62: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

How Well do Plan-and-Document Processes Work?

64(Figure 1.6, Engineering Long Lasting Software by Armando Fox and David Patterson, 2nd Beta edition, 2013.)

3X

3/~500 new development projects on time and budgetC. Jones. Software project management

practices: Failure versus success. CrossTalk: The Journal of Defense Software Engineering, pages 5–9, Oct. 2004.

J. Johnson. The CHAOS report. Technical report, The Standish Group, Boston, Massachusetts, 1995.

A. Taylor. IT projects sink or swim. BCS Review, Jan. 2000.

Page 63: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Want to do MOOC yourself?

• Having a Rerun Plan is Better than Being Perfect– Needed feedback from MOOC students

before we could improve it ourselves• Consider Delegating

– MOOC alumni volunteer as “World TAs”• Dry Run the Technology

– With 1000s of students, must be perfect• Divide to Conquer

– Divided 12 weeks lecture into two 6-week MOOCs

65

Page 64: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Rails Productivity?

• Compared to Java and its frameworks, Rails programmers found 3X – 5X reductions in number of lines of code – Feng, J. & T. Sedano. "Comparing Extreme

Programming and Waterfall Project Results" Conference on Software Engineering Education and Training (2011).

– Stella, L., S. Jarzabek, & B. Wadhwa, "A comparative study of maintainability of web applications on J2EE, .NET and Ruby on Rails," WSE 2008. 10th International Symposium on Web Site Evolution, Oct. 2008.

66

Page 65: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Scale can accelerate education innovation

• Item response theory Predicts probability that a student of a given ability will answer a given question correctly• Do questions’ point values reflect difficulty?

• Can I randomize quizzes using this info?

Better discrimination

of student ability

Moredifficult

4 questions from CS169 Quiz 1 on Coursera, 7/2012

* Frederic M. Lord, Statistical Theories of Mental Test Scores (1968) and Applications of Item Response Theory to Practical Testing Problems (1980)

Large # of students reduces standard error of question

difficulty & discrimination model by 3x-10x.

Page 66: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Ebook Myth: Manufacturing Cost 0$, so price should be

0$• Authors get 15-30% of

avg. selling price (85% of list price)

• Not counting ≈ 2000 hours of writing time, we invested >$15k in Ebook development– Cover, index, artwork,

Ebook element design, format conversion, marketing, advertising, …

• However, if self publish, can cut out middleman (our Ebook is $10)

68

Page 67: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Reviews of Engineering Software as a Service

• Amazon Rating (Sept 2013): 4.7 / 5 stars

69

• “Great review of modern SAAS and agile software engineering techniques.”

• “Great intro to agile software development.” • “Well worth the cost for online version” • “Classroom focused”• “Originally bought for EdX course - but it is a great book

for learning what modern web developers should know”• “Useful, up to date, fun to read” • “Fun to read, thoroughly researched”• “Wow”

Page 68: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Full Quote Team Projects

• In general, students learn best at the application level much of the material defined in the [software engineering knowledge area] by participating in a project. Such projects should re-quire students to work on a team to develop a software system through as much of its lifecycle as is possible. Much of soft-ware engineering is devoted to effective communication among team members and stakeholders. Utilizing project teams, projects can be sufficiently challenging to require the use of effective software engineering techniques and that students develop and practice their communication skills. While organizing and running effective projects within the academic framework can be challenging, the best way to learn to apply software engineering theory and knowledge is in the practical environment of a project.

70

Joint Task Force on Computing Curricula, “Computer Science Curricula 2013, Ironman Draft (version 1.0),” ACM/IEEE CS, Feb. 2013

Page 69: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Full Quote Agile

• … there is increasing evidence that students better learn to apply software engineering approaches through an iterative approach, where students have the opportunity to work through a development cycle, assess their work, then apply the knowledge gained through their assessment to another development cycle. Agile and iterative lifecycle models inherently afford such opportunities.

71

Joint Task Force on Computing Curricula, “Computer Science Curricula 2013, Ironman Draft (version 1.0),” ACM/IEEE CS, Feb. 2013

Page 70: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

Ranked Jobs: 2009-2013

72Source: careercast.com (income, job outlook, stress, work env.)

2009 2010 2011 2012 2013

1

26

51

76

101

126

52 1 1

3

71

33 33

2832

10 912

47 47

7471

6266

82

6264

78

73

98

8280

82

87

117

Software Engineer

Civil Engineer

Accountant

Mechanical Engineer

Electrical Engineer

Attorney

Ran

k o

f jo

b (

1 is

bes

t)

Page 71: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

STEM Degrees

• Chemistry • Computer and Information Technology

Science • Engineering• Geosciences• Life Sciences• Mathematical Sciences• Social Sciences• Physics

73

Page 72: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

New STEM Jobs 2010-2020

Chemistry Computer and Information Technology

Science EngineeringGeosciencesLife SciencesMathematical SciencesSocial SciencesPhysics

74

Page 73: Myths about MOOCs and Software Engineering Education Armando Fox & David Patterson University of California, Berkeley October, 2013 1

76

Myth 1: No SW Eng Jobs in US

software engineer 30% _x000d_("Much faster than average")

physician 24% _x000d_("Faster than average")

accountant 16% _x000d_("About as fast as average")

attorney 10% _x000d_("About as fast as average")

electrical engineer 6% _x000d_("Slower than average")

913,100

691,000

1,216,900

728,200

294,000

270,900

168,300

190,700

73,600

17,600

Dept. Labor % Increase & Number of jobs, 2010 vs. 2020 (as of 9/2013)

2010 2020 increment