Progression in KS3/4 Algorithms MONDAY 30 TH NOVEMBER SUE SENTANCE.

Slides:



Advertisements
Similar presentations
1 CS101 Introduction to Computing Lecture 17 Algorithms II.
Advertisements

COMPUTER PROGRAMMING I Understand Problem Solving Tools to Design Programming Solutions.
Course resources available from What is Scratch? How does Scratch fit into the Computing PoS? Progression in Computing.
PSEUDOCODE & FLOW CHART
ITEC113 Algorithms and Programming Techniques
Chapter 2: Algorithm Discovery and Design
Program Design and Development
Algorithm Design CS105. Problem Solving Algorithm: set of unambiguous instructions to solve a problem – Breaking down a problem into a set of sub- problems.
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Chapter 2: Algorithm Discovery and Design
Programming Fundamentals (750113) Ch1. Problem Solving
Demystifying the new Primary computing curriculum
Chapter 1 Program Design
Why teach coding?.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
Chapter 3 Planning Your Solution
The Program Design Phases
Review Algorithm Analysis Problem Solving Space Complexity
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Simple Program Design Third Edition A Step-by-Step Approach
CS Unplugged Demo Lester Jackson, Sr. Program Manager.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Invitation to Computer Science, Java Version, Second Edition.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
By the end of this session you should be able to...
SE: CHAPTER 7 Writing The Program
Overview of this morning What … is computing? Why … is computing an important skill to learn? What … will my child be learning in computing lessons?
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
Chapter 2: General Problem Solving Concepts
The Software Development Process
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
`. Lecture Overview Structure Programming Basic Control of Structure Programming Selection Logical Operations Iteration Flowchart.
CS 100 Introduction to Computing Seminar September 21, 2015.
Structured Programming (4 Credits)
The Art of Programming. The process of breaking problems down into smaller, manageable parts By breaking the problem down, each part becomes more specific.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Algorithms and Pseudocode
STEP 3- DEVELOP AN ALGORITHM At this stage we break down the problem into simple manageable steps so that they can be handled easily.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
 Problem Analysis  Coding  Debugging  Testing.
Algorithms and Flowcharts
Integrating Algorithms and Coding into the Mathematics Classroom
Learning outcomes 5 Developing Code – Using Flowcharts
Understand Problem Solving Tools to Design Programming Solutions
Understand Problem Solving Tools to Design Programming Solutions
Lecture 2 Introduction to Programming
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Introduction to Computer Programming
Teaching Computing to KS3
Problem Solving Techniques
Graph Paper Programming
Computational Thinking for KS3
Chapter 2- Visual Basic Schneider
Chapter 2- Visual Basic Schneider
Algorithms Key Revision Points.
Programming Fundamentals (750113) Ch1. Problem Solving
ICT Gaming Lesson 2.
Programming Fundamentals (750113) Ch1. Problem Solving
The structure of programming
Quiz: Computational Thinking
Thinking procedurally
WJEC GCSE Computer Science
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

Progression in KS3/4 Algorithms MONDAY 30 TH NOVEMBER SUE SENTANCE

Starter task: Algorithms Take a plain piece of paper Follow the instructions on the next slide in sequence The instructions will generate a picture

Instructions 1. Draw a diagonal line 2. Draw another diagonal line connected to the top of the first one 3. Draw a straight line from the point where the diagonal lines meet 4. Draw a horizontal line over the straight line 5. At the bottom of the straight line, draw a curvy line 6. Draw a diagonal line from the bottom of the first diagonal to the straight line 7. Draw a diagonal line from the bottom of the second diagonal to the straight line 8. What object have you drawn? CSInside – “Algorithm Development” activity

Following on from this exercise …  Write the instructions for a shape of your choice  Make them as clear as possible (Advanced students – use functions for parts of the shape that repeat, e.g. repeat steps 1 – 4 3 times)  Pass the instructions to another student in the room  They follow your instructions  Did your instructions work?

Learning objectives  You will start to understand what concepts and terminology are used in the area of algorithmic thinking in KS3 and KS4  You will develop an understanding of how children develop understanding of algorithms, using the progression pathway document, particularly  You will be able to plan lessons which demonstrate some progression in algorithmic thinking

Menu TimeTopic 9:30Starter: Kite Activity 09:45What do we need to teach Breaking down skills around algorithms How to develop algorithmic thinking 10:15Task: Paper cup activity 10:45Break 11:15Progression pathways 11:30Development of two lesson outlines 12:00SSA Lit Review Q & A 12:30Finish

What do we need to teach?

KS1,2 and 3 - Algorithms KS1  understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions KS2  use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs KS3  understand several key algorithms that reflect computational thinking [for example, ones for sorting and searching]; use logical reasoning to compare the utility of alternative algorithms for the same problem

Algorithmic thinking at GCSE (OCR) Candidates should be able to:  (a) understand algorithms (written in pseudocode or flow diagram), explain what they do, and correct or complete them  (b) produce algorithms in pseudocode or flow diagrams to solve problems. Candidates should be able to:  (g) understand and use sequence in an algorithm  (h) understand and use selection in an algorithm (IF and CASE statements)  (i) understand and use iteration in an algorithm (FOR, WHILE and REPEAT loops).

AQA GCSE (Algorithms) Students should:  understand that algorithms are computational solutions that always finish and return an answer  be able to interpret simple algorithms to deduce their function  be able to create algorithms to solve simple problems  be able to detect and correct errors in simple algorithms.

EdExcel GCSE (Algorithms) Overall aim no 1 Understanding of what algorithms are what they are used for how they work and the ability to interpret, amend and create algorithms.

EdExcel GCSE (Algorithms)  Understand what an algorithm is, what algorithms are used for and be able to interpret algorithms [flowcharts, pseudocode, structured English, written descriptions, program code]*  Be able to create an algorithm to solve a particular problem, making use of programming constructs [sequence, selection, repetition] and using an appropriate notation [flowchart, written description, program code]  Be able to describe the purpose of a given algorithm and explain how a simple algorithm works  Be able to identify the correct output of an algorithm for a given set of data

EdExcel GCSE - Algorithms (contd)  Be able to identify and correct errors in algorithms  Be able to code an algorithm into a high-level language  Understand how the choice of algorithm is influenced by the data structure and data values that need t be manipulated  Understand how standard algorithms [quick sort, bubble sort, selection sort, linear search, binary search, breadth first search, depth first search, maximum/minimum, mean, count] work  Understand factors that affect the efficiency of an algorithm

Teaching around algorithms There are lots of good activities that illustrate the point that algorithms need to be precise WARNING: What about these other skills?  Debugging algorithms  Designing algorithms  Executing algorithms  Tracing algorithms  Automating (programming) algorithms

Key resources  Progression Pathways (with computational thinking) – CAS Website  Computational thinking guidance – CAS Website

Algorithmic thinking - examples  Writing instructions that if followed in a given order (sequences) achieve a desired effect;  Writing instructions that use arithmetic and logical operations to achieve a desired effect;  Writing instructions that store, move and manipulate data to achieve a desired effect; (variables and assignment)  Writing instructions that choose between different constituent instructions(selection) to achieve a desired effect;  Writing instructions that repeat groups of constituent instructions (loops/iteration) to achieve a desired effect;  Grouping and naming a collection of instructions that do a well-defined task to make a new instruction (subroutines, procedures, functions, methods);

Algorithmic thinking - examples  Writing instructions that involve subroutines use copies of themselves to achieve a desired effect (recursion);  Using a standard notation to represent each of the above;  Creating algorithms to test a hypothesis;  Creating algorithms that give good, though not always the best, solutions (heuristics);  Creating algorithmic descriptions of real world processes so as to better understand them (computational modelling);  Designing algorithmic solutions that take into account the abilities, limitations and desires of the people who will use them;

Task: Paper Cup Activity Key Lesson Vocabulary: Algorithm -  A series of instructions on how to accomplish a task Coding -  Transforming actions into a symbolic language Debugging -  Finding and fixing issues in code Function -  A piece of code that can be called over and over Parameters -  Extra bits of information that you can pass into a function to customize

Cup robotics

Task: Paper Cup Activity Key Lesson Vocabulary: Algorithm -  A series of instructions on how to accomplish a task Coding -  Transforming actions into a symbolic language Debugging -  Finding and fixing issues in code Function -  A piece of code that can be called over and over Parameters -  Extra bits of information that you can pass into a function to customize

Symbols

Example – with 3 cups in a stack

You should get

Now try..  Select one of the pictures to write instructions for  Write instructions ONLY using the symbols given  Swap with another group and see if your instructions work!  Think: How could you extend this exercise

Feedback on paper cup activity  What does it teach?  Who is it suitable for?  What would you teach next?

Progression Pathways

The guessing game Group 1: write the pseudocode for the algorithm underlying the guessing game Group 2: write a flowchart describing the guessing game algorithm Swap and comment Which of the progression pathways skills are within this algorithm

Process Decision Input/output Start/End Flow Pseudo code Send X to Display (or Output) Input or Read from Display to X Repeat /End Repeat While / End While If/End If Set X to

Algorithms unplugged Dance a bubble sort

Task: developing two tasks IF TIME In pairs: Using the list of activities from the previous slide, and the knowledge needed at GCSE/KS3, develop TWO lesson outlines/tasks showing progression – one for KS3 (any year- but you should state) and one for KS4 (any board – but state if relevant) Each activity should be described on one (max two) ppt slides Upload on to the wiki in the area defined as Progression (algorithms)

Learning objectives  You will start to understand what concepts and terminology are used in the area of algorithmic thinking in KS3 and KS4  You will develop an understanding of how children develop understanding of algorithms, using the progression pathway document, particularly  You will be able to plan lessons which demonstrate some progression in algorithmic thinking