ebeckett: using the work of samuel beckett to teach fundamental computing concepts damian gordon

25
eBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Post on 22-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

eBeckett: Using The Work Of Samuel Beckett To Teach

Fundamental Computing Concepts

Damian Gordon

Page 2: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Motivation

• Learning to program can initially be very difficult

• Two barriers to learning this skill are;

– the abstract nature of programming, concepts such as variables, data types, arrays, etc. have no real world counterparts, and

– programming requires an exactness of specification that contrasts strongly with the flexible nature of the

English language.

Page 3: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Teaching

by

Analogy

Page 4: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

So…

• To understand how to program, you need to know how a computer computes…

Page 5: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

So…

• To understand how to program, you need to know how a computer computes…

• von Neumann Architecture: This means that they execute programs by accessing both instructions and data on the same storage device, which makes the computer a very flexible device.

Page 6: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

So…

• To understand how to program, you need to know how a computer computes…

• von Neumann Architecture: This means that they execute programs by accessing both instructions and data on the same storage device, which makes the computer a very flexible device.

• The computer performs the following sequence of steps;

• Fetch the next instruction from memory at the address in the program counter

• Decode the instruction using the control unit• Increment the program counter• The control unit commands the rest of the computer to execute the

instruction• Go to step 1

Page 7: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

So…

• To understand how to program, you need to know how a computer computes…

• von Neumann Architecture: This means that they execute programs by accessing both instructions and data on the same storage device, which makes the computer a very flexible device.

• The computer performs the following sequence of steps;• Fetch the next instruction from memory at the address in the program counter• Decode the instruction using the control unit• Increment the program counter• The control unit commands the rest of the computer to execute the instruction• Go to step 1

• Fetch-Decode-Execute (FDE) cycle.

Page 8: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

But…

• How do we explain all this to the students?

Page 9: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

• We say that there’s a little man computer inside it ;-)

Page 10: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Cartesian Theatre

Page 11: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Cartesian Theatre

Page 12: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Cartesian Theatreof the Absurd

Page 13: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Beckett's most perfect piece of writing for the theatre

Krapp’s Last Tape

Page 14: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon
Page 15: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Krapp’s Last Tape:An Extended Analogy

Little Man Computer Krappthe LMC room Krapp's Denthe stored information Krapp's Tapes

The analogy of the LMC paradigm becomes the extended analogy of "Krapp's Last Tape" which will hopefully be more dramatic and memorable for the students.

Page 16: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Krapp’s Last Tape:An Extended Analogy

Student’s required to undertakes exercisesbased on KLT and …

Page 17: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Nexus Model of Learning Styles

Page 18: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Nexus Model of Learning Styles

Page 19: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Some Feedback

• "Good practice for understanding specifications“

• "It was a bit of a laugh and brought the class together“

• "It made me think outside the box"

Page 20: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Some Results

Page 21: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Some Results

Page 22: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Some Results

Page 23: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Some Results

Page 24: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

Idea’s Encountered

• Stored Program

• Indirection (pointers)

• Analysis of complex requirements

• Serle’s Chinese Room Problem

Page 25: EBeckett: Using The Work Of Samuel Beckett To Teach Fundamental Computing Concepts Damian Gordon

???

Questions

???