CPD for Computing Teachers. Clever Stuff For Common Problems. Going beyond simple algorithms. The Beauty of Trees. Session Notes

Similar documents
White Paper. The Art of Learning

Films for ESOL training. Section 2 - Language Experience

Learning goal-oriented strategies in problem solving

B. How to write a research paper

Radius STEM Readiness TM

Fisk Street Primary School

Contents. Foreword... 5

Understanding and Supporting Dyslexia Godstone Village School. January 2017

TEACHER'S TRAINING IN A STATISTICS TEACHING EXPERIMENT 1

INTRODUCTION TO TEACHING GUIDE

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

University of Groningen. Systemen, planning, netwerken Bosman, Aart

Classify: by elimination Road signs

Multimedia Application Effective Support of Education

Missouri Mathematics Grade-Level Expectations

Backwards Numbers: A Study of Place Value. Catherine Perez

Unit 7 Data analysis and design

What effect does science club have on pupil attitudes, engagement and attainment? Dr S.J. Nolan, The Perse School, June 2014

Level 6. Higher Education Funding Council for England (HEFCE) Fee for 2017/18 is 9,250*

Pedagogical Content Knowledge for Teaching Primary Mathematics: A Case Study of Two Teachers

Stacks Teacher notes. Activity description. Suitability. Time. AMP resources. Equipment. Key mathematical language. Key processes

Abbey Academies Trust. Every Child Matters

Post-16 transport to education and training. Statutory guidance for local authorities

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

Shockwheat. Statistics 1, Activity 1

Biomedical Sciences (BC98)

Manual for teacher trainers

PUBLIC SPEAKING: Some Thoughts

Evidence-based Practice: A Workshop for Training Adult Basic Education, TANF and One Stop Practitioners and Program Administrators

Proof Theory for Syntacticians

Day 1 Note Catcher. Use this page to capture anything you d like to remember. May Public Consulting Group. All rights reserved.

Abstractions and the Brain

Initial teacher training in vocational subjects

OCR Teaching in the Lifelong Learning Sector Qualification Units

Lucy Calkins Units of Study 3-5 Heinemann Books Support Document. Designed to support the implementation of the Lucy Calkins Curriculum

A Note on Structuring Employability Skills for Accounting Students

The lab is designed to remind you how to work with scientific data (including dealing with uncertainty) and to review experimental design.

Critical Thinking in Everyday Life: 9 Strategies

Getting Started with Deliberate Practice

GACE Computer Science Assessment Test at a Glance

UNIT ONE Tools of Algebra

SMALL GROUPS AND WORK STATIONS By Debbie Hunsaker 1

Welcome to Year 2. The New National Curriculum

Identifying Novice Difficulties in Object Oriented Design

How to make successful presentations in English Part 2

Introduction to Causal Inference. Problem Set 1. Required Problems

Using research in your school and your teaching Research-engaged professional practice TPLF06

Introduction and Motivation

IBCP Language Portfolio Core Requirement for the International Baccalaureate Career-Related Programme

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Exploring Derivative Functions using HP Prime

The Singapore Copyright Act applies to the use of this document.

Julia Smith. Effective Classroom Approaches to.

What is Thinking (Cognition)?

ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology

Program Matrix - Reading English 6-12 (DOE Code 398) University of Florida. Reading

CAFE ESSENTIAL ELEMENTS O S E P P C E A. 1 Framework 2 CAFE Menu. 3 Classroom Design 4 Materials 5 Record Keeping

Multi-sensory Language Teaching. Seamless Intervention with Quality First Teaching for Phonics, Reading and Spelling

Starting primary school

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

STRETCHING AND CHALLENGING LEARNERS

Math-U-See Correlation with the Common Core State Standards for Mathematical Content for Third Grade

Faculty Meetings. From Dissemination. To Engagement. Jessica Lyons MaryBeth Scullion Rachel Wagner City of Tonawanda School District, NY

International Business BADM 455, Section 2 Spring 2008

Chiltern Training Ltd.

Guide to the Uniform mark scale (UMS) Uniform marks in A-level and GCSE exams

Language properties and Grammar of Parallel and Series Parallel Languages

A Minimalist Approach to Code-Switching. In the field of linguistics, the topic of bilingualism is a broad one. There are many

VOCATIONAL QUALIFICATION IN YOUTH AND LEISURE INSTRUCTION 2009

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Coast Academies Writing Framework Step 4. 1 of 7

C U L I N AR Y A R T S

Organising ROSE (The Relevance of Science Education) survey in Finland

Physics 270: Experimental Physics

Lecturing Module

Enduring Understandings: Students will understand that

Transfer of Training

Foundation Certificate in Higher Education

Medium Term Plan English Year

South Carolina English Language Arts

What Is The National Survey Of Student Engagement (NSSE)?

21st Century Community Learning Center

THREE-YEAR COURSES FASHION STYLING & CREATIVE DIRECTION Version 02

An Introduction to the Minimalist Program

Programme Specification

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Extending Place Value with Whole Numbers to 1,000,000

The Keele University Skills Portfolio Personal Tutor Guide

COMPUTER-ASSISTED INDEPENDENT STUDY IN MULTIVARIATE CALCULUS

1. Answer the questions below on the Lesson Planning Response Document.

The ADDIE Model. Michael Molenda Indiana University DRAFT

CURRICULUM PROCEDURES REFERENCE MANUAL. Section 3. Curriculum Program Application for Existing Program Titles (Procedures and Accountability Report)

Alignment of Australian Curriculum Year Levels to the Scope and Sequence of Math-U-See Program

RETURNING TEACHER REQUIRED TRAINING MODULE YE TRANSCRIPT

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Life and career planning

Mandatory Review of Social Skills Qualifications. Consultation document for Approval to List

with The Grouchy Ladybug

Sight Word Assessment

WHAT ARE VIRTUAL MANIPULATIVES?

Transcription:

CPD for Computing Teachers Clever Stuff For Common Problems Going beyond simple algorithms The Beauty of Trees Session Notes

The Big Picture Session Notes to support The Beauty of Trees. Session 6 from Clever Stuff for Common Problems: Going beyond simple algorithms Background to Clever Stuff for Common Problems At primary school, computational concepts will often be introduced by way of analogy with ideas children are familiar with. Their first encounters with algorithms will be human instructions, perhaps to make a jam sandwich, or guide a child through an obstacle course. Programming constructs, such as repetition, might be illuminated by reference to nursery rhymes or similar repeating patterns. The key point is that familiarity with the idea is a pre-requisite to any later application in a programming environment. By the end of Key Stage 3 children will have had experience creating programs that involve combinations of the big 3 constructs: sequence, selection and repetition. They will be familiar with the notion of a variable and possibly had practical experience of manipulating data in lists (or arrays). But for most students, this will be the limit of their practical application of algorithms. In this Unit we suggests that at Key Stage 3 teachers could also start opening children s eyes to some of the algorithms that help shape the world around them. These often depend on data structures that are more complex than lists so we wouldn t expect children to be capable of implementing them in a programming environment at that age. But by gaining familiarity with the concepts and how they apply to real world problems we broaden their horizons about applications that are developed by applying clever algorithms. We hope to build an appreciation of the variety of data structures which lend themselves to storing different information. The key structure and terminology teachers will need to become familiar with is that of a graph (which can be thought of as a generalisation from the list they will be familiar with). Graphs can represent widely differing problems, but those problems may have common algorithmic solutions. So if we can abstract the key fundamentals from a problem, we may be able to apply it to another different situation. Throughout the sessions there is an emphasis on how we can apply abstraction and decomposition to address everyday challenges. Exploring some common graph traversals in the activities illustrates how some are very hard to solve, whilst others, which look very similar are easy to develop algorithms for. Through these insights a sense can then start to be conveyed of how solutions to some problems don t scale well, alongside developing an appreciation of their role in providing solutions to common problems. Clever Stuff for Common Problems: Going Beyond Simple Algorithms is the full Tenderfoot Unit. It comprises six separate sessions; Investigating Shuffles Data Structures Matter Many Problems, One Solution Toy Problem for the Real World The Oracle of Bacon The Beauty of Trees CAS Tenderfoot

Session Outline Session Notes to support The Beauty of Trees. Session 6 from Clever Stuff for Common Problems: Going beyond simple algorithms The Beauty of Trees This Unit starts by looking at lists (or arrays) and the sessions develop to explore graphs, in the process mentioning things such as Minimum Spanning and Steiner Trees. This final session recaps how all these data structures fit together, distinguishing between Lists, Trees and Graphs. A short group activity is introduced that illustrates a certain beauty about a particular type of tree a binary tree. Think of a Number demonstrates how to create a binary tree of numbers chosen at random by children. Once created, a traversal of the tree returns the numbers in sorted order it s magical, and a good exercise for children in tracing an algorithm. Attendees can be challenged to explore returning the numbers in reverse order too. Finally, having used a binary tree to retrieve data in a sorted order, attendees can be encouraged to compare the approach to traditional linear sorting methods that involve the swapping and moving of data items. Here, we re introducing the idea of how we might objectively measure the performance of different algorithms. The aim of this session It is important to be explicit about the intended outcomes for attendees. Do not assume they will be aware of the purpose of your session. Consider too, any prior knowledge they may need for the session to succeed. By stating the intentions, it helps avoid getting sidetracked into discussing the detail of individual classroom activities. The primary aim is to educate teachers and illustrate the breadth and depth of Computer Science. The specific outcomes for teachers from this session, are to recognise that trees, like linear structures such as arrays, are a subset of the more general graph data structure have become familiar with a tree traversal algorithm and recognise its role in providing a different approach to sorting. The purpose of Tenderfoot is to equip trainers with resources to broaden the outlook of teachers new to Computing. The intention is to provide a buffet of resources on which teachers can draw, to enrich their Computing lessons, at the same time as meeting the key aim: providing greater depth of knowledge for teachers themselves. Developing teachers is the focus, not providing activities for pupils or suggested schemes of work. It is up to teachers themselves to judge what might be appropriate for their particular classrooms, and at what age activities might work best. The session aims to stimulate debate amongst attendees about both subject content and associated pedagogy. It ends with an encouragement to reflect on classroom practice consider the potential for engaging in more formal action research and achieve accreditation through the BCS Certificate of Computer Science Teaching. Throughout the material there are references to famous computer scientists and lots of pointers to other material. The aim is to encourage teachers to delve deeper and take the ideas further. Before delivering the session, please check you are comfortable with the narrative and references to other material. These Session Notes include a summary of each activity. Please ensure you rehearse the delivery to familiarise yourself with transitions and animations. The presentation slides include further detailed notes. CAS Tenderfoot

The Beauty Of Trees Activity Notes to support The Beauty Of Trees. Session 6 of Clever Stuff For Common Problems: Going beyond simple algorithms An initial demonstration shows how compound data structures, such as lists and trees, can be viewed as subsets of the more general graph structure. A short class exercise demonstrates how a particular subset of a tree structure, a binary tree, can be constructed from a random set of numbers. A specific traversal returns the numbers in sorted order, without moving them within the structure. Preparation required: Binary Tree Traverse Exercise sheet for each pupil. Plain paper. Variables, Lists, Trees and Graphs The famous computer scientist, Niklaus Wirth wrote a book in 1975 entitled Algorithms + Data Structures = Programs. A better way to think of it might be that computation acting on information leads to solutions to problems. Most students are familiar now with the term algorithm and the key constructs from which algorithms are built; sequence, selection and repetition. On the other side of the equation are data structures for holding information, such as lists, graphs and trees. The presentation shows how they fit together as a family. The presentation does this by considering the development of a rail network. Initially we may have only one station. A single entity, such as a station can be stored as a named variable. Single variables can be thought of as the foundation of all other data structures. We can build more complex structures by aggregating variables making a compound data structure. Once we connect two stations, a compound data structure makes sense. Because they are similar items a list would work well. And a list would continue to be appropriate whilst extra stations were added to this one line. A linear structure such as this could also cope with new stations inserted in the line, rather than appended to the end. But what happens when branch lines are added? This new sort of arrangement is better thought of as a tree with different paths or lines branching off. Trees can have many branches, but re distinguished by only having one path to a leaf node. They can also be rooted (or not) as we shall see with an exercise using a binary tree. As the network continues to grow, branching paths may no longer be adequate for representing the railway. We may have lines that loop round, for example. To represent a rail network with circuits in it we need to be thinking in terms of graph structures, the most general representation. So Trees and Lists can be thought of as particular subsets of the more general graph structure. We often introduce algorithmic constructs to children away from the computer. Developing familiarity with these makes the challenge of coding algorithms easier. Similarly, developing an appreciation of the role of data structures away from the computer helps develop an appreciation of their role in developing clever algorithms. The exercise overleaf introduces a novel way to solve a common problem. CAS Tenderfoot

Think Of A Number A binary tree is a particular subset of the more general tree structure. Firstly it is a rooted tree, which means a node is identified from which the tree springs. Somewhat confusingly, in computing, trees are usually drawn upside down. The root is at the top. In a binary tree the root node has two and only two child nodes, hence the name. Each child node is referred to as the left and right. Each subsequent node also has two child nodes though it is possible that every node may not be used. Formally though, in a binary tree every node has two child nodes, apart from terminal nodes, which have no children. You can play do this as a class activity with a child at the board drawing the binary tree as it grows or you can have each child creating their own tree on paper. The activity involves children picking numbers at random and can go on as long as you want. For simplicity, it is probably worth having limits, say between 1 and 100, and avoiding duplicate values. To demonstrate, we use ten numbers, selected at random, though, for the purpose of the animation, they had to be selected in advance. The presentation builds the binary tree by following simple rules. The first numbers are 54, 36, 75, 17, 24, 62 The first number, 54 becomes the root node. Because 36 is less than 54, it become the left child node and as 75 is greater than 54, it become the right child node. So where does 17 go? Starting at the root, we move left, because 17 is less than 54. It is also less than 36 so becomes the left child of 36. How about 24? Less than 54, and 36, but more than 17, so the right child of 17. 62 goes right of 54, but left of 75. Obviously we could go on and on, the slides completing the binary tree for the list of numbers. In a binary tree, each node has two child nodes apart from terminal nodes. As every node containing a value should have two children, we can add empty terminal nodes to complete the tree. Once built, we walk around the structure (traverse the tree). Starting at the root, going anti-clockwise initially, pupils simply trace a line around the tree, making a note each time they meet a number, then moving it to a second column when they meet it a second time. Give each student a sheet to record the results. If they are struggling, there is a hidden slide which builds up the answer. It can be used for a whole class as a child traces the route on a whiteboard. The subsequent 3 slides walk through the process step by step, visiting each node in turn. The first slide takes the animation up to the return to the root node. Then up to the second visit of Node 75, the third slide completing the traversal. Use (or hide) whichever is most suitable. Once completed, can the students see what has happened? By following this algorithm we can retrieve an ordered list without having to sort the values first. Another Tenderfoot Unit: Doing Stuff And Doing Stuff Well considers ways to evaluate the efficiency of algorithms. This activity can be used when reflecting on the efficiency of different sorting algorithms. In this case, no values are moved or swapped (as they must be in a list). The sort is accomplished by the way the tree is built and the order in which nodes are visited in a traversal. Beautiful! 2