![Page 1: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/1.jpg)
Small, Simple & Smelly:
What we can learn from examining end-user
artifacts?@Felienne
![Page 2: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/2.jpg)
Ehm? DSLs and End-
Users?
![Page 3: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/3.jpg)
Ehm? DSLs and End-
Users?
![Page 4: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/4.jpg)
Ehm? DSLs and End-
Users?
![Page 5: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/5.jpg)
“In the future, everyone will be a programmer for 15
minutes” @Felienne
![Page 6: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/6.jpg)
![Page 7: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/7.jpg)
1968
![Page 8: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/8.jpg)
1974
Internet
![Page 9: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/9.jpg)
1991
The web
![Page 10: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/10.jpg)
2005
YouTube
![Page 11: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/11.jpg)
“In the future, everyone will be a programmer for 15
minutes”
![Page 12: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/12.jpg)
What are the tools
needed to make this
prediction true?
![Page 13: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/13.jpg)
We are almost there already!
![Page 14: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/14.jpg)
95% of all U.S. firms use
spreadsheets for financial reporting
![Page 15: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/15.jpg)
54% of Dutch citizens
can use Excel formulas
![Page 16: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/16.jpg)
54% of Dutch citizens
can use Excel formulas
was 44% 10 years
ago
![Page 17: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/17.jpg)
“Spreadsheets are not programming”
![Page 18: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/18.jpg)
Spreadsheets are code
![Page 19: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/19.jpg)
Used for similar
problems
![Page 20: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/20.jpg)
![Page 21: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/21.jpg)
Formulas are Turing
complete
![Page 22: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/22.jpg)
![Page 23: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/23.jpg)
Have typical software problems
![Page 24: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/24.jpg)
Spreadsheets live
5 years on average
![Page 25: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/25.jpg)
Are used by 12 different
people
![Page 26: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/26.jpg)
Only 33% of spreadsheets has a manual
![Page 27: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/27.jpg)
Spreadsheets are code
Similar activities, power and problems
![Page 28: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/28.jpg)
But....
![Page 29: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/29.jpg)
How to help everyone?
![Page 30: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/30.jpg)
We know a thing or two about
programming
![Page 31: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/31.jpg)
Object oriented
programming
![Page 32: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/32.jpg)
Smells and refactoring
s
![Page 33: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/33.jpg)
Can we apply those
to spreadsheets?
![Page 34: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/34.jpg)
“code smells” for
spreadsheet formulas
![Page 35: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/35.jpg)
“Long method”
![Page 36: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/36.jpg)
“Too many parameters”
![Page 37: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/37.jpg)
Conditional complexity
![Page 38: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/38.jpg)
Code clones
![Page 39: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/39.jpg)
Code clones
![Page 40: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/40.jpg)
Smells are common!
![Page 41: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/41.jpg)
Smells are common!
42% of spreadsheets have smells
Detecting and Refactoring Code Smells in Spreadsheet Formulas, Hermans et al., Empirical Software Engineering, 2014
![Page 42: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/42.jpg)
What are the tools needed to make this
prediction true?
Maybe smell detection
is a good tool....?
![Page 43: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/43.jpg)
Can we start earlier?
![Page 44: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/44.jpg)
Do code smells matter to kids?
![Page 45: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/45.jpg)
The Scratch programming language
![Page 46: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/46.jpg)
Do code smells matter to kids?
The Scratch programming language
![Page 47: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/47.jpg)
Sprites
![Page 48: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/48.jpg)
Scripts
![Page 49: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/49.jpg)
Each sprite can have scripts
![Page 50: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/50.jpg)
Do code smells matter to kids?
![Page 51: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/51.jpg)
A simple game
![Page 52: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/52.jpg)
One ‘good’ version
![Page 53: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/53.jpg)
Two ‘smelly’ versions
![Page 54: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/54.jpg)
Two ‘smelly’ versions
Long method
Duplicated code
![Page 55: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/55.jpg)
Version N
![Page 56: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/56.jpg)
Version D
![Page 57: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/57.jpg)
Version D
![Page 58: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/58.jpg)
Version D
![Page 59: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/59.jpg)
Version D
![Page 60: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/60.jpg)
Version D
![Page 61: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/61.jpg)
Version D
![Page 62: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/62.jpg)
Version N
![Page 63: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/63.jpg)
Version N
![Page 64: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/64.jpg)
Version L
![Page 65: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/65.jpg)
Do code smells
matter to kids?
![Page 66: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/66.jpg)
tl;drYes
![Page 67: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/67.jpg)
tl;drYes
Kids performed significantly better on the non-smelly program
![Page 68: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/68.jpg)
tl;drYes
But, differences tasks are impacted differently
![Page 69: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/69.jpg)
Let’s take a closer look!
![Page 70: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/70.jpg)
Version N
“When have you won the
game?”
![Page 71: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/71.jpg)
Version L
“When have you won the
game?”
![Page 72: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/72.jpg)
Let’s take a closer look!
Understanding seems affected more by the Long Method smell
![Page 73: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/73.jpg)
Version N
“Make the game go to 10 points”
![Page 74: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/74.jpg)
Version N
“Make the game go to 10 points”
![Page 75: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/75.jpg)
Version D
![Page 76: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/76.jpg)
Version D
![Page 77: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/77.jpg)
Version D
![Page 78: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/78.jpg)
Let’s take a closer look!
Modification is hampered most by Duplication
![Page 79: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/79.jpg)
Smells are bad!
(also for kids)
![Page 80: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/80.jpg)
Smells are bad!
(also for kids)
Are smells common?
![Page 81: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/81.jpg)
Thanks MIT
![Page 82: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/82.jpg)
![Page 83: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/83.jpg)
![Page 84: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/84.jpg)
![Page 85: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/85.jpg)
![Page 86: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/86.jpg)
How do kids code
in Scratch?
What do kids do in Scratch?
![Page 87: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/87.jpg)
Let’s look at some
programs!
![Page 88: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/88.jpg)
Downloaded all shared
programs for 24 hours
![Page 89: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/89.jpg)
250.000 JSON files
![Page 90: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/90.jpg)
Flattened into csv
![Page 91: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/91.jpg)
Flattened into csv
Available on GitHub! https://github.com/TUDelftScratchLab/ScratchDataset
![Page 92: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/92.jpg)
How do kids code
in Scratch?
What we found...
![Page 93: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/93.jpg)
Many programs are
small...
![Page 94: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/94.jpg)
Median program
![Page 95: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/95.jpg)
Median program
2 sprites5 scripts29 blocks
![Page 96: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/96.jpg)
But....
![Page 97: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/97.jpg)
300 variables300
procedures100 events
![Page 98: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/98.jpg)
And what about smells?
![Page 99: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/99.jpg)
Duplicated Code
![Page 100: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/100.jpg)
Duplicated Code
![Page 101: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/101.jpg)
Duplicated Code
Across sprites: in 26% of the
projects
Within sprites: in 10% of the
projects
![Page 102: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/102.jpg)
Large Script
![Page 103: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/103.jpg)
Large Script
scripts with >18 blocks
in 30% of the
projects
![Page 104: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/104.jpg)
1 2
3 4
Dead Code
![Page 105: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/105.jpg)
3
1 2
4
Dead Code
![Page 106: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/106.jpg)
3
1 2
4
Dead Code
24%
1%
8%24
%
![Page 107: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/107.jpg)
3
1 2
4
Dead Code
24%
1%
8%24
%
Any: 28% of the projects
![Page 108: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/108.jpg)
Programs are simple
In summary...
![Page 109: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/109.jpg)
But....
![Page 110: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/110.jpg)
Smells are common
![Page 111: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/111.jpg)
Now what?
![Page 112: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/112.jpg)
A better language?
![Page 113: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/113.jpg)
A better language?
Educate!
![Page 114: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/114.jpg)
Retain flexibility
![Page 115: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/115.jpg)
Education is possible!
![Page 116: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/116.jpg)
Over 3000 kids
enrolled
![Page 117: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/117.jpg)
1 2 3 4 5 6 7 8 9 1011121314151617181920210
50
100
150
200
250
300
Age
Num
ber
of s
tude
nts
75% between 7 and 11
![Page 118: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/118.jpg)
What kids thought
they learned
![Page 119: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/119.jpg)
What they really learned
![Page 120: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/120.jpg)
Quality is not harder than
Coding!
*Paper Under Review
![Page 121: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/121.jpg)
Taught in traditional way
![Page 122: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/122.jpg)
*http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0141357
Meet Dr.
Pigeon
![Page 123: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/123.jpg)
*http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0141357
Meet Dr.
Pigeon
coo!
![Page 124: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/124.jpg)
*http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0141357
Meet Dr.
Pigeon
75% correct after 2 weeks
![Page 125: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/125.jpg)
Sparrow Decks
![Page 126: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/126.jpg)
Song House
Sparrow Decks
![Page 127: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/127.jpg)
![Page 128: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/128.jpg)
![Page 129: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/129.jpg)
![Page 130: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/130.jpg)
![Page 131: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/131.jpg)
![Page 132: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/132.jpg)
![Page 133: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/133.jpg)
![Page 134: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/134.jpg)
![Page 135: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/135.jpg)
Now:
• Q&A
Then:
• Hands on!!
“In the future, everyone will be a programmer for 15
minutes” @Felienne
![Page 136: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/136.jpg)
More info?
• www.felienne.com
• github.com/TUDelftScratchLab
Want to connect?• [email protected]
“In the future, everyone will be a programmer for 15
minutes” @Felienne
![Page 137: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/137.jpg)
![Page 138: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/138.jpg)
![Page 139: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/139.jpg)
What are the tools needed to make this
prediction true?
![Page 140: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/140.jpg)
Smell detection
& refactoring
support!
What are the tools needed to make this
prediction true?
![Page 141: Small, simple and smelly: What we can learn from examining end-user artifacts?](https://reader035.vdocuments.net/reader035/viewer/2022062523/58f382261a28ab525e8b4577/html5/thumbnails/141.jpg)
Can we create an
IDE for the masses?