How to build an outstanding computer science curriculum MARK DORLING MAT THEW WALKER Calling all teachers… What does curriculum mean to you? What does creativity mean to you? What is your vision of a creative curriculum? CAS CONFERENCE 2013 Outcomes Develop a department vision, overcoming challenges Demonstrate progression through the key stages and effectively scaffold learning Creative computing lessons from example schemes of work CAS CONFERENCE 2013 Challenges Curriculum that is inclusive – no child left behind Curriculum that is creative but thorough Confidence in aligning and interpreting the Computing curriculum Understanding the technicalities of the curriculum Showing progression How to integrate CS, IT and DL into a single scheme of work Developing a vision for your curriculum CAS CONFERENCE 2013 Correctly interpreting the curriculum Digital literacy National ICT Curriculum Statuary document Computer CS Science Digital literacy CAS CONFERENCE 2013 ITInformation Technology Subject Association Teacher guides Non- statuary document A School’s curriculum planning Interpreting the KS1 curriculum CAS CONFERENCE 2013 Computing is non-linear ‘Dorling Curriculum Map of Computing’ available September 2013 CAS CONFERENCE 2013 Options for September 2013 To do nothing… that is an option! To integrate one or two lesson of Computer Science into existing Digital Literacy (DL) and Information Technology (IT) schemes of work. To plan a half term or term CS SoW for year 7 and then roll out a SoW to each year group year on year. To plan a half term or term CS SoW for each year group. To (initially) plan a term or two term curriculum that integrates DL with CS year 7 only. Complete restructuring of all schemes of work CAS CONFERENCE 2013 Mark’s model for September 2012 Why are we focusing on KS2 CS in September? Resources KS3 KS2 Extra curricular clubs DSH Curriculum • SSAT Hack resources • CS Unplugged • CAS Online • CS4FN • Greenfoot/Alice • Scratch Ed •Kodu EPL •AppShed Academy • Code Academy • Industry collaborations Term 1 Term 2 & 3 Basic functional IT Skills Advanced functional IT embedded into a creative curriculum underpinned by computing Enrichment Curriculum After GCSE Y8/9 GCSE IT KS4 KS4 Y10/11 GCSE Computing Y10/11 AS Level ICT CAS CONFERENCE 2013 Curriculum KS 2/3/4 National Curriculum DfE Matthew’s model for September 2012 Enquiry-based KS3 curriculum (all a combination of DL, IT and CS) Leads to KS4 Option in GCSE Computer Science Year 7 Year 8 Why is Facebook successful? How do computers think? How can I make an unbreakable code? Can I teach a machine to think? Why are video games fun? Year 9 What can my pet robot do? GCSE Computer Science (option) Who owns my information? How can I make pigs fly? How does Google work? How can I make a mobile app? Will computers take over the world? All students have one lesson a week IT in year 10. Department ‘vision’ School curriculum policy Student consultation CAS CONFERENCE 2013 KS4 Year 10 IT (mandatory, one lesson per week) Strategies Have strategies for managing the transition Engage other staff, network managers, SLT, students, parents Know considerations when making decisions like choosing programming languages Have ideas for raising the profile of computing in your school Know where to get help with clubs Know where to get affordable and quality CPD CAS CONFERENCE 2013 Subject Knowledge Challenges Computer Science is more than just programming What is computational thinking? How do I develop in my staff and students a rich understanding of how the principals and concepts all link together? How do I teach programming and coding? How do I assess programming code? CAS CONFERENCE 2013 Bridging IT and CS IT & DL (Driving the car) tools Social need Computational Thinking (Adapting the car for a given circuit) CAS CONFERENCE 2013 Computer Science (Engineering the car) Algorithms & Programming We want to make models of the world to: ◦ understand it ◦ ask ‘what if’ questions and predict the way it will change Model How do we make models? ◦ solving problems ◦ by characterising a problem ◦ mapping the abstractions of a conceptual model ◦ choosing appropriate technology How do we turn models into programs? ◦ write programs by programming ◦ programming bridges models and computers Are they separate or inextricably linked? CAS CONFERENCE 2013 Every year and at every level CAS CONFERENCE 2013 Implications of the double hump (achievement bimodality) Many students (and staff) think the subject is too hard Progression is seriously hindered Lesson planning and seeing through schemes of work become a major headache Measurable underachievement at KS3, GCSE and A-Level Success is enjoyable CAS CONFERENCE 2013 One voice from university “Why is it that some software engineers and computer scientists are able to produce clear, elegant designs and programs, while others cannot? Is it possible to improve these skills through education and training?” Kramer, 2007 CAS CONFERENCE 2013 What are we asking students to do? 1. Abstract the problem from its description 2. Generate subproblems 3. Transform subproblems into subsolutions 4. Recompose 5. Evaluate and iterate This represents the most abstract level of Piagetian abstraction – formal operational reasoning CAS CONFERENCE 2013 Lowest NeoPiagetian levels of abstraction Sensorimotor inconsistent results Low Preoperational direct manipulation of the environment little thought about relationships between objects focus on one abstract property at a time working knowledge is overwhelmed High Concrete Operation abstractions restricted to familiar, real situations no hypothetical reasoning Highest Formal Operational form links between abstract properties CAS CONFERENCE 2013 infer hypotheses with limited or missing data rely on chunked long-term memory Lowest NeoPiagetian levels of abstraction application to programming skills Sensorimotor can trace code with <50% accuracy Low Preoperational can manually execute code and determine values in variables when execution is finished research indicates >50% accuracy in this skill needed before students can begin to understand how to code High Concrete Operation can ‘reverse’ solutions conserve meaning when program specification is changed Highest Formal Operational decomposition CAS CONFERENCE 2013 creating solutions debugging Sensorimotor stage and magic “Without the ability to reliably produce consistent results via tracing, novices at the sensorimotor stage see code as somewhat magical. That is, they do not experience an executing program as a deterministic machine.” Ahadi et al, 2012 CAS CONFERENCE 2013 Abstraction informing learning Teach in a way that encourages students to develop their ability to reason under abstractions “…students who tend to reason preoperationally about code will gain little from being forced to write large quantities of code. Such students can only write code by quasi-random mutation. For students who are predominantly reasoning at the preoperational level… we need to develop new types of learning experiences that develop their abstract reasoning without requiring them to write a lot of code.” Lister, 2011 Computational Thinking CAS CONFERENCE 2013 Reducing abstraction “…students, when facing the need to cope meaningfully with concepts that are too abstract for them, tend to reduce the level of abstraction in order to make these abstract concepts meaningful and mentally accessible… by dealing with specific examples instead of with a whole set defined in general terms.” Students reframe abstractions in concrete form Hazzan, 2008 CAS CONFERENCE 2013 Develop the ability to make design decisions Directed learning Designing WITHOUT making Lots of choice Little choice Making WITHOUT designing Autonomous learning Diagram Source: David Bartlex, Roehampton University Designing AND making The balance is dependent on a number of factors: • The SKUAE of the pupils • The SKUAE of your staff SKUA = Skills, Knowledge, Understanding, Attitudes and experience CAS CONFERENCE 2013 Make it less abstract! Why use real life problems AND use a graphical programming tool? Easier to create meaningful questions for assessment Easier for students to create drawings that represent the execution of a program Simpler for students to investigate models Simpler for students to adapt, reason and create models Data is not hidden so inspection is simpler Avoid simulations in Scratch – this can make it more abstract rather than less! CAS CONFERENCE 2013 Assessing Programming Code Does it appear to work? Does it really work? ◦ rigour of testing, range of data/input Originality of code ◦ has a student artfully/skilfully reworked known examples or created something less impressive but original (levels of abstraction)? Features versus bugs Looking at the code ◦ layout, comments, structure, logical errors, genuine understanding Meeting the specification CAS CONFERENCE 2013 Looking at programming code BY JOHN BY MAX Turnham Green and Acton Town Where Air Raid huddles laid them down. Neasden, Willesden, Dollis Hill, Tottenham Hale and Hearty, still. Thank you London Underground. And all your staff, who get me round. I still find it astounding how deep you are. When you are off, we’re off on rants We cram the bus And as we crawl like ants upon the surface… then we know The rich resource that’s down below. I sat down on the tube. It was noisy and dirty. I wanted to get home. Tea was at 5.30. Mum would be waiting Always asking questions. The tube was my time. For making up destinations. I like the tube cus it is cool. I don't like poems. CAS CONFERENCE 2013 Which programming language & environment Scaffold the learning of computational thinking Allow for inspection of variables and data structures Consider skills and experience of staff Languages currently in vogue: ◦ ◦ ◦ ◦ ◦ ◦ ◦ Python TNGLogo Small Basic PHP Scratch/BYOB/Panther VB Greenfoot (Java) CAS CONFERENCE 2013 Balanced curriculum summary Programming isn’t hard when you know how to solve a problem! Some languages’ syntax and tools are more impenetrable than others Obsession of “which language” often gets in the way of problem solving Focus on designing without making… but this isn’t to say that you shouldn’t use programming model solutions along side problem solving Ensure, whatever language you choose, you have a plan for progression (that is more than a tick sheet of language features) You can never create problems that are scalable enough for children to solve CAS CONFERENCE 2013 Vision vs reality Does our reality of a creative curriculum look different to your vision for a Creative Curriculum? Honest reflection: To what extent do you think the following affects how we (as teachers) design our curriculums? ◦ My preferred learning styles… ◦ My areas of expertise, e.g. subject specialism… ◦ My life experiences… If you were to teach someone else curriculum would it still be creative? CAS CONFERENCE 2013 Sample lessons taken from our schemes of work CAS CONFERENCE 2013 Dinosaurs day out… CAS CONFERENCE 2013 Police, Camera and Action! BREAKING NEWS: Car chase on streets of French town CAS CONFERENCE 2013 The binary behind algorithms Efficiency of algorithms: Opt 1: 01,11,11,01,11 = 10 Bits Opt 2: 10,01,11,11 = 8 Bits (10) (10) (00) (00) (10) (11) CAS CONFERENCE 2013 Can I teach a machine to think? CAS CONFERENCE 2013 A class of code breakers CAS CONFERENCE 2013 Drawing Fractals CAS CONFERENCE 2013 Beautiful numbers How do these grab you? 3.1416 6.238673? 1.61803399? Can you spot the pattern? 0, 1, 1, 2, 3, 5, 8, 13, 21 “Wow… Improves proportion In art and teaches recursion!” CAS CONFERENCE 2013 Why is Facebook successful? CAS CONFERENCE 2013 Get with the algo-rhythm CAS CONFERENCE 2013 How can I make pigs fly? CAS CONFERENCE 2013 Scratch to mobile CAS CONFERENCE 2013 Questions CAS CONFERENCE 2013