How to Teach Computer Science: Parable, practice and pedagogy
US$ 27.59
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews
Language
English
ISBN
9781914351358
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
Loading...