/
Teaching Programming Teaching Programming

Teaching Programming - PowerPoint Presentation

alida-meadow
alida-meadow . @alida-meadow
Follow
389 views
Uploaded On 2015-09-29

Teaching Programming - PPT Presentation

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

programming understanding computing alice understanding programming alice computing learned students understand assess skills amp discussion design concepts programs world

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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 backSlide17
Slide18

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