Upload
daniel-powers
View
218
Download
1
Tags:
Embed Size (px)
Citation preview
Integrating Students’ Prior Knowledge into Pedagogy
Colleen LewisGraduate School of Education
University of California, Berkeley
The Problem
“Part of the problem is that the subject is not widely taught at school,
so undergraduates arrive without having being streamed into those who
can do well and those who can't.”
Bornat, Dehnadi, & Simon, 2008
AP Test Taking Rates
1997 2009
300,000
200,000
100,000
Number of test takers
Source: College Board Exam Volume Data
2010 AP Test Takers (% Female)
Biology Statistics Calculus AB Computer Science
57.8%50.6% 48.6%
19.2%
Problem 3: Community Discourse
“The literature abounds in assertions of the existence of an aptitude for programming,
and of attempts to find a suitable predictor for that aptitude so as to avoid wasting time and effort
educating students who are unlikely ever to become good programmers.”
Simon et al. 2006
Problem 3: Community Discourse
• “innate talent for programming” • Lister et al., 2004
• “a fundamental ability” • Reges, 2006
• “Introductory classes should weed students out based on ability and potential”
• Barker, McDowell & Kalahar, 2009
What factors predict success?
• Problem solving• Explanation skills• Abstraction skills• Math experience• SAT scores• Programming pre-tests
Hypothesis
Student success is shaped by the degree to which they
make productive use of their non-programming competence
when learning to program.
Research Questions• What knowledge and skills do students use
when solving computer science problems?
• How can we build upon students’ non-programming knowledge?
• How can we integrate these techniques into curriculum?
Phase 1
Research Question:• What knowledge and skills do students use
when solving computer science problems?
Example Interview Problem: • If b is a Boolean variable, then the statement
below has what effect?
b = (b == false);
Phase 2
Research Question:• How can we build upon students’ non-
programming knowledge?
Study Design• Design-based research • Recruit struggling students
Phase 3
Research Question:• How can we integrate these techniques into
curriculum?
Study Design• Techniques integrated into existing course• Quasi-experimental design
Example Analysis
What value is returned by WhatIsIt(4, 4)?
(define (WhatIsIt x n) (if (= n 1) x (* x (WhatIsIt x (- n 1))))
WhatIsIt Solution
(WhatIsIt 4 4)
(* 4 (WhatIsIt 4 3))
(* 4 (* 4 (WhatIsIt 4 2)))
(* 4 (* 4 (* 4 (WhatIsIt 4 1))))
(* 4 (* 4 (* 4 4)))
Using Critical Reading Skills(define (WhatIsIt x n) (if (= n 1) x (* x (WhatIsIt x (- n 1))))
01 WhatIsIt x n.02 If n equals 1, print x.
If n is not 1, then multiply x,03 oh okay so its recursive.
State
• What line of code is being executed?• What are the values of all variables? • What calls proceeded the current call?
• How can I change the line of code executed?• How can I change the values of variables?• How can I sequence procedure calls?
Tracking State04 So 4, 4.05 If x is -- n is 4,06 n is not equal 1 (points to if line), 07 so multiply x, which is 4,08 (writes 4)
Tracking State09 by WhatIsIt 4 3 10 (Writes 4 and 3)11 x is -- n is again not 1,12 so it will be 3 13 (Writes 3)
Tracking State
03 So it’s going to multiply 4 times WhatIsIt04 (writes 4 and “wii”)05 of x is not changing06 (writes 4),07 n is going to change to 308 (writes 3).
Tracking State09 Which will do 10 (writes 4)11 oh snap I was way wrong.12 Which is 4 times WhatIsIt of 4 and 213 (writes wii 4 2),
Problems
• Students have a rich set of non-programming skills before college.
• No explanations for why well prepared students fail to learn
• We do not know how to build upon this knowledge.
Approach
Phase 1• Identify techniquesPhase 2• Develop and refine teaching strategiesPhase 3• Analyze effectiveness