Top Banner
A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton
24

A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Dec 24, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

A virtuous cycle for Programming Principles

Su White and Teresa Binks,University of Southampton

Page 2: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

What’s coming up?

• Intro and Background• Inspirations and what we did with them• Stats and Evaluation• What the future holds• Personal observations

Page 3: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Intro and Background

• We have been here before…• Regular review/enhancement• Constrained

– had to keep structure and teaching practices

– changed teaching content – ?? Student learning

Page 4: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

People

Page 5: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Hello!

• Teresa Binks• Computer Science• 2nd year (repeated my first year)• My very first workshop!

And I woke up with a frog in my throat and that is why I’m croaking today

Page 6: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

InspirationsMaria Montessori

Independence

Self Correction

Repetition

Extension

Real Life

Head First Java

Light Hearted

Metaphors

Visual

Conversational

BlueJ

Manipulable

Beginner Focused

Page 7: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

What we changed

In this lesson we

will be studying…

.

.

.

Page 8: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

What I did on my summer

holidays

By Teresa Binks

Page 9: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

The Big Picture

Primitives Objects

defined in Java defined in classes

stored in variables directly

references stored in variables

Pass a copy Pass a reference

Page 10: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Cups

• A variable is a space in memory that the computer uses to store a value

• It’s like a cup

int myNumber;myNumber = 7;

• A primitive ‘fits into’ a cup

myNumber

int

7

Page 11: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

The Big Picture

Primitives Objects

defined in Java defined in classes

stored in variables directly

references stored in variables

Pass a copy Pass a reference

Page 12: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Objects and cups• An object does not fit into a cup...

Elephant nellie;nellie = new Elephant();

• So what does Java do?

nellie

Elephant?!?!

OO

Page 13: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Remote controls

• Java leaves the elephant object in memory somewhere...

• And references it – like using a remote control

Page 14: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Memory

nellie

Elephant

Elephant nellie;

nellie = new Elephant();

nellie.eat();Eat

Sleep

Trumpet

NOM

NOM

NOM

Page 15: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Primitive types vs. object types

32

object type

primitive type

SomeObject obj;

int i;

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Page 16: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Primitive types vs. object types

32

ObjectType a;

int a;

ObjectType b;

32

int b;

b = a;

Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling

Page 17: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

FeedbackThe module was intellectually challenging and stimulating

Overall, how would you rate this module?

Page 18: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

What were the best features of this module?

Interesting courseworks and

assignmentsSpace Cadets

Lectures werevery easy to

follow and to understand

Being able to practise the code

presented in lectures within labs

Page 19: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Integrative Adventure

game

Study Groups Pre-Labs,

Pre Lectures

Page 20: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Personnel

Rikki Prince:

Lead Demonstrator

Lab mark schemes

Wiki

Self Streaming

The wiki allowed us a dynamicism in the way we presented material to the students. Rather than relying on the busy course leaders to update the course page it could be done by the "teachers on the ground" (post grads) on the students themselves, allowing better personalisation.

“The biggest issue of the course was our teaching of 'static', which I think was triggered by mentioning it as 'magic' at the beginning, but mostly caused by god-awful compiler error messages that say something like "cannot do this from a non-static context", so lots of people just ended up making their methods unnecessarily 'static'.”

I think the use of The delaying of teaching objects for a few weeks also helped the students understand what could be done inside the objects, rather than expecting them to blindly believe!

Page 21: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Personnel

Eric Cooke:

Module Leader

Lectures

LabsStudents enjoyed the presentations. The laughed at the funny parts and the fact that they were laughing means they were listening!

Page 22: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Personnel

Teresa Binks:

Precocious undergrad

Lectures

Labs

Notes

Programming doesn’t have to be traditional, boring and intimidating

We don’t need to target stronger students in these lectures so long as there is something for them elsewhere

Page 23: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Thanks

Any Questions?

Book Slides Labs? Wiki?Survey

Page 24: A virtuous cycle for Programming Principles Su White and Teresa Binks, University of Southampton.

Programming Principles