PRIMM for teaching programming Sue Sentance CAS London

  • Slides: 30
Download presentation
PRIMM for teaching programming Sue Sentance CAS London Conference February 2018

PRIMM for teaching programming Sue Sentance CAS London Conference February 2018

Today … In this session I will demo and discuss the approach we have

Today … In this session I will demo and discuss the approach we have developed for teaching programming, drawing on computing research. The session will be a mixture of tasks and talking! Introduce yourself to the person next to you

In pairs discuss … What does this code do? PRIMM Draw on your post

In pairs discuss … What does this code do? PRIMM Draw on your post it

Moving on… Answer What does this code do? What did you draw?

Moving on… Answer What does this code do? What did you draw?

And what about this one? What does this code do? What is different here?

And what about this one? What does this code do? What is different here? PRIMM Draw on your post it

And what about this one? … Answer What does this code do? What did

And what about this one? … Answer What does this code do? What did you get?

In pairs answer these questions In what order does the computer run this program?

In pairs answer these questions In what order does the computer run this program? The word square() is used three times – what is the difference between these? We can ask many more questions about this code – what the numbers mean, why the brackets might be empty, etc.

The PRIMM approach A suggested framework for working with beginners using text-based programming might

The PRIMM approach A suggested framework for working with beginners using text-based programming might be: • Predict – given a working program, what do you think it will do? (function) • Run – run it and test your prediction • Investigate – get into the nitty gritty. What does each line of code mean? (structure). Lots of activities here: trace, annotate, explain, talk about, identify parts, etc…. • Modify – edit the program to make it do different things (function) • Make – design a new program that uses the same nitty gritty but that solves a new problem (function).

PRIMM Examples Predict Run Investigate Modify Make Lesson 3

PRIMM Examples Predict Run Investigate Modify Make Lesson 3

PRIMM Examples Predict Run Investigate Modify Make Lesson 8

PRIMM Examples Predict Run Investigate Modify Make Lesson 8

PRIMM Examples Predict Run Keep starter programs on a shared drive Investigate Students should

PRIMM Examples Predict Run Keep starter programs on a shared drive Investigate Students should download, check what they do and compare with prediction Modify Make

PRIMM Examples Predict Run Investigate Modify Make Ask different types of questions

PRIMM Examples Predict Run Investigate Modify Make Ask different types of questions

PRIMM Examples Predict Run Investigate Modify Make Variety is key – here we use

PRIMM Examples Predict Run Investigate Modify Make Variety is key – here we use a tracing exercise

PRIMM Examples Predict Run Investigate Modify Make

PRIMM Examples Predict Run Investigate Modify Make

PRIMM Examples Predict Run Investigate Modify Make

PRIMM Examples Predict Run Investigate Modify Make

PRIMM Examples Predict Run Investigate Modify Make Improve the pizza program so that it

PRIMM Examples Predict Run Investigate Modify Make Improve the pizza program so that it doesn’t print out “and X” at the end. You will have to add an “if” statement to do this. Modify the program to have a conversation with somebody about sport. An example is given below but you can add your own questions. Change your triangle function so that it uses a for loop Write a function pentagon() to create a pentagon (5 sides) with sides length 200 Write a function hexagon() to create a blue hexagon (6 sides) with sides length 50

PRIMM Examples Predict Run Investigate Modify Make

PRIMM Examples Predict Run Investigate Modify Make

Research underlying PRIMM 1. Read before you write Work by many people but primarily

Research underlying PRIMM 1. Read before you write Work by many people but primarily involves Raymond Lister 2004 – large multi-institutional study shows better performance in programming by those able to trace confidently (Lister et al, 2004) 2011 - Lister described novices requiring 50% tracing code accuracy before they could independently write code with confidence

The Need for Greater Emphasis on Comprehension Creation Orientated • Easy for students to

The Need for Greater Emphasis on Comprehension Creation Orientated • Easy for students to get stuck for long periods of time. • Copying examples can quickly go from eyes to fingers bypassing the brain. • Number of code examples is small- 2 -3 per lesson with large amount of time typing. Comprehension Orientated • Difficult for students to become completely stuck. • Examples have to be studied in order to successfully complete the activity • Number of code examples can be much larger 5 -10 depending on the type of activities chosen. Creating can be very motivating but only if the pupil feels they understand what they are doing

Research underlying PRIMM 2. The Block Model (Schulte, 2007) Distinction between Structure and Function

Research underlying PRIMM 2. The Block Model (Schulte, 2007) Distinction between Structure and Function Distinction between individual programming words, right up to the whole program – in four levels Text surface Execution model Program Function/Goals Identifying the individual program pieces The way in which actions in a piece of code are carried out What the function/ purpose of a piece of code is

The Full Block Model Macro Structure Overall structure How the algorithm works Relations References

The Full Block Model Macro Structure Overall structure How the algorithm works Relations References between separate regions of interest Sequence of related How subgoals are actions or data related to overall updates goals in context Blocks Regions of interestblocks like control structures or groups of adjacent statements Operation of a region of interest such as a block, subprogram or sequence Function of a region of interest- purpose of one subgoal in context Atoms Language elements Operation of a statement or expression Function of a statement or expression in context Text Surface Program Execution (data and control flow) Functions/goals of the program Structure The overall goal/purpose of the program in context Function

The Full Block Model Macro Structure Overall structure How the algorithm works Relations References

The Full Block Model Macro Structure Overall structure How the algorithm works Relations References between separate regions of interest Sequence of related How subgoals are actions or data related to overall updates goals in context Blocks Regions of interestblocks like control structures or groups of adjacent statements Operation of a region of interest such as a block, subprogram or sequence Function of a region of interest- purpose of one subgoal in context Atoms Language elements Operation of a statement or expression Function of a statement or expression in context Text Surface Program Execution (data and control flow) Functions/goals of the program Structure The overall goal/purpose of the program in context Function

Research underlying PRIMM 3. Use-Modify-Create • From Lee et al (2011) • Describes a

Research underlying PRIMM 3. Use-Modify-Create • From Lee et al (2011) • Describes a pedagogical framework for teaching computing in the domains of robotics, game development and … • Students first use a program, then modify it, then create a new one • Good model but lacks an explicit focus on comprehension • Main contribution to PRIMM is to support students by providing a program that is “not mine” and so reduces the burden on students to create something that works straightaway. Use-Modify-Create

Use-modify-create adapted Not mine Predict - Run – Investigate Partly mine Modify All mine

Use-modify-create adapted Not mine Predict - Run – Investigate Partly mine Modify All mine Make

Task 1 – 5 minutes Think of the next programming lesson you might be

Task 1 – 5 minutes Think of the next programming lesson you might be taking What might the students be able to Predict, download and Run at the beginning of the lesson – a PRIMM scenario Share with the people around you • Predict • Run • Investigate • Modify • Make

Task 2 – 5 minutes In pairs/groups choose one of the PRIMM scenarios that

Task 2 – 5 minutes In pairs/groups choose one of the PRIMM scenarios that one of you suggested Think what tasks you would choose to: - Investigate - modify Feedback • Predict • Run • Investigate • Modify • Make

Our research We are currently in the middle of a small trial of PRIMM

Our research We are currently in the middle of a small trial of PRIMM (our second) - 14 schools - 500 -1000 students - KS 3 only (year 8 & 9, second exposure to text-based programming) Future plans: KS 2 – 5, more schools and teachers, starting 2019

Research methodologies 1. Design-based research (DBR) An important methodology for understanding how, when, and

Research methodologies 1. Design-based research (DBR) An important methodology for understanding how, when, and why educational innovations work in practice DBR methods aim to uncover the relationships between educational theory, designed artefact, and practice DBR involves theory being put into practice in a naturalistic context and involves several iterations Teachers edit materials, give feedback and journal their experiences

Research methodologies PRIMM group Baseline test 10 PRIMM lessons Non-PRIMM lessons Control group Baseline

Research methodologies PRIMM group Baseline test 10 PRIMM lessons Non-PRIMM lessons Control group Baseline test Final test The Baseline test assumes very little programming knowledge The post-trial test is to find out what students have learned about selection and iteration but does not use PRIMM type questions. It will include some questions from the Baseline test.

If you like PRIMM … Our materials will be available for KS 3 in

If you like PRIMM … Our materials will be available for KS 3 in July You can adopt this approach without any special materials Please let us know – as we are tracking teachers’ experiences with PRIMM Email us at primm@kcl. ac. uk with any questions about PRIMM or information about how you have been using it and we will showcase your work! Questions and feedback