Code Kingdoms Learning: What, where, when and how

Similar documents
Code Kingdoms Learning a Language

BBC micro:bit Cookbook Using the Code Kingdoms JavaScript editor

KS3 Computing Group 1 Programme of Study hours per week

What makes a good coder and technology user at Mountfields Lodge School?

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Third Edition

Computing Unit Planner: Year 5 Unit 1 Quiz and Game

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

Describe the process of parallelization as it relates to problem solving.

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

River Dell Regional School District. Computer Programming with Python Curriculum

Instructional Design Framework CSE: Unit 1 Lesson 1

Making an Adventure Story AMAZING ADVENTURES. MS Word Scratch MS PowerPoint MS Excel. Making a Video VIDEO MAKERS

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

What do all of these activities have in common? Complete ICT solutions for primary schools

Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations

Circuits and Boolean Expressions

Kids College Computer Game Programming Exploring Small Basic and Procedural Programming

Sources: On the Web: Slides will be available on:

TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction

COMPUTER SCIENCE (5651) Test at a Glance

Fundamentals of Programming and Software Development Lesson Objectives

Mathematics mastery primary conference. Workshop. Jane Jones HMI, National lead for Mathematics

TEACHER S GUIDE TO RUSH HOUR

2014 New Jersey Core Curriculum Content Standards - Technology

Program Your Own Game

Grade descriptions Computer Science Stage 1

Domains and Competencies

Some programming experience in a high-level structured programming language is recommended.

Chapter 13: Program Development and Programming Languages

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

CS Matters in Maryland CS Principles Course

Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N Video Game Design

Five High Order Thinking Skills

The Coppice Primary School Computing & ICT Policy

Game Programming & Game Design

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Programming Languages

Competencies for Secondary Teachers: Computer Science, Grades 4-12

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

Java Application Developer Certificate Program Competencies

Curriculum Map. Discipline: Computer Science Course: C++

Digital Literacy: Communicating, Collaborating and E- Safety, Multimedia, Music and Sound, Digital Imagery

Cheadle Primary School Computing and ICT Policy

Informatica e Sistemi in Tempo Reale

50 Computer Science MI-SG-FLD050-02

2 SYSTEM DESCRIPTION TECHNIQUES

Modeling, Computers, and Error Analysis Mathematical Modeling and Engineering Problem-Solving

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial IBM

This Unit is aimed at candidates who have no previous experience of computer programming.

Basic Programming and PC Skills: Basic Programming and PC Skills:

Welcome to Introduction to programming in Python

Short Course. Coding. Specification for Junior Cycle

Software Design and Development. Stage 6 Syllabus

GET 114 Computer Programming Course Outline. Contact: Office Hours: TBD (or by appointment)

Course Syllabus. COSC 1437 Programming Fundamentals II. Revision Date: August 21, 2013

Stage 5 Information and Software Technology

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur

The Richard Pate School. Draft Year 4 Scheme of Work for Scratch

Chapter 6 Experiment Process

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

A demonstration of Numbas, an assessment system for mathematical disciplines

Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

Chapter 12 Programming Concepts and Languages

Invitation to Ezhil : A Tamil Programming Language for Early Computer-Science Education 07/10/13

HOW TO WRITE A LABORATORY REPORT

Programming and Software Development (PSD)

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

Pseudo code Tutorial and Exercises Teacher s Version

Essentials of Computer Programming. Computer Science Curriculum Framework

Programming Languages

Chapter 13: Program Development and Programming Languages

Information and Technology Literacy Framework. PreK-12

Unit title: Computer Games: Programming (SCQF level 6)

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

New Generation of Software Development

Decision-making Computer Science Lesson to Prepare for UIL Computer Science Contest

Functional Programming. Functional Programming Languages. Chapter 14. Introduction

A STATISTICS COURSE FOR ELEMENTARY AND MIDDLE SCHOOL TEACHERS. Gary Kader and Mike Perry Appalachian State University USA

University of Nicosia, Cyprus

COURSE CSE1010: COMPUTER SCIENCE 1. Prerequisite:

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial

Programming and Coding. Draft Specification for Junior Cycle Short Course

Instructional Design Principles in the Development of LearnFlex

For free Primary Computing resources please visit. KS2: Python Programming Unit. Jon

Resource Review & Report. Coding Across the Curriculum

ABET General Outcomes. Student Learning Outcomes for BS in Computing

Key Stage 3. Scheme of Work. Written by Heaton Moor Digital

Mathematics Task Arcs

Higher Computing Science Course Assessment Specification (C716 76)

Lecture 03 ( ) Quality of the Software Development Process

Indiana State Core Curriculum Standards updated 2009 Algebra I

Fourth generation techniques (4GT)

Instruction Set Architecture (ISA)

Transcription:

codekingdoms Code Kingdoms Learning: What, where, when and how for kids, with kids, by kids.

Resources overview We have produced a number of resources designed to help people use Code Kingdoms. There are introductory guides to all parts of the product and classroom materials to help teach lessons around Code Kingdoms. Code Kingdoms Learning: What, where, when and how A summary of the Code Kingdoms approach to learning. Teacher Guide An overview for teachers. Describes the Code Kingdoms learning ethos and details the different parts of the product. Dashboard Guide A beginner s guide to using our group management tool. Describes everything from registering for an account to assessing the progress of your kids.

Sandbox guide A guide to using our unstructured creation environment. Learn everything from using the menus to making great puzzles. Unit 1: Introducing Code Kingdoms An introductory unit of six off-the-shelf lesson plans. Targeted at KS2 kids. Unit 2: Learning a language Six off-the-shelf lesson plans designed to teach kids the basic of JavaScript Puzzle Packs A guide to building specific puzzles in Creative mode. Step-by-step instructions from start to finish. Four puzzles per pack.

Code Kingdoms Learning: What, When, Where and How What are kids learning? In Code Kingdoms kids learn a real programming language, JavaScript, alongside Computational Thinking and Computing skills. The tables below detail our full curriculum and specific learning outcomes achieved through play. Our curriculum was based on the popular Computing at School Progression Pathways document. 1

JavaScript JavaScript is one of the most popular programming languages in the world. It is used to build websites, design apps and create games among many other uses. We chose it as the language of CK because it is used to program behaviours of characters and beginners can easily see the effects of their code. Stage 1 - Sequence & Selection 1.1 Basic JavaScript: I understand how to execute basic JavaScript. 1.2 Constant parameters in functions: I understand how parameters can affect the output of a function. 1.3 Basic functions: I understand how to use JavaScript functions to achieve my aims. 1.4 1.5 Changing values - numbers, strings, Booleans:I understand the difference among different types of values and can explain in what situations I might use each. Operators: I can use a variable to represent a value that varies in my program and use operators and expressions to change the value. 1.6 Variable parameters in functions: I understand how parameters can affect the output of a function. Stage 2 - Conditionals and Loops 2.1 2.2 2.3 Conditional expressions: Using my knowledge of comparison operators, values, and booleans, I can write a conditional expression that results in true or false Conditional expressions: I can explain how a conditional expression is used to control the flow of execution in a program Conditional expressions for repetition (loops): I can describe how a conditional expression is used in conditional statements and loops 2.4 While loop: I can explain how to use a loop to solve a practical problem. 2.5 For loop: I can explain how to use a loop to solve a practical problem. 2.6 Loop selection - for / while?: I can explain the difference between a while loop and a for loop. 2

Stage 3 - Functions 3.1 3.2 3.3 3.4 3.5 3.6 Grouping statements as functions: I can identify sequences of statements that can be grouped into a function to accomplish a common task. Abstraction and functions: I can describe an action that may need to be repeated and create a function to perform that action using statements. Returning values from functions: I understand when a function might need to return a value. I can create a function that returns a value, and use that function s value in another part of my code. Customising functions: Parameters and arguments: I understand the difference between parameters and arguments and can describe how each are used. Customising functions: Different behaviours for different argument values: By using arguments and parameters, I can create a customizable function that performs slightly different behavior depending on the value of the arguments. Designing Functions: I can design a simple function and use it to explore how different argument values affect the value that is returned. 3.7 Setting global variables: I can use global variables to share data across different functions 3

Computational Thinking Computational thinking incorporates a wide set of skills that include thinking like a computer, solving problems and applying solutions to other situations. It is split into five areas in Code Kingdoms: algorithmic thinking, evaluation, decomposition, abstraction and generalisation. Algorithmic Thinking A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 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); Writing instructions that involve subroutines use copies of themselves to achieve a desired effect (recursion); Writing sets of instructions that can be followed at the same time by different agents (computers or people) to achieve a desired effect (Parallel thinking and processing, concurrency); Writing a set of rules to achieve a desired effect (declarative languages); 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 4

Evaluation E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 E13 E14 Assessing that an algorithm is fit for purpose; Assessing whether an algorithm does the right thing (functional correctness); Designing and running test plans and interpreting the results (testing); Assessment whether the performance of an algorithm is good enough; Comparing the performance of algorithms that do the same thing; Making trade-offs between conflicting demands; Assessment of whether a system is easy for people to use (usability); Assessment of whether a system gives an appropriately positive experience when used (user experience); Assessment of any of the above against set criteria; Stepping through algorithms/code step by step to work out what they do (dry run / tracing); Using rigorous argument to justify that an algorithm works (proof); Using rigorous argument to check the usability or performance of an algorithm (analytical evaluation); Using methods involving observing a system in use to assess its usability or performance (empirical evaluation); Judging when an algorithmic solution is good enough even if it is not perfect; Decomposition D1 D2 Breaking down artefacts (whether objects, problems, processes, solutions, systems or abstractions) into constituent parts to make them easier to work with; Breaking down a problem into simpler but otherwise identical versions of the same problem that can be solved in the same way (Recursive and Divide and conquer strategies) 5

Abstraction Ab1 Ab2 Ab3 Ab4 Ab5 Ab6 Reducing complexity by removing unnecessary detail; Choosing a way to represent artefacts (whether objects, problems, processes or systems) to allow it to be manipulated in useful ways; Hiding the full complexity of an artefact, whether objects, problems, processes, solutions, systems (hiding functional complexity); Hiding complexity in data, for example by using data structures; Identifying relationships between abstractions; Filtering information when developing solutions; Generalisation G1 G2 G3 Identifying patterns and commonalities in problems, processes, solutions, or data. Adapting solutions or parts of solutions so they apply to a whole class of similar problems; Transferring ideas and solutions from one problem area to another 6

Computing Alongside JavaScript and Computational Thinking, kids also learn general computing skills. This skill set is comprised of Algorithms and Programming & Development and complements the other two strands of learning, whilst being closely aligned with the National Curriculum. Concept difficulty progresses through coloured phases: pink. yellow, orange and blue. Algorithms PA1 PA2 PA3 I know what an algorithm is and I can express simple algorithms using symbols. I know that computers need precise instructions. I can show care and precision to avoid errors YA1 YA2 YA3 YA4 I know that algorithms are implemented on digital devices as programs. I can design simple algorithms using loops, and selection i.e. if statements. I can use logical reasoning to predict outcomes. I can find and correct errors i.e. debugging, in algorithms. OA1 OA2 OA3 I can designs solutions (algorithms) that use repetition and two-way selection i.e. if, then and else. I can use diagrams to express solutions. I can use logical reasoning to predict outputs, showing an awareness of inputs. BA1 BA2 BA3 I can show an awareness of tasks best completed by humans or computers. I can designs solutions by decomposing a problem and creates a sub-solution for each of these parts (decomposition). I know that different solutions exist for the same problem. PuA1 I know that iteration is the repetition of a process such as a loop. PuA2 I know that different algorithms exist for the same problem. PuA3 I can represent solutions using a structured notation. PuA4 I can identify similarities and differences in situations and can use these to solve problems. 7

Programming & Development PP1 PP2 PP3 PP4 I know that users can write their own programs. I can create a simple program. I can run, check and change programs. I know that programs run by following precise instructions. YP1 YP2 YP3 I can use arithmetic operators, if statements, and loops, within programs. I can use logical reasoning to predict the behaviour of programs. I can find and correct simple semantic errors i.e. debugging, in programs. OP1 OP2 OP3 I can create programs that implement algorithms to achieve given goals. I can declare and assign variables. I can use post-tested loops e.g. 'until', and a sequence of selection statements in programs, including an if, then and else statement. BP1 BP2 BP3 BP4 I know the difference between, and can appropriately use if and if, then and else statements. I can use a variable and relational operators within a loop to govern termination. I can design, write and debug modular programs using procedures. I know that a procedure can be used to hide the detail with sub-solution (procedural abstraction). PuP1 I know that programming bridges the gap between algorithmic solutions and computers. PuP2 PuP3 I have practical experience of a high-level textual language, including using standard libraries when programming. I can use a range of operators and expressions e.g. Boolean, and applies them in the context of program control. PuP4 I can select the appropriate data types. 8

When and where are kids learning? In CK Home, kids learn through experiencing increasingly difficult concepts as their level increases through the game. More specifically, they develop different skills in different areas of the game: Exploring new lands - players solve puzzles using Computational thinking Building puzzles to protect their land - computing and JavaScript are needed to code these increasingly complex puzzles In CK School, kids learn the same skills through building and solving puzzles, but teachers can also set specific puzzles to assess specific learning outcomes. In addition to this, they can set Sandbox mode where kids have the opportunity for open-ended learning because they have the freedom to create the puzzles they want to code. 9

How are kids learning? Code Kingdoms develops a range of skills through play. They learn through experience rather than being taught by a course. The platform ensures that each type of learning activity allows kids to learn in a different way and develop different skills. Completing Adventures / exploring lands Kids learn through problem-solving and experimentation. Building Puzzles to defend lands Kids learn through guided but independent learning with additional elements of game design and trial and error. Sandbox Kids learn by being creators. They have the freedom to create their own lands and code everything within it! 10

Examples of Learning Activities Level 1 Adventure: Splash Around By completing this adventure kids will learn: JavaScript Basic JavaScript: I understand how to execute basic JavaScript. Constant parameters in functions: I understand how parameters can affect the output of a function. Computational Thinking Computing Progression Ab1: Reducing complexity by removing unnecessary detail. PA2: I know that computers need precise instructions. PP2: I can create a simple program. 11

Level 4 Adventure: Hopping Mad By completing this adventure kids will learn: JavaScript Basic JavaScript: I understand how to execute basic JavaScript. Constant parameters in functions: I understand how parameters can affect the output of a function. Changing values - numbers, strings, Booleans:I understand the difference among different types of values and can explain in what situations I might use each. Computational Thinking A1: Writing instructions that if followed in a given order (sequences) achieve a desired effect. A4: Writing instructions that choose between different constituent instructions (selection) to achieve a desired effect. G3: Transferring ideas and solutions from one problem area to another Computing Progression PP3: I can run check and change programs. YA3: I can use logical reasoning to predict outcomes. YA4: I can find and correct errors i.e. debugging, in algorithms. 12

Level 2 Puzzle: Cliffhanger By building this puzzle kids will learn: JavaScript Basic functions: I understand how to use JavaScript functions to achieve my aims. Computational Thinking A1: Writing instructions that if followed in a given order (sequences) achieve a desired effect. Computing Progression PA2: I know that computers need precise instructions. PP2: I can create a simple program. 13

Level 8 Puzzle: Conditional Fling By building this puzzle kids will learn: JavaScript Changing values (numbers, strings, Booleans): I understand the difference among different types of values and can explain in what situations I might use each. Constant parameters in functions:i understand how parameters can affect the output of a function. Conditional expressions: Using my knowledge of comparison operators, values, and booleans, I can write a conditional expression that results in true or false. Computational Thinking Computing Progression A1: Writing instructions that if followed in a given order (sequences) achieve a desired effect. PP2: I can create a simple program. PP3: I can run check and change programs. YA1: I know that algorithms are implemented on digital devices as programs. YA2: I can design simple algorithms using loops, and selection i.e. if statements. YP2: I can use logical reasoning to predict the behaviour of programs. 14