0% found this document useful (0 votes)
4 views

Micro Bit Projects With Python And Single Board Computers Martin Tan pdf download

The document is about the book 'Micro:bit Projects with Python and Single Board Computers' by Martin Tan, which focuses on building STEAM projects for kids using the micro:bit platform. It includes various chapters covering topics such as getting started with MicroPython, general Python programming, electronics basics, and collaboration in coding. Additionally, it provides links to related products and resources for further exploration in coding and electronics projects.

Uploaded by

nadhinahen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Micro Bit Projects With Python And Single Board Computers Martin Tan pdf download

The document is about the book 'Micro:bit Projects with Python and Single Board Computers' by Martin Tan, which focuses on building STEAM projects for kids using the micro:bit platform. It includes various chapters covering topics such as getting started with MicroPython, general Python programming, electronics basics, and collaboration in coding. Additionally, it provides links to related products and resources for further exploration in coding and electronics projects.

Uploaded by

nadhinahen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 83

Micro Bit Projects With Python And Single Board

Computers Martin Tan download

https://ebookbell.com/product/micro-bit-projects-with-python-and-
single-board-computers-martin-tan-56859532

Explore and download more ebooks at ebookbell.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

Microbit Projects With Python And Single Board Computers Building


Steam Projects With Code Club And Kids Maker Groups Martin Tan

https://ebookbell.com/product/microbit-projects-with-python-and-
single-board-computers-building-steam-projects-with-code-club-and-
kids-maker-groups-martin-tan-48460756

Microbit Projects With Python And Single Board Computers Building


Steam Projects With Code Club And Kids Maker Groups Martin Tan

https://ebookbell.com/product/microbit-projects-with-python-and-
single-board-computers-building-steam-projects-with-code-club-and-
kids-maker-groups-martin-tan-59693652

Save The World With Code 20 Fun Projects For All Ages Using Raspberry
Pi Microbit And Circuit Playground Express Lorraine Underwood

https://ebookbell.com/product/save-the-world-with-code-20-fun-
projects-for-all-ages-using-raspberry-pi-microbit-and-circuit-
playground-express-lorraine-underwood-10915276

Microbit For Mad Scientists 30 Clever Coding And Electronics Projects


For Kids Simon Monk

https://ebookbell.com/product/microbit-for-mad-scientists-30-clever-
coding-and-electronics-projects-for-kids-simon-monk-43749878
Microbit For Mad Scientists 30 Clever Coding And Electronics Projects
For Kids Simon Monk

https://ebookbell.com/product/microbit-for-mad-scientists-30-clever-
coding-and-electronics-projects-for-kids-simon-monk-186548892

Microbit For Mad Scientists 30 Clever Coding And Electronics Projects


For Kids Simon Monk

https://ebookbell.com/product/microbit-for-mad-scientists-30-clever-
coding-and-electronics-projects-for-kids-simon-monk-49562216

Microbit Iot In C Second Edition 2nd Edition Harry Fairhead

https://ebookbell.com/product/microbit-iot-in-c-second-edition-2nd-
edition-harry-fairhead-44189694

Microbit Iot In C 1st Edition Fairhead Harry

https://ebookbell.com/product/microbit-iot-in-c-1st-edition-fairhead-
harry-11193008

Microbit For Mad Scientists Simon Monk

https://ebookbell.com/product/microbit-for-mad-scientists-simon-
monk-55419472
MAKER
I N N O VAT I O N S
SERIES

micro:bit Projects
with Python
and Single Board
Computers
Building STEAM Projects with
Code Club and Kids’ Maker Groups

Martin Tan
micro:bit Projects with Python and Single Board Computers: Building
STEAM Projects with Code Club and Kids’ Maker Groups

Martin Tan
Doncaster Heights, VIC, Australia

ISBN-13 (pbk): 978-1-4842-9196-2 ISBN-13 (electronic): 978-1-4842-9197-9


https://doi.org/10.1007/978-1-4842-9197-9

Copyright © 2023 by Martin Tan


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or
part of the material is concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way,
and transmission or information storage and retrieval, electronic adaptation, computer software,
or by similar or dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark
symbol with every occurrence of a trademarked name, logo, or image we use the names, logos,
and images only in an editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of opinion as to whether or not
they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of
publication, neither the authors nor the editors nor the publisher can accept any legal
responsibility for any errors or omissions that may be made. The publisher makes no warranty,
express or implied, with respect to the material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Aaron Black
Development Editor: James Markham
Coordinating Editor: Jessica Vakili
Distributed to the book trade worldwide by Springer Science+Business Media New York, 233
Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505,
e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a
California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc
(SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail booktranslations@springernature.com; for
reprint, paperback, or audio rights, please e-mail bookpermissions@springernature.com.
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook
versions and licenses are also available for most titles. For more information, reference our Print
and eBook Bulk Sales web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is
available to readers on the Github repository: https://github.com/Apress/micro:bit-Projects-
with-Python-and-Single-Board-Computers. For more detailed information, please visit
http://www.apress.com/source-code.
Printed on acid-free paper
Table of Contents
About the Author���������������������������������������������������������������������������������ix

About the Technical Reviewer�������������������������������������������������������������xi

Acknowledgments�����������������������������������������������������������������������������xiii

Introduction����������������������������������������������������������������������������������������xv

Chapter 1: Getting Started��������������������������������������������������������������������1


A Quick Tale: Several Years of Mistakes – Numbers, Passwords, Computers,
Accountability, and More���������������������������������������������������������������������������������������5
What Is Your Baseline – Where Are You Starting From?����������������������������������������7
Tasks for Establishing a Baseline��������������������������������������������������������������������8
Work Out Your Initial Scope: What Are Your First Milestones?�����������������������11
Equipment and Initial Setup��������������������������������������������������������������������������������14
Computers/Laptops���������������������������������������������������������������������������������������14
Optimizing Your Environment������������������������������������������������������������������������15
Onboarding at the Start of Each Year������������������������������������������������������������15
Computers and IT Support�����������������������������������������������������������������������������16
Login and Password Basics���������������������������������������������������������������������������17
Another Alternative – Make Your Space Portable������������������������������������������18
The Tech Stuff: Learn by Applying�����������������������������������������������������������������19
Summary������������������������������������������������������������������������������������������������������������26
Chapter 1: Cheat Sheet���������������������������������������������������������������������������������������29
Sources for Free Content and Support����������������������������������������������������������29
Short-Term Goal/Milestone Examples�����������������������������������������������������������29

iii
Table of Contents

Long-Term Goal Examples�����������������������������������������������������������������������������29


Questions to Ask When Helping Kids Troubleshoot Their Code����������������������30
Other Useful Tips for Troubleshooting������������������������������������������������������������31
Checklist for Volunteer Onboarding���������������������������������������������������������������31
Checklist for Participants and Guardians������������������������������������������������������31

Chapter 2: Getting Our Hands Dirty with MicroPython�����������������������33


A Quick Tale: Jumping In with Our Code Club�����������������������������������������������������34
Tracking Progress�����������������������������������������������������������������������������������������������37
What Can We Do in One Hour?����������������������������������������������������������������������������39
Introducing the BBC micro:bit�����������������������������������������������������������������������������40
Setting Up an Editor���������������������������������������������������������������������������������������41
Scaling Up: Adding Challenges����������������������������������������������������������������������62
Challenge Discussion and Solution���������������������������������������������������������������63
Ideas for Even More Features������������������������������������������������������������������������64
Going Further: Adding External Components�������������������������������������������������65
Summary������������������������������������������������������������������������������������������������������������70
Chapter 2: Cheat Sheet���������������������������������������������������������������������������������������72
Introduction to the micro:bit��������������������������������������������������������������������������72
Completing Initial Learning Projects��������������������������������������������������������������73
Creating New Projects�����������������������������������������������������������������������������������73
Add Features with Challenges�����������������������������������������������������������������������73

Chapter 3: General Python Programming�������������������������������������������75


A Quick Tale: Answers to Common Questions – Weaning Off Blocks and
Tablets�����������������������������������������������������������������������������������������������������������������78
Python Program Structure����������������������������������������������������������������������������������84
A Friendly Python Environment on Your Computer����������������������������������������84
Mu Editor�������������������������������������������������������������������������������������������������������86

iv
Table of Contents

Test Our Environment������������������������������������������������������������������������������������86


Installing Python Libraries in Thonny�������������������������������������������������������������87
Python Script Structure���������������������������������������������������������������������������������91
Going Further: Internet and Other Devices��������������������������������������������������109
Summary����������������������������������������������������������������������������������������������������������110
Chapter 3: Cheat Sheet�������������������������������������������������������������������������������������113

Chapter 4: Getting Tactile with Python���������������������������������������������115


A Quick Tale: Keeping It Simple to Build Bigger������������������������������������������������115
E-textiles: Building Circuits on Fabric and Cardboard���������������������������������������117
Starting with a Simple Circuit����������������������������������������������������������������������118
Considerations for E-textile Projects�����������������������������������������������������������119
Summary����������������������������������������������������������������������������������������������������������151
Chapter 4: Cheat Sheet�������������������������������������������������������������������������������������152

Chapter 5: Freestyling with Python: Going Off Map and


Applying Skills����������������������������������������������������������������������������������155
A Quick Tale: When Progress Levels Diverge����������������������������������������������������155
Finding Your Own Project – From Start to Finish����������������������������������������������161
Beginning with Diagrams: The Self-­Watering Plant Project������������������������������162
Scaling Up Our Project: Understanding How Things Work and Adding
One Thing at a Time������������������������������������������������������������������������������������������168
Pros and Cons of Simplifying Projects��������������������������������������������������������������170
Cost�������������������������������������������������������������������������������������������������������������170
Perception of Difficulty��������������������������������������������������������������������������������171
Reducing Challenges Can Limit What We Learn������������������������������������������171
Continuity����������������������������������������������������������������������������������������������������172
Scaling Even Further�����������������������������������������������������������������������������������173
Code Club Alumni����������������������������������������������������������������������������������������177

v
Table of Contents

Adapting Our Skills: An API Project in Python with Trinket.io����������������������������179


Summary����������������������������������������������������������������������������������������������������������185
Chapter 5: Cheat Sheet�������������������������������������������������������������������������������������186

Chapter 6: Collaboration: Working with Others��������������������������������189


A Quick Tale: Devs and Testers��������������������������������������������������������������������������189
What Is Open Source Software?������������������������������������������������������������������196
Working Online: Collaborating with Online Tools�����������������������������������������������199
Code Collaboration Tools�����������������������������������������������������������������������������199
Using Programming Terminology to Communicate When Collaborating��������204
Testing Yourself: Creating Your Own Game Writing Workshops with
What You’ve Learned�����������������������������������������������������������������������������������205
Communications������������������������������������������������������������������������������������������208
Security and Privacy When Working Online�������������������������������������������������211
Chapter 6: Cheat Sheet�������������������������������������������������������������������������������������215
Devs and Testers Activity (2 x 1-Hour Blocks)���������������������������������������������215
Open Source Software���������������������������������������������������������������������������������215
Security and Privacy When Working Online�������������������������������������������������217
Code Collaboration Terminology������������������������������������������������������������������217
Creating Your Own Workshops��������������������������������������������������������������������218

Chapter 7: Electronics: Basic Skills and Tools����������������������������������219


A Quick Tale: Getting the Burn for Electronic Projects��������������������������������������220
Basic Electronic Component Primer�����������������������������������������������������������������222
Electronic Schematics and Datasheets�������������������������������������������������������223
Breadboards and Circuit Boards������������������������������������������������������������������223
Through-Hole vs. Surface-Mount Components�������������������������������������������223
Resistors������������������������������������������������������������������������������������������������������224
Transistors���������������������������������������������������������������������������������������������������226

vi
Table of Contents

Capacitors���������������������������������������������������������������������������������������������������228
Diodes����������������������������������������������������������������������������������������������������������229
Light-Emitting Diodes (LEDs)�����������������������������������������������������������������������230
Integrated Circuit (IC) Chips�������������������������������������������������������������������������231
Soldering!����������������������������������������������������������������������������������������������������������231
Tools You Will Need for Soldering����������������������������������������������������������������232
Other Useful Things to Have������������������������������������������������������������������������235
How to Solder����������������������������������������������������������������������������������������������236
Teaching Kids to Solder�������������������������������������������������������������������������������237
Handy Software Tools����������������������������������������������������������������������������������237
Embedded Programming����������������������������������������������������������������������������������242
Some Useful Concepts to Understand���������������������������������������������������������242
Approaching a New Microcontroller Electronic Project (Digital)�����������������������244
Software and Hardware Support for Proposed Components�����������������������245
Support for Languages We Are Proficient In������������������������������������������������245
Availability of Parts to Scale Things Up�������������������������������������������������������246
Draw a Diagram, Create a Schematic����������������������������������������������������������246
Breadboard Prototype����������������������������������������������������������������������������������246
Going Further�����������������������������������������������������������������������������������������������247
Introducing the Raspberry Pi Pico���������������������������������������������������������������247
Next Steps���������������������������������������������������������������������������������������������������������276
Summary����������������������������������������������������������������������������������������������������������279
Chapter 7: Cheat Sheet�������������������������������������������������������������������������������������279
Electronic Components��������������������������������������������������������������������������������279

Chapter 8: Putting It All Together�����������������������������������������������������283


Planning a Year of a School Maker Space/Code Club with Python�������������������283
Deciding on Communication Channels�������������������������������������������������������������284

vii
Table of Contents

Communicating with Parents/Guardians�����������������������������������������������������284


Communicating with Volunteers/Teachers��������������������������������������������������285
Communicating with IT Staff�����������������������������������������������������������������������286
Setting Expectations�����������������������������������������������������������������������������������������287
Expectations for Participating Kids�������������������������������������������������������������287
Setting Expectations for Volunteers������������������������������������������������������������289
A Note About Qualifying/Filtering Volunteers�����������������������������������������������290
Get a Benchmark of Skills Across the Group for Kids and Volunteers��������������291
Build Some Basic Skills to Equip Kids to Go the Distance��������������������������������292
Group Activities�������������������������������������������������������������������������������������������������295
Develop and Deliver Workshops with Scalable Projects�����������������������������������297
Club Excursions/Events, Community/School Events�����������������������������������������302
Demos���������������������������������������������������������������������������������������������������������������304
Contribute Back������������������������������������������������������������������������������������������������305
Encouraging Alumni to Volunteer����������������������������������������������������������������������307
Learning from Mistakes and Learning More�����������������������������������������������������310
Keeping Yourself Motivated and Kids Engaged�������������������������������������������311
Preparation��������������������������������������������������������������������������������������������������312
Scaling Things Up����������������������������������������������������������������������������������������313
My Experience Highlights���������������������������������������������������������������������������������314
It’s Up to You, Now!�������������������������������������������������������������������������������������������315
Chapter 8: Cheat Sheet��������������������������������������������������������������������������������316

Appendix A: Traffic Light Workshops������������������������������������������������323

Index�������������������������������������������������������������������������������������������������339

viii
About the Author
Martin Tan wrote the first Code Club Moonhack projects in Scratch and
Python, used by over 10,000 kids in Australia. He has taken kids to demo
robots and coding projects in parliament, delivered training to Code Club
Australia, and contributes to various Maker communities online. Martin
blogs on Maker topics, runs a Maker store, and works in IT security,
contributing to various open source projects and community conferences.
Most of his endeavors feed into his hobbies, which also include music,
locksport, and various techy pursuits.

ix
About the Technical Reviewer
Ioana Culic is currently a PhD candidate in the field of Internet of Things
and the cofounder of Wyliodrin, a company that offers educational and
industrial IoT solutions. She is a Teaching Assistant at the Politehnica
University of Bucharest and has also been teaching IoT technologies to
high school and university students at different events for the last five
years. Despite the technical background, writing has always been Ioana’s
passion, and she managed to mix the two. She has published several
articles in magazines such as The MagPi and Make and books on Internet
of Things technologies. Ioana has been porting JavaScript to TockOS.

xi
Acknowledgments
During our journey helping kids to learn programming (coding) and
other maker skills, there were many people who helped as we strived to
empower kids to push themselves further and leverage their newfound
skills to express their imagination and ideas. Whether it be donating time,
knowledge, or even just being supportive when I would excitedly rant
about how proud we were of the kids, it made a lasting difference to the
kids, and for that we are thankful. In this section, I also wanted to mention
some specific contributions.
Firstly, thanks to David Mander at Milgate Primary School for taking
the initiative and leap of faith to register a code club and for the many
hours spent after school making sure that the code club would run and
helping with all our extra excursions and events and dealing with the
anxiety of all the administrative requirements that came with these.
Thanks for your support in the face of much frustration at trying to prepare
things and push our club to eventually embrace text-based coding and
electronics.
From the early days: Thanks to Jay for your consistent presence in the
early years of our code club and starting the trend of alumni school kid
volunteers. And thanks to Ryan for lighting a fire under everyone in that
first year and onward with your unique game demos, and in later years,
Jamie for breaking out your super fun multilevel games.
To all the parents who volunteered their time over the years, especially
Glen and Rula who stuck around for multiple years and provided great
support and belief, which made such a difference, and helped us fumble
through some frustrating times.

xiii
Acknowledgments

Some special people from Code Club Australia were instrumental in


providing such powerful encouragement, support, and feedback to myself
and our club over the years. Thanks to Kelly Tagalan for all your belief
and enthusiasm and trusting me with presenting our club’s demos and
to write all those projects, including the first Moonhack to get 10,000 kids
coding. Thanks also to Nicola and Tom for your support, encouragement,
and feedback. To Rik from Code Club UK, thanks for your help, feedback,
and very knowledgeable tips and all the work you put into writing all those
code club curriculum projects over the years.
Without the advice and inspiration from other authors, including
Michael Rash, Al Sweigart, and many other technical authors, I would not
even have considered contributing a book – thanks for paving the way with
your inspiring writing and experience!
I would also like to thank those who made podcasts that encouraged
me when driving to work, especially Michael from “Talk Python to Me,”
Kelly and Sean from “Teaching Python,” and Chris from “The Real Python
Podcast.” And also, thanks to Michael from Kitronik for supporting our
club with various samples and keyrings. Thanks to micro:mag and Code
Club World for publishing my articles.
In addition to Jay, all the other alumni students who came back as
volunteers over the years – thank you so much for just turning up and
making such a fantastic difference to our code club kids. You are the best
inspiration because you have done what they are doing and continue to
do so. Some extra special thanks must go to Ethan, Emily, Thom, Noah,
Yasmine, and Yamen for the extra consistency, time, and effort you
invested. You helped our code club to persist over the years and made sure
that so many got the help and support when they needed it!
Huge thanks to my family for putting up with all my ranting, stress, and
frustration during the writing of this book, especially my kids for coming to
code club week after week, year after year. This book would not be possible
without all your love and support.

xiv
Introduction
Although programming (coding) was once a skill for a very specific role,
nowadays, computers or microcontroller chips are ubiquitous; when
coupled with today’s human-friendly modern coding languages, the scope
for applying this skill is now much broader. However, in the same way that
reading or writing is useful for recreational and personal interests rather
than relegated to purely academic applications, coding and creating with
technology is now much more accessible to everyone. By embracing these
skills for creative and artistic pursuits or just to help simplify the way we
interact with our tools, the areas that once took us away from enjoying life
can now free us from the restrictions that technology previously placed on
us. For kids, this is realized through maker groups and code clubs, which
meld a previously academic skillset to apply for our own recreation or to
express our ideas into something tangible to others. Sadly, we often hear
of a disconnect between people who want to learn and the more technical
folk – the latter explaining things in their own context, without realizing
their use of jargon and what seems like abstract terminology for those that
bridge into other disciplines such as teaching. When listening to teachers,
I’ve often heard things like, “IT people don’t get it when they try to explain
to us” or “How do I implement this for a class or group?” Similarly, our
code club kids ask for project examples within their life environment, so
they could see how maker skills could be immediately useful.
Over several years, a group of volunteers and I have muddled our way
through adventures with our Australian code club, hosted at the local
primary school. This has taken us to conferences, Parliament, and our code
club kids were featured on TV and online media; had begun to incorporate
their code club skills into their social lives and school projects. Along the
way, we struggled with logistical and IT-related challenges and the quest

xv
Introduction

to make sure kids were engaged and constantly challenged to grow, rather
than just occupied. We sought to give kids ownership of these skills so
that these would not just be something they “learned about at school” but
rather something that empowered them to use across other aspects of their
lives, rather than just an academic topic. Sometimes, we failed or ran out of
time, but the net effect was that we gradually progressed over the years. As I
looked back and had my memory jogged by others as we tried to remember
the details, we realized that we had come a long way from that first day of
code club. When David, one of the school teachers; Jay, a former student
recently graduated to high school; and myself initially shuffled into a room
with a small group of kids and some computers, we wondered whether we
could even get a working program to run – now, almost a decade later, we’re
seeing kids using these skills at home and able to interact with AI interfaces,
hopefully more seamlessly and with a little less trepidation.

The Purpose of This Book


Although there are many books filled with activities for a lone person, or
replicated for many working individually, there were not many that showed
how to take a project and scale it for pairs or groups of kids. Most books
show projects created in isolation rather than tested with class groups.
Rather than providing deep technical discussions or a technical reference,
this book aims to give a relatable context to the technical things while
pointing you in the right direction for the deep technical information.
Projects are also included and have been developed in the context of a
club limited to one-hour sessions at a time. From a school perspective,
I’m not a teacher, so I’ve provided the how-tos so you can paste these
into handouts, but they may require assessment tasks to be added. From
a social and maker group perspective, these can be run as provided. All
the materials and tools are specified at the start of each project, and many
are made to be scaled to allow group collaboration. Some will run for

xvi
Introduction

multiple sessions but have been designed to easily be continued in one-


hour chunks. Through my recollections of our mistakes and successes
with real anecdotes peppered throughout, the book also aims to help the
reader with the logistics of preparation, providing a structured approach
to learning the basic skills and explanations of useful tools and where to
find the deep details. Most projects also have a challenge with some hints,
to accommodate a range of kids’ skills and experience so no one is left
behind, ahead, or idle for too long! You’ll learn the useful concepts and
skills for running a maker group or code club, in a way that gives more of a
meaningful real-life creative context rather than being purely academic.
I hope that the platform and skills we provide with will go some
way toward giving kids the skills, freedom, and drive to explore and do
that which we do not yet think is possible. We only need to look into the
Demoscene’s1 origins and history to realize how much can be achieved
with just a bit of curiosity and collaboration, to do things previously
deemed impossible with electronic hardware limitations of the time.

Intended Audience
The intended audience for this book is teachers, parents, and volunteers
who are running or looking to run a maker group or code club for kids
aged from eight years old to those beginning high school (in Australia, the
latter is generally around 13 years old). If you’re a school-­aged kid, you
can also enjoy digging through this book for the projects and find ideas for
getting your own maker group happening – all it takes is a few friends to
get together! A maker group or code club is in essence two or more people
getting together to learn and create. The book does not assume any technical
experience, as I have aimed to explain terminology in layperson’s terms
before applying it – so you will both learn and be able to talk about the

1
https://chipflip.wordpress.com/category/demoscene/

xvii
Introduction

concepts as a universal way of collaborating then use the included references


to go as far as you want with learning more. Since part of the book’s objective
is to help you keep kids engaged at all experience and skill levels, there are
also some components that will introduce more experienced kids to more
advanced concepts. However, I’ve also aimed to provide practical stepping
stones to allow you to reach useful levels of skill and fluency in coding,
before progressing to applying these in more challenging and rewarding
contexts; for example, in Chapter 3, pointing to Code Club Australia lessons
on simple web pages and basic Python concepts before looking at writing a
“web application” that uses Python logic to create an interactive web page.

Overview of Chapters
The chapters of this book are structured as follows:
Chapter 1: Initial considerations for your code club or maker group,
support resources, initial curriculums to use, logistical solutions to
common problems, and how we improved over time, in practice.
Chapter 2: Finding IT resources and help for your code club and
how to have the required software tools and IT infrastructure set up on
computers and in your space.
Chapter 3: This covers general Python programming concepts
and program structure and how to get the right Python programming
environments to suit your requirements and any location limitations.
Chapter 4: I talk about using more tactile approaches with e-textiles
starting from a basic electronic circuit to a programmed digital e-textile
project with readily available materials, for example, a baseball cap.
Chapter 5: Going “off map” and creating your own project; included is
a self-watering plant project created at our code club.
Chapter 6: Introducing collaboration with others, including a group
project we tested and used and systems you can use to collaborate with
volunteers or other coders. Contributing to community projects is also
discussed.

xviii
Introduction

Chapter 7: Introduction to some basic electronic components and


electronic circuit concepts and analog vs. digital approaches. This chapter
includes building an electronic badge, adding various features, and how to
extend it further.
Chapter 8: Finally, we put what we’ve learned, together, by walking
through planning a year of a code club or kids’ maker group starting with a
Python curriculum progressing through to workshops and next steps.
A bonus appendix is also included with a couple of projects for
creating micro:bit traffic lights.

Conventions Used in This Book


In the included projects, existing code is shown for context, with the
code to be added shown in bold. Explanations of concepts are included
as breakouts to separate them from the main text. Any links with further
information are referenced as footnotes. Python code that wraps to the
next line is denoted with a “\” (slash). Although two-character indents
are used, four-character indents are fine and accepted in Python, if the
indentation is consistent throughout the program. All indents are spaces,
although some editors will automatically convert tabs to spaces. The
phrase “code club” is used interchangeably with “maker group” and refers
to an extracurricular maker club based around coding and electronics that
may be set up on its own or in conjunction with a school.

Prerequisites
The only prerequisites are enthusiasm and a few kids that want to learn. If
you are already teaching kids how to code and have access to computers,
even better! However, this book will outline how to access what you need
and where to find help. When we started our local code club, we only
had a handful of kids, a teacher, an older student, and one person (me)

xix
Introduction

with programming experience. We used free resources and the school’s


computers to get started. During the book, I will outline how we ended up
building up more electronic hardware and attracted more volunteers over
the years. Although one of us had programming experience, this is not
necessary as many of our volunteers learned as they progressed. Most of
the free projects from Code Club Australia and Code Club World were able
to be completed by adults in 20 minutes before each session.

Other Resources
Throughout this book, I’ve included footnotes with various online
resources, including groups that publish free tools and materials for the
community. I also explain where to start getting involved in contributing
to community projects and how kids can also start collaborating to such
projects or even methods they can use to work collaboratively with one
another.
As you progress through this book, you’ll find that it is equally divided
into three main areas of knowledge:

• Getting started, running, and growing your own code


club or maker group
• Prewritten projects and resources to use with
groups of kids

• Anecdotes and learnings taken from building our


own code club, attending some fabulous events, and
contributing to the community – drawn from my own
experience doing these things

xx
CHAPTER 1

Getting Started
Expectations is the place you must always go to before you get
to where you’re going.
—The Phantom Tollbooth by Norton Juster

This chapter covers the initial considerations for getting started with
your code club or maker space. I have included examples from the
experiences from our earlier code club years with challenges faced and
give an overview of our strategies to address these. Chapter 8 will dive into
exploring these strategies in detail, using specific how-to examples and
useful templates. As you’ve probably guessed, there’s no technical content
in this chapter, but rather it is a way of outlining some of the more essential
lessons we learned after several years of running a code club.

Note Throughout this book, I refer to code club or maker group


participants as “kids,” whereas older school student alumni will be
referred to as “volunteers,” as are adult volunteers.

So, let’s get started! One of the things to consider when starting a code
club or maker space is roughly what your short-term and long-term goals
are. I say “roughly” as any progress is a reasonable achievement, providing
that the kids stay eager and keep coming back for more. Goals will change
and develop as you progress. For example, an achievable goal can be as

© Martin Tan 2023 1


M. Tan, micro:bit Projects with Python and Single Board Computers,
https://doi.org/10.1007/978-1-4842-9197-9_1
Chapter 1 Getting Started

simple as making sure every kid who attends for a year learns to write a
working program. Another goal may be to equip kids with a new skill –
allowing them to implement or prototype their ideas to a level previously
inaccessible to them. At our local club, the point at which kids became so
engrossed in what they were doing, and keen to complete something, felt
like a definite indicator that something good had “clicked.” We almost had
to drag them away from the activity so that their waiting parents could take
them home.
Once your initial, and long-term, goals are established, you’ll start to
develop a clearer picture of the requirements for those goals. The simpler
your initial goals are, the easier the requirements will be to procure – you
can easily, and probably will, refine and add to your goals as you progress!
Unsurprisingly, one of the main requirements when starting off is
volunteers to help run your code club or maker group sessions. Since
our code club is a school-based extracurricular activity, our three initial
volunteers were drawn from these three groups:

• Teachers

• Parents

• Ex-students from the school


When talking to other code club volunteers, they all mentioned
challenges in finding enough volunteers to get started.
Some reasons for this are as follows:

1. People are working during the time when your code


club or maker group is scheduled (typically after
school or weekends).

2. Concern that they do not possess the skills required.

3. Not interested or only see a limited scope.

4. Not enough time due to existing responsibilities


outside of work.

2
Chapter 1 Getting Started

Issue 1 is becoming less of an issue as more people work flexible hours


and work from home. As our local code club muddled its way through
half-finished coding projects, some of the kids stood up in school assembly
to show what they had made and learned. After that, some awareness and
understanding started to grow that we were doing something positive for
the kids. One kid explained that, while he had originally expected just
games, he had learned that there was much more that he could do with
the skills gained, including creating things that helped people and made a
difference to the world.
Although issue 2 has not really been a problem, with some parents
volunteering to learn themselves, to prevent stagnation at least one
member of your team needs some vision, enthusiasm, and a thirst to learn
or implement ideas. I will aim to provide some of these in this book, in
the form of working projects and simple explanations of concepts, with
summaries and cheat sheets that you can reference. I’ve included lots
of snippets of anecdotes and experiences, as people often recount such
stories as adding to their learning.
Issue 3 often stems from ill-informed ideas that programming or
technical pursuits are only for those who want to work in “IT” or some
sort of stereotype who doesn’t engage in anything except for typing at a
computer. An analogy I often mention is that although we don’t all aspire
to become professional writers or editors, learning to read and write is
very useful and enriching for our lives. The idea that programming is only
for those who wish to become software developers, and that all these jobs
are now performed offshore, is sometimes touted as a reason for ignoring
programming, electronics, or other maker skills. Many successful products
have been launched through kickstarter sites, and typically work is not
offshored until more cost-effective mass-production is required. In short,
a very broad range of people can benefit from learning computational
thinking, automating something that may prevent them from having
more time in their lives, or even just for the sheer enjoyment of creating
something.

3
Chapter 1 Getting Started

Finally, issue 4 may be a valid blocker, although we still do see


some great support from families that have lots of projects and activities
going on. Understanding the reasons why issue 3 is not valid, or was
misunderstood, can often change priorities here.

Note With our code club, we never charged any money and just
allowed kids to apply at the start of each year. This is part of the
mission of Code Club Australia to “Get kids coding.” I did initially
donate a couple of old Raspberry Pis (Model 1B) that I had lying
around, with the school buying some accessories for these later. In a
subsequent year, the school committee asked me to write up some
workshops for a school open night and bought ten BBC micro:bits1 for
this. Along the way, we were lucky enough to have some hardware
gifted to us; it became apparent that some hardware was useful for
teachers at the school as well. Generally, most costs (outside of the
computers and network) were not excessive. When we did sometimes
have a play with some of the school’s more expensive robots, those
seemed to be nowhere near as useful or reliable as the cheaper,
simpler hardware.

1
https://microbit.org/

4
Chapter 1 Getting Started

 Quick Tale: Several Years of Mistakes –


A
Numbers, Passwords, Computers,
Accountability, and More
When a high school student, a teacher, and I decided to start our code
club, we began with

• A small room at the local primary school

• A class set of laptops connected to the Internet

• Some prewritten Scratch programming activities

• A group of about 20 excited 11–12-year-old kids

At least we had the foresight to read through and try the first
programming exercise prior to our first session, but soon ran into some
unforeseen challenges. All the kids were facing either against the wall or
toward a desk partition in the center of the room.
That day, our short-term goal was simply to make our way through
our first code club session. Only three kids out of the group of 20 ended up
completing their projects – each had learned programming before and had
also used Scratch. A benefit of this was the other kids seeing a glimpse of
the possibilities. Meanwhile, much of our time was spent frantically racing
to each kid with their hand raised and asking for help, before they got
distracted or frustrated. The kids’ idle time was quite high at this stage, as
we had to work through each previous problem before we got to them.
At this early stage, all the kids used a shared login since they had only
used tablets during school, and classes weren’t utilizing their computer
lab time – this meant they didn’t yet have logins and us having to help each
kid log in. Projects were often not saved consistently or in a safe place. In
subsequent weeks, this work had to be repeated, making the experience
less rewarding. One week, my son brought in a game he had written and
showed the group – for a couple of weeks, there was a renewed energy and
enthusiasm in our club. Another of our code club kids, Tim, wrote a game
5
Chapter 1 Getting Started

where the player had to set everything on fire. Our other experienced kid,
Darren, wrote a game where the player controlled a fish that ate smaller
fish – at my suggestion, he later ended up adding a scoring system.
So, after our initial excitement and a slight spike a bit later, kids
were still turning up, but we still had wasted sessions, which increased
in frequency as we tried to add new activities. Although everyone had
started with a variety of different skill levels, we still weren’t seeing much
measurable progression at any level, and those initial speed bumps from
lack of good processes and fuzzy expectations began to wear thin.
In hindsight, the causes of increased delays in those early sessions can
be summarized as follows:
A failure to anticipate logistical problems: We had limited
contingency plans in place for computer or Internet problems. Credentials
to gain access to computers and online services were often forgotten
or shared, or kids/guardians lacked accountability for managing their
credentials from week to week.
Underestimating the impact of most problems: Failing to manage
login credentials to retrieve the previous week’s work, working inefficiently
by repeating ourselves, and a general lack of continuity or expectations of
acceptable behavior in code club were to take up many weeks of our time
and worked against us to stifle enthusiasm and slow down progress for
kids. A side effect of this was that the more advanced kids ended up being
less engaged and progressing slower.
Using processes that were not scalable or just not using processes:
With only a few volunteers, it was easy to communicate, but onboarding
more volunteers made it hard to be consistent. Sometimes, new volunteers
would repeat our old mistakes or raise issues that we had already resolved.
Not resolving a login problem or saving projects in a different place would
often just repeat themselves during the next week.
A lack of experience of what did and did not work in the club
environment: The idea of a club or space implies that everyone will be
at different stages of learning, albeit within a chosen path. This extends

6
Chapter 1 Getting Started

to kids working on different projects to their peers at different time.


Accommodating these different learning stages within a club took us a
while to figure out. Using older styles of having all the kids continually
being called back to the floor or trying to keep everyone on the same
project just resulted in frustration.
Failing to discuss or improve our approach: Making time to regularly
reflect on our sessions in a focused way resulted in ongoing improvement
in our approach. To prevent us from reinventing the wheel, these included
only our teacher representatives, with a small subset of longer-term
volunteers. By regularly reviewing, we were able to reduce the amount
of wasted session time while presenting a more unified interface for the
kids. We also gained the agility to be able to accommodate unforeseen
interruptions from other school events and changes in schedule,
developing contingencies for these, such as bringing in a three-week
activity or adjusting our calendar to suit.
A lack of accountability for guardians and kids: There was no
accountability from kids or their families, and they would essentially
turn up each week and wait for us to notice them not doing anything.
In later years, we solved these issues by clearly stating expectations and
requirements in acceptance forms.

 hat Is Your Baseline – Where Are You


W
Starting From?
In the beginning weeks of our code club, we never considered whether we
would have kids who had never written code before or whether anyone
would find it harder because they didn’t have access to a computer. We
tried to talk about “drop-down menus” and “left-clicking” and were met
with blank stares from kids brought up on mobile devices. It became
obvious that we had underestimated some of these challenges.

7
Chapter 1 Getting Started

Ideally, everyone participating should get something out of your code


club or maker group, both in the long and short terms. It is reasonable to
expect different skill and experience levels and think about how to keep
kids who are between both extremes progressing at a measurable rate,
achieving milestones, and of course staying engaged.

Remember Being occupied is not the same as being engaged.


Staying occupied may look like someone is busy, but they’re not
necessarily staying hungry to learn, satisfying their curiosity, or
becoming empowered to create.

Although it can be easy to have kids turn up each week and have them
copy some code into a computer or chase expensive remote-controlled
robots around, ask yourself, “How much will their capabilities have
progressed after six months?”

Tasks for Establishing a Baseline


Here are the first tasks to help you establish a baseline for your group.

Identify Some Prewritten Content to Start With


This could be a free series of online coding lessons or activities. I would
suggest something like Code Club, Grok Learning, or Code.org as they
are free and well structured. These are usually written so they can be
completed in a set timeframe, which can be particularly useful for setting
expectations, for example, “Look – this is just three steps, with four tasks
in each.” It is also one less thing to worry about when beginning. In later
chapters, we’ll talk about how to get a bit more creative, but for now
prewritten content provides a solid structure for everyone involved.

8
Chapter 1 Getting Started

 it Down with Other Teachers and Volunteers


S
to Discuss What You All Want to Achieve
This includes writing down some short- and long-term goals. A good
short-term goal might be to have each kid complete one lesson or activity
+ challenge per weekly session. A good long-term goal might be to cover
enough concepts to enable everyone to participate in a larger project by
six months.

 ork Out How Many Kids Your Team of Volunteers Can


W
Comfortably Handle
If you have too many kids in your sessions, you won’t get to all of them in
time, leaving everyone frustrated and no one progressing to a measurable
level. And then there’s the other challenges to consider. A measurable
level of progression lets you show kids that they are learning and what this
means in terms of the greater opportunities available to them such as more
complex projects. If progress is too slow, kids may lose interest, become
distracted, and disrupt others from learning. Over the years, we found a
sweet spot of two volunteers and a teacher for 20 kids that worked well for
us, with maybe an extra volunteer handy for the more involved workshops.

Resist the Temptation to Accept Too Many Kids at First


You will always have someone who has another activity that clashes with
the time, moves too far away, or even regrettably loses interest. A waiting
list can be a good idea, as it also puts some value on the opportunity,
and word will soon get around about how valuable a spot in your club is.
Having a manageable number of kids improves the experience for the kids
involved, and you will have less kids getting distracted because you can
get to everyone in time. As we continue, I’ll talk a bit more about how to
optimize helping kids and keeping them engaged.

9
Chapter 1 Getting Started

 iscuss How to Manage the Expectations of the Kids


D
and Their Guardians
This is not to say you’re limiting what can be achieved, but rather
explaining what kids can expect to achieve in your club or group. It is
prudent to also talk about what constitutes unacceptable behavior, to
ensure everyone gets the most out of your code club. This could include
no playing of games on mobile devices and other personal conduct
expectations. In our club, we found it necessary to remind kids that there
was a waiting list and that adhering to the rules was necessary to keep
your place in the club. We also introduced some required actions such
as creating accounts and managing passwords, which we’ll cover later in
this chapter. Stating these ground rules up front means that everyone’s
expectations are set, thereby reducing later problems.
Guardians also need to understand the expectations for them and
their kids. This includes having guardians understand that setting up and
securely managing account passwords is a requirement of participation. It
also gives them an idea of what content you will be covering and that effort
is required from their kids in order to get the most out of the club or group.
It also goes a long way toward reducing the misuse of the club as free after-­
school care or if their kid fails to put in the effort required.
Finally, make some simple notes, and check back on the preceding
points, and consider the resources you will need. These will include

• Computers, Internet, support.

• A good place away from distractions.

• Checks that volunteers will require in your area to work


with children – this is not negotiable and should be
stated as such.
• Any facilities required for any kids with disabilities or
special needs.

10
Chapter 1 Getting Started

Health and Discipline Issues


If possible, the easiest option is to have a teacher to deal with this
and make it clear where the boundaries of volunteers’ (nonteachers)
responsibilities are. These include understanding first aid, allergies, and
processes for toilet breaks and generally keeping kids safe when arriving or
leaving the session. Alternatively, if one of your volunteers has previously
handled these things for a scout group or club, they will be able to guide
your code club in this area.

 ork Out What You Want the Code Club or Maker


W
Group to Be
For our local code club, we wanted kids to feel empowered to realize their
ideas in working projects and for them to own the skills for themselves;
this means that they would recognize that skills they learn will belong to
them rather than being relegated to something they did at school or had
thrust upon them. My own experience is that as soon as a personal hobby
or interest becomes solely work, you don’t benefit from it, and it ceases
to be yours. This is what makes a club or group different from school and
lessons – kids need to want to participate and get something out of it.

 ork Out Your Initial Scope: What Are Your


W
First Milestones?
Once you have written down what you want to achieve, it’s easy enough
to work back from those goals to find out what needs to be done. This
is where some logistics will come into play as you take your ideas and
implement them in a practical sense!
Up until now, we have primarily been talking about coding, as that is a
common place to begin at. For our school’s code club, this was where we
started. For you, it may vary, depending on the skills in your own team of

11
Chapter 1 Getting Started

volunteers and teachers. For the sake of showing a club’s progression and
processes for that, I will be using our school’s code club for most of the
examples in this book. Sometimes, it may not be immediately evident what
your longer-term goals are, until you go further with your club – this was
exactly the case for our school’s code club. Whatever the case, be ready to
acknowledge these and embrace them when you see them!
A good example of a short-term milestone is to have everyone complete
their first project. Working back from this, ask yourself, “what do we need
to do to make this happen?” Remember when I mentioned that everyone
might be at a different skill level or progress differently? This is what keeps
everything fun and challenging when you try to have everyone engaged all
the time! Be prepared to have multiple activity threads and even split into
subgroups in order to manage everyone’s diverging milestones.
A long-term goal might be to be able to run a workshop that applies
coding with a new skill, such as 3D design or electronics. As you may have
guessed, there can be multiple workshops based on different interests
and skills running in your club. Once you have an idea of this long-term
goal, look at what skills would be required and how you will equip the kids
with these.
This is where your prewritten content becomes invaluable – often,
such content will also include a list of concepts or a skills matrix that
explains what kids will learn from each project or lesson. If you have this,
you can simply look at these and determine a list of projects required for
kids to obtain the skills for your first long-term goal.
Explain to everyone roughly how long the first project will take
to complete. This sets expectations and sets kids’ expectations for a
reasonably quick and easy first task. Before your first session, go through
the project and write down any tricky parts or problems with the project
code – then you can address these with the entire group at various points
during the first session. This helps everyone in parallel, leaving you to help
those that may have typed something incorrectly or need help debugging
their programming.

12
Chapter 1 Getting Started

One milestone that I personally love, and is super handy to achieve,


is to teach everyone learn how to debug their own errors. You’ll know this
has been achieved when they ask you a question and, after a few minutes,
say something like, “oh, it’s OK – I worked it out myself.” At this point, just
make a mental note of the milestone, smile to yourself, and go help the
next person!
A nice milestone that builds skills in other areas can involve having
kids show some leadership by sharing a tip or solution they have worked
out either to the group or a friend. This might involve having certain kids
stand up in front of the group to explain one of the trickier parts of the
project and how they solved it.
Your very first milestone should be to get everyone to log on to their
computer and into the chosen programming environment, for example,
Scratch or Trinket.io. The next could be to have everyone save their
work so they aren’t redoing the same things each week without learning.
Easy, you might be thinking, “I can just run through these lessons and
then do my workshop at the end of that.” Remember how I mentioned
that we had a variety of skill levels and experience? If we are ever short of
volunteers each year, Code Club Australia sends us volunteers to help with
our registered club.2 One time, a volunteer turned up after going through
a training program. After a few sessions at our code club, she commented
that it was nothing like what they had trained for, because we had such a
diverse range of skill levels after a few years of code club that everyone was
already working on different projects! So, the key idea here is that even
though everyone doesn’t progress at the same rate, that is alright. Often,
I would have someone become worried if they missed a session or were

2
https://account.codeclubau.org/register-a-club/

13
Chapter 1 Getting Started

not progressing as fast as others. I would often sit down with them, letting
them know that maybe next week someone else would be sick or not able
to attend and that it didn’t really matter as long as they were learning
and enjoying themselves. Later in this chapter, I will cover some tips and
strategies we learned to address some of the issues we ran into.

Equipment and Initial Setup


Now that you know what activities your club will initially involve, you will
likely be starting to consider what equipment and other resources you
may need.
Using a fairly common scenario and set of requirements, these could be:
Room that is reasonably private and comfortable, where you can
regularly run your code club and physically help everyone easily. Running
your code club after school at the same school is a great way to do this,
since school computers can be freed up after classes, and most rooms
will be empty for splitting into smaller groups. Staff are often around just
before the club starts, making it easier for kids to have a snack and get
to the room and settle. Ensure that heating and cooling are acceptable,
since these will affect the ability of people to concentrate and could even
introduce health issues if not managed adequately. Expect some tiredness
or lower concentration at the start or end of the term. Other location
options include libraries, or if you can borrow a free space somewhere, this
may work. Just be aware of any health and safety requirements, or other
groups that may be nearby or sharing the space, and could conflict with
you having a safe and quiet environment for kids to learn and create in.

Computers/Laptops
Will these be owned by the participants or at a school or other locations,
such as a library? The answer to this question will determine the best way
to ensure that everyone has the correct computer environment set up to

14
Chapter 1 Getting Started

participate. You may need support staff. Be aware that, although many
kids have access to mobile devices, the ability to learn to look under the
covers of things and pull them apart is an integral part of the coding and
maker mindset. With a mobile device, most things are abstracted away
from the user, which tends to be counterintuitive as your group’s quest for
knowledge and understanding progresses.

Optimizing Your Environment


Whiteboards, projectors, TV screens, monitors, and other accessories that
let you show things to the entire group are very useful and often available
at schools and libraries. However, with regard to the core activities, you’ll
want to try and get the kids learning the basics as soon as possible, since
building a reasonable skills base will prevent stagnation or reaching a
plateau later. With our local code club, failing to get kids learning the basics
limited our choices in earlier years, since we didn’t have enough kids with
the required skills for the fun and more advanced activities. Kids ended up
stagnating and doing the same old scratch games all year. They would just
turn up but not really progress or say they were bored because we couldn’t
move them onto the more interesting projects. This is one of the main
reasons for optimizing the running of your code club so that kids can focus
on learning rather than getting bogged down with administrative issues.

Onboarding at the Start of Each Year


When sending out an email acceptance to guardians, outline the
requirements clearly, including how to create accounts for the
required services online and how to store credentials. Have a checklist
that guardians must tick for the tasks, with a signature to indicate
understanding. This is a good time to stipulate conditions for participation,
which would include the usual school or venue requirements, in addition
to any other distractions, such as playing games or not participating.

15
Chapter 1 Getting Started

Computers and IT Support


If you have browser-based programming projects, these are the easiest
to get started with. We used trinket.io to do most of the Python3 Code
Club Australia projects. Once we started on hardware-based workshops
that included robots and required specific software to be installed, we
had to leverage IT support people to ensure things were prepared. This
is not straightforward at all; even if you are technically skilled, the time
constraints and a locked-down environment can be challenging to deal
with for the small window of time you may have access to the computers.
As our local Code Club began to evolve and requirements grew, I
managed to get the IT folk to install Python on the school computers. This
involved running through the install myself and then sending the links to
download the required installation to the school IT person. Initially, we
were using Apple Macs, and somehow we managed to also get a working
Python setup when the school decided to move to Windows laptops.
Something worth considering is that for some projects, you will likely want
to start installing additional Python libraries on laptops to give you more
functionality – this will require setting up Python to work with the school’s
proxy and firewall, through which they must access the Internet. Some of
the challenges and details of how we overcame them in this area can be
found in Chapter 8. The important takeaway at this point is to make sure
you arrange a time to come in earlier with the school IT person present, so
you can test things. Make sure this is a long time before you plan to use any
installed software, since it is likely to not work. Speaking directly to the IT
person allows you to determine how much information they will require
to set things up. At this point, I digress, since this won’t be required until

3
www.python.org/about/

16
Chapter 1 Getting Started

you have done a bit more learning and want to do extra workshops. There
are often a few smart kids that will get extremely excited and work through
all the learning content at home. This is part of the “at some point you will
find that everyone is at a different stage of their learning journey,” so be
prepared to be surprised with additional activities being required a little
earlier than expected.
Also, consider that if your content is online, kids know how to Google
for things and may just copy and paste, the net effect being that they feel
like they achieved more, but it effectively prevents them from learning
anything. Our local code club ran into the problem of kids working
ahead, which is great, and other kids copying finished projects so they
could move on to other activities – the side effect of the latter was that the
kids who copied projects did not have the skills for the other activities
and sometimes prevented others from participating, due to number
limitations. As a solution, we have used a few different systems to track
progress. At a midway point during the school year, we allocated a few
weeks dedicated to helping kids complete projects they might have got
stuck with or forgotten to complete. We also set up a requirement for
kids to have their projects checked by a volunteer, where we would ask
questions about how the code worked and ask the kids to verbally describe
some of the challenges they had run into and how these were solved.
In addition to sorting out the cheaters from the hard workers, this also
provides some recognition to those who have worked hard.

Login and Password Basics


A significant obstacle to kids getting started, saving their work each
week, and generally staying engaged ended up being login problems
on laptops and online services such as Scratch or Trinket.io. As a quick
starter tip, I have included the flowchart (Figure 1-1) that was the result of
multiple attempts to solve this problem. Feel free to adapt this to your own
situation!

17
Chapter 1 Getting Started

Figure 1-1. Flowchart for login problems

Another Alternative – Make Your Space Portable


If you have access to a small fleet of computers or are in an area where
kids can bring one along, you can run your code club offline. This requires
providing instructions to parents and guardians beforehand, so they can
install any required software. You can provide learning materials in a file
format such as PDF, which can be accessed on a mobile device.

18
Chapter 1 Getting Started

A more modern method of running your code club or maker group


can be online – since COVID-19, this is a real requirement that needs to be
fulfilled. This involves using an online collaborative conferencing service,
such as Zoom, Microsoft Teams, or Google Hangouts, where you can
ideally share your screen. The same requirements apply for accountability
and setup as I’ve previously described. Also, be aware of requirements for
security and privacy when hosting sessions online. In short, you’ll need to
make sure that the conference isn’t public and that personal details are not
shared. Some volunteers with online-only clubs mentioned a challenge
in knowing who is genuinely working – however, the method of checking
completed projects could work online just as easily.

The Tech Stuff: Learn by Applying


Let’s talk about the actual content we will be taking the kids through – this
can often be slightly scary for some volunteers, but an important point is
to be careful not to pass some of this apprehension on to the kids. I have
seen volunteers openly complaining that it is impossible to work without
a mouse when kids were happily using trackpads or imply that text-based
programming is harder than it really is. Setting a “can-do” attitude helps
kids feel empowered to complete the content and overcome any obstacles
within reason. Weaning kids off block-based programming to accept the
more powerful Python projects took a while for our code club. Much of this
was due to some initial apprehension from volunteers, but as soon as we
approached text-based Python programming in a matter-of-fact way, the
kids just accepted it as being easy.
Whether you have a highly technical background or minimal technical
experience, spending 15–20 minutes working through a project prior to
a session increases the speed at which you can help kids solve problems.
Since the projects are designed for kids, highly technical skills are not
required at this time. But spending this small amount of time beforehand

19
Chapter 1 Getting Started

means you can attend to kids quicker, reducing idle or waiting time for kids
and keeping them more engaged while learning and progressing and less
likely to be distracted.
Examples of issues that come up during a project can include

• Ambiguities in the project text that may be challenging


to interpret

• Bugs or quirks in software tools

• Skipping or mistyping lines of code

• Problems peculiar to the computer or network


environment

We can introduce programming terminology and concepts while


we learn – later, this will be useful for kids that may be interested in
collaborating or talking to other programmers or makers.

Two Examples of Problems and Solutions


During your maker or code club sessions, some kids will put their hands
up for help, some will prefer to try on their own before asking, and others
may try for a short time before giving up and becoming distracted. The
approaches we take to helping our kids depend on whether the issue is a
common issue, such as a known bug or problem with the project, or an
issue specific to the individual’s own project, like a typo or leaving out a
section of code. A good way of reducing the first category is to write it up
for everyone to see and talk about it to draw attention to it. For the latter
category, a more individual troubleshooting approach can be applied.

Troubleshooting and Debugging


As mentioned earlier, a good milestone to achieve is when our kids start to
solve their own programming problems. By solving their own problems,
kids stay engaged and can progress faster in their learning journey.

20
Chapter 1 Getting Started

Here are some tips for troubleshooting with kids.


Start by asking some questions:

• “What is your program supposed to do?”

• “What is going wrong?”

• If there are error messages, “What do the error


messages say?”

• “Which line of the code controls the part that isn’t


working?”

The last question will give you a place to start looking. To keep our kid
programmer engaged, verbalize your thought processes.
Some useful phrases for this might be

• “OK, let’s start by checking for typos or missing


brackets.”

• “Hmm, what should this variable be at this point?”

• “Where does this get set?”

• “OK, so it looks like we’re using a loop to get each line


of the information we read in earlier.”
Once our young programmer works out the solution to the problem,
check their understanding by asking some questions or by having them
explain it back, for example, “So…what were we missing there?”

The Posse effect Year after year, we often see a more experienced,
louder kid develop a small group who sit near them every week. This
group of kids will often progress slowly, if at all, and when pulled
aside to chat, they will sheepishly admit they haven’t done anything
or got “stuck” and never progressed past a single roadblock and
didn’t ask for help. Separating the posse or sitting down with them

21
Chapter 1 Getting Started

individually for ten minutes can sometimes identify where they got
stuck or get them back on track. Other times, we have found that
rewarding these kids when they contribute to troubleshooting can
empower them to get more involved. Again, if you have enough
people running your code club or maker group, you’ll be able to spot
and address such issues earlier.

Strategies for Volunteer Collaboration


Online collaboration can sometimes be useful for discussing systemic
logistical issues or sharing fixes that may not have been discussed during
a live session. Establishing this central place to collaborate early on can
help newer or less technical volunteers feel less isolated. There is less of
a requirement for instant responses, but over the duration of a week, it
allows volunteers to communicate without being too intrusive.
There are many ways to collaborate online. In the early days of our
local code club, email worked well, but soon became difficult at times
when we had a larger group of volunteers and were running more than
one group of kids per week. Once we introduced additional workshops
and ran these in parallel, we really need a chat system that offered
individual channels to keep track of everything we talked about and also
as a central source of information. For us, we tried Slack initially, but due
to it being designed more for commercial developers, we soon started to
hit limitations and moved onto Discord. Discord offers a good solution
since it is free to run a server and can be accessed on both mobile devices
and computers. If you need to have meetings online, Discord also offers
quite clear group video and audio conferencing. Keep in mind that some
volunteers may not be used to all collaborative platforms and will tend to
forget to log in or just not participate. In those cases, a summary email can
be useful to communicate key information.

22
Chapter 1 Getting Started

A shared file folder such as a Google Drive can also be useful for
sharing information to kids and distributing documentation between
volunteers. Just remember to set permissions so that each is separate.

Graphical vs. Text-Based Programming


I’ve talked about how our local code club began with Scratch
programming. We did it because that’s what the Code Club Australia
projects started with. It turned out that a lot of Code Clubs in Australia
were also predominantly using Scratch. The limitations of a graphical
language will only let you go so far, though.
Scratch is a great place for kids to start coding and leads nicely into
Microsoft MakeCode and MakeCode Arcade, the former used on the
micro:bit and the latter on some specifically designed consoles.4 One of
our earlier Code Club kids would write multilevel games and in later years
became a volunteer. Others ended up writing some simple programs
that they used for school projects. However, once we started to look at
more advanced programming and tried to model various solutions to
problems, Scratch became limited and required overly complex and less
readable code and in other cases just could not easily interface with things
we wanted to control. At our local Code Clubs and at other code clubs, it
became challenging to wean kids off block-based languages and to learn
more advanced concepts, such as object-oriented programming. These
days, some great bridging platforms exist for this, including BlockPy5 and
EduBlocks.6 You might be interested to know that EduBlocks was written
by a 15-year-old student, Joshua Lowe,7 and runs on computers and

4
https://arcade.makecode.com/hardware
5
https://think.cs.vt.edu/blockpy/
6
https://app.edublocks.org
7
www.tech4goodawards.com/finalist/joshua-lowe/

23
Chapter 1 Getting Started

microcontroller boards like the BBC micro:bit. Here’s a screenshot of some


Python code written using EduBlocks in a web browser (Figure 1-2). The
resulting code will be run on https://trinket.io.

Figure 1-2. EduBlocks Python program

A quick explanation of object-oriented programming In a


nutshell, object-oriented programming allows defining objects
that can represent real-world concepts or things. This makes
modeling the solution to a problem in code easier to write and read.
Objects can have specific attributes and actions (methods) that
can be performed. An example of an object could be an animal,
with attributes such as fur color, age, or weight. Examples of
methods that could be written include sit(), stand(), walk(),
and bark().

24
Chapter 1 Getting Started

Python is much faster than Scratch and is both simple and powerful,
but it also has over 137,000 libraries that contain Python functions to
extend its capabilities while keeping the code easy to read. For example,
some uses for Python are

• Controlling machines

• Interacting with things on the Internet to store or


retrieve information

• Speech recognition, tracking or adding objects in video


and photos, and automating many more tasks that
save us time

This makes Python an easy way to show kids the scope of


programming while also giving them some insight into how to integrate
across hardware. Python is now one of the most popular languages and
is taught at a university level. For these reasons, I really wanted to show
kids how easy it was to program in Python and show them how it opened
a gateway to so many possibilities! Our first efforts failed miserably,
due to issues with having it installed on the school computers or the
misconception that typing was hard and Python was hard. We never gave
up, and I ended up running a trial group with some of the kids who we had
identified as having finished the most projects. As previously mentioned,
it is much easier to start with a manageable group before scaling things
up. As we progressed, the kids in this group worked through the Code
Club Australia Python projects, with speed of progress varying at different
times. This didn’t seem to matter too much as eventually everyone had a
reasonable coverage of the main concepts taught in those projects.
The breakthrough moment was when I drew a diagram of a water
sensor and a micro:bit on the whiteboard. Immediately, the kids’ minds
started to tick – someone even suggested using a pump! I explained how
the sensor worked and told them to use Google to search for the code to
read a value from the sensor wire connected to the micro:bit. Within ten
minutes, we had some working code, and our group was deciding what

25
Chapter 1 Getting Started

value indicated that there was enough moisture in the soil. I showed our
teacher volunteer, David, and we knew we had finally reached a significant
milestone.
We knew that if we could get a small group of 11–12-year-olds to this
level, we could potentially open the gateway to potentially thousands of
projects. For that reason, this book will use Python or the embedded (used
on hardware) versions of MicroPython and CircuitPython for examples.

Summary
1. Determine your initial long- and short-term goals
and start with a small group before scaling to larger
or multiple groups.

2. Initial number of volunteers may be low, but


will grow as you progress, and people start to
understand and recognize what you are doing.

3. You don’t need money to get started with content


from one of many groups that support teaching kids
about STEAM-related areas, some even provide
volunteers.
4. Don’t be discouraged – my own local Code Club
started with a teacher, an ex-student of the school,
myself, and some super-keen kids.

5. The initial first few Code Club sessions are not too
hard, but later it is important to deal with stumbling
blocks before they become ongoing problems.
Ongoing problems can sap kids’ enthusiasm and
can result in them becoming disengaged due to lack
of progress and them having to repeat things that do
not contribute to learning.

26
Chapter 1 Getting Started

6. Know your baseline in terms of volunteer and kids’


skills and experience and work from that.

7. Keep the volunteer/teacher to kid participant ratio


at a workable level, especially when starting out.
The kids will get more out of the experience, and it
gives you a chance to find your way without being
overwhelmed.

8. Keep communications open between you and


participant guardians and between volunteers/
teachers – the latter can be free online collaboration
systems.

9. Set some milestones – work back from these and set


yourself up for easy wins at first.

10. Anticipate that eventually everyone will be at a


different level – this is fine, when everyone gets
something out of it. Make sure kids work through
and complete each project before moving on to the
next – establish this as a standard so no one feels
like they are falling behind, just because they spend
more time on something.

11. Spend a few minutes to go through the content


before each session – you’ll be happy you did, and
things will run smoother if you know where the
tricky parts are likely to be, identifying any bugs that
cause a project to fail. This will help you get to more
kids during a session.

27
Chapter 1 Getting Started

12. Set expectations with regard to acceptable behavior


and accountability for both the participating kids
and guardians. Volunteers can also benefit from
understanding how things are run when they join.

13. Have processes for likely issues that will come up,
such as password/account issues. This helps you
deal with things quicker so that everything keeps
on moving.

14. Learn the technical things by applying them. Do the


exercises and help kids to debug by verbalizing your
thought process as you work through problems.
Keep the kids involved throughout debugging and
problem solving.

15. Beware of the “Posse effect” around some more


advanced kids.

16. Python can describe the real world. Scratch only has
one data structure – lists – but Python has many data
structures to describe real things:

• Dictionaries: Lists that have an index and can be


ordered.

• Arrays: These are like a grid of variables.

• Customizable: We can also make our own data


structures to describe things and their attributes.

• Things: People, animals, data to be sent over a


network, audio, video, pictures, and files.

• Attributes: Hair color, number of legs, type of


hair, size, weight, and so on.

28
Chapter 1 Getting Started

Chapter 1: Cheat Sheet


Sources for Free Content and Support
Code Club: https://codeclub.org
Code.org: https://code.org
CoderDojo: https://coderdojo.com/

Short-Term Goal/Milestone Examples


• Kids log in consistently to laptop and online platforms,
for example, Scratch, Trinket.io.

• Kids complete the first project.

• Kids debug with help.

• Kids debug unassisted.

• Stage an event, which can be an incursion or


excursion of some sort to break things up and generate
enthusiasm.

Long-Term Goal Examples


• Complete a module or group of projects and have a
volunteer/teacher ask questions to confirm legitimate
understanding and completion of each project.

• Improve efficiency so that sessions run smoother,


and kids are so engrossed in what they are doing that
you have to almost tear them away at the end of each
session.

29
Chapter 1 Getting Started

• Grow awareness and understanding outside of your


Code Club by having kids talk about experiences and
showcase their projects to wider school or community
or offer short introductory workshops during
open nights.

• Move on to applying skills in more advanced


workshops and collaborative projects.

• Get more volunteers and teachers involved to cover


more age groups or create a second Code Club that
runs parallel or during another time of the year.

• Get some additional hardware donated or bought,


for example, microcontroller boards such as BBC
micro:bits or CircuitPython boards, single-board
computers (SBC) such as the Raspberry Pi, and
electronic kits and accessories.

• Run multiple workshops in parallel.

• Add additional elements such as fabric (e-textiles) or


cardboard circuits or 3D design.

 uestions to Ask When Helping Kids


Q
Troubleshoot Their Code
• What should the program do?

• What is going wrong?

• What do the error messages mean?

• Which part of the code controls the problematic


behavior?

30
Chapter 1 Getting Started

Other Useful Tips for Troubleshooting


• Verbalize your troubleshooting with kids.

• Keep them involved while solving the problem.

• Ask them to explain what the problem was.

Checklist for Volunteer Onboarding


• Relevant requirements for working with children
(mandatory).

• Give a brief so they know the history and how you are
doing things.

• Onboard them to whatever agreed communication


channel you are using.

• Find out any strengths or skills they may have and see
how these can be incorporated into what you are doing.

• Explain the expectations for participating kids.

• Give them access to projects before sessions.


• Explain the process to confirm completion of projects.

Checklist for Participants and Guardians


• Signed up to required online services.

• Passwords managed appropriately so kids learn how to


manage these and always can participate.

• Distribute expectations and have these signed and


returned either physically or digitally.

31
Chapter 1 Getting Started

• Ensure health and safety requirements and other


housekeeping information such as disabilities, health
conditions, and any other special requirements are
communicated in writing and handled by the qualified
volunteer or teacher.

32
Random documents with unrelated
content Scribd suggests to you:
“Well, it seems to me that for all-round obtuseness you beat
everything! Do you think it likely that I would seek a private
interview with you, in order to tell you of my intention to ask some
one else to marry me?”
“Then why have you come to see me?”
“Why? Only to ask you to take pity on a lonely old man, and marry
him. Look here, child, don’t jump up and look angry, for I really
mean it. You are the only woman I would care to marry, and if you
refuse to marry me I will have nobody else.”
“Good gracious! how can a girl marry her grandfather? Do you
forget that you are my stepmother’s father?”
“And what of that? We are not really related. Now don’t be hasty,
my dear. Think of all I can do for you, and of all you can do for me.
You shall have anything and everything you want, and be presented
at Court. As the Countess of Greatlands you will be courted and
sought after. But you can do much more for me than that. You can
make the short span of life which yet remains to me perfectly happy.
Say yes, my dear, and my love and gratitude will know no bounds.”
But I could not say yes for a while. Yet neither could I say no. My
astonishment was almost too great for words. Still, I was not
displeased at the dazzling prospect held out to me. Reflect, dear
reader, before you blame, that I had always been told that I need
never hope to win the affection of any man, and that, while those
around me basked in the sunshine of family joys, the man did not
exist who would care to cast in his lot with mine. True, this man was
old, and he was almost decrepit. But he had singled me out from the
many others who would gladly have become Countess of Greatlands.
In doing so, he had done me an honor of which I was fully sensible,
and it was such a joy to me to have become the best beloved of
even an old man that my heart prompted me to say “yes,” as he
desired.
Still, certain scruples would obtrude themselves upon my notice,
and counseled a little hesitation.
“Belle?” I faltered at last. “I cannot! It would make such a
difference to Belle.”
“It will not make the slightest difference to Belle, I assure you,
Dorrie. She is too vain and frivolous for me to care about living in
the same house with her. Whether I marry or not, Cyril and she will
have to content themselves with the dower-house during my
lifetime. It is the same with the title. They cannot have it until I am
gone, and your present possession of it will not keep them out of it
one day after it accrues to them. Come, my dear, end my suspense,
and keep the promise you made me a while ago.”
“My father? And Lady Elizabeth?”
“Have no solid objections to offer.”
Neither had I after that. But, somehow, the enraptured kiss with
which my old lover sealed our engagement was not the sort of thing
I had pictured in my day-dreams, and I involuntarily shivered under
his caresses.
“What is it, my little pet, are you cold?” he asked solicitously.
“Just a little,” was my evasive answer. “This room always seems
chilly. But that does not matter. Tell me, for it seems so strange, how
it is that you actually want to marry me, of all people in the world.
Look how ugly I am!”
“You are not ugly to me, my dear. Besides, I am past thinking
outward appearance the sole recommendation and guarantee of a
happy life. I need more than mere outward beauty.”
“And you think you have found it?”
“I am sure I have found it! And now, my love, with your
permission, I will remain here until your father comes. I shall see
you again later in the day.”
Having thus virtually received my dismissal, I sped up to my own
room, but not before my ardent lover had claimed another kiss as
his due.
Did I feel glad?
Or did I feel dismayed?
I was really unable to tell myself which sensation predominated. I
met Belle on the landing, and was conscious of a strange feeling of
trepidation, which made me slink into my own room like some one
guilty of a mean action.
Oh, dear! how could I ever face them all? I thought. How could I
ever have the presumption to pose as the superior in rank and
family prestige to my beloved stepmother? Why, if I married her
father, I should be her stepmother. And my sister’s mother-in-law!
And my father’s mother-in-law, too! And—could it be possible?—my
own step-grandmother! There were no end of complications involved
in the new arrangement; and, as I pondered over them, I became
more and more doubtful as to the propriety of accepting the grand
future held out to me. And yet, if I could do so without repugnance
on my part, and with an honest determination to prove that the earl
had acted wisely in selecting me as the wife of his old age, why
should I not become a great lady? Why—
But my conjectures were interrupted at this juncture by a very
unusual event. Belle had actually come to visit me in my own room!
I knew instinctively, however, that her visit boded me no good, and
when I looked up into her face, I saw that she was in a demoniacal
temper.
“Is it true?” she cried, as she flung herself on a chair just in front
of me. “Is it true that you have actually deluded that old imbecile
into offering marriage to you? My father has just told me that you
are to become the Countess of Greatlands at a very early date. But
the news is too monstrous for belief! A hideous little reptile like you
to lord it over me! A shrimp of a girl, whose gauchérie and ill-
manners are proverbial, to dare to assume airs of superiority over
me! I tell you it shall not be. I will not have it. Sooner than endure
such a humiliation I would—I would—”
“And pray what would you do?” I asked, not with the compunction
I had felt a while ago at the idea of relegating my beautiful sister to
a secondary position. Nor yet with the anger which had blazed up in
me on hearing the commencement of her virago-like harangue. But
with the cool contempt of one who feels that her position is
impregnable, and that her assailant is beneath consideration. “And
how will you prevent an arrangement with which you are not of
sufficient importance to be permitted to interfere?”
Perhaps it was astonishment at the unwonted courage with which
I met her assault. Perhaps it was a sudden access of prudence. But
whatever the cause, the effect was the same. Belle declined to tell
me how she would prevent my marriage with the earl. But she
continued to revile me for some minutes as treacherous, deceitful
and scheming, and wound up by saying that I need not congratulate
myself upon my seeming triumph, as Lord Egreville would certainly
not permit his father to perpetrate the folly he contemplated, even if
he had to swear that he was no longer responsible for his actions.
To all this I steadfastly refused any further reply, and, becoming
tired of leveling abuse which seemed to make no impression, Belle
left the room as suddenly as she had entered it. Once alone, I found
that my own feelings with regard to the coming event had
undergone a complete revolution. I no longer entertained the
slightest doubt as to the propriety of having consented to accept the
earl. On the contrary, I was strongly determined to fulfill my
promise, and to remove myself forever from the tyranny of Belle’s
reproaches and airs of superiority. Very much to my own surprise,
too, I felt very indignant at the slights cast upon the earl, and found
my heart warm considerably toward him. For, when I came to think
of it, he had always treated me kindly, and even when I thought he
was deliberately insulting me, he must really have meant what he
said. That his taste was peculiar, to say the least, was patent even to
myself, but that was all the more reason for gratitude and love on
my part.
Gratitude? Yes, that was undoubted. Love? Why not? Surely it is
not so very hard for the one to engender the other.
Presently Lady Elizabeth came to my door and asked my
permission to enter. This was readily given, though I already felt
very much overwrought, and dreaded the coming interview. But I
need not have been uneasy about that; for, as usual, my good
stepmother had only my welfare at heart.
“I am afraid Belle has been giving you an uncomfortable time of
it,” she said, drawing a chair toward me and kissing me
affectionately. “She is fuming in the drawing-room, and has sent for
Cyril to consult with him as to what is best to be done in this
remarkable crisis.”
“And you?” I asked beseechingly. “Do you think I have been a
scheming, wicked girl, and that I have done wrong in accepting the
earl?”
“Certainly not, my child. I have known for some time that my
father wished to make you his wife. Indeed, he consulted me as to
the wisdom of doing so, and I gave my unqualified approval to his
project. Seeing that he had set his heart on having a young wife, I
preferred to see you in that capacity rather than any one else. But I
hope that you are fully alive to the duties that will be expected of
you.”
“Indeed yes,” I answered soberly. “I mean to do all in my power to
make the earl happy.”
“That is right. If you think only of promoting his happiness, your
own will come, as a matter of course. But tell me, have you any idea
that the ceremony is expected to take place almost immediately?”
“Oh no! how can it? I am too young yet to marry.”
“My dear, in a case like this the bride’s youth counts for nothing,
and the bridegroom’s age carries all other considerations before it.
Your father also agrees that it is best to make immediate
arrangements, and there is really no reason why you should not be
married next week.”
And somehow it was all decided, almost without referring again to
me, that on the following Wednesday I should be transformed into
the Countess of Greatlands. I have no doubt that society partially
echoed Belle’s sneers and voted the earl half crazy. But if it did, its
criticisms did not trouble me, and I was supremely happy as I
reveled in the lavish preparations that were being made for the great
event. Belle’s wedding was indefinitely postponed, although it had at
first been spoken of as an almost immediate event.
So far as I could judge, Lord Egreville was as bitterly opposed to
the earl’s wedding as Belle was. He was just distantly civil to me,
and I took no trouble to ingratiate myself with him. Sometimes,
when the couple sat whispering in a corner, I surprised an occasional
glance that was positively malignant in its intensity of hatred. Once
or twice I remembered my sister’s assertion that she would prevent
my marriage, and wondered vaguely if she were really hatching
some plot against me. Then a certainty that it was out of her power
to harm me consoled me once more, and I pursued the happy tenor
of my way, all my time occupied either by the earl’s visits or by my
initiation into further gayeties of attire.
The wedding itself was to be a very quiet affair, and as soon as it
was over my husband was going to take me into Derbyshire for a
week. Then we were to go to the castle, which was being rapidly
prepared for my reception.
And so the time flew on, until Tuesday came round once more. To-
morrow was to be my wedding day.
To-morrow! Oh, that dreadful to-morrow! Shall I ever forget it as
long as I live?
CHAPTER IV.
“There will be no wedding to-day.”

That night I went to bed hoping to the last that Belle would relent
and say a kindly word to me. For after all, she was the only sister I
had, and I would have been thankful to have been reconciled with
her. But she was as implacable as ever, and never uttered one kindly
word to me amid all the congratulations of others; although Lady
Elizabeth had, I know, remonstrated with her on her unsisterly
behavior. My father did not care to interfere in the matter, especially
as his sympathies were all in favor of his eldest daughter.
I was up betimes, for we were to be at the church at ten o’clock. I
had been sorely exercised about the choice of a wedding dress, as I
feared that white would make me look more hideous than usual. But
Lady Elizabeth had persuaded me to have a creamy satin, and,
somehow, as I surveyed myself in the glass, I was not quite so
dissatisfied with the result as I had expected to be. The freckles had
found the London atmosphere uncongenial, and had departed, I
fervently hoped forever. My complexion too had changed from a
muddy hue to a clear dark olive which, though far from being
satisfactory, was a considerable improvement on its former
condition. My hair, thanks to the skillful treatment of Lady Elizabeth’s
maid, had grown much thicker, and looked rather nice than
otherwise.
But, in spite of these improvements, I was still an ugly,
insignificant-looking slip of a girl, and I lost myself in wonderment at
the thought of such great good fortune coming to me. There were to
be no bridemaids, only a few personal friends having been invited to
church, though there was to be a reception at the house afterward.
Belle had at first declared her intention of refusing to accompany us
to church. But perhaps the thought that she would, by holding
herself aloof, betray to the world at large how deeply chagrined she
was, induced her to alter her mind.
Still, when I saw her in the hall, just before we started, I could not
account for her unusual appearance. She was positively livid, and
shook every now and then in the strangest manner. Both my father
and Lady Elizabeth conceived the idea that she must be ill, but she
assured them that there was nothing the matter with her.
“But of course one feels a little excited at seeing one’s sister so
suddenly raised to splendor,” she said, with a side glance at me
which displayed so curious a mixture of fear and hatred that I lost all
my good spirits, and was driven to church in an unaccountable state
of nervousness and trepidation, which was increased when I saw
that the bridegroom and Lord Egreville, who was to officiate as best
man, were not here first, according to arrangement.
“I am surprised they are not here yet,” whispered Lady Elizabeth.
“Never mind, dear, they are sure to come soon.”
So I thought, too. But for the life of me I could not hinder the
tears which came to ease my head and my heart, both of which
were in a state of painful tension. By-and-by, I looked up to see
Belle’s eyes fixed upon me once more. But what had wrought a
change in her again? Her expression was no longer one of fear, but
of victory. The hatred was there yet, and that did not surprise me.
But how to account for the unmistakable triumph which I had seen
manifest itself on her face for a moment?
Like a flash her words recurred to me: “I tell you, it shall not be! I
will not have it! Sooner than endure such a humiliation I would—”
Ah! what would she do? What had she done? I asked myself
anxiously. Something decisive. Something disastrous to me, I knew,
or her face would not have worn that momentary impress of a
purpose accomplished. Somehow, through all the weary waiting that
followed, my powers of observation and deduction seemed strung to
their highest pitch. I noticed that as the moments dragged on
without bringing the two gentlemen, Lady Elizabeth and my father
grew momentarily more anxious. And I also noticed that Belle no
longer looked expectantly toward the door, as every one else kept
doing, but that she bore all the appearance of one whose desires
were accomplished.
At last, unable to bear the suspense any longer, my father rose
from his seat, and, whispering to Lady Elizabeth that he was going
to the earl’s temporary town residence, to ascertain the cause of the
strange delay, he left the church without further preamble, my
acutely attuned ears shortly afterward hearing the rattling of his cab-
wheels down the street.
Lady Elizabeth, who sat next to me, put a caressing hand upon my
own, and whispered: “Do not look so frightened, child. I do not
suppose they will be long in coming now.”
“They will never come!” was my reply, intended only for my
comforter’s ears. “They will never come! Something dreadful has
happened, and Belle knows it. See how calm and self-satisfied she is
now. Remember the state she was in before she came. She vowed
that my marriage should not take place. She has made her vow
come true!”
Lady Elizabeth cast a startled glance at Belle, but had no time to
comment upon my words, for at this moment we heard an excited
hubbub near the door, and Marvel, the earl’s valet, came down the
aisle with a face which advertised bad news.
“Will your ladyship please leave the church as quickly as you can?”
he said to my stepmother. “And take the bride with you. There will
be no wedding to-day.”
“For God’s sake, tell me what is the matter!” she exclaimed.
“Something dreadful has happened to my father!”
“An accident has occurred to him,” said Marvel, with an attempt to
speak as if it were nothing serious. But his voice broke in the
endeavor, and he sobbed forth: “Oh, my poor master! it is too
dreadful!”
“What is the matter with him?” cried Lady Elizabeth, fairly shaking
the man in the intensity of her excitement and dread. “Tell me at
once.”
When I heard Marvel’s reply, I neither shrieked nor fainted. For I
had felt sure that he would say what he did.
“He is dead!” he said, and my eyes, flaming and accusing now, at
once sought Belle’s, flashing my conviction of her guilt in her face.
Under that glance she reeled as if from a blow.
I hardly know what else happened that morning. I went home as
in a dream, feeling somehow more sorry for Lady Elizabeth than for
myself, and wondering if they would hang Belle when it was
discovered that she had murdered the earl; for my mind refused to
disabuse itself of a conviction of her guilt, although reason pointed
to the conclusion that it was impossible for her to have injured the
earl, seeing that she had not seen him, or spoken to him, for twenty
hours.
The wedding guests returned to their own homes, there to discuss
the sensational interruption to what some of them had voted the
most sensational wedding of the season. My father reached home
soon after we did, and confirmed Marvel’s story in every detail. The
Earl of Greatlands had been found by Marvel, who had grown
alarmed when he did not rise at eight o’clock, lying in ghastly rigidity
in the bed which he had sought some hours earlier in apparently
unusually buoyant health and spirits. A glance convinced Marvel that
life was quite extinct, and a moment later he was rousing the
household with shouts and cries. Of course everybody came rushing
up to the earl’s room. And of course several doctors were summoned
at once. But it was only too patent from the very first that there was
no hope, and though there was much loud lamentation on the part
of the servants, and quite a touching display of sorrow on the part of
Lord Egreville, or, rather, the new Earl of Greatlands, it was not of
the slightest avail, and the fiat speedily went forth to the world that
Lionel, ninth Earl of Greatlands, being in an unusually excited state,
owing to his prospective marriage, had succumbed to unsuspected
heart disease.
Nearly all the world accepted this explanation of the tragic event
which had, at one blow, deprived me of husband, wealth, title,
position and influence, and had converted Lord Egreville into the
peer he longed to be.
But not for one moment did I believe that the doctors had given
anything like a true diagnosis of the cause of the late earl’s death.
There is a fashion in everything, even in matters of life and death,
and nowadays it seems to be an epidemical fashion with medical
men to ascribe every sudden death of which they do not understand
the cause to unsuspected heart disease. The explanation is
plausible, and, in all likelihood, more often than not correct,
although there is a strong element of guess-work about it. Post
mortem examinations are horrible and unpleasant contingencies to
contemplate, and the feelings of relatives and friends are apt to be
cruelly wounded by the bare mention of such a dernier resort.
Of course it would have been extremely painful for all parties
concerned if an inquest over the remains of the Earl of Greatlands
had been suggested; but I never doubted for one instant that such a
course would have resulted in the discovery of foul play, such as only
I—and one other, as subsequent events proved—suspected.
Suspected! do I say? It was no mere suspicion with me. It was a
firm and rooted conviction, that nothing but absolute proof to the
contrary could ever dispel. And that proof, since no one broached
the advisability of an inquest, was not likely to be afforded me. No
doubt there was considerable marvel in some people’s minds
concerning my manner of bearing the sudden reverse of fortune
which had befallen me, but their opinion troubled me little, and it
was not likely that I would occupy the minds of sensation-mongers
long after I had been relegated to my former status of insignificant
obscurity. Tears did not often come to relieve the aching weight
which oppressed me, as I pondered in what perhaps struck those
who were unable to gauge my real feelings as a hard and defiant
mood.
How could they tell, however, that the grief I felt for the loss of
the man who had loved me outweighed my regret for my lost
glories, since I let very few words of sorrow escape me? Indeed, I
dared not indulge in comments with any one, for I feared lest the
horror and loathing which I now felt for my sister and her fiancé
should break the bounds in which I had resolved for the time being
to entrammel them, and overflow in a torrent of bitter denunciation
and invective. I should imagine that there are few girls of stronger
passions for love or for hatred than myself, and I sometimes caught
myself wondering how I managed to refrain from publicly
denouncing those whom I firmly believed to be the deliberate
murderers of my dear old earl; for I hated them with a hatred that
was consuming in its wild intensity. Yes, my hatred was of fearful
force. But I was swayed by an even stronger passion, which held it
at bay.
This was my love for Lady Elizabeth, the first being who, since my
mother died, had opened her heart to me, and who was now
prostrated by a nervous attack, due to grief at the loss of her father,
between whom and herself the strongest sympathy had always
existed. She had of late admitted me largely into her confidence,
and I had gained so much knowledge of her nature that I knew
what a bitter blow such family disgrace would be to her as would
overtake us all were my convictions shared by others. For my
father’s sake I would not have repressed my wild longing for
vengeance. For Lady Elizabeth’s sake I could have submitted to
make an even greater sacrifice.
But even my great love for her could not induce me to hold
friendly intercourse with Belle, or to withhold the fierce glances of
accusation under which the new Earl of Greatlands writhed in
impotent rage. He saw that I suspected evil-doing of some sort on
his part, and he resented my glances at first by frowns of defiance.
But somehow, when I continued to maintain steadfastly the
antagonistic attitude I had assumed, he grew manifestly uneasy, and
even went so far as to presume to address words of sympathy to
me, which implied that he imagined me to cherish animosity against
him merely because he was occupying the place of the man who
was to have been my husband, and suggested that he hoped I
would no longer hold aloof from him and Belle as if I thought they
had done me an injury.
To this misjudged attempt to induce me to bury the hatchet I
vouchsafed no response but a cold stare of contempt and a curl of
the lip which spoke volumes. Indeed, so potent was this mute
answer of mine that the earl almost ceased to visit our house, and
my father was informed by Belle that my violence and ill manners
had succeeded in depriving her to a great extent of her lover’s
society.
“Dora,” said my affectionate parent to me one morning after
breakfast, “I am sorry to observe that you have lapsed into your
former ill-conditioned state of selfish ill-breeding. I have made all
due allowance for the disappointment you must have felt at being
prevented from becoming the great lady you expected to be. But I
have noticed with growing displeasure that you are venting your
spleen in an unjustifiable manner upon Belle. Certainly, she is going
to occupy the position you thought would be yours, but she is doing
you no personal injury thereby, for your chances are irrevocably
gone, and she was engaged to the present Earl of Greatlands before
the marriage between yourself and his father was arranged. It is
therefore abominable that you should try to make her life miserable
by driving her lover from the house, and doing your best to produce
an estrangement between them; and if you continue your present
behavior, I shall insist upon your going to live at the Grange until we
are ready to leave London.”
Lady Elizabeth was too ill to come downstairs, and was, therefore,
not present during this harangue. Otherwise it would probably not
have been made; for, even in things that wholly and solely
concerned me, my father was wont to show that consideration for
his wife, who loved me, that he would never have displayed toward
me for my own sake, and he treated me with tolerable politeness
when in her presence. But when she was not there, he showed the
same unbounded partiality for Belle and the same lack of sympathy
for me which had always distinguished our intercourse in the past;
and it is not surprising that my lately acquired self-reliance prompted
me to retort that I was best aware of the motives of my conduct,
and that Belle was not likely to lose her lover through me, since their
destiny would henceforth be ruled by the promptings of an evil
conscience.
“You miserable little wretch!” exclaimed my father. “How dare you
speak to me in that tone? And how dare you cast innuendoes
against Belle and Cyril which virtually amount to an accusation?”
“An accusation of what, sir?” I asked, with a calm deliberateness
which surprised even myself, and caused my father to stagger as if
he had received a blow. And, indeed, he had received such a blow
as is to be hoped falls to the lot of few fathers. For my looks and
manner, more than my words, had struck him with the sudden
conviction that his favorite child was suspected of having at least
been accessory to a mortal crime. That the suspicion emanated from
the brain of another of his children mattered little to him, for he
already disliked me too intensely to feel any heart-pangs on my
account. It was quite sufficient, however, to cause him to cast aside
the last shred of conventionality as regarded his treatment of myself.
What transpired during the next five minutes I prefer not to relate.
There are events in the lifetime of most people which possess either
too sacred or too painful an interest for discussion with others. The
memory of my last interview with my father awakes in me no
emotion but that of resentment at the constant injustice with which
he had always treated me, and which culminated on this occasion in
my expulsion from his house.
Perhaps he thought that I would not take him at his word, and
that at the end of the hour which he had named as the limit of time
he would allow me in which to pack up my belongings and rid my
family of my presence, I would weepingly sue for mercy and promise
to be polite and conciliatory to Belle and the Earl of Greatlands. The
mere supposition that I, whose passions were of the strongest, could
thus do violence to my feelings, and acknowledge the superiority of
two people whom I hated and despised with all my heart, for the
sake of retaining a home in which I could never hope to be happy
again, still serves to excite my indignation and to provoke me to a
feeling of resentment which I would fain repudiate in my calmer
moments.
For, after all, my father, poor man, was blinded by his partiality for
Belle; and although he fully grasped the deadly import of my
unspoken suspicions, he never for a moment doubted his beautiful
darling’s goodness, but accepted my attitude merely as a convincing
proof of the monstrosity of nature of one to whom had been denied
that outward fairness which in his eyes was equal to the strongest
proof of inward purity. Thus I sometimes reason, in attempted
palliation of his harshness to me. But, somehow, my reasoning has
an awkward knack of doubling upon itself and transforming my
would-be kindlier leanings into the old imbittered resentment.
My preparations for departure were soon made, although as yet
my brain was in too great a turmoil to permit me to make a definite
plan for my future guidance. I must remove myself and my
belongings quickly. And I must take my leave of Lady Elizabeth
without permitting her to be pained by a knowledge of the
permanent nature of the estrangement between myself and my
family. The latter was a difficult feat for me to perform. But I
succeeded in going through the interview in a manner which it
pleased me to recall during my subsequent sufferings; for my dear
stepmother was spared the pain which would have been hers, if she
had realized the anguish of mind which my love for her caused me
to hide.
I found her in her dressing-room, reclining on a couch which was
drawn up to the fire, the day being somewhat chilly for the time of
year. I noted with a sudden foreboding dread the change which the
last few weeks had wrought in Lady Elizabeth’s appearance. She was
paler, thinner, and altogether much more fragile-looking than when,
so short a time ago, she had assisted me to select the trousseau for
my own marriage with her father. There was, however, a light in her
eyes which had, until lately, been a stranger to them, and which had
caused me considerable uneasiness. For it gave me the impression
that it had its origin in a feeling deeper even than the grief which an
affectionate daughter would naturally feel at the loss of a beloved
parent.
Could it be that—oh, no! perish the thought! Why should she be
tortured by such suspicions as had fixed their scorpion-fangs in my
brain? She could scarcely be so fully convinced of Belle’s capacity for
evil as I was, since she had never known her until the glamour of
her artfulness and beauty was such as to cause nearly every one
who knew her to take a fancy to her. Nor had she such deep reason
to distrust one of her own mother’s children as was the case with
me. Some hidden sorrow was sapping her life’s strength. But I
fervently and sincerely prayed that it might not be the hideous
phantom of suspicion which was bidding fair to wreck my own life.
“I have come to say good-by for a time,” I said, speaking with
wonderful quietness for one whose brain was in a whirl of stormy
emotion. “As you know, things are not as pleasant as they might be
between Belle and myself, and father and I have agreed that it will
be best for me to return to the Grange for a while. The change will
do me good, but I shall be grieved to part from you.”
“But, my dear, we are all going to the Grange shortly,” said Lady
Elizabeth, casting upon me a look of anxious scrutiny. “Come here.
Kneel beside me, and tell me all about this sudden arrangement.
Have Belle and you been quarreling?”
“Belle and I have not been quarreling,” I answered, as I dropped
on my knees beside the only woman in the world who loved me, and
stroked her white hand between my much less shapely ones. “But
you may have noticed that, whether rightly or wrongly, I cannot feel
happy in her presence. The earl, your brother, too, seems to be kept
away from the house through the antagonism which he and I feel
for each other. I feel as if it were wicked to dislike any one nearly
related to you. But, indeed, I cannot help it. So you must forgive
me, and let me go from you now with nothing but the kindest and
most loving words from you; for, believe me, I am more sorely in
need of your sympathy than ever I was, and could not bear to think
of an estrangement between you and me.”
“Dorrie, I have learned to love you, and I know that you are not
likely to form violent antipathies without a cause. I also feel
convinced that your treatment of—of—my brother is dictated by the
strongest feeling on your part. The nature of that feeling must
remain unknown to me, for I dread confirmation of certain thoughts
which fill my days and nights with terror. Even should you prove to
be actually unjust to my brother, it will make no difference between
us. But, if you are really leaving town before the rest of us do, you
must promise me one thing.”
“I will promise anything to you.”
“I know your willingness to serve me, and I think I can gauge
your love for me, but I am about to exact a great proof of both.
Listen. All my life I have yielded to the dictates of family pride. I
have been proud of my ancient lineage and unsullied family
escutcheon; so proud, indeed, that I did not hesitate to ally myself
with one who had once been one of the humblest sons of the
people. I never dreamed of the possibility of my being lowered to his
family level by marrying him, but was sure that the prestige of my
own connections would over-shadow the possible vulgarity of his
antecedents. In marrying a wealthy commoner, of whose personal
worthiness I felt thoroughly convinced, I hoped to be able to assist
my family to a financial position more commensurate with their
social status than the aristocratic impecuniosity which had been our
lot for many years, owing to the extravagance of my grandfather,
who had mortgaged the greater part of the estate. My expectations
were fully justified. My husband was kind and generous, and
whatever my original feelings toward him may have been, I can
truthfully say that his upright nature won my complete loyalty and
respect. I was certainly disappointed to find myself comparatively
poor after his death. But I have had time to think the matter over
since then, and believe that the people to whom he left the bulk of
his money must have needed it more than I did. I see that you
wonder why I am telling you all this. I assure you I have a strong
enough motive, for I want you to realize that I would sacrifice
everything to the honor of my family—love, happiness, even life
itself. This being the case, can you picture how terrible it would be
to me to see even the shadow of public disgrace fall upon our name?
That you have ample provocation for a certain course of conduct
which would materially affect the interests of my brother, and of
your sister, I know. I also know that you return the love I bear you.
Let that love outweigh the resentment you feel at the conduct of
others. If you are not inclined to spare them, for God’s sake spare
me the anguish which a disclosure of your—of your suspicions would
cause me! You are leaving us for a time. I implore you to have
mercy upon an ancient name.”
By the time Lady Elizabeth had got thus far, she was sobbing in
uncontrollable excitement, and clung to me with convulsive
apprehension. As for me, I was filled with grief at this disclosure of
the suffering which my dear one was undergoing. I could no longer
doubt that she shared all my own painful suspicions, and that to her
distressed state of mind her recent physical prostration was
attributable. And I was stabbed by the remorseful thought that I had
been the one to originate the dread suspicions which were doing so
much mischief. Was it too late to undo the mischief? Could I hope to
remove the terrible burden of dread which oppressed Lady
Elizabeth? It was doubtful. But there was too much at stake to
warrant hesitation on my part, and my course of conduct was
instantaneously mapped out.
“Mother,” I said, as quietly as my emotion would permit, “I cannot
pretend not to understand the meaning of what you have just said.
But, oh! my dear, how could you think I meant all that I implied to
you on that terrible morning, when I was beside myself with anxiety
and grief? Put away such thoughts from your mind. It is the
misfortune, not the fault, of Cyril and Belle, that all the
circumstances attending recent events have seemed as if specially
guided for their interests. But if even I, who am so great a loser by
their advancement, can say that my first suspicions were
unjustifiable and wicked, surely you can no longer think them
capable of a crime too atrocious for even ready-dyed criminals to
think of.”
Lady Elizabeth suddenly raised her head and literally gasped with
mingled relief and amazement.
“Is it possible,” she cried, “that I have been tormenting myself
needlessly? That I have foully wronged Cyril and Belle? That I have
mistaken your dislike to them for a stronger sentiment—that of a
thirst for justifiable revenge for a deadly injury?”
“Quite possible. Think. Our dear old earl could not have been
expected to live very much longer. He was happy. So happy, that he
was naturally excited. Excitement is not good for weakly old people,
and the skillful doctors who were summoned were sure to be able to
judge of the real cause of death. You cannot tell how much I regret
having given audible expression to a cruel suspicion. But you can do
as I have done—and repudiate it.”
“Do you repudiate it?”
“Most certainly I do.”
“Thank God for that! You have lifted a nightmare from my mind.
Do you know that the promise I wished to exact from you was that
you would at least spare me the suffering which a denunciation of
my brother Cyril would cause me?”
“A denunciation! Ah, well—I don’t like him. I never shall like him.
But as there is nothing to denounce, I can safely promise you, nay,
swear to you, that never, so long as you live, will I, by word or deed,
do aught that can injure any member of your family or in any way
jeopardize its good name.”
“You swear this?”
“I swear it!”
“You have given me a new lease of life, my darling, and by the
time we join you at the Grange you will see me almost as vigorous
as ever.”
“I hope so. But I must be off now, or I shall not be ready when
the cab comes round for me. Good-by.”
“Good-by, my dear. I hope the change will do you good. You too
have been drooping lately.”
“I suppose I have. But country air will work wonders, eh?”
Another minute, and I had hurried out of Lady Elizabeth’s room,
with breaking heart and whirling brain. Should I ever see her again?
To what had I pledged myself? I had, for her sake, forsworn all my
dreams of punishing those whom I firmly believed to be the
murderers of the Earl of Greatlands. Certainly, I had never intended
to invoke the vengeance of the law upon them, for I also had some
regard to the maintenance of the esteem in which the two families
were held by the world at large. But I had meant to elucidate, by
some means, the extent of their culpability, and to show them up to
their relatives in all their hideous criminality, leaving them to
continue their career stripped of the misplaced love and confidence
that had hitherto been so charily bestowed upon me.
Surely this was but a feeble ideal of the punishment due to a great
crime which had deprived me of everything that made my life worth
living. But I was now bereft of even this small satisfaction, for I had,
for the sake of Lady Elizabeth, pledged myself to do nothing that
would reflect discredit upon her family. I had even gone so far as to
repudiate all my suspicions, and so long as she lived I must do
nothing to re-awaken the terrors which had been tormenting her of
late.
Does any one doubt that I found this sacrifice of my personal
inclinations very hard to bear? or that it was not a real sacrifice to
leave my enemies to gloat unrestrainedly at the success of their evil
plotting? Or do they imagine that the feelings I harbored were
unjustifiable? If so, let them imagine themselves in my position. Let
them picture all that I had lost and suffered, and contrast my lot
with what would have been my condition had the earl’s life not
terminated when it did. True, I had as yet not the slightest practical
evidence to support my opinion of the culpability of the new earl and
his fiancée; but as my personal conviction never admitted the
slightest doubt on that score, I found its virtual abandonment all the
harder to bear, though nothing would now make me disregard Lady
Elizabeth’s wishes. And this I mention, not for the sake of
demonstrating my powers of self-sacrifice, but to show how
gratefully I reciprocated the kindness of my stepmother, and to show
how my heart hungered for love, since the lavishment of a little of it
upon me had power to arouse in me a feeling so passionate as to be
almost akin to worship.
And now I was about to leave, probably forever, the one being
who cared for me. Small wonder that the hard feelings which had
hitherto enabled me to keep my composure should break down, and
that the quick tears of utter lonesomeness should chase each other
down my pale cheeks as I hurriedly gathered my belongings
together, and began to pack them in the substantial trunks which
had been provided by Lady Elizabeth to hold the trousseau with
which her loving liberality had provided me.
“Excuse me, Miss Dora, but my lady has sent me to see if I can be
of any use to you. You are packing everything up? Then pray let me
do it for you.”
I looked up through my tears, and saw Agnes, my stepmother’s
maid, standing ready to relieve me of my task. She was in such
evident sympathy with me that at sight of her kindly face my last
shred of composure left me, and I wept in such an abandonment of
grief as only a feeling of utter desolation can produce. Agnes was
frightened at the violence of my emotion and did her best to console
me. But I presently became calmer, and thanking her for the trouble
she was taking, gladly availed myself of her help in packing my
boxes. I felt no hesitation in taking everything that belonged to me,
for all I had worth having was due to the generosity of Lady
Elizabeth or of her father. To my own father I owed nothing of which
I was now possessed, the last item of the unbecoming garments
which he had so grudgingly bestowed upon me having disappeared
long ago.
In another half an hour I was ready to go, and a few moments
later the cab for which I had sent was at the door. As I stepped into
it I glanced at the upper windows of the house which was no longer
a home for me. I saw Lady Elizabeth, who had come to her window
to wave me a smiling good-by. Evidently no one had yet told her
that I was permanently banished from my father’s house. I smiled
and kissed my hand to her, resolved that her last glimpse of me
should be as pleasant as possible. Then my eyes sought the level of
the drawing-room windows, to see—what? My sister standing there
by the side of the Earl of Greatlands, both of them displaying the
greatest delight at my departure, and both of them casting
contemptuous glances of triumph on a poor, homeless girl whose
presence near them was a continual reproach.
But their malevolence did not get all the satisfaction it sought, for
my glance wandered swiftly upward again, and rested on my
stepmother’s smiling face, until I was driven out of sight altogether,
with such apparent unconsciousness of their presence that they
could not know I had seen them. And thus I entered upon the battle
of life on my own account.
CHAPTER V.
“A maiden’s fancies.”

In spite of the turmoil of mind under which I had labored since my


interview with my father, I had already formed somewhat definite
plans for my future.
I had made all my arrangements as if I were really going to the
Grange, and had had my boxes labeled accordingly. Thus Lady
Elizabeth had not alarmed herself about me, knowing that my
comfort would be looked after at the Grange. My father, if he had
taken the trouble to make any inquiries about me, would also think
he knew whither I was bound; and, even if visited by a faint feeling
of compunction on my behalf, would consider that I was as well off
in one place as in another.
But since he had ordered me from his house, I meant to take him
literally at his word, and had resolved never to cast my shadow
within any threshold of his again. I was but ill equipped for earning
my livelihood, but I had a certain determination of purpose at whose
bidding I was prepared to cast aside all false pride, such as might
possibly throw obstacles in the way of my progress. Thus I realized
that it might become necessary for me to adopt a means of living
perfectly honest and honorable in itself, but which had hitherto never
entered into the calculations of a Courtney.
Circumstances had precluded my having many friends to whom I
could turn in my present need. But I felt that I could rely upon the
vicar of Moorbye and his kindly wife. Both the Rev. Horace Garth and
Mrs. Garth had always shown some interest in me and in my doings,
and they were among the few people who seemed to be
uninfluenced by the physical disadvantages which were such a sore
source of trouble to me. It was to the Moorbye vicarage, therefore,
that I resorted for aid and counsel in this my great extremity. I felt
some trepidation as I was swiftly whirled along in the second-class
compartment, for which a sense of the necessity of economizing the
money I had at my disposal had induced me to take a ticket. As to
what kind of traveling companions I had, it is impossible for me to
say, for I was too much engrossed with my troubles to take notice of
my surroundings.
“Will the Garths welcome me, and do their best for me; or will,
they consider me to blame, and wash their hands of me?”
This was the question that was uppermost in my mind, and I
could scarcely refrain from putting it into so many words, when, on
alighting at Moorbye Station, whom should I see but the vicar
himself welcoming two ladies who had evidently traveled from town
by the same train which had conveyed myself.
Leaving the porter, who gave me a respectful recognition, to see
after my luggage for the present, I hurried up to the vicar and
accosted him.
“Mr. Garth, can you give me a moment’s private conversation? If
these ladies will kindly excuse you, I will not keep you long.”
“Why, Dorrie! What brings you here just now?” Mr. Garth
exclaimed, as he, fortified by the permission of his friends, walked
along the platform with me. “And how do you happen to be traveling
alone?”
“My father has turned me out of his house. Until I can find some
means of earning my living, I have no one to whom I can go for
counsel but yourself. I hoped to have been able to stay with you to-
night, but I see you already have visitors.”
“Tut, tut, child! As if that mattered. You would always be welcome.
Now, not a word of all this until we can talk the matter over later on.
Meanwhile, come and be introduced to my friends.—Oh, I say,
Thompson, see that Miss Courtney’s luggage is sent up to the
vicarage with the rest.—Ah, here we are! Mrs. Marshall, I am glad to
introduce to your notice Miss Dora Courtney, who has kindly come to
cheer her old friends up a bit. Miss May, you will be pleased to have
a clever companion of your own age while you are down here.
Dorrie, these are old friends and near relatives of ours, Mrs. Frank
Marshall and Miss May Morris.”
What wonderful power there is in generous good nature combined
with tact! Five minutes before I reached Moorbye Station I was
among the most miserable upon earth, wondering whether even a
civil welcome awaited me. Five minutes after my arrival I was being
bowled toward the vicarage in Mrs. Garth’s funny little governess car,
and was laughing merrily with the others at the small space at our
individual disposal.
“My dear, I have an unexpected pleasure in store for you. Here are
our cousins, and here is Dora Courtney, also come to favor us with a
visit.”
Thus said the vicar, on our arrival at his home. There was a warm
welcome from Mrs. Garth, supplemented by a somewhat boisterous
one from Master Vincent Garth, who betrayed great curiosity
concerning my outward appearance.
“Do come right into the middle of the hall, just for one minute,” he
demanded, “while we have a real good look at you.”
Quite unconscious of the purport of his impetuosity, I laughingly
obeyed him, the rest meanwhile standing by in indulgent
amusement. For some seconds the child looked at me gravely. Then
his face became quickly clouded with disappointment, and,
considerably to the surprise of us all, he burst into loud
lamentations, of which it was some time before we could gather the
meaning.
“We don’t like her any better,” he sobbed. “Susie said Miss Dora
was to be a grand countess, and we’ve looked at her, and she isn’t
turned grand. She’s just ugly.”
I believe Mrs. Garth hoped and fancied that I had not been able to
understand Vinnie’s comments. But I had not found it very difficult
to do so, and felt quite as much hurt as if this little stab to my vanity
had proceeded from a responsible individual, instead of from an
impulsive child, though I strove to hide my humiliated feelings as
much as possible.
“What a horrid child,” whispered Miss Morris, as we passed up the
fine old staircase, in the wake of our hostess, on the way to the
rooms allotted to us. “He ought to be whipped for insulting any one
like that.”
For a moment I was tempted to second her remark. Then my
better nature prevailed, as I remembered how frank and generous
Vinnie really was.
“I do not blame him,” I answered, somewhat soberly, it must be
confessed. “Vinnie was only giving way to a natural disappointment,
and did not dream of hurting my feelings, I am sure.”
“Now look at the accommodation I have for you, and tell me if you
think it will do,” called out Mrs. Garth’s rich voice from a room which
she and Mrs. Marshall had just entered. “I have only two spare
bedrooms, which open out of this dressing-room,” she continued. “I
had intended the large room for Madge, and the small one for May,
but I am afraid I must ask two of you to use one bedroom jointly.”
“Oh, how delightful!” exclaimed May, who was evidently a very
impulsive young lady. “Madge can have the small room, and Dora
and I will sleep in the other. I may call you Dora, mayn’t I? I hate
ceremony, and, do you know, I have taken quite a fancy to you.”
Of course all Miss May’s propositions were cheerfully acquiesced
in, and we were all three soon occupied in unpacking our dinner-
gowns. In the dressing-room a cozy little fire shed its comforting
rays upon the pretty furniture and draperies, and gave an aspect of
cheerfulness to the place which was by no means reflected in my
own heart, though I strove to banish all outward semblance of
dejection.
“Fancy a fire in June!” laughed May, as she insisted I should at
once call her. “It strikes a Londoner as rather odd; but, do you know,
I’m not at all sure that it isn’t quite cool down here. I gather that
you are a native of these parts, Dora. Is it a usual thing to need fires
in summer?”
“At the Grange,” I replied, as I fastened the dinner-dress which I
would rather have been excused from wearing this evening, as I was
both tired and overwrought, and would gladly have gone to bed, “at
the Grange we seem to need fires all the year round in some of the
rooms. Some parts of the neighborhood are inclined to be rather
marshy and damp, and as coals are cheap about here, nearly
everybody keeps the chills off in the only possible way.”
“Good gracious! I hope it isn’t a fever-and-ague sort of a
neighborhood! What shall we do if it is? We are invited down here
for a month, but if there is any danger in that direction, I shall
betake myself off again. Fancy jerking your limbs first in one
direction and then in another, and pulling grimaces at people just at
the very moment when you want to be most polite! It’s too awful to
think about, and I dare not risk it.”
“Why, you goose,” exclaimed Mrs. Marshall, “you are mixing up
fever-and-ague with an entirely different complaint, called St. Vitus’s
Dance. It is a nervous affection, not likely to be brought on by a
chill.”
“And,” I added, “I don’t think you need alarm yourself about fever-
and-ague, either. None of the Garth household have ever been
troubled with it, and we have always enjoyed the same immunity at
the Grange.”
“The Grange. That’s where you live, isn’t it?” inquired May. “It
sounds quite old-worldish and jolly. I can fancy all sorts of spirits and
hobgoblins disporting in its interminable corridors and secret
chambers. What is the ghost like? Is it a woman dressed in gray silk,
and with a heartbroken look on a beautiful face? And does she wring
her hands, and cry, ‘Woe is me!’ Or is it a man, looking fierce and
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookbell.com

You might also like