SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Observing
programming
novices
Neil Brown
University of Kent
@twistedsq
Digibury, 13 Nov 2013
How do people learn to program?
(and how can we help them?)
How can we find this out
at a large scale?

Neil Brown, University of Kent, @twistedsq
What We Make

BlueJ

Greenfoot
Neil Brown, University of Kent, @twistedsq
What We Make

Neil Brown, University of Kent, @twistedsq
What We Make

Neil Brown, University of Kent, @twistedsq
What We Make

2.5 million users
annually

0.4 million users
annually

BlueJ

Greenfoot
Neil Brown, University of Kent, @twistedsq
What We Make

2.5 million users
annually

0.4 million users
annually

What Are They All Doing?
BlueJ

Greenfoot
Neil Brown, University of Kent, @twistedsq
Some Small-Scale Studies
An Exploration of Novice Compilation Behaviour in BlueJ, Matt Jadud, 2007

“Many students write significant
amounts of code (10+ lines) at a time,
and then attempt to eliminate all the
syntactic errors that exist in the code”

Neil Brown, University of Kent, @twistedsq
Some Small-Scale Studies
An Exploration of Novice Compilation Behaviour in BlueJ, Matt Jadud, 2007

Study Size: 62 students
“Many students write significant
amounts of code (10+ lines) at a time,
and then attempt to eliminate all the
syntactic errors that exist in the code”

Neil Brown, University of Kent, @twistedsq
BIG DATA
Add recording to all BlueJ instances
(With explicit opt-in)

Neil Brown, University of Kent, @twistedsq
MEDIUM

BIG DATA
Add recording to all BlueJ instances
(With explicit opt-in)

Neil Brown, University of Kent, @twistedsq
How Much Data?

20,000 users per day
≈ 25% opt-in?
≈ 100KB data per user per day
≈ 0.5GB per day
≈ 200GB per year

Neil Brown, University of Kent, @twistedsq
How Much Data?
20,000 users per day ✓
≈ 25% opt-in? ✗ 40%
≈ 100KB data per user per day ✓
≈ 0.5GB per day ✗ ≈ 1 GB
≈ 200GB per year ✗ 300-400 GB

Neil Brown, University of Kent, @twistedsq
Headline statistics so far
(5 months in)
140,000 opted-in users
600,000 projects
5,100,000 successful compilations
4,700,000 unsuccessful compilations

Neil Brown, University of Kent, @twistedsq
Hardware Specs
2 machines (1 for recording, 1 for analysis)
24 core 2.5Ghz Xeon, 32GB RAM, 5TB RAID

Neil Brown, University of Kent, @twistedsq
Most common compile errors
Unknown variable

17%

Semi-colon expected

10%

Unknown method

7%

Bracket expected

7%

Unknown class

5%

Illegal start of expression

4%

Neil Brown, University of Kent, @twistedsq
Most common compile errors
Unknown variable

17%

Semi-colon expected

10%

Unknown method

7%

Unknown class

5%

Illegal start of expression

4%

Do they changeexpected 7% term?
during the
Bracket

Neil Brown, University of Kent, @twistedsq
Compile errors over time

Neil Brown, University of Kent, @twistedsq
Rarer compile errors
65th most common compilation error:
非法的表

式

始

Neil Brown, University of Kent, @twistedsq
Rarer compile errors
65th most common compilation error:
非法的表

式

始

Neil Brown, University of Kent, @twistedsq
Problematic if statements
What does this code do?
if (x >= 6 && x <= 9)
{
x = 0;
}

Neil Brown, University of Kent, @twistedsq
Problematic if statements
What does this code do?
if (x*x >= 36 && x*x <= 81);
{
x = 0;
}

Neil Brown, University of Kent, @twistedsq
Problematic if statements
How prevalent is this mistake?
Appeared in 0.15% of source files
How long does it take before people fix it?
Later fixed in half of them...

Neil Brown, University of Kent, @twistedsq
Problematic if statements

Neil Brown, University of Kent, @twistedsq
Challenges
A lot of data -- and a lot of method questions, e.g.
- How do you measure error difficulty?
- What is a frequent error?
(what is worth caring about?)
- How much can you get from this kind of data-set?
Scaling the analysis (already maxing out 24 cores)

Questions?
Neil Brown, University of Kent, @twistedsq

Más contenido relacionado

Más de Lizzie Hodgson

Our complex tech future
Our complex tech futureOur complex tech future
Our complex tech futureLizzie Hodgson
 
If you love something let it go (or how to manage your inner founder mentality)
If you love something let it go (or how to manage your inner founder mentality)If you love something let it go (or how to manage your inner founder mentality)
If you love something let it go (or how to manage your inner founder mentality)Lizzie Hodgson
 
About ThinkNation 2015
About ThinkNation 2015 About ThinkNation 2015
About ThinkNation 2015 Lizzie Hodgson
 
Digibury June 2015: Howard griffin - the future of architectural visualisation
Digibury June 2015: Howard griffin - the future of architectural visualisation Digibury June 2015: Howard griffin - the future of architectural visualisation
Digibury June 2015: Howard griffin - the future of architectural visualisation Lizzie Hodgson
 
Digibury June 2015: Genetic Moo
Digibury June 2015: Genetic Moo Digibury June 2015: Genetic Moo
Digibury June 2015: Genetic Moo Lizzie Hodgson
 
Digibury April 2015 Alaric King: Doing your job as a visual designer / diggin...
Digibury April 2015 Alaric King: Doing your job as a visual designer / diggin...Digibury April 2015 Alaric King: Doing your job as a visual designer / diggin...
Digibury April 2015 Alaric King: Doing your job as a visual designer / diggin...Lizzie Hodgson
 
Digibury April 2015 Hannah Pilbeam: A caffinated introduction to design
Digibury April 2015 Hannah Pilbeam: A caffinated introduction to designDigibury April 2015 Hannah Pilbeam: A caffinated introduction to design
Digibury April 2015 Hannah Pilbeam: A caffinated introduction to designLizzie Hodgson
 
Digibury April 2015 Rachael Case: Embrace the Fear!
Digibury April 2015 Rachael Case: Embrace the Fear!Digibury April 2015 Rachael Case: Embrace the Fear!
Digibury April 2015 Rachael Case: Embrace the Fear!Lizzie Hodgson
 
Digibury March 11 - Mike Jongbloet: Great Kick off Meetings
Digibury March 11 - Mike Jongbloet: Great Kick off MeetingsDigibury March 11 - Mike Jongbloet: Great Kick off Meetings
Digibury March 11 - Mike Jongbloet: Great Kick off MeetingsLizzie Hodgson
 
Digibury: Steve Coppin-Smith, Deeson scrum for agencies
Digibury: Steve Coppin-Smith, Deeson scrum for agenciesDigibury: Steve Coppin-Smith, Deeson scrum for agencies
Digibury: Steve Coppin-Smith, Deeson scrum for agenciesLizzie Hodgson
 
Digibury: 6-2 Design - why open source is good for us all
Digibury: 6-2 Design - why open source is good for us allDigibury: 6-2 Design - why open source is good for us all
Digibury: 6-2 Design - why open source is good for us allLizzie Hodgson
 
Digibury: SciVisum - Making your website fast - and scalable
Digibury: SciVisum - Making your website fast - and scalableDigibury: SciVisum - Making your website fast - and scalable
Digibury: SciVisum - Making your website fast - and scalableLizzie Hodgson
 
Digibury: Mind the Gaps
Digibury: Mind the Gaps Digibury: Mind the Gaps
Digibury: Mind the Gaps Lizzie Hodgson
 
Digibury December: Dan Knox, University of Kent Makerspace
Digibury December: Dan Knox, University of Kent MakerspaceDigibury December: Dan Knox, University of Kent Makerspace
Digibury December: Dan Knox, University of Kent MakerspaceLizzie Hodgson
 
Digibury: Socialising motorsport with GPS
Digibury: Socialising motorsport with GPSDigibury: Socialising motorsport with GPS
Digibury: Socialising motorsport with GPSLizzie Hodgson
 
Digibury: Map My Tracks -A brief history of GPS use in mobile phones
Digibury: Map My Tracks -A brief history of GPS use in mobile phonesDigibury: Map My Tracks -A brief history of GPS use in mobile phones
Digibury: Map My Tracks -A brief history of GPS use in mobile phonesLizzie Hodgson
 
Drupal show & tell talk personas
Drupal show & tell talk personasDrupal show & tell talk personas
Drupal show & tell talk personasLizzie Hodgson
 
Digibury - Ladan Najafi: Introduction to Electronic Assistive Technology
Digibury - Ladan Najafi: Introduction to Electronic Assistive TechnologyDigibury - Ladan Najafi: Introduction to Electronic Assistive Technology
Digibury - Ladan Najafi: Introduction to Electronic Assistive TechnologyLizzie Hodgson
 

Más de Lizzie Hodgson (20)

Our complex tech future
Our complex tech futureOur complex tech future
Our complex tech future
 
If you love something let it go (or how to manage your inner founder mentality)
If you love something let it go (or how to manage your inner founder mentality)If you love something let it go (or how to manage your inner founder mentality)
If you love something let it go (or how to manage your inner founder mentality)
 
About ThinkNation 2015
About ThinkNation 2015 About ThinkNation 2015
About ThinkNation 2015
 
Digibury June 2015: Howard griffin - the future of architectural visualisation
Digibury June 2015: Howard griffin - the future of architectural visualisation Digibury June 2015: Howard griffin - the future of architectural visualisation
Digibury June 2015: Howard griffin - the future of architectural visualisation
 
Digibury June 2015: Genetic Moo
Digibury June 2015: Genetic Moo Digibury June 2015: Genetic Moo
Digibury June 2015: Genetic Moo
 
Digibury April 2015 Alaric King: Doing your job as a visual designer / diggin...
Digibury April 2015 Alaric King: Doing your job as a visual designer / diggin...Digibury April 2015 Alaric King: Doing your job as a visual designer / diggin...
Digibury April 2015 Alaric King: Doing your job as a visual designer / diggin...
 
Digibury April 2015 Hannah Pilbeam: A caffinated introduction to design
Digibury April 2015 Hannah Pilbeam: A caffinated introduction to designDigibury April 2015 Hannah Pilbeam: A caffinated introduction to design
Digibury April 2015 Hannah Pilbeam: A caffinated introduction to design
 
Digibury April 2015 Rachael Case: Embrace the Fear!
Digibury April 2015 Rachael Case: Embrace the Fear!Digibury April 2015 Rachael Case: Embrace the Fear!
Digibury April 2015 Rachael Case: Embrace the Fear!
 
Digibury March 11 - Mike Jongbloet: Great Kick off Meetings
Digibury March 11 - Mike Jongbloet: Great Kick off MeetingsDigibury March 11 - Mike Jongbloet: Great Kick off Meetings
Digibury March 11 - Mike Jongbloet: Great Kick off Meetings
 
Digibury: Steve Coppin-Smith, Deeson scrum for agencies
Digibury: Steve Coppin-Smith, Deeson scrum for agenciesDigibury: Steve Coppin-Smith, Deeson scrum for agencies
Digibury: Steve Coppin-Smith, Deeson scrum for agencies
 
Digibury: 6-2 Design - why open source is good for us all
Digibury: 6-2 Design - why open source is good for us allDigibury: 6-2 Design - why open source is good for us all
Digibury: 6-2 Design - why open source is good for us all
 
Digibury: SciVisum - Making your website fast - and scalable
Digibury: SciVisum - Making your website fast - and scalableDigibury: SciVisum - Making your website fast - and scalable
Digibury: SciVisum - Making your website fast - and scalable
 
Digibury: Ukik
Digibury: Ukik Digibury: Ukik
Digibury: Ukik
 
Digibury: MyCycle
Digibury: MyCycleDigibury: MyCycle
Digibury: MyCycle
 
Digibury: Mind the Gaps
Digibury: Mind the Gaps Digibury: Mind the Gaps
Digibury: Mind the Gaps
 
Digibury December: Dan Knox, University of Kent Makerspace
Digibury December: Dan Knox, University of Kent MakerspaceDigibury December: Dan Knox, University of Kent Makerspace
Digibury December: Dan Knox, University of Kent Makerspace
 
Digibury: Socialising motorsport with GPS
Digibury: Socialising motorsport with GPSDigibury: Socialising motorsport with GPS
Digibury: Socialising motorsport with GPS
 
Digibury: Map My Tracks -A brief history of GPS use in mobile phones
Digibury: Map My Tracks -A brief history of GPS use in mobile phonesDigibury: Map My Tracks -A brief history of GPS use in mobile phones
Digibury: Map My Tracks -A brief history of GPS use in mobile phones
 
Drupal show & tell talk personas
Drupal show & tell talk personasDrupal show & tell talk personas
Drupal show & tell talk personas
 
Digibury - Ladan Najafi: Introduction to Electronic Assistive Technology
Digibury - Ladan Najafi: Introduction to Electronic Assistive TechnologyDigibury - Ladan Najafi: Introduction to Electronic Assistive Technology
Digibury - Ladan Najafi: Introduction to Electronic Assistive Technology
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 

Último (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Digibury: Neil Brown - Observing Programming Novices on a Large Scale

  • 1. Observing programming novices Neil Brown University of Kent @twistedsq Digibury, 13 Nov 2013
  • 2. How do people learn to program? (and how can we help them?) How can we find this out at a large scale? Neil Brown, University of Kent, @twistedsq
  • 3. What We Make BlueJ Greenfoot Neil Brown, University of Kent, @twistedsq
  • 4. What We Make Neil Brown, University of Kent, @twistedsq
  • 5. What We Make Neil Brown, University of Kent, @twistedsq
  • 6. What We Make 2.5 million users annually 0.4 million users annually BlueJ Greenfoot Neil Brown, University of Kent, @twistedsq
  • 7. What We Make 2.5 million users annually 0.4 million users annually What Are They All Doing? BlueJ Greenfoot Neil Brown, University of Kent, @twistedsq
  • 8. Some Small-Scale Studies An Exploration of Novice Compilation Behaviour in BlueJ, Matt Jadud, 2007 “Many students write significant amounts of code (10+ lines) at a time, and then attempt to eliminate all the syntactic errors that exist in the code” Neil Brown, University of Kent, @twistedsq
  • 9. Some Small-Scale Studies An Exploration of Novice Compilation Behaviour in BlueJ, Matt Jadud, 2007 Study Size: 62 students “Many students write significant amounts of code (10+ lines) at a time, and then attempt to eliminate all the syntactic errors that exist in the code” Neil Brown, University of Kent, @twistedsq
  • 10. BIG DATA Add recording to all BlueJ instances (With explicit opt-in) Neil Brown, University of Kent, @twistedsq
  • 11. MEDIUM BIG DATA Add recording to all BlueJ instances (With explicit opt-in) Neil Brown, University of Kent, @twistedsq
  • 12. How Much Data? 20,000 users per day ≈ 25% opt-in? ≈ 100KB data per user per day ≈ 0.5GB per day ≈ 200GB per year Neil Brown, University of Kent, @twistedsq
  • 13. How Much Data? 20,000 users per day ✓ ≈ 25% opt-in? ✗ 40% ≈ 100KB data per user per day ✓ ≈ 0.5GB per day ✗ ≈ 1 GB ≈ 200GB per year ✗ 300-400 GB Neil Brown, University of Kent, @twistedsq
  • 14. Headline statistics so far (5 months in) 140,000 opted-in users 600,000 projects 5,100,000 successful compilations 4,700,000 unsuccessful compilations Neil Brown, University of Kent, @twistedsq
  • 15. Hardware Specs 2 machines (1 for recording, 1 for analysis) 24 core 2.5Ghz Xeon, 32GB RAM, 5TB RAID Neil Brown, University of Kent, @twistedsq
  • 16. Most common compile errors Unknown variable 17% Semi-colon expected 10% Unknown method 7% Bracket expected 7% Unknown class 5% Illegal start of expression 4% Neil Brown, University of Kent, @twistedsq
  • 17. Most common compile errors Unknown variable 17% Semi-colon expected 10% Unknown method 7% Unknown class 5% Illegal start of expression 4% Do they changeexpected 7% term? during the Bracket Neil Brown, University of Kent, @twistedsq
  • 18. Compile errors over time Neil Brown, University of Kent, @twistedsq
  • 19. Rarer compile errors 65th most common compilation error: 非法的表 式 始 Neil Brown, University of Kent, @twistedsq
  • 20. Rarer compile errors 65th most common compilation error: 非法的表 式 始 Neil Brown, University of Kent, @twistedsq
  • 21. Problematic if statements What does this code do? if (x >= 6 && x <= 9) { x = 0; } Neil Brown, University of Kent, @twistedsq
  • 22. Problematic if statements What does this code do? if (x*x >= 36 && x*x <= 81); { x = 0; } Neil Brown, University of Kent, @twistedsq
  • 23. Problematic if statements How prevalent is this mistake? Appeared in 0.15% of source files How long does it take before people fix it? Later fixed in half of them... Neil Brown, University of Kent, @twistedsq
  • 24. Problematic if statements Neil Brown, University of Kent, @twistedsq
  • 25. Challenges A lot of data -- and a lot of method questions, e.g. - How do you measure error difficulty? - What is a frequent error? (what is worth caring about?) - How much can you get from this kind of data-set? Scaling the analysis (already maxing out 24 cores) Questions? Neil Brown, University of Kent, @twistedsq