HIGHER CS STANDARD ALGORITHMS Part 1- Ensuring fuller understanding of the basic concepts www.planforcomputing.org.uk.

Slides:



Advertisements
Similar presentations
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Advertisements

Introduction to Programming using Matlab Session 2 P DuffourJan 2008.
Context Response.
Copyright © 2014 ICT Inspires Ltd. All Rights Reserved. ICT (Computing) Subject Leader Course Session 2: Broader.
Grade 6 EQAO Parent Information Session Malvern Junior P.S. Presented by Mrs. Frendjian, Mr. Melchiorre and Mrs. Shuttin.
Designing Experiments - use of the Planning Boards Friday 4 th July, 2008 NAIGS Conference, Slaley Hall Phil Watkins 0191.
Mathematics in the MYP.
Using the Crosscutting Concepts As conceptual tools when meeting an unfamiliar problem or phenomenon.
ITEC113 Algorithms and Programming Techniques
Chapter 2: Algorithm Discovery and Design
Complexity (Running Time)
Teach Equation Solving Kathy Hawes Discussion presented by Jessica Dow and Janice O’Donnell.
Playing board for the game Crooked Rules
Why teach coding?.
Chapter 2: Algorithm Discovery and Design
Chapter 2: Algorithm Discovery and Design
Software design and development Marcus Hunt. Application and limits of procedural programming Procedural programming is a powerful language, typically.
From the Florida Department of Education FCAT Explorer BRIEF OVERVIEW Florida Department of Education’s FCAT Explorer.
Speaking Sample Items for Scoring Practice Speaking Components Speaking Scoring Guide Test Administration Manual Student Speaking Prompts- on CD Input.
Line up By Melissa Dalis Professor Susan Rodger Duke University June 2011.
Introduction CSE 1310 – Introduction to Computers and Programming
Thinking Actively in a Social Context T A S C.
The Node Voltage Method
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition.
Invitation to Computer Science, Java Version, Second Edition.
Foundations of Computer Science Computing …it is all about Data Representation, Storage, Processing, and Communication of Data 10/4/20151CS 112 – Foundations.
Claire Ridsdale, Teaching & Learning Adviser (Literacy
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
T 7.0 Chapter 7: Questioning for Inquiry Chapter 7: Questioning for Inquiry Central concepts:  Questioning stimulates and guides inquiry  Teachers use.
Rational/Theoretical Cognitive Task Analysis Ken Koedinger Key reading: Zhu, X., & Simon, H. A. (1987). Learning mathematics from examples and by doing.
Bug Session Four. Session description Objectives Session activities summary Resources Prior knowledge of sequencing instructions using Bug Bug website.
The Initial Problem Chapter 1, Section 1.6 #71 x = 793 x needs to be isolated on the left. Therefore, 341 should be subtracted from both sides: x.
By the end of this session you should be able to...
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.
Pseudocode Simple Program Design Third Edition A Step-by-Step Approach 2.
CMP-MX21: Lecture 4 Selections Steve Hordley. Overview 1. The if-else selection in JAVA 2. More useful JAVA operators 4. Other selection constructs in.
1 CSC 221: Computer Programming I Spring 2008 course overview  What did we set out to learn?  What did you actually learn?  Where do you go from here?
Scientific Debugging. Errors in Software Errors are unexpected behaviors or outputs in programs As long as software is developed by humans, it will contain.
The Beauty and Joy of Computing Lecture #6 Algorithms I UC Berkeley EECS Sr Lecturer SOE Dan Garcia.
The Assignment says: Present your analysis of the data in a written form directed to an audience you think appropriate.
Definition Essay WIT Comp 2. Definition A definition essay is an essay that defines a word, term, or concept. In this essay you should not define a term.
Yr 7.  Pupils use mathematics as an integral part of classroom activities. They represent their work with objects or pictures and discuss it. They recognise.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
Flowchart. a diagram of the sequence of movements or actions of people or things involved in a complex system or activity. a graphical representation.
STEP 3- DEVELOP AN ALGORITHM At this stage we break down the problem into simple manageable steps so that they can be handled easily.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science.
CS 101 – Oct. 7 Solving simple problems: create algorithm Structure of solution –Sequence of steps (1,2,3….) –Sometimes we need to make a choice –Sometimes.
1 Overview of Class#8 Continue work with base ten blocks –Modeling addition and subtraction with whole numbers –Ordering decimals –Modeling addition and.
#1 Make sense of problems and persevere in solving them How would you describe the problem in your own words? How would you describe what you are trying.
Encouraging explanations and use of key language Peer Instruction.
Progression in KS3/4 Algorithms MONDAY 30 TH NOVEMBER SUE SENTANCE.
Key Stage 3 National Strategy Literacy in science.
Teaching and learning programming DECEMBER 18 TH SUE SENTANCE 1.
INTRODUCING THE QUESTION FORMULATION TECHNIQUE™ (QFT™)
PeerWise Student Instructions
What is a CAT? What is a CAT?.
3.1 Fundamentals of algorithms
COMPUTATIONAL CONSTRUCTS
CSC 221: Computer Programming I Spring 2010
CSC 221: Computer Programming I Fall 2005
Introduction CSE 1310 – Introduction to Computers and Programming
St Peter’s Catholic Primary
Program Design Introduction to Computer Programming By:
Language Constructs Construct means to build or put together. Language constructs refers to those parts which make up a high level programming language.
Year 6 SATs Meeting.
Claim 1: Concepts and Procedures
Presentation transcript:

HIGHER CS STANDARD ALGORITHMS Part 1- Ensuring fuller understanding of the basic concepts

Who am I? Principal Teacher of Computing at Crieff High School CAS Scotland committee member National Project Officer since August

Session Overview Importance of students developing a precise understanding - The problem with intuition - The hidden mechanism concept - Does this just apply to programming? Ways to assess and help secure pupils understanding of the basic concepts - Peer instruction - Identifying and describing hidden mechanisms

Current teaching of standard algorithms What approaches do you currently use or are planning to use? What approaches do you find work well? What would you like to improve?

Importance of developing mechanistic reasoning Relying on intuition vs understanding Concept of a hidden mechanism Does this just apply to programming?

Problems of prior pupil experience Intuition Reliance on the other persons experience and ability to deal with ambiguity. Precision doesn’t really matter Reliance on copying other examples that might be similar. “The computer doesn’t like me and is being awkward” Understanding Realisation that a computer has no prior experience and struggles with ambiguity. Precision is crucial Choosing features based on what you want the computer to do. “I haven’t correctly described the process”

What kind of understanding do they need? Awareness of structure and how different elements relate to one another Consistent model of how a process description is carried out by a computer or other person Static view of a particular instant in time that’s probably easier for novices Dynamic view of a series of actions unfolding over time and probably harder for novices

Does this just apply to programming? No Computing Science is an information structure and process orientated discipline Modern UI’s allow a try different things until it works approach

Peer instruction to test for faulty mental models Brief overview of PI PI questions for the audience Research evidence of its effectiveness

Peer Instruction Technique originally developed in Physics by Eric Mazur at Harvard university Way of assessing whether novices really understand concepts requiring a precise understanding Based on carefully designed multiple choice questions with structured discussion and voting

PI in a secondary school context Before Pupils have worked with the concepts in class or at home. Individual Pupils read the question and choose an answer Vote takes place Group Pupils discuss what answer they chose and why Vote takes place Class Teacher facilitated discussion Vote takes place Correct Answer Teacher reveals the correct answer Teacher explains why it’s correct

The variables angel and egyptian contain 1.7 and 2.0 respectively, which represent their height. What is written out…? IF angel > egyptian THEN SEND "Egyptian is taller" TO DISPLAY ELSE SEND "Angel is taller" TO DISPLAY END IF A.Egyptian is taller B.Angel is taller C.Egyptian is taller Angel is taller D.

Consider what this code does when metalColour is blue, red, or green… IF metalColour == "blue" THEN SEND "Cold" TO DISPLAY ELSE IF metalColour == "red" THEN SEND "Hot!" TO DISPLAY ELSE SEND "Try again!" TO DISPLAY END IF Which options are true? A.When metalColour is blue, Cold displayed B.When metalColour is red, Hot! displayed C.When metalColour is blue, both Cold AND Try again! displayed D.When metalColour is green, nothing happens

What is written out…? SET n TO 4 WHILE n > 0 LOOP SET n TO n – 1 END WHILE SEND n TO DISPLAY A.-1 B.0 C.1 D.2 E.3 F.4

How many times is Hello written out? SET i TO 0 WHILE i <= 5 DO SEND "Hello" TO DISPLAY SET i TO i + 1 END WHILE A: 4 B: 5 C: 6 D: 7 E:

How many times is Hello written out? SET i TO 10 REPEAT i TIMES SET i TO i – 2 SEND "Hello" TO DISPLAY END REPEAT A: 10 B: 8 C: 6 D: 4 E: 2 F: 0

PI vs teacher explanation Statistically significant effect Twice as effective as a good teacher explanation Successfully used in Physics, Maths and Computing Science Develops better sense of self efficacy particular amongst girls

Identifying and describing mechanisms The importance of CS speak Identifying mechanisms in a simple piece of code Activity involving identifying and describing mechanisms

Why the language matters Without CS speak you have -no way of clearly identifying the mechanisms -difficulty connecting the problem description to the code or features you need for the process description Forced to rely on showing them lots of problem descriptions and the code or steps to solve them.

CS Speak provides A common language to describe their understanding. Helps to transfer learning to another programming language. Helps transfer from one example to similar problems. However they need opportunities to practice using the language!

conditional repetition complex condition logical comparisons output Identifying and describing mechanisms assignment to a variable input SET password TO “” SET attempts TO 0 REPEAT SEND “Please enter the correct password” TO DISPLAY RECEIVE password FROM (STRING) KEYBOARD UNTIL password = “12345” OR attempts > 3

Identifying and describing mechanisms SET lotto_player TO [“”, ””, ””, ””] FOR player FROM 0 TO 2 DO SEND “Please enter players name” TO DISPLAY RECEIVE name FROM (STRING) KEYBOARD SET lotto_player[player] TO name END FOR selected = pick_random( 0, 2) SEND lotto_player[selected] & “has won!” TO DISPLAY

Key Challenges Code writing before code comprehension makes this more difficult for novices Need to understand the hidden mechanisms Computational constructs are tightly linked

Questions