How to Teach Computer Science: Parable, practice and pedagogy
- Length: 160 pages
- Edition: 1
- Language: English
- Publisher: John Catt Educational
- Publication Date: 2021-08-31
- ISBN-10: 1913622576
- ISBN-13: 9781913622572
- Sales Rank: #550851 (See Top 100 Books)
This book is for new or aspiring computer science teachers wishing to improve their subject knowledge and gain confidence in the classroom. And it’s for experienced computer science teachers who wish to hone their practice, in particular in the areas of explicit instruction, tackling misconceptions and exploring pedagogical content knowledge.
You will read some of the backstory to our subject – the “hinterland” – those fascinating journeys into history that make the subject come alive and place it in historical context. These stories will help you to enrich your lessons, cement core knowledge, develop cultural capital and help you excite a life-long love for the subject. We will go beyond the mark scheme to explore the subject knowledge behind the answers, giving you the confidence to discuss the field in greater depth, enabling you to use explicit instruction methods: presenting skills and concepts clearly and directly enabling student mastery.
We will explore misconceptions that arise when teaching our subject, so you can “head them off at the pass”. And we will look at teaching ideas – the pedagogical content knowledge (PCK) – exploring the helpful analogies, questions and activities that work for each topic: practices that can be lifted and dropped straight into the classroom to immediately enhance your teaching.
Early-career teachers will find this book invaluable, experienced teachers will find it inspiring, and all will benefit from a fresh look at the hinterland and subject pedagogy that makes computer science a fascinating subject to teach.
Copyright Introduction Who is this book for? What’s in the book? How should I use this book? What is PCK? 1. Core concepts 2. Fertile questions 3. Higher-order thinking 4. Analogy and concrete examples 5. Cross-topic and cross-curricular learning 6. Unplugged 7. Physical 8. Project work 9. Misconceptions General pedagogical principles 1. Flipped classroom 2. Using specialist language 3. Cognitive science approach 4. Retrieval practice Inclusion Universal Design for Learning Gender balance Why did I write this book? Why is this book needed? Chapter 1. Data representation Switzerland, June 1816 Meeting Ada Numbers for everything Early bitmaps News travels slow Zip code Binary: yes or no? Number crunching The hole truth Code of conduct Eight bits is not enough Just the fax, ma’am Family album Colouring in Long and winding paths Data about data Sound ideas What the hex? Codes for things TL;DR PCK for data representation Core concepts Fertile questions Higher-order thinking Create your own character set Analogy and concrete examples Make your own image filter Cross-topic and synoptic Cross-topic with programming Cross-topic with architecture Cross-topic with memory and storage Cross-topic with issues Cross-curricular Cross-curricular with other STEM subjects Cross-curricular with geography Cross-curricular with art and design Unplugged Paper bitmaps Physical Micro:bit LED bitmaps Sound engineering Misconceptions Chapter 2. Programming Massachusetts Institute of Technology, 10 April 2019 Code book Construction time again One thing after another The ICT years It’s not about code… It’s all about computational thinking No taxation without… Concepts, not constructs PCK for programming Developing CT skills through problem-solving One algorithm, many representations The notional machine Exposure to many examples Explicit live coding Analogy and concrete examples Eliciting explanations Cheat sheets Pair programming Chunking (aka subgoal labelling) Parsons problems Block coding Physical computing PRIMM The block model Assessment Conclusion Chapter 3. Robust programs Summer 1968, Massachusetts Institute of Technology 20 July 1969, six miles above the moon The software crisis Mother of invention Waterfall goes viral More agility needed Testing times Inevitable bugs Software catastrophes Therac-25 radiotherapy accidents Patriot missile rounding error 143 million customer records are out there What could go wrong? Move fast and break things TL;DR PCK for robust programs Core concepts Fertile questions Higher-order thinking Why did it fail? Was Dijkstra right? Peer testing Robotic verification: yes or no? Validate everything? Cross-topic and synoptic Cross-topic with architecture Cross-topic with languages Cross-topic with issues and impacts Cross-curricular Cross-curricular with design and technology Cross-curricular with science Analogy and concrete Vending machine woes Impenetrable code Unplugged Physical Project work Misconceptions Chapter 4. Languages and translators Massachusetts Institute of Technology, 1959 Assembly line Coding in English The GOTO heresy Structured code – it’s the future! Wordy number cruncher The academic’s choice BASIC instinct C for miles Cookie-cutter coding Pure class Well, I declare! Learn you a Haskell Prolog Code once, run anywhere The web goes interactive Joyful coding TL;DR PCK for languages and translators Core concepts Fertile questions Higher-order thinking Choice of language for a purpose Specifying syntax, or coding a parser Comparing paradigms Cross-topic and synoptic Cross-topic with system software, programming, issues Cross-topic with architecture, memory, networks, issues Cross-curricular and analogy Cross-topic with languages Misconceptions Chapter 5. Algorithms Too clever by half Abstractions all the way down One bite at a time Sum of its parts Tiling with Euclid The House of Wisdom The first programmer Drawing an algorithm Mock code The last place you look Order, order Lost without a trace TL;DR PCK for algorithms Core concepts Fertile questions Higher-order thinking Making computational thinking explicit Matching the algorithm to the data structure Seeing the complexity in the code Complexity, exponents and logarithms Analogy and concrete examples Visualisation websites YouTube resources Cross-topic and synoptic Cross topic with architecture Cross-topic with data and networks Cross-topic with issues and impacts Cross-curricular Cross-curricular with science Unplugged Physical Misconceptions Chapter 6. Architecture Friends, series 2, episode 8, ‘The One With the List’ (1995) The ‘think animal’ Baby steps Mark 1 Evergreen design Bottle openers The three Cs Remembering stuff Random thoughts Never let me go Forget me not The right to bear ARMs Plus ça change TL;DR PCK for architecture Core concepts Fertile questions Higher-order thinking Design a computer Analogy and concrete examples Window shopping Evaporating RAM Remember Venn Little Minion Cross-topic and synoptic Cross-topic with languages and programming Cross-topic with issues and impacts Cross-topic with system software Cross-topic with data representation Cross-curricular Cross-curricular with history Cross-curricular with geography Unplugged Physical Project work Misconceptions Chapter 7. Logic An old joke about logic… Little lightbulbs Not the iotatron On and off Making choices The schoolmaster who classified thought Algebra of truth Switch hitter Back to gates It all adds up Below zero Returning complements Go forth and… TL;DR PCK for logic Core concepts Fertile questions Higher-order thinking Analogy and concrete examples Cross-topic and synoptic Cross-topic with programming Cross-topic with networks Cross-curricular Cross-curricular with maths Unplugged Physical Project work Misconceptions Chapter 8. System software Palo Alto, California, 1982 Why’s it all in hardware? Battle of the North Atlantic The 360-degree all-rounder Got the power Penguins on everything Quick and dirty Pronounced ‘gooey’ Wow, it confirms DOS! Pinch me Type, click, wave or talk? In real life Tuning up TL;DR PCK for system software Core concepts Fertile questions Higher-order thinking System software use in context Comparing Atlas to modern systems Exploring human-computer interaction Analogy and concrete examples Pizza metaphor for OS role Queueing metaphors for process scheduling Hands-on with Linux in the browser Exploring Android versions Cross-topic and synoptic Cross-topic with architecture, system software, languages and more Cross-topic with security Cross-topic with networks Cross-curricular Cross-curricular with design Unplugged Physical Project work Misconceptions Chapter 9. Networks Los Angeles, California, 29 October 1969 Pearl Harbor II Lick’s vision Getting the message It’s good to talk IP on everything Internet comes home Remember your netiquette Eternal September You called it WWWhat now? This machine is a server TL;DR PCK for networks Core concepts Fertile questions Analogy and concrete The postal service protocol stack Back up the semantic wave: the TCP/IP protocol stack in action Post-it packet switching Physical Raspberry Pi web server Cross-topic Build a network for a scenario Misconceptions Chapter 10. Security Royal Institution Lecture Theatre, London, June 1903 Eavesdropping Ciphers down the ages The real imitation game Bombshell Secret weapons Phreaks and geeks War games Repelling the wily hacker Worms and viruses Not everything is a virus Holes everywhere Blocking the information highway SQL Injection Bug-free by design? Protecting the CIA TL;DR PCK for security Core concepts Fertile questions Higher-order thinking Black hat or white hat? Analogy and concrete examples Exploring a real-life hacking example Peer instruction: choosing countermeasures Password strength checker Symmetric versus asymmetric Trying out SQL Injection Spot the phish Cross-topic, cross-curricular and synoptic Cross topic with CT and programming Physical Unplugged Project work Misconceptions Chapter 11. Issues and impacts Beitar Illit, Israeli-occupied West Bank, October 2017 Racist algorithms Privacy Old boys’ (neural) network With great power… Autopilot overpromises Inside the black box The social dilemma Energy Our rare earth Lawmakers and lawbreakers What now? TL;DR PCK for issues and impacts Core concepts Fertile questions Higher-order thinking Legislation brain dump Gaps in legislation Analogy and concrete examples List the issues The Moral Machine Which law has been broken? Live mock question Cross-topic, cross-curricular and synoptic Cross topic with networks Unplugged Debate lessons Unplugged AI activities Physical Machine learning for kids and micro:bit cybersecurity Project work Misconceptions Conclusion Aims for this book Further reading Acknowledgements Image credits About the author
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.