Less Doing More Understanding Quintin Cutts School of Computing Science University of Glasgow Beth Simon Computer Science and Engineering Department University of California at San Diego Outline ID: 144055
Download Presentation The PPT/PDF document "Teaching Programming" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Teaching ProgrammingLess Doing, More Understanding
Quintin
Cutts
School of Computing Science
University of Glasgow
Beth Simon
Computer Science and Engineering Department
University of California at San DiegoSlide2
OutlineBackground and p
remise
for the talk
An alternative instructional design
Trying it out live!
The effect on students
Is
this how to introduce computing…?Slide3
Background
15 years teaching programming
Never happy with "programming is an innate skill"
increased engagement – interactive classrooms
revised the instructional design
skill development
time-on-task, regular self-study
regular timely feedback
explored attitudes to learningSlide4
Background (2)
Creating working programs still featured large
Uncomfortable with assessment
predominantly "marking programs"
expensive in time
limited quality feedback
not assessing either process of programming or level of understandingSlide5
Preliminaries
Premise 1
We want learners to understand deeply programming concepts and skills, to properly equip them for life-long use of technology and programmable systems
Premise 2
We assess a learner’s understanding by measuring the quality of the artifacts they produce
Hence, we must assume that delivery of an artifact == understandingSlide6
Preliminaries
Premise 1
We want learners to understand deeply programming concepts and skills, to properly equip them for life-long use of technology and programmable systems
Premise 2
We assess a learner’s understanding by measuring the quality of the artifacts they produce
Hence, we must assume that delivery of an artifact == understandingSlide7
Who produced the artifact?
The learner
Great. Our assumption is probably correct.
Although,
monkeys and typewriters
?
(my concern with drag-and-drop etc)
Books / the web / a wizard
Boiler-plate copying is common-place
Teacher / tutor
/ friend
Often
in one ear, out the otherBut at least the code is workingSlide8
Quick vote…
To my premise that
we rely too heavily on the assessment of
artefacts
in programming, because this fails to assess understanding
do you:
A: strongly agree
B: agree
C: neutral
D: disagree
E: strongly disagreeSlide9
How to generate understanding?
Engage students in questioning and discussion
One-on-one is expensive – can we get peers discussing and explaining?
Growing body of instructional designs doing this more efficiently:
Peer Instruction
Flip
Teaching
The Khan AcademySlide10
Example: General Education Computing course
Designed to promote
c
omputational thinking
Led by Beth Simon at UCSD to 1000 students in 2010-11
But also a pilot for a school-level
course, CS Principles
Basically, a programming course
But programming very much a vehicle
7 weeks of Alice, 2 weeks of ExcelSlide11
Exploratory
Homework
Lecture
Lab
Exam
Q
U
I
ZSlide12
Exploratory
Homework
Lecture
Lab
Exam
Q
U
I
Z
Individual Vote
Group Discussion (fixed 3 person)
Tutors actively engage groups in justifying/talking
Group Vote (consensus required)
Class-wide Discussion
Led by Students First – Explain WRONG answers
Final Cognitive Modeling by InstructorSlide13
"What does this code do?" question
World with three “drivable” objects
Rabbit, penguin, cow
Forward
,
Turn
by .12
revolutions
(1/8
th
of the way
around
)
The scene:Slide14
When does a party happen?
I
f
any of the objects is near the
palmtree
I
f
all of the objects are near the
palmtree
Something else (e.g. multiple parties…)
Feedback
Paraphrase
JustifySlide15
Let’s make the beetles do a dance…
Here's the scene and an activity we want to create
:
One comes forward
All go around
Same one goes back
Next one comes forward
All go around
Same one goes back
And so on until all four
have come forward and backSlide16
Does this code correctly implement our intended behavior?
Yes
No
I don’t know
And WHY!
One comes forward
All go around
Same one goes back
Next one comes forward
All go around
Same one goes back
And so on until all four
have come forward and backSlide17Slide18
What is new about this code?
Nested “for all” loops
A loop that “iterates” over all items in a list
Inside that is another loop that goes over all the items in a list
In this case, happen to be the same list
Wow, you can do complicated things now…
Slide19
By the way…How do we
summatively
assess the understanding?
More
MCQs
But also: “How would you explain why the correct answer is correct?”
Of course, this takes more marking – a bit like an short essay question!Slide20
What are the students taking away? We asked…
Learning computing concepts may have opened many doors for you in your future work
. Although you may not ever use Alice again, some of the concepts you have learned may become useful to you
.
Some examples include:
Understanding
that software applications sometimes don’t do what you expect, and being able to figure out how to make it do what you want.
Being able to simulate large data sets to gain a deeper understanding of the effects of the data.
Understanding how software works and being able to learn any new software application with more ease, i.e. Photoshop, Office,
MovieMaker
, etc.
Aside from the examples given, or enhancing the examples given,
please describe a situation
in which you think the computing concepts you have learned will help you in the future.Slide21
Transfer, Near –
64%
Using new machinery like sound editing equipment … will require the ability to manipulate and design using the basic commands to
form a
unique creation. Similar to Alice we will be restricted to the amount of actions we can perform sometimes but through our creativity we can manipulate the basic commands of the music program to create variations not standard to the system. Like how we
mad[e
] frogs appear to be hopping when in actuality the Alice program does not have a specific method that makes frogs hop.
Slide22
Personal Problem Solving Ability: Debugging –
39
%
I have learned how to target problems when I am working on a computer and use the process of elimination to try to fix the problem instead of just restarting the computer like I used to.
Slide23
Personal Problem Solving Ability: Problem Design –
29
%
We learned in Alice that computers do exactly what you have them do. Using this knowledge, we can understand how programs like Excel and Numbers work and learn that when we are using these programs, we need to specify and be exact with what we are doing in order for the programs to meet our needs and plans
.Slide24
View of Technology –
25
%
Now, every time I find myself playing a video game, I actually understand what makes it work. That these games are not magically produced, that it takes time, skill, and sufficient funds to create these games. I appreciate these games more than before taking this class.Slide25
Transfer, Far –
23%
I feel that learning the language of computing definitely helps you understand dense reading a lot more efficiently. I personally have noticed that my in-depth understanding of Computer Science wording has helped me understand my mathematical theorems and proofs more regularly than before.Slide26
Confidence – 21
%
The things I learned in Alice can help me not to be so frightened in general when dealing with technology. Although I am not certain I have absolutely mastered every concept in Alice, I am certain that I have learned enough to bring me confidence to apply these ideas in the technological world. This is a big deal for me, as I do consider myself quite technologically challenged. I think this class has given me tools for life, that can be applied to both my life at home, socially, and at work.Slide27
Communication – 7%
In today’s technologically-centered world, using a program like Alice gives us valuable exposure to discussing things technically with other people and explaining clearly what we are trying to do.Slide28
From our own observations:We speculate that the students must now have a critical understanding that computing systems are:
Deterministic
Precise
UnderstandableSlide29
To concludeWe wrongly equate artifact production with understanding
We need instructional designs that properly develop and assess skills and understanding
One possible design has been presentedSlide30
Should ICT training simply be a programming course of this nature?
Or, in other words, are the skills/attitudes described by the learners an essential underpinning for living in the digital world
and
for further study in CS?
Or, in yet more words, is it these skills that explain the traditional double-hump in computing classes?Slide31
Relevant research
Repeated testing better than repeated study
Roediger & Karpicke 2006
Karpicke & Blunt 2011Slide32
And some more…
Peer working while viewing expert tutors
Craig, Chi &
VanLehn
200
Self-articulation vs. Peer discussion
Teasley
, 1993
Also explores
transactive
discussion
Situated Learning
Brown, Collins,
Duguid
1989Slide33
And some more…
Isomorphic questions
Smith et al, 2009
Catalytic assessment
Draper 2009
Linked questions
Russell, 2008
PI in CS
Simon & Cutts, SIGCSE 2010 & Tech Report