Categories
Uncategorized

Book Update – Publisher Acquired!

The Book Formerly Known As CS Hinterland (TBFKACH) has a publisher. Big thanks to John Catt Educational for taking a chance on me. I have agreed a deadline of end of April for the copy, so it can be out by June.

The new working title is “How to Teach Computer Science”. This is because the conversations I have had with experts in academia and education have convinced me there is a place for a book that not only explores the Hinterland of our subject (helping teachers increase the “Science Capital” of their students – more on that later) but exposes some of the highly-effective teaching practices coming out of the latest research in our subject.

From the book introduction

Computer Science is a young subject, taught in schools only since the early 80s and – after a hiatus in which “ICT” took over in UK schools – re-established as a core subject only in 2014, as part of the National Curriculum subject of “Computing”. Computer Science graduate teachers are scarce and many schools employ non-specialists to teach our hugely important subject. Pedagogy specific to Computing is therefore under-developed and – by many teachers – largely overlooked. Computing teacher forums and social media groups are awash with requests for “lessons on <x>” and “schemes of work for <y>”, much rarer are the conversations such as “Should we do <x> before <y>?”, “Is this a good analogy for teaching <x>?”, “What misconceptions to students develop when learning <y>?”.

So right now, as well as writing illuminating tales from the hinterland, I am magpie-ing pedagogical techniques. A rough and ready list of concepts that I am considering for inclusion are these:

Underlying Cog Sci concepts

  • Cognitive load theory
  • Memory as residue of thought
  • Metacognition
  • Cognitive dissonance (avoiding)
  • Ebbinghaus Forgetting curve

Underlying Teaching and learning concepts

  • Science Capital
  • Blooms / SOLO
  • Constructivism
  • Culture of Error
  • Motivation
  • Rosenshine’s principles
  • Explicit teaching
  • Deliberate practice
  • Whole class feedback
  • Retrieval practice

Curriculum concepts

  • Concept maps
  • Fertile questions
  • Threshold concepts
  • Mastery learning
  • Inclusion and belonging

Teaching techniques – general

  • Dual coding
  • Semantic waves
  • Subgoal labelling (chunking)
  • Worked example
  • Retrieval practice
  • Hinge questions
  • Peer instruction
  • Misconception awareness
  • Unplugged activities
  • Collaboration
  • Physical Computing

Teaching techniques – programming

  • PRIMM (use-modify-make etc)
  • Parson’s problems
  • Pair programming
  • Teacher live coding
  • Notional machine
  • Schulte’s block model
  • Code tracing (TRACS)
  • Scaffolding (e.g. skeleton code)
  • Sabotaged code
  • Low floor, wide walls, high ceiling activities

This list may grow or shrink over time as I continue to research and discuss the issues. Your input is welcome, have I missed something?

Feedback welcome here or on Twitter, as always

Advertisement

By mraharrisoncs

Freelance consultant, teacher and author, professional development lead for the NCCE, CAS Master Teacher, Computer Science lecturer.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s