Transcript First Year Programming: Let All the Flowers Bloom
Introductory Programming, Criterion-Referencing, and Bloom
Raymond Lister & John Leaney University of Technology, Sydney Australia 1
McCracken,
et al
.
• Insert their graph here • points to make ...
– Multi-institutional!
– weaker students flounder • ... Leading to quote on next page ...
2
Buck & Stucki, SIGCSE 2001
Students who are required to write complete programs as lab assignments are ...
“... overwhelmed, uncertain of how to begin, and grasping at the air … [leading] … to the self-destructive tendency to do experimental programming, where they just randomly throw things in to see if it helps ”
.
3
McCracken,
et al
.
After their first “clean compile”, the weak students ...
“... are then surprised by what the program really does when presented with data”
.
4
Norm-referenced Assessment
• Same assessment activity for all students • Students graded “to a curve” – Aimed at the “middle student”?
– Weak students flounder ...
• ... but pass anyway?
– Strong students do well ...
• ... but were they challenged? 5
Criterion-Referenced Assessment
• Qualitatively different assessment activities for each grade.
• “Truth in sentencing” – Weak students learn something, without holding back strong students.
– Strong students are challenged without hurting the weak students. 6
Grades & Bloom’s Taxonomy
“A” Bloom’s Synthesis & Evaluation level “B” Bloom’s Application & Analysis level “C” Bloom’s Knowledge & Comprehension level The message of Bloom: test at all levels of the taxonomy.
7
“C” and Bloom’s Knowledge/Comprehension (1) • • No requirement that a ‘C’ student manifest any sort of design skill.
Lab Exam:
Translate pseudo-code of a complete Java class into correct, readable code that compiles.
– For example ...
8
For example ...
• Declare a header for a public class, called "BMIApplet", a subclass of Applet, which implements the methods prescribed by the "ActionListener" interface.
• Declare a header for a public constructor, which takes zero parameters.
• Declare an integer "BMI” and assign a value to "BMI", by calling "computeBMI", a method in this class.
9
“C” and Bloom’s Knowledge/Comprehension (2) • The ability to
read
code, and demonstrate an understanding of what that code does.
• Tested by multiple choice questions.
• Pass mark is a “mastery” 70%, not 50%.
– For example ...
10
For example ...
The code for a class called “Counter” is given as follows (consider carefully the use of the “static” keyword).
public class Counter { private static int count = 0; public void increment( ) { ++count; } public int getCount( ) { return count; 11
Rote Learning for a “C” ?
• Approximately 30 “bottom passing” students with mark in the multiple choice exam of 70 77% • On questions with
previously seen
code, 63 89% of bottom passing students got the question right, median 81%.
• On questions with
unseen
code, 63-85% of bottom passing students got the question right, median 78%.
• Conclusion: Not rote learners!!!
12
30% fail the multiple choice exam at their first attempt.
Truth in sentencing
: If some students can’t even read code, how can we expect them to write code? Why assess them by asking them to write code?
The message of Bloom: test at
all levels
of the taxonomy.
13
The Story So Far
“A” Bloom’s Synthesis & Evaluation level “B” Bloom’s Application & Analysis level “C”
Completion of pseudo code; multiple choice questions
14
“B” and Bloom’s Application/Analysis (1) Bloom distinguishes between comprehension and application as follows:
“A demonstration of comprehension shows that the student can use the abstraction when its use is specified. A demonstration of application shows that he
(sic)
will use it correctly, given an appropriate situation in which no mode of solution is specified.”
15
“B” and Bloom’s Application/Analysis (2) • No surprises here ...
• Assessed traditionally, with an assignment.
• “Pig World” • Third of class opt out and happy with “C”.
16
The Story So Far
“A” Bloom’s Synthesis & Evaluation level “B”
Traditional assignment
“C”
Completion of pseudo code; multiple choice questions
17
The “A” Part 1: Bloom’s Synthesis level Bloom defines “Synthesis” as ...
"
Skill in writing, using an excellent organization of ideas and statements
" (p.169). (essays? programs?) “...
ability to write creatively a story, essay, or verse for pleasure, or for the entertainment or information of others
" (p. 169)
.”
assessed by a project ...
18
The “A” Part 1: Bloom’s Synthesis level (cont.) “
Write a program. You decide what it does
.” To avoid a token effort, we specify: - at least 100 lines of code.
- at least 4 classes - etc.
We want to let HD students to learn-from-play.
Constructivism rules!
19
The “A” Part 2: Bloom’s Evaluation level Bloom defines “Evaluation” as ...
"
the making of judgments about the value, for some purpose, of ideas, works, solutions
… ” (p.185).
Assessed by peer review.
- I provide some vague evaluation criteria.
* clarity of code.
* quality of user interface.
20
Conclusion
“A” “B” Self-selected project; peer review. Traditional assignment “C” Completion of pseudo code; multiple choice questions
Truth in sentencing
The message of Bloom: test at
all levels
of the taxonomy.
21
Survey Results (1)
"My learning experience in this subject were interesting and thought provoking". Agreed Neutral Disagreed 69% 18% 13% 22
Survey Results (2)
"I found the assessment fair and reasonable". Agreed Neutral Disagreed 64% 30% 7% 23
Grade Distribution
Grade Fail C B A After First MCQ Exam
29% 18% 47% 6%
After Second MCQ Exam
10% 37% as before as before 24