What’s coming up?
• Intro and Background• Inspirations and what we did with them• Stats and Evaluation• What the future holds• Personal observations
Intro and Background
• We have been here before…• Regular review/enhancement• Constrained
– had to keep structure and teaching practices
– changed teaching content – ?? Student learning
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
InspirationsMaria Montessori
Independence
Self Correction
Repetition
Extension
Real Life
Head First Java
Light Hearted
Metaphors
Visual
Conversational
BlueJ
Manipulable
Beginner Focused
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
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
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
Objects and cups• An object does not fit into a cup...
Elephant nellie;nellie = new Elephant();
• So what does Java do?
nellie
Elephant?!?!
OO
Remote controls
• Java leaves the elephant object in memory somewhere...
• And references it – like using a remote control
Memory
nellie
Elephant
Elephant nellie;
nellie = new Elephant();
nellie.eat();Eat
Sleep
Trumpet
NOM
NOM
NOM
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
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
FeedbackThe module was intellectually challenging and stimulating
Overall, how would you rate this module?
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
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!
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!
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