First Year Programming: Let All the Flowers Bloom

Download Report

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