SlideShare a Scribd company logo
USING LEARNING SCIENCES
RESEARCH TO IMPROVE
COMPUTING TEACHING:
PREDICTIONS, SUBGOALS,
AND PARSONS
D R . M A R K G U Z D I A L
P R O F E S S O R , S C H O O L O F I N T E R A C T I V E
C O M P U T I N G
Learning Computer Science is Surprisingly Hard
We can improve success by drawing on Learning Sciences.
• We can use models of motivation to improve retention.
• We can use subgoal labeling to promote learning and transfer.
• We can teach programming with activities other than simply
coding.
STORY
THE RAINFALL PROBLEM
Problem: Read in integers that represent daily rainfall,
and printout the average daily rainfall.
• If the input value of rainfall is less than zero is less than zero, prompt the user
for a new rainfall.
When you read in 99999, print out the average of the
positive integers that were input other than 99999.
RESULTS AT YALE IN PASCAL IN 1983
% of Students who solve
the problem correctly
Novices (3/4 through first
course)
14%
Intermediates (3/4 through
second course)
36%
Advanced (Jrs and Srs in
Systems Programming)
69%
NOT AN ANOMALY
Elliot Soloway and his students replicated this study many times.
Others have used this same problem with similar results in
different programming languages (e.g., Venable, Tan, and Lister,
2009)
Only recently (Kathi Fisler, ICER 2014) has anyone achieved student
success on the Rainfall Problem, by switching the language to
Scheme and teaching higher-level functions.
Three Examples from Drawing on Learning Sciences:
#1: We can use prediction to help students retain knowledge from
in-class live coding.
#2: We can use subgoal labeling to dramatically improve learning
and transfer.
#3: We can use instructional design principles to teach
programming more efficiently with less coding.
Example: Parsons Problems
HOW CAN WE IMPROVE
LEARNING IN CS?
HOW SOUND WORKS:
ACOUSTICS, THE PHYSICS OF SOUND
DIGITIZING SOUND: HOW DO WE GET THAT INTO BYTES?
Remember in calculus,
estimating the curve by
creating rectangles?
We can do the same to
estimate the sound curve
with samples.
Using Learning Sciences Research to Improve Computing Teaching: Predictions, Subgoals, and Parsons
Using Learning Sciences Research to Improve Computing Teaching: Predictions, Subgoals, and Parsons
Eric Mazur study on Physics
Demonstrations
Do Demonstrations in Physics classes help with learning?
ERIC MAZUR ON
DEMONSTRATIONS
You can
probably guess
who did best.
Who do you
think did
worst?
RESULTS FROM POST-TEST
Students who did not see the demo did better than those who did.
• Students who saw the demo mis-remembered it.
Students who made predictions (with or without discussion) did
best.
Suggestion: Every time we run a program in class,
it’s a demonstration.
Students are often overwhelmed when programming.
“You’ve taught me so many details, I don’t know which ones to use.”
(Clancy & Linn, 1990)
How do we convey how to think about the purpose for the parts of
the program? About why each part is there?
Richard Catrambone (1994) invented a way to label the subgoals in
examples provided to students.
• Never tested before in Computer Science
#2: SUBGOAL LABELING
Used subgoal labeling to teaching Andriod App Inventor
(a blocks-based programming environment) to new
Computer Science Students.
Two groups of undergraduate students:
• One group was shown a video for how to use the software to build an App
and given text listing the steps in the instruction.
• Another group was given the video and the steps with subgoal labels.
EXPERIMENT WITH APP INVENTOR
Lauren Margelieux, Mark Guzdial,
and Richard Catrambone,
ICER 2012
Week 1:
Watch the video.
Take a test to demonstrate understanding.
Week 2:
Take a test to demonstrate retention.
Watch a new video.
Take a test to demonstrate understanding of second video.
Take a test where students must build a new app,
transferring knowledge.
STEPS IN EXPERIMENT
EXAMPLE OF WRITTEN MATERIALS
Subgoal
Define Variables from Built-in
Click on "Built-In" and "Definition"
and pull out a def variable.
Click on the "variable" and replace it
with "fortuneList". This creates a
variable called "fortuneList".
Click on "Lists" and drag out a call
make a list
Click on "Text" and drag out a text
text block and drop it next to "item".
Click on the rightmost "text" and
replace it with your first fortune.
Handle Events from My Blocks
Click on "My Blocks" and "Button1".
Drag out a when Button1.Click.
Non-subgoal
Click on "Built-In" and "Definition"
and pull out a def variable.
Click on the "variable" and replace it
with "fortuneList". This creates a
variable called "fortuneList".
Click on "Lists" and drag out a call
make a list
Click on "Text" and drag out a text
text block and drop it next to "item".
Click on the rightmost "text" and
replace it with your first fortune.
Click on "My Blocks" and "Button1".
Drag out a when Button1.Click.
ORIGINAL VIDEO
WITH SUBGOALS
RESULTS: UNDERSTANDING
RESULTS: RETENTION
RESULTS: DEFINE VARIABLE STEP
IN TRANSFER TASK
0
0.2
0.4
0.6
0.8
1
Define Variable
Subgoal
Conventional
p < .001, f = .61
Effect is twice as strong for high school teachers.
Works in text-based languages, too!
How I use it in my classes.
REPLICATED IN OTHER SETTINGS
(Work by
Lauren
Margeliux and
Briana
Morrison.)
One of the strong findings in Educational Psychology is that we
often ask students to solve too many problems, when seeing more
examples might lead to more learning (Clark, Nguyen, Sweller,
2006; Renkl, 2005).
Could we teach Computer Science to teachers by asking them to
look at examples and solve a variety of examples (with very little
coding)?
#3: TEACHING PROGRAMMING
WITH LITTLE CODING
EXAMPLES + PRACTICE MODEL
OTHER TYPES OF PRACTICE PROBLEMS
Fill in the Blank
Multiple Choice with Multiple Feedback
PARSONS PROBLEMS
FINDINGS: WHAT DO USERS
DO IN AN EBOOK?
Ericson, Guzdial, &
Morrison, ICER 2015
Use in our studies: 445 high-school teachers and 516 high-school
students. (New ICER 2017 paper by Miranda Parker et al.)
Teachers who use the ebook and engage with the activities (e.g.,
do more than half of the activities) gain in understanding of
computer science (pre/post-tests) and confidence in their ability to
teach.
Teachers are learning successfully in short segments (~20 minute
settings).
FINDINGS: EBOOK USE
Learning Computer Science is surprisingly hard.
We can improve learning in computer science by drawing on
lessons from the Learning Sciences.
1. Live coding in classes is a form of demonstration. Ask students
to predict results to improve learning.
2. We use subgoal labeling to promote learning and transfer, in
both blocks-based and text-based languages.
3. We can teach programming successfully and efficiently with
activities other than simply coding, such as Parsons Problems.
SUMMARY
Barbara Ericson, Miranda Parker, Kathryn Cunningham, Amber Solomon,
Kantwon Rogers
Colleagues: Richard Catrambone, Lauren Margulieux, Betsy DiSalvo, Tom McKlin,
Rick Adrion, Renee Fall, Brad Miller, Ria Galanos, & Briana Morrison
Our Funders:
US National Science Foundation
http://computinged.wordpress.com
http://home.cc.gatech.edu/csl
http://tinyurl.com/StudentCSP
COLLABORATORS ON THIS WORK
Thank
you!

More Related Content

Similar to Using Learning Sciences Research to Improve Computing Teaching: Predictions, Subgoals, and Parsons (20)

PPTX
Computing Education as a Foundation for 21st Century Literacy
Mark Guzdial
 
PDF
Teacher toolkit Pycon UK Sept 2018
Sue Sentance
 
PPTX
Computational Thinking - A Revolution in 4 Steps
Paul Herring
 
PPTX
Cyber securityeducation may2015
Mark Guzdial
 
PPTX
Teaching of computer programming
marpasha
 
DOCX
E book
Lebohang Molapo
 
PPS
First Principles Of Cs Instruction
Katrin Becker
 
DOCX
Coding io1-materials for students-group2
Georgeta Manafu
 
PDF
From programming to software engineering: ICSE keynote slides available
Celso Martins
 
PDF
633-600 Machine Learning
butest
 
PPTX
TMCSE23_Presentation 2024 Session 3.pptx
ssuser088e5b
 
PDF
Comp thinking
Dian Sari
 
PDF
2022_06_30 «Enseñanza de las Ciencias de la Computación: algunas líneas de in...
eMadrid network
 
PPTX
Effective Methods for Teaching and Assessing Business Applications Programmin...
Niamh O Riordan
 
PDF
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Hironori Washizaki
 
PPTX
Algorithmic thinking and digital fabrication
harshit2013
 
PDF
V Jornadas eMadrid sobre "Educación Digital". Miles Berry, Computing at Schoo...
eMadrid network
 
PPTX
Algorithmic thinking and digital fabrication (1) (2)
Prabhat Kumar
 
PPTX
Instructional software presentation ronen cohen
roneninio
 
PPTX
Learn to code; Code to Learn with MIT's Scratch
Gregory Beutler
 
Computing Education as a Foundation for 21st Century Literacy
Mark Guzdial
 
Teacher toolkit Pycon UK Sept 2018
Sue Sentance
 
Computational Thinking - A Revolution in 4 Steps
Paul Herring
 
Cyber securityeducation may2015
Mark Guzdial
 
Teaching of computer programming
marpasha
 
First Principles Of Cs Instruction
Katrin Becker
 
Coding io1-materials for students-group2
Georgeta Manafu
 
From programming to software engineering: ICSE keynote slides available
Celso Martins
 
633-600 Machine Learning
butest
 
TMCSE23_Presentation 2024 Session 3.pptx
ssuser088e5b
 
Comp thinking
Dian Sari
 
2022_06_30 «Enseñanza de las Ciencias de la Computación: algunas líneas de in...
eMadrid network
 
Effective Methods for Teaching and Assessing Business Applications Programmin...
Niamh O Riordan
 
Rubric-based Assessment of Programming Thinking Skills and Comparative Evalua...
Hironori Washizaki
 
Algorithmic thinking and digital fabrication
harshit2013
 
V Jornadas eMadrid sobre "Educación Digital". Miles Berry, Computing at Schoo...
eMadrid network
 
Algorithmic thinking and digital fabrication (1) (2)
Prabhat Kumar
 
Instructional software presentation ronen cohen
roneninio
 
Learn to code; Code to Learn with MIT's Scratch
Gregory Beutler
 

More from Mark Guzdial (13)

PDF
Inventing computing education to meet
 all undergraduates’ needs
Mark Guzdial
 
PPTX
Priming the Computer Science Teacher Pump Report: Finding a Home for Computer...
Mark Guzdial
 
PDF
The Role of CS Departments in The US President’s “CS for All” Initiative: Pan...
Mark Guzdial
 
PPTX
LaTICE 2016: Learner-Centered Design of Computing Education for All
Mark Guzdial
 
PPTX
Critiquing CS Assessment from a CS for All lens: Dagstuhl Seminar Poster
Mark Guzdial
 
PPTX
VL/HCC 2015 Keynote: Requirements for a Computing Literate Society
Mark Guzdial
 
PPTX
Providing learning and reflection opportunities to develop in-service CS teac...
Mark Guzdial
 
PPTX
Harvard Graduate School Education: teaching cs to teachers
Mark Guzdial
 
PPT
Teaching linked lists data structures using MIDI
Mark Guzdial
 
PPTX
Flash Talk for the ECEP Alliance from the NSF BPC Community Meeting
Mark Guzdial
 
PPTX
Talk on Ebooks at the NSF BPC/CE21/STEM-C Community Meeting
Mark Guzdial
 
PPTX
Rutgers Invited Talk: Creative Expression to Motivate Interest in Computing
Mark Guzdial
 
PPTX
CS Teachers are Different than Software Developers: WIPSCE 2014 Keynote
Mark Guzdial
 
Inventing computing education to meet
 all undergraduates’ needs
Mark Guzdial
 
Priming the Computer Science Teacher Pump Report: Finding a Home for Computer...
Mark Guzdial
 
The Role of CS Departments in The US President’s “CS for All” Initiative: Pan...
Mark Guzdial
 
LaTICE 2016: Learner-Centered Design of Computing Education for All
Mark Guzdial
 
Critiquing CS Assessment from a CS for All lens: Dagstuhl Seminar Poster
Mark Guzdial
 
VL/HCC 2015 Keynote: Requirements for a Computing Literate Society
Mark Guzdial
 
Providing learning and reflection opportunities to develop in-service CS teac...
Mark Guzdial
 
Harvard Graduate School Education: teaching cs to teachers
Mark Guzdial
 
Teaching linked lists data structures using MIDI
Mark Guzdial
 
Flash Talk for the ECEP Alliance from the NSF BPC Community Meeting
Mark Guzdial
 
Talk on Ebooks at the NSF BPC/CE21/STEM-C Community Meeting
Mark Guzdial
 
Rutgers Invited Talk: Creative Expression to Motivate Interest in Computing
Mark Guzdial
 
CS Teachers are Different than Software Developers: WIPSCE 2014 Keynote
Mark Guzdial
 
Ad

Recently uploaded (20)

PPTX
Translation_ Definition, Scope & Historical Development.pptx
DhatriParmar
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PPTX
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
PDF
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
PPTX
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
 
PPTX
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
PPTX
LDP-2 UNIT 4 Presentation for practical.pptx
abhaypanchal2525
 
PPTX
Basics and rules of probability with real-life uses
ravatkaran694
 
PPTX
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
PPTX
Introduction to Probability(basic) .pptx
purohitanuj034
 
PPTX
PROTIEN ENERGY MALNUTRITION: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
DOCX
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
PPTX
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
PPTX
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
Virus sequence retrieval from NCBI database
yamunaK13
 
PPTX
YSPH VMOC Special Report - Measles Outbreak Southwest US 7-20-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
PPTX
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PPTX
Unlock the Power of Cursor AI: MuleSoft Integrations
Veera Pallapu
 
Translation_ Definition, Scope & Historical Development.pptx
DhatriParmar
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
The-Invisible-Living-World-Beyond-Our-Naked-Eye chapter 2.pdf/8th science cur...
Sandeep Swamy
 
How to Track Skills & Contracts Using Odoo 18 Employee
Celine George
 
Sonnet 130_ My Mistress’ Eyes Are Nothing Like the Sun By William Shakespear...
DhatriParmar
 
Modul Ajar Deep Learning Bahasa Inggris Kelas 11 Terbaru 2025
wahyurestu63
 
LDP-2 UNIT 4 Presentation for practical.pptx
abhaypanchal2525
 
Basics and rules of probability with real-life uses
ravatkaran694
 
Artificial Intelligence in Gastroentrology: Advancements and Future Presprec...
AyanHossain
 
Introduction to Probability(basic) .pptx
purohitanuj034
 
PROTIEN ENERGY MALNUTRITION: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
pgdei-UNIT -V Neurological Disorders & developmental disabilities
JELLA VISHNU DURGA PRASAD
 
K-Circle-Weekly-Quiz12121212-May2025.pptx
Pankaj Rodey
 
Python-Application-in-Drug-Design by R D Jawarkar.pptx
Rahul Jawarkar
 
Virus sequence retrieval from NCBI database
yamunaK13
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 7-20-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
Applications of matrices In Real Life_20250724_091307_0000.pptx
gehlotkrish03
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
Unlock the Power of Cursor AI: MuleSoft Integrations
Veera Pallapu
 
Ad

Using Learning Sciences Research to Improve Computing Teaching: Predictions, Subgoals, and Parsons

  • 1. USING LEARNING SCIENCES RESEARCH TO IMPROVE COMPUTING TEACHING: PREDICTIONS, SUBGOALS, AND PARSONS D R . M A R K G U Z D I A L P R O F E S S O R , S C H O O L O F I N T E R A C T I V E C O M P U T I N G
  • 2. Learning Computer Science is Surprisingly Hard We can improve success by drawing on Learning Sciences. • We can use models of motivation to improve retention. • We can use subgoal labeling to promote learning and transfer. • We can teach programming with activities other than simply coding. STORY
  • 3. THE RAINFALL PROBLEM Problem: Read in integers that represent daily rainfall, and printout the average daily rainfall. • If the input value of rainfall is less than zero is less than zero, prompt the user for a new rainfall. When you read in 99999, print out the average of the positive integers that were input other than 99999.
  • 4. RESULTS AT YALE IN PASCAL IN 1983 % of Students who solve the problem correctly Novices (3/4 through first course) 14% Intermediates (3/4 through second course) 36% Advanced (Jrs and Srs in Systems Programming) 69%
  • 5. NOT AN ANOMALY Elliot Soloway and his students replicated this study many times. Others have used this same problem with similar results in different programming languages (e.g., Venable, Tan, and Lister, 2009) Only recently (Kathi Fisler, ICER 2014) has anyone achieved student success on the Rainfall Problem, by switching the language to Scheme and teaching higher-level functions.
  • 6. Three Examples from Drawing on Learning Sciences: #1: We can use prediction to help students retain knowledge from in-class live coding. #2: We can use subgoal labeling to dramatically improve learning and transfer. #3: We can use instructional design principles to teach programming more efficiently with less coding. Example: Parsons Problems HOW CAN WE IMPROVE LEARNING IN CS?
  • 7. HOW SOUND WORKS: ACOUSTICS, THE PHYSICS OF SOUND
  • 8. DIGITIZING SOUND: HOW DO WE GET THAT INTO BYTES? Remember in calculus, estimating the curve by creating rectangles? We can do the same to estimate the sound curve with samples.
  • 11. Eric Mazur study on Physics Demonstrations Do Demonstrations in Physics classes help with learning? ERIC MAZUR ON DEMONSTRATIONS You can probably guess who did best. Who do you think did worst?
  • 12. RESULTS FROM POST-TEST Students who did not see the demo did better than those who did. • Students who saw the demo mis-remembered it. Students who made predictions (with or without discussion) did best. Suggestion: Every time we run a program in class, it’s a demonstration.
  • 13. Students are often overwhelmed when programming. “You’ve taught me so many details, I don’t know which ones to use.” (Clancy & Linn, 1990) How do we convey how to think about the purpose for the parts of the program? About why each part is there? Richard Catrambone (1994) invented a way to label the subgoals in examples provided to students. • Never tested before in Computer Science #2: SUBGOAL LABELING
  • 14. Used subgoal labeling to teaching Andriod App Inventor (a blocks-based programming environment) to new Computer Science Students. Two groups of undergraduate students: • One group was shown a video for how to use the software to build an App and given text listing the steps in the instruction. • Another group was given the video and the steps with subgoal labels. EXPERIMENT WITH APP INVENTOR Lauren Margelieux, Mark Guzdial, and Richard Catrambone, ICER 2012
  • 15. Week 1: Watch the video. Take a test to demonstrate understanding. Week 2: Take a test to demonstrate retention. Watch a new video. Take a test to demonstrate understanding of second video. Take a test where students must build a new app, transferring knowledge. STEPS IN EXPERIMENT
  • 16. EXAMPLE OF WRITTEN MATERIALS Subgoal Define Variables from Built-in Click on "Built-In" and "Definition" and pull out a def variable. Click on the "variable" and replace it with "fortuneList". This creates a variable called "fortuneList". Click on "Lists" and drag out a call make a list Click on "Text" and drag out a text text block and drop it next to "item". Click on the rightmost "text" and replace it with your first fortune. Handle Events from My Blocks Click on "My Blocks" and "Button1". Drag out a when Button1.Click. Non-subgoal Click on "Built-In" and "Definition" and pull out a def variable. Click on the "variable" and replace it with "fortuneList". This creates a variable called "fortuneList". Click on "Lists" and drag out a call make a list Click on "Text" and drag out a text text block and drop it next to "item". Click on the rightmost "text" and replace it with your first fortune. Click on "My Blocks" and "Button1". Drag out a when Button1.Click.
  • 21. RESULTS: DEFINE VARIABLE STEP IN TRANSFER TASK 0 0.2 0.4 0.6 0.8 1 Define Variable Subgoal Conventional p < .001, f = .61
  • 22. Effect is twice as strong for high school teachers. Works in text-based languages, too! How I use it in my classes. REPLICATED IN OTHER SETTINGS (Work by Lauren Margeliux and Briana Morrison.)
  • 23. One of the strong findings in Educational Psychology is that we often ask students to solve too many problems, when seeing more examples might lead to more learning (Clark, Nguyen, Sweller, 2006; Renkl, 2005). Could we teach Computer Science to teachers by asking them to look at examples and solve a variety of examples (with very little coding)? #3: TEACHING PROGRAMMING WITH LITTLE CODING
  • 25. OTHER TYPES OF PRACTICE PROBLEMS Fill in the Blank Multiple Choice with Multiple Feedback
  • 27. FINDINGS: WHAT DO USERS DO IN AN EBOOK? Ericson, Guzdial, & Morrison, ICER 2015
  • 28. Use in our studies: 445 high-school teachers and 516 high-school students. (New ICER 2017 paper by Miranda Parker et al.) Teachers who use the ebook and engage with the activities (e.g., do more than half of the activities) gain in understanding of computer science (pre/post-tests) and confidence in their ability to teach. Teachers are learning successfully in short segments (~20 minute settings). FINDINGS: EBOOK USE
  • 29. Learning Computer Science is surprisingly hard. We can improve learning in computer science by drawing on lessons from the Learning Sciences. 1. Live coding in classes is a form of demonstration. Ask students to predict results to improve learning. 2. We use subgoal labeling to promote learning and transfer, in both blocks-based and text-based languages. 3. We can teach programming successfully and efficiently with activities other than simply coding, such as Parsons Problems. SUMMARY
  • 30. Barbara Ericson, Miranda Parker, Kathryn Cunningham, Amber Solomon, Kantwon Rogers Colleagues: Richard Catrambone, Lauren Margulieux, Betsy DiSalvo, Tom McKlin, Rick Adrion, Renee Fall, Brad Miller, Ria Galanos, & Briana Morrison Our Funders: US National Science Foundation http://computinged.wordpress.com http://home.cc.gatech.edu/csl http://tinyurl.com/StudentCSP COLLABORATORS ON THIS WORK Thank you!