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

Slides:



Advertisements
Similar presentations
CS 206 Introduction to Computer Science II 01 / 20 / 2009 Instructor: Michael Eckmann.
Advertisements

Enhancing Instructional Leadership capacity of principals to improve teacher practice Heather Hopcroft.
Lecture 1: Comments, Variables, Assignment. Definitions The formal (human-readable) instructions that we give to the computer is called source code The.
-Arthur Lewis (alew525). Contents Background and Introduction Overview of Popular Environments Empirical Studies Borland Delphi v/s SimplifIDE Gild v/s.
Careers in Education Teaching Strategies. Learning Target: Students will be able to… – Explain in words the 3 different teaching strategies – Apply the.
Independent Reading By: Danelle Keninger.
Two e-Learning elective seminars in Novi Sad Putnik Z., Komlenov Ž., Budimac Z. DMI, Faculty of Science University of Novi Sad.
Amanda Jefferies With the valued support of the CS CABLE team.
Designing classes How to write classes in a way that they are easily understandable, maintainable and reusable 4.0.
Objects First with Java A Practical Introduction using BlueJ
String Concatenation (operator overloading) 3.0.
Understanding class definitions Looking inside classes 3.0.
Knowing Me, Knowing You Personalisation in the EFL classroom Richard Rooze British Council Hungary.
CS 300 – Lecture 20 Intro to Computer Architecture / Assembly Language Caches.
CS 106 Introduction to Computer Science I 02 / 28 / 2007 Instructor: Michael Eckmann.
Object interaction Creating cooperating objects 3.0.
Objects & Object-Oriented Programming (OOP) CSC 1401: Introduction to Programming with Java Week 15 – Lecture 1 Wanda M. Kunkle.
CS 106 Introduction to Computer Science I 03 / 03 / 2008 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 03 / 08 / 2010 Instructor: Michael Eckmann.
Object Interaction 1 Creating cooperating objects.
Object interaction Creating cooperating objects 5.0.
1 Teaching OOP - A Practical Approach using BlueJ Teaching OOP  A Practical Approach Using BlueJ David J Barnes University of Canterbury Michael Kölling.
Introduction to Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically.
CO320 Introduction to Object- Oriented Programming Michael Kölling 3.0.
CS 106 Introduction to Computer Science I 10 / 15 / 2007 Instructor: Michael Eckmann.
CS 106 Introduction to Computer Science I 10 / 16 / 2006 Instructor: Michael Eckmann.
5.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
Introduction to Python and programming Michael Ernst UW CSE 190p Summer 2012.
Comp1004: Introduction I Welcome!. Welcome to Programming Principles Dr. David Millard Dr. Julian Rathke Dr.
ZEIT2301- Design Studios and Design Critiques School of Engineering and Information Technology Dr Kathryn Merrick Bldg 16, Rm 212 (Thursdays.
Year 11 Timeframe and How to Help Your Child What is the timeframe for year 11? How can you help your child? How can you get help in helping your child?
11 Getting Started with C# Chapter Objectives You will be able to: 1. Say in general terms how C# differs from C. 2. Create, compile, and run a.
Using Memory Diagrams When Teaching a Java-Based CS1 Mark A. Holliday David R. Luginbuhl Dept of Mathematics and Computer Science Western Carolina University.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
5.0 Objects First with Java A Practical Introduction using BlueJ Introduction to Computer Science I Instructor: Allyson Anderson.
Prof. Matthew Hertz SH 1029F /
VARIABLES AND TYPES CITS1001. Types in Java the eight primitive types the unlimited number of object types Values and References The Golden Rule Scope.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Introduction to Java. 2 Textbook David J. Barnes & Michael Kölling Objects First with Java A Practical Introduction using BlueJ Fourth edition, Pearson.
C&I 204: Learning Styles September 7, 2011.
Designing classes How to write classes in a way that they are easily understandable, maintainable and reusable 5.0.
Recap form last time How to do for loops map, filter, reduce Next up: dictionaries.
Planning Learning Schemes of Work Programmes of Study Training Packages Getting the Paperwork Right (and the thinking behind the paperwork)
Mr. John Rouda
Foreign language in my future career.
CS 106 Introduction to Computer Science I 03 / 02 / 2007 Instructor: Michael Eckmann.
Objects First With Java A Practical Introduction Using BlueJ Designing classes How to write classes in a way that they are easily understandable, maintainable.
1 COS 260 DAY 12 Tony Gauvin. 2 Agenda Questions? 5 th Mini quiz –Chapter 5 40 min Assignment 3 Due Assignment 4 will be posted later (next week) –If.
Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically assess the.
M1G Introduction to Programming 2 2. Creating Classes: Game and Player.
Comp1004: Programming in Java I Variables - Primitives, Objects and Scope.
1 COS 260 DAY 18 Tony Gauvin. 2 Agenda Questions? 7 th Mini quiz Graded –Good results 8 th Mini Quiz –Chap 8  Next class Assignment 4 Due Assignment.
Looking is showing that you’re paying attention and listening to what the teacher has to say. Don’t have side talks with your friend when the teacher.
Don’t get “blogged” down Little tips about blogging to make your life easier, and your classroom more effective. Presenter: Bryce Ballif.
Foundation Year Routes to Success Part III - Sustaining Success Su White Semester 2 Week1 - Context These slides in Edshare
Foundation Year Routes to Success Part III - Sustaining Success Su White Semester 2 Week2 – Judgement and Motivations
Coming up Implementation vs. Interface The Truth about variables Comparing strings HashMaps.
Coming up ArrayList ArrayList vs Array – Declaration – Insertion – Access – Removal Wrapper classes Iterator object.
Is there a right way to teach physics?
CS Programming I Jim Williams, PhD.
Objects First with Java A Practical Introduction using BlueJ
Developing Communication skills
COS 260 DAY 11 Tony Gauvin.
CS 200 Primitives and Expressions
Objects First with Java A Practical Introduction using BlueJ
Grad V.S. Undergrad Clickers V.S. Non-clickers
Objects First with Java A Practical Introduction using BlueJ
Java Coding 4 (part2) David Davenport Computer Eng. Dept.,
SPL – PS2 C++ Memory Handling.
Coming up Variables Quick look at scope Primitives Objects
Presentation transcript:

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

Intro and Background We have been here before… Regular review/enhancement Constrained – had to keep structure and teaching practices – changed teaching content – ?? Student learning

People

Hello! Teresa Binks Computer Science 2 nd 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

Inspirations Maria Montessori Independence Self Correction Repetition Extension Real Life Head First Java Light Hearted Metaphors Visual Conversational BlueJ Manipulable Beginner Focused

What we changed In this lesson we will be studying…

What I did on my summer holidays By Teresa Binks

The Big Picture PrimitivesObjects defined in Javadefined in classes stored in variables directly references stored in variables Pass a copyPass 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

The Big Picture PrimitivesObjects defined in Javadefined in classes stored in variables directly references stored in variables Pass a copyPass 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

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

Feedback The module was intellectually challenging and stimulating Overall, how would you rate this module?

What were the best features of this module? Interesting courseworks and assignments Space Cadets Lectures were very 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 Labs Students 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

Thanks Any Questions?

Programming Principles