0% found this document useful (0 votes)
84 views69 pages

Teach Your Kids To Code A Parent Friendly Guide To Python Programming 1st Edition Bryson Payne Download

Teach Your Kids to Code is a comprehensive guide for parents and teachers to introduce children to programming using Python. The book provides step-by-step explanations, engaging examples, and exercises to help kids learn fundamental programming concepts while creating fun games and applications. Authored by Dr. Bryson Payne, it aims to promote technology education and enhance children's problem-solving skills.

Uploaded by

slothflohr2r
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)
84 views69 pages

Teach Your Kids To Code A Parent Friendly Guide To Python Programming 1st Edition Bryson Payne Download

Teach Your Kids to Code is a comprehensive guide for parents and teachers to introduce children to programming using Python. The book provides step-by-step explanations, engaging examples, and exercises to help kids learn fundamental programming concepts while creating fun games and applications. Authored by Dr. Bryson Payne, it aims to promote technology education and enhance children's problem-solving skills.

Uploaded by

slothflohr2r
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/ 69

Teach Your Kids to Code A Parent Friendly Guide

to Python Programming 1st Edition Bryson Payne


download

https://textbookfull.com/product/teach-your-kids-to-code-a-
parent-friendly-guide-to-python-programming-1st-edition-bryson-
payne/

Download more ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Python for kids a playful introduction to programming


1st Edition Briggs

https://textbookfull.com/product/python-for-kids-a-playful-
introduction-to-programming-1st-edition-briggs/

Learn Python Programming A beginner s guide to learning


the fundamentals of Python language to write efficient
high quality code Romano

https://textbookfull.com/product/learn-python-programming-a-
beginner-s-guide-to-learning-the-fundamentals-of-python-language-
to-write-efficient-high-quality-code-romano/

Go H*ck Yourself: A Simple Introduction to Cyber


Attacks and Defence 1st Edition Bryson Payne

https://textbookfull.com/product/go-hck-yourself-a-simple-
introduction-to-cyber-attacks-and-defence-1st-edition-bryson-
payne/

Make Your Own Python Text Adventure: A Guide to


Learning Programming 1st Edition Phillip Johnson

https://textbookfull.com/product/make-your-own-python-text-
adventure-a-guide-to-learning-programming-1st-edition-phillip-
johnson/
Functional Python Programming: Use a functional
approach to write succinct, expressive, and efficient
Python code, 3rd Edition Lott

https://textbookfull.com/product/functional-python-programming-
use-a-functional-approach-to-write-succinct-expressive-and-
efficient-python-code-3rd-edition-lott/

Advanced Guide to Python 3 Programming Hunt

https://textbookfull.com/product/advanced-guide-to-
python-3-programming-hunt/

Python for Teenagers: Learn to Program like a


Superhero! 2nd Edition Payne

https://textbookfull.com/product/python-for-teenagers-learn-to-
program-like-a-superhero-2nd-edition-payne/

Supercharged Python Take Your Code to the Next Level


Brian Overland

https://textbookfull.com/product/supercharged-python-take-your-
code-to-the-next-level-brian-overland/

The Official ScratchJr Book Help Your Kids Learn to


Code 1st Edition Marina Umaschi Bers

https://textbookfull.com/product/the-official-scratchjr-book-
help-your-kids-learn-to-code-1st-edition-marina-umaschi-bers/
Fo r k i d s ag e d 9 + ( a n d th e i r pa r e nts)

Programming
so easy a p
Pa r e n t
T eac h
You r Kids

T
Te
can do it!

ea
ac
to
T o C ode
Teach Your Kids to Code is a parent’s  Create fun, playable games like War,

ch
and teacher’s guide to teaching kids basic Yahtzee, and Pong

h Y
programming and problem solving using  Add interactivity, animation, and sound
Python, the powerful language used in to their apps

Yo
college courses and by tech companies like
Teach Your Kids to Code is the perfect com- A Parent-friendly Guide to Python Programming
Google and IBM.

ou
panion to any introductory programming
Step-by-step explanations will have kids
class or after-school meet-up, or simply your

ur
learning computational thinking right away,
educational efforts at home. Spend some fun,
while visual and game-oriented examples Bryson Payne

r K
productive afternoons at the computer with
hold their attention. Friendly introductions
your kids—you can all learn something!
to fundamental programming concepts such

Kiid
as variables, loops, and functions will help AB O UT TH E AUTH O R
even the youngest programmers build the Dr. Bryson Payne has taught computer

ds
skills they need to make their own cool science at the University of North Georgia
games and applications.

s t
for more than 15 years. He has also taught
Whether you’ve been coding for years middle school math and programming, and
or have never programmed anything at all, continues to work with K–12 schools to

to
Teach Your Kids to Code will help you show promote technology education.

o C
your young programmer how to:
 Explore geometry by drawing colorful
shapes with Turtle graphics

Co
 Write programs to encode and decode

od
messages, play Rock-Paper-Scissors,

de
and calculate how tall someone is in
Ping-Pong balls

PAYNE e
$29.95 ($34.95 CDN)
PROGRAMMING LANGUAGES/PYTHON
SHELVE IN:

w w w.nostarch.com

T H E F I N E ST I N
G E E K E N T E RTA I N M E N T ™
Advance Praise for
Teach Your Kids to Code

“The text is clear, the graphics are engaging, and the apps are
awesome. This is the programming guide for parents and kids to
enjoy together.”
—Aaron Walker, Cybersecurity Expert, NASA

“The energy and excitement Bryson brings to teaching is captured


perfectly in Teach Your Kids to Code, with colorful, captivating
games and graphics that help develop real-world skills.”
—Bindy Auvermann, Executive Director, Next Generation Youth
Development, Inc.

“Provides the building blocks of a great future in the rapidly


changing world of technology.”
—JoAnne Taylor, former Vice President, Global
Telecommunications, IBM​

“The concepts in Teach Your Kids to Code can help any young
person enhance their college prospects and expand their career
opportunities, and Dr. Payne presents these skills through fun,
challenging games and apps.”
—Dr. Raj Sunderraman, Department Chair of Computer Science,
Georgia State University

“Every child on the planet should have this book, and so should
every parent.”
—James E. Daniel, Jr., Founder, App Studios, LLC

“An innovative, motivating guide . . . Builds skills that can last a


lifetime.”
—Dr. Steven Burrell, Vice President for Information Technology &
CIO, Georgia Southern University

“The kind of book I wish I’d had as a kid.”


—Scott Hand, Software Engineer, CareerBuilder
“Dr. Bryson Payne is a computer scientist and professor of the
highest caliber, and with Teach Your Kids to Code, he brings the
power of computers within easy reach for readers young and old.”
—Dr. Antonio Sanz Montemayor, Informatics Professor,
Universidad Rey Juan Carlos, Spain

“A brilliant combination of engaging, imaginative apps and


valuable, lifelong skills.”
—Ted Cunningham, author of The Power of Home

“Teach Your Kids to Code and the logical thinking it introduces


will help build the next generation of technology leaders.”
—N. Dean Meyer, author and executive coach

“This book can jump-start your child’s success in a high-tech


world.”
—Ken Coleman, leadership author and former radio host of
The Ken Coleman Show

“Dr. Payne set us on the path that led us to our dream jobs! With
Teach Your Kids to Code, he’s providing parents and teachers
everywhere the chance to do the same for the next generation of
creative problem-solvers.”
—Shah and Susan Rahman, Riot Games

“Bryson helps people improve their lives with technology. His book
does the same.”
—Ash Mady, Technical Manager, RedHat, Inc.

“Enjoyable and accessible to parents and children alike.”


—Steve McLeod, Deputy CIO, University of North Georgia

“Dr. Payne used robots, games, and fun programs to motivate me


in college, and Teach Your Kids to Code extends that same passion
for coding cool apps beyond the walls of the campus.”
—Bobby Brown, Lead Developer, GetUWired
Teach Your Kids to Code
Teach
You r Ki ds
to Code
A Pa r e n t- F r i e n d ly G u i d e to
Python Programming

B y B r ys o n Pay n e

San Francisco
Teach Your Kids to Code. Copyright © 2015 by Bryson Payne.

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording, or by any information storage
or retrieval system, without the prior written permission of the copyright owner and the publisher.

19 18 17 16 15    1 2 3 4 5 6 7 8 9

ISBN-10: 1-59327-614-1
ISBN-13: 978-1-59327-614-0

Publisher: William Pollock


Production Editor: Riley Hoffman
Cover Illustration: Josh Ellingson
Illustrator: Miran Lipovac�a
Developmental Editors: Tyler Ortman and Leslie Shen
Technical Reviewers: Michelle Friend and Ari Lacenski
Copyeditor: Rachel Monaghan
Compositor: Riley Hoffman
Proofreader: Paula L. Fleming
Indexer: BIM Indexing & Proofreading Services

For information on distribution, translations, or bulk sales, please contact No Starch Press, Inc. directly:
No Starch Press, Inc.
245 8th Street, San Francisco, CA 94103
phone: 415.863.9900; [email protected]
www.nostarch.com

Library of Congress Cataloging-in-Publication Data


Payne, Bryson.
Teach your kids to code : a parent-friendly guide to Python programming / by Bryson Payne. -- 1st edition.
pages cm
Includes index.
Summary: "A guide to teaching basic programming skills for parents and teachers, with step-by-step
explanations, visual examples, and exercises. Covers programming concepts including loops, lists, functions,
and variables, and how to build games and applications"-- Provided by publisher.
ISBN 978-1-59327-614-0 -- ISBN 1-59327-614-1
1. Python (Computer program language)--Study and teaching (Elementary) 2. Computer programming--Study
and teaching (Elementary) 3. Python (Computer program language)--Study and teaching (Middle school) 4.
Computer programming--Study and teaching (Middle school) I. Title.
QA76.73.P98P39 2015
005.13'3--dc23
2015006794

No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc.
Other product and company names mentioned herein may be the trademarks of their respective
owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are
using the names only in an editorial fashion and to the benefit of the trademark owner, with no inten-
tion of infringement of the trademark.

The information in this book is distributed on an “As Is” basis, without warranty. While every precau-
tion has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall
have any liability to any person or entity with respect to any loss or damage caused or alleged to be
caused directly or indirectly by the information contained in it.
To Alex and Max,
my two favorite coders
About the Author
Dr. Bryson Payne is a tenured professor of computer science at the
University of North Georgia, where he has taught aspiring coders
for more than 15 years. His students have built successful careers
at Blizzard Entertainment, Riot Games, Equifax, CareerBuilder,
and more. He was the first department head of computer science at
UNG, and he holds a PhD in computer science from Georgia State
University. In addition, he works extensively with K–12 schools to
promote technology education.
Dr. Payne has been programming for more than 30 years. The
first program he sold was to RUN magazine (Commodore 64) for
their “Magic” column in 1985, for $10.
Dr. Payne lives north of Atlanta, Georgia, with his wife, Bev,
and two sons, Alex and Max.

About the Illustrator


Miran Lipovac�a is the author of Learn You a Haskell for Great
Good!. He enjoys boxing, playing bass guitar, and, of course,
­drawing. He has a fascination with dancing skeletons and the
number 71, and when he walks through automatic doors he pre-
tends that he’s actually opening them with his mind.

About the Technical Reviewer


Ari Lacenski is a developer of Android applications and Python
software. She lives in San Francisco. She writes about Android
programming at http://gradlewhy.ghost.io/, mentors with Women
Who Code, and plays songs about space pirates on guitar.
Brief Contents

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix

Introduction: What Is Coding and Why Is It Good for Your Kids? . . . . . . . xxi

Chapter 1: Python Basics: Get to Know Your Environment . . . . . . . . . . . . . 1


Chapter 2: Turtle Graphics: Drawing with Python . . . . . . . . . . . . . . . . . . . 11
Chapter 3: Numbers and Variables: Python Does the Math . . . . . . . . . . . . 31
Chapter 4: Loops Are Fun (You Can Say That Again) . . . . . . . . . . . . . . . . . 53
Chapter 5: Conditions (What If?) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Chapter 6: Random Fun and Games: Go Ahead, Take a Chance! . . . . . . 105
Chapter 7: Functions: There’s a Name for That . . . . . . . . . . . . . . . . . . . . . 141
Chapter 8: Timers and Animation: What Would Disney Do? . . . . . . . . . . 175
Chapter 9: User Interaction: Get into the Game . . . . . . . . . . . . . . . . . . . . 207
Chapter 10: Game Programming: Coding for Fun . . . . . . . . . . . . . . . . . . . 231

Appendix A: Python Setup for Windows, Mac, and Linux . . . . . . . . . . . . 263


Appendix B: Pygame Setup for Windows, Mac, and Linux . . . . . . . . . . . 279
Appendix C: Building Your Own Modules . . . . . . . . . . . . . . . . . . . . . . . . . 289

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Contents in Detail

Acknowledgments xix

Introduction
What Is Coding and Why Is It Good for Your Kids? xxi
Why Should Kids Learn to Code? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
Coding Is Fun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
Coding Is a Valuable Job Skill . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxii
Where Can Kids Learn to Code? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
How to Use This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Explore! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
Do It Together! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
Coding = Solving Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi

1
Python Basics: Get to Know Your Environment 1
Getting Started with Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1. Download Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Install Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. Test Python with a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Writing Programs in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Running Programs in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
#1: Mad Libs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
#2: More Mad Libs! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2
Turtle Graphics: Drawing with Python 11
Our First Turtle Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
What Happens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Turtle on a Roll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Turtle Roundup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Adding a Touch of Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
A Four-Color Spiral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Changing Background Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
One Variable to Rule Them All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
#1: Changing the Number of Sides . . . . . . . . . . . . . . . . . . . . . . . . . . 27
#2: How Many Sides? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
#3: Rubber-Band Ball . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3
Numbers and Variables: Python Does the Math 31
Variables: Where We Keep Our Stuff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Numbers and Math in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Python Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Python Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Doing Math in the Python Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Syntax Errors: What Did You Say? . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Variables in the Python Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Programming with Operators: A Pizza Calculator . . . . . . . . . . . . . 39
Strings: The Real Characters in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Improving Our Color Spiral with Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Lists: Keeping It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Python Does Your Homework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
#1: Circular Spirals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
#2: Custom Name Spirals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4
Loops Are Fun (You Can Say That Again) 53
Building Your Own for Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Using a for Loop to Make a Rosette with Four Circles . . . . . . . . . . 56
Modifying Our for Loop to Make a Rosette with Six Circles . . . . . . 58
Improving Our Rosette Program with User Input . . . . . . . . . . . . . . . . . . . . 59
Game Loops and while Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
The Family Spiral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Putting It All Together: Spiral Goes Viral . . . . . . . . . . . . . . . . . . . . . . . . . . 68
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
#1: Spiral Rosettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
#2: A Spiral of Family Spirals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

xiv  Contents in Detail
5
Conditions (What If?) 77
if Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Meet the Booleans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
You’re Not Old Enough! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
else Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Polygons or Rosettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Even or Odd? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
elif Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Complex Conditions: if, and, or, not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Secret Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Messin’ with Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
The Value of Character(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Our Encoder/Decoder Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
#1: Colorful Rosettes and Spirals . . . . . . . . . . . . . . . . . . . . . . . . . . 102
#2: User-Defined Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

6
Random Fun and Games: Go Ahead, Take a Chance! 105
A Guessing Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Colorful Random Spirals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Pick a Color, Any Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Getting Coordinated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
How Big Is Our Canvas? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Rock-Paper-Scissors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Pick a Card, Any Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Stacking the Deck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Dealing Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Counting Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Keeping It Going . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Roll the Dice: Creating a Yahtzee-Style Game . . . . . . . . . . . . . . . . . . . . . 126
Setting Up the Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Sorting the Dice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Testing the Dice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Kaleidoscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Contents in Detail  xv
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
#1: Random Sides and Thickness . . . . . . . . . . . . . . . . . . . . . . . . . . 138
#2: Realistic Mirrored Spirals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
#3: War . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

7
Functions: There’s a Name for That 141
Putting Things Together with Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Defining random_spiral() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Calling random_spiral() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Parameters: Feeding Your Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Smileys at Random Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Return: It’s What You Give Back That Counts . . . . . . . . . . . . . . . . . . . . . 153
Returning a Value from a Function . . . . . . . . . . . . . . . . . . . . . . . . 153
Using Return Values in a Program . . . . . . . . . . . . . . . . . . . . . . . . . 154
A Touch of Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Handling Events: TurtleDraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Listening for Keyboard Events: ArrowDraw . . . . . . . . . . . . . . . . . 160
Handling Events with Parameters: ClickSpiral . . . . . . . . . . . . . . . 163
Taking It One Step Further: ClickandSmile . . . . . . . . . . . . . . . . . 166
ClickKaleidoscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
The draw_kaleido() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
The draw_spiral() Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
#1: Mirrored Smileys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
#2: More Ping-Pong Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . 173
#3: A Better Drawing Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

8
Timers and Animation: What Would Disney Do? 175
Getting All GUI with Pygame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Drawing a Dot with Pygame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
What’s New in Pygame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
The Parts of a Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Timing It Just Right: Move and Bounce . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Moving a Smiley . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Animating a Smiley with the Clock Class . . . . . . . . . . . . . . . . . . . 188
Bouncing a Smiley Off a Wall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Bouncing a Smiley Off Four Walls . . . . . . . . . . . . . . . . . . . . . . . . . 197

xvi  Contents in Detail
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
#1: A Color-Changing Dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
#2: 100 Random Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
#3: Raining Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

9
User Interaction: Get into the Game 207
Adding Interaction: Click and Drag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Clicking for Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Dragging to Paint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Advanced Interaction: Smiley Explosion . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Smiley Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Setting Up Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Updating Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Bigger and Smaller Smileys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
SmileyPop, Version 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Detecting Collisions and Removing Sprites . . . . . . . . . . . . . . . . . . 224
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
#1: Randomly Colored Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
#2: Painting in Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
#3: Throwing Smileys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

10
Game Programming: Coding for Fun 231
Building a Game Skeleton:
Smiley Pong, Version 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Drawing a Board and Game Pieces . . . . . . . . . . . . . . . . . . . . . . . . . 234
Keeping Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Showing the Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Adding Difficulty and Ending the Game: Smiley Pong, Version 2.0 . . . . . 245
Game Over . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Play Again . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Faster and Faster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Adding More Features: SmileyPop v2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Adding Sound with Pygame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Tracking and Displaying Player Progress . . . . . . . . . . . . . . . . . . . 254
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

Contents in Detail  xvii
What You Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Programming Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
#1: Sound Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
#2: Hits and Misses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
#3: Clear the Bubbles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

A
Python Setup for Windows, Mac, and Linux 263
Python for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Download the Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Run the Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Try Out Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Python for Mac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Download the Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Run the Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Try Out Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Python for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

B
Pygame Setup for Windows, Mac, and Linux 279
Pygame for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Pygame for Mac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Python 2.7 and Pygame 1.9.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Pygame for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Pygame for Python 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

C
Building Your Own Modules 289
Building the colorspiral Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Using the colorspiral Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Reusing the colorspiral Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

Glossary 295

Index 301

xviii  Contents in Detail
Acknowledgments
This book would not have been possible without the exceptional
support of the No Starch Press team. Thanks especially to Bill
Pollock for believing in the project; to Tyler Ortman for champion-
ing and editing; and to Leslie Shen, Riley Hoffman, Lee Axelrod,
Mackenzie Dolginow, Serena Yang, and Laurel Chun for their
indefatigable editing, reviewing, marketing, and production prowess
and for the countless ways they helped me improve this book from
my original manuscript. And thanks to Rachel Monaghan and
Paula Fleming for their help copyediting and proofreading.
Thanks to Michelle Friend and Ari Lacenski for their thought-
ful and thorough technical review, and to Conor Seng for being the
first to read the book and try out the programs—at 10 years old.
Thanks to Miran Lipovac�a for his amazing illustrations—they
bring the kind of life to the text that I could only have dreamed of.
Thanks to my father-in-law, Norman Petty, a retired IBM’er,
who began teaching himself Python using an early draft of the book.
Special thanks to my wife and best friend, Bev, for her con-
stant support, and to my amazing sons, Alex and Max, for helping
test every program and suggesting improvements. This book and
my entire life are infinitely better because of the three of you.
Finally, thanks to my mom, Esta, who encouraged me to love
learning and solving puzzles.
Introduction
What Is Coding and Why
Is It Good for Your Kids?

Computer programming, or coding, is a crucial skill


every child should be learning. We use computers
to solve problems, play games, help us work more
effectively, perform repetitive tasks, store and recall
information, create something new, and connect with
our friends and the world. Understanding how to code
puts all this power at our fingertips.
Everyone can learn to code; it’s just like solving a puzzle or a
riddle. You apply logic, try a solution, experiment a little more, and
then solve the problem. The time to start learning to code is now!
We are at an unprecedented time in history: never before could bil-
lions of people connect with one another every day like we do now
with computers. We live in a world of many new possibilities, from
electric cars and robot caregivers to drones that deliver packages
and even pizza.
If your children start learning to code today, they can help
define this fast-changing world.

Why Should Kids Learn to Code?


There are many great reasons to learn computer programming,
but here are my top two:
• Coding is fun.
• Coding is a valuable job skill.

Coding Is Fun
Technology is becoming a part of everyday life. Every company,
charitable organization, and cause can benefit from technology.
There are apps to help you buy, give, join, play, volunteer, connect,
share—just about anything you can imagine.
Have your children wanted to build their own level for their
favorite video game? Coders do that! What about create their own
phone app? They can bring that idea to life by programming it on
a computer! Every program, game, system, or app they’ve ever
seen was coded using the same programming building blocks
they’ll learn in this book. When kids program, they take an active
role in technology—they’re not just having fun, they’re making
something fun!

Coding Is a Valuable Job Skill


Coding is the skill of the 21st century. Jobs today require more
problem-solving ability than ever before, and more and more
careers involve technology as an integral requirement.
The US Bureau of Labor Statistics predicts that more
than 8 million technology jobs will be created in just the next
five years. Seven of the ten fastest-growing occupations in the

xxii  Introduction
2014–2015 Occupational Outlook Handbook that do not require
master’s or doctoral degrees are in the computer science or infor-
mation technology (IT) fields.
Mark Zuckerberg was a college student working from his dorm
room when he developed the first version of Facebook in 2004. Just
10 years later, 1.39 billion people were using Facebook every month
(source: http://newsroom.fb.com/company-info/). Never before in
history had an idea, product, or service been able to engage a billion
people in under a decade. Facebook demonstrates the power of tech-
nology to reach more people, faster, than ever before.

Where Can Kids Learn to Code?


This book is only the beginning. There are more places than ever
to learn programming; websites like Code.org, Codecademy (see
Figure 1), and countless others teach basic to advanced program-
ming in a variety of in-demand programming languages. Once
you’ve completed this book with your kids, your children can take
free courses through websites like EdX, Udacity, and Coursera to
extend their learning even further.

Figure 1: Codecademy teaches you how to program step by step in a


variety of languages.

“Coding clubs” are a great way to have fun learning with


friends. Getting a college degree in a relevant field is still one of
the best ways to prepare for a career, but even if college isn’t an
option at the moment, your kids can begin building a program-
ming portfolio and demonstrating their skills as a programmer
and problem-solver today.

What Is Coding and Why Is It Good for Your Kids?  xxiii


How to Use This Book
This book isn’t just for kids—it’s for parents, teachers, students,
and adults who want to understand the basics of computer pro-
gramming, both to have fun and to gain access to new jobs in the
high-tech economy. No matter what your age, you can have a
great time learning the basics of programming. The best way to do
this is to experiment and work together.

Explore!
Learning to program is exciting if you’re willing to try new things.
As you and your kids follow along with the programs in this book,
try changing numbers and text in the code to see what happens to
the program. Even if you break it, you’ll learn something new by
fixing it. In the worst case, all you have to do is retype the example
from the book or open the last saved version that worked. The point
of learning to code is to try something new, learn a new skill, and
solve problems in a new way. Make sure your kids are playing
around—testing their code by changing something, saving the pro-
gram, running it, seeing what happens, and fixing any errors.
The point of learning to code is to try something new, learn
a new skill, and solve problems in a new way. Test your code by
changing something, saving the program, running it, seeing what
happens, and fixing errors if needed.
For example, I wrote some code to make a colorful drawing
(Figure 2) and then went back, changed some numbers here and
there, and tried running the program again. This gave me another
drawing that was completely different but just as amazing. I went
back again, changed some other numbers, and got yet another beau-
tiful, unique drawing. See what you can do just by playing around?

Figure 2: Three colorful spiral drawings I created by trying different values in a line of code in
one program

xxiv  Introduction
Do It Together!
Experimenting with code is a great way to learn how programs
work, and it’s even more effective if you work with someone else.
Whether you’re teaching a child or student or studying for yourself,
it’s not just more fun to play with code together—it’s also more
effective.
For example, in the Suzuki Method of music instruction, par-
ents attend lessons with their child and even study ahead so they
can help their child between lessons. Starting early is another
hallmark of the Suzuki Method; kids can start formal study by the
age of three or four.
I began introducing my two sons to programming when they
were two and four, and I encouraged them to have fun by changing
small parts of each program, like the colors, shapes, and sizes of
shapes.
I learned to program at the age of 13 by typing program
examples from books and then modifying them to make them do
something new. Now, in the computer science courses I teach, I
often give students a program and encourage them to play around
with the code to build something new.
If you’re using this book to teach yourself, you can work with
others by finding a friend to work through examples with you or
by starting an after-school or community coding club (see http://
coderdojo.com/ or http://www.codecademy.com/afterschool/ for
ideas and tips). Coding is a team sport!

Online Resources
All the program files for
this book are available at
http://www.nostarch.com/
teachkids/, as well as sample
solutions for the Programming
Challenges and other informa-
tion. Download the programs
and experiment with them
to learn even more. Use the
sample solutions if you get
stumped. Check it out!

What Is Coding and Why Is It Good for Your Kids?  xxv


Coding = Solving Problems
Whether your child is 2 years old and learning to count or 22
and looking for a new challenge, this book and the concepts it
introduces are a great pathway to a rewarding, inspiring pastime
and better career opportunities. People who can program—and
thus solve problems quickly and effectively—are highly valued in
today’s world, and they get to do interesting, fulfilling work.
Not all of the world’s problems can be solved with technology
alone, but technology can enable communication, collaboration,
awareness, and action at a scale and speed never before imagined.
If you can code, you can solve problems. Problem-solvers have the
power to make the world a better place, so start coding today.

xxvi  Introduction
1
Python Basics:
Get to Know Your Environment

Just about anything could have a computer in


it—a phone, a car, a watch, a video game console,
an exercise machine, a medical device, industrial
equipment, a greeting card, or a robot. Computer pro-
gramming, or coding, is how we tell a computer to
perform a task, and understanding how to code puts
the power of computers at your fingertips.
Computer programs—also called applications, or apps—tell
computers what to do. A web app can tell the computer how to keep
track of your favorite music; a game app can tell the computer how
to display an epic battlefield with realistic graphics; a simple app
can tell the computer to draw a beautiful spiral like the hexagon in
Figure 1-1.

Figure 1-1: A colorful spiral graphic

Some apps are composed of thousands of lines of code,


while others may be just a few lines long, like the program
NiceHexSpiral.py in Figure 1-2.

2  Chapter 1
Figure 1-2: NiceHexSpiral.py, a short Python
program that draws the spiral in Figure 1-1

This short program draws the colorful spiral shown in Fig-


ure 1-1. I wanted a pretty picture to use as an example in this
book, so I decided to solve that problem using a computer pro-
gram. First I sketched out an idea, and then I started coding.
In this chapter, we’ll download, install, and learn to use the
programs that will help us write code to build any kind of app you
can imagine.

Getting Started with Python


To begin coding, we have to speak the computer’s language.
Computers need step-by-step instructions, and they can only
understand certain languages. Just like a person from Russia
might not be able to understand English, computers only
understand languages made for them.
Computer code is written in program-
ming languages like Python, C++, Ruby,
or JavaScript. These languages allow us
to “talk” to our computer and give it com-
mands. Think about when you teach a
dog to do tricks—when you give the “sit”
command, he sits; when you say “speak,”
he barks. The dog understands those
simple commands, but not much else
you say.

Python Basics: Get to Know Your Environment   3


Exploring the Variety of Random
Documents with Different Content
One desire possessed her now: to know this animated
statue of the island.

“Where does she live?” she asked herself. “How can she
dare to visit this desolate spot alone?”

Even as she asked this question, the girl emerged from [46]
the water, shook back her tangled hair, drew a rough
blue overall over her dripping bathing suit, and then,
leaping away like a wild deer, cleared the breakwater at
a bound and in a twinkling lost herself on a narrow path
that wound through the jungle of low willows and
cottonwoods.

“She is gone!” Florence exclaimed. “I have lost her!”


Nevertheless, she went racing along the beach to enter
the jungle over the path the girl had taken. She had
taken up a strange trail. That trail was short. It ended
abruptly. This she was soon enough to know.

[47]
CHAPTER V
THE SECRET PLACE

Petite Jeanne was a person of courage. Times there had


been when, as a child living with the gypsies of France,
she had believed that she saw a ghost. At the heart of
black woods, beneath a hedge on a moonless night
some white thing lying just before her had moved in the
most blood-chilling fashion. Never, on such an occasion,
had Jeanne turned to flee. Always, with knees
trembling, heart in her throat, she had marched straight
up to the “ghost.” Always, to be sure, the “ghost” had
vanished, but Jeanne had gained courage by such
adventures. So now, as she glided down the soft-
carpeted, circular staircase with the heavy odor of
incense rising before her and the play of eerie green
lights all about her, she took a strong grip on herself,
bade her fluttering heart be still, and steadily descended
into the mysterious unknown.

The scene that met her gaze as at last she reached [48]
those lower levels, was fantastic in the extreme. A
throng of little brown people, dressed in richest silks,
their faces shining strangely in the green light, sat in
small circles on rich Oriental rugs.
Scattered about here and there all over the room were
low pedestals and on these pedestals rested incense
burners. Fantastic indeed were the forms of these
burners: ancient dragons done in copper, eagles of
brass with wings spread wide, twining serpents with
eyes of green jade, and faces, faces of ugly men done
in copper. These were everywhere.

As Jeanne sank silently to a place on the floor, she felt


that some great event in the lives of these people was
about to transpire. They did not speak; they whispered;
and once, then again, and yet again, their eyes strayed
expectantly to a low stage, built across the far end of
the room.

“What is to happen?” the girl asked herself. She [49]


shuddered. To forget that she was in a secret place at
the very heart of a Chinese temple built near the center
of a great city—this was impossible.

“I shouldn’t be here,” she chided herself. “Something


may happen to me. I may be detained. I may not be
able to reach the Opera House in time. And then—”

She wondered what that would mean. She realized with


a sort of shock that she was strangely indifferent to it
all. Truth was, events had so shaped themselves that
she was at that moment undecided where her own best
good lay. She had ventured something, had begun
playing the role of a boy. She had done this that she
might gain a remote end. The end now seemed very
remote indeed. The perils involved in reaching that end
had increased four-fold.

“Why go back at all?” she asked herself. “As Pierre I can


die very comfortably. As Petite Jeanne I can live on. And
no one will ever know. I am—”

Her thoughts were interrupted, not by a sound nor a [50]


movement, but by a sudden great silence that had
fallen, like a star from the sky at night, upon the
assembled host of little people.

Petite Jeanne was not a stranger to silence. She had


stood at the edge of a clearing before an abandoned
cabin, far from the home of any living man just as the
stars were coming out, when a hush had fallen over all;
not a leaf had stirred, not a bird note had sounded, and
the living, breathing world had seemed far away. She
had called that silence.

She had drifted with idle paddle in a canoe far out upon
the glimmering surface of Lake Huron. There, alone,
with night falling, she had listened until every tiniest
wavelet had gone to rest. She had heard the throb of a
motor die away in the distance. She had felt rather than
heard the breath of air stirred by the last lone seagull
on his way to some rocky ledge for rest. She had at last
listened for the faintest sound, then had whispered:

“This is silence.”

It may have been, but never had a silence impressed [51]


her as did the silence of this moment as, seated there
on the floor, far from her friends, an uninvited guest to
some weird ceremony, she awaited with bated breath
that which was to come.

She had not long to wait. A long tremulous sigh, like the
tide sweeping across the ocean at night, passed over
the motionless throng; a sigh, that was all.
But Petite Jeanne? She wished to scream, to rise and
dash out of the room crying, “Fire! Fire!”

She did not scream. Something held her back. Perhaps


it was the sigh, and perhaps the silence.

The thing that was happening was weird in the extreme.


On the stage a curtain was slowly, silently closing. No
one was near to close it. It appeared endowed with life.
This was not all. The curtain was aflame. Tongues of fire
darted up its folds. One expected this fire to roar. It did
not. Yet, as the little French girl, with heart in throat
and finger nails cutting deep, sat there petrified, flames
raced up the curtain again and yet again. And all the
time, in great, graceful folds, it was gliding, silently
gliding from the right and the left.

“Soon it will close,” she told herself. “And then—” [52]

Only one thought saved Jeanne from a scream that


would have betrayed her; not a soul in that impassive
throng had moved or spoken. It was borne in upon her
that here was some form of magic which she did not
know.

“It’s a magic curtain.” These words, formed by her lips


were not so much as whispered.

But now from a dark corner of the stage a figure


appeared. A weird stooping figure he was, clothed all in
white. He moved toward the curtain with slow, halting
steps. He seemed desirous of passing between the folds
of the curtain before the opening; yet a great fear
appeared to hold him back.

At this moment there came to Jeanne’s mind words


from a very ancient book:
“Draw not nigh hither. Put off thy shoes from thy feet.”

“The burning bush!” she whispered. “It burned but was [53]
not consumed; a magic bush. This is a magic curtain.”

“Remove thy shoes.”

She seemed to hear someone repeat these words.

Her hands went to her feet. They were fully clad. A


quick glance to right and left assured her that not
another person in the room wore shoes.

“My shoes will betray me!” Consternation seized her.


One look backward, a stealthy creeping toward the soft-
carpeted stair, another stealthy move and she was on
her way out.

But would she make it? Her heart was in her throat. A
quarter of the way up she was obliged to pause. She
was suffocating with fear.

“I must be calm,” she whispered. “I must! I must!” Of a


sudden life seemed a thing of solemn beauty. Somehow
she must escape that she might live on and on.

Once again she was creeping upward. Did a hand touch [54]
her foot? Was someone preparing to seize her? With an
effort, she looked down. No one was following. Every
eye was glued upon the magic curtain. The curtain was
closed. The white-robed figure had vanished. What had
happened? Had he passed through? Had the curtain
consumed him? She shuddered. Then, summoning all
her courage, she leaped up the stairs, glided silently
across the room above, and passed swiftly on until she
gained the open air.
Then how she sped away! Never had she raced so
swiftly and silently as now.

It was some time before she realized how futile was her
flight. No one pursued her.

In time she was able to still her wildly beating heart.


Then she turned toward home.

Once she stopped dead in her tracks to exclaim: “The


magic curtain! Oh! Why did I run away?”

Then, as another mood seized her, she redoubled her


pace. Florence, she hoped, awaited her with a roaring
fire, a cup of hot chocolate and a good scolding.

[55]
CHAPTER VI
THE WOMAN IN BLACK

By the time she reached the doorway that led to her


humble abode, Petite Jeanne was in high spirits. The
brisk walk had stirred her blood. Her recent adventure
had quickened her imagination. She was prepared for
anything.

Alas, how quickly all this vanished! One moment she


was a heroine marching forth to face that which life
might fling at her; the next she was limp as a rag doll.
Such was Petite Jeanne. The cause?

The room she entered was dark; chill damp hung over
the place like a shroud. Florence was not there. The fire
was dead. Cheer had passed from the place; gloom had
come.

Jeanne could build a fire. This is an art known to all [56]


wanderers, and she had been a gypsy. But she lacked
the will to put her skill to the test, so, quite in despair,
she threw herself in a chair and lay there, looking for all
the world like a deserted French doll, as she whispered
to herself:
“What can it matter? Life is without a true purpose, all
life. Why should one struggle? Why not go down with
the tide? Why—”

But in one short moment all this was changed. The door
flew open. Florence burst into the room and with her
came a whole gust of fresh lake air, or so it seemed to
Jeanne.

“You have been to the island!” she exclaimed, as she


became a very animated doll.

“Yes, I have been there.” Excitement shone from the big


girl’s eyes. “And I have made a surprising discovery. But
wait. What ails the fire?”

“There is no fire.”

“But why?”

Jeanne shrugged. “One does not know,” she murmured.

Seizing the antiquated wood-hamper that stood by the [57]


hearth, Florence piled shavings and kindling high. Then,
after scratching a match, she watched the yellow flames
spread as shadows began dancing on the wall.

“You have been surrendering to gloom,” she said


reprovingly. “Don’t do it. It’s bad for you. Where there is
light there is hope. And see how our fire gleams!”

“You speak truth, my friend.” Jeanne’s tone was solemn.

“But tell me.” Her mood changed. “You have met


adventure. So have I.” Her eyes shone.
“Yes.” Florence was all business at once. “But take a
look at the clock. There is just time to rush out for a cup
of tea, then—”

“Then I go to jail,” replied Jeanne solemnly. “Tell me.


What does one wear in jail?”

“You are joking,” Florence replied. “This is a serious


affair. But, since you will go, it will not help to be late.
We must hurry.”

A moment later, arm in arm, they passed from the outer


door and the dull damp of night swallowed them up.

When, a short time later, Petite Jeanne, garbed as Pierre [58]


Andrews, stole apprehensively through the entrance to
the great opera house, her ever-fearful eyes fell upon
two men loitering just within.

The change that came over one of these, a tall, dark


young man with a steely eye, as he caught sight of
Jeanne was most astonishing. Turning square about like
some affair of metal set on wheels, he appeared about
to leap upon her. Only a grip on his arm, that of his
more stocky companion, appeared to save the girl.

“Watch out!” the other counseled savagely. “Think


where you are!”

On the instant the look in those steely eyes changed.


The man became a smiling wolf.

“Hey there, boy!” he called to Jeanne.

But Jeanne, in her immaculate suit of black, gave but


one frightened backward look, and then sped for the
elevator.
Her heart was doing double time as she saw the
elevator door silently close.

“Who could that man be?” she questioned herself


breathlessly. “He can’t have been a detective. They do
not stand on ceremony. He would be here by my side,
with a hand on my arm. But if not a detective, what
then?” She could form no answer.

In the meantime, the dark, slim man was saying to the [59]
stocky one:

“Can you beat it? You can’t! Thought he’d cut for good!
My luck. But no! Here he is, going back.”

“What do you care?” the other grumbled. “They’ll take


him, and that’s the end of it. Come on outside.” His eyes
strayed to the corner. A deep-chested man whose coat
bulged in a strange way was loitering there. “Air’s bad in
here.”

They passed out into the night. And there we leave


them. But not for long. Men such as these are found in
curious places and at unheard-of hours.

But Jeanne? With her heart stilled for a brief period of


time, she rose to the floor above, only to be thrown into
a state of mind bordering on hysteria at thought of
facing the ordeal that must lie just before her.

Seeking a dark corner, she closed her eyes. Allowing her [60]
head to drop forward, she stood like one in prayer. Did
she pray, or did she but surrender her soul and body to
the forces of nature all about her? Who can say but that
these two are the same, or at least that their effect is
the same? However that may be, it was a changed
Jeanne who, three minutes later, took up her post of
duty in the boxes, for hers was the air of a sentry. Her
movements were firm and steady, the look upon her
face as calm as the reflection of the moon upon a still
pool at midnight.

That which followed was silent drama. Throughout it all,


not a word was spoken, no, not so much as whispered.
The effect was like a thing of magic. Jeanne will never
erase those pictures from her memory.

Scarcely had she taken her place at the door leading to


the box than the great magnate, J. Rufus Robinson, and
his daughter, she of the lost pearls, appeared. Jeanne
caught her breath as she beheld the cape of green
velvet trimmed with white fur and the matchless French
gown of cream colored silk she wore. There was no lack
of jewels despite the lost pearls. A diamond flashed
here, a ruby burned there, yet they did not outshine the
smile of this child of the rich.

“I am seeing life,” Jeanne whispered to herself. “I must [61]


see more of it. I must! I just must!”

Yet, even as she whispered these words she thought of


the bearded man with those luminous eyes. She had
asked him if all this was life—this wealth, this pomp and
circumstance. And he had replied quite calmly: “It is a
form of life.”

At that instant Jeanne thought of impending events that


hung over her like a sword suspended by a hair, and
shuddered.

Assisting the millionaire’s daughter to remove her wrap,


she carried it to the cloak-room at the back, then
assisted the pair to arrange their chairs. This done, she
stepped back, a respectful distance.
While this was being done, a man, gliding forward with [62]
silent unconcern, had taken a place in the shadows at
the back of the box. Deeper in the shadows stood a
woman in black. Jeanne did not see the woman. She did
see the man, and shuddered again. He, she realized,
was the detective.

As she turned her back, the detective moved, prepared


without doubt to advance upon her. But a curious thing
happened. The woman in the shadows darted forward.
Touching the arm of the rich young lady, she pointed at
Jeanne and nodded her head. The girl in turn looked at
the detective and shook her head. Then both the
detective and the woman in black lost themselves in the
shadows at the back of the box.

All this was lost to Jeanne. Her back had been turned.
Her mind had been filled by a magic panorama, a
picture of that which was to pass across the opera stage
that night. Thus does devotion to a great art cause us
to forget the deepest, darkest trouble in our lives.

All during that long evening Petite Jeanne found herself


profoundly puzzled. Why was nothing said to her
regarding the pearls? Why was she not arrested?

“They have been found,” she told herself at last. Yet she [63]
doubted her own words, as well she might.

Two incidents of the evening impressed her. As she left


the box during an intermission the rich girl turned a
bright smile full upon her as she said:

“What is your name?”

Caught off her guard, the little French girl barely


escaped betraying her secret. The first sound of
“Jeanne” was upon her lips when of a sudden, without
so much as a stammer or blush, she answered:

“Pierre Andrews, if you please.”

“What a romantic name.” The girl smiled again, then


passed on.

“Now why did she do that?” Jeanne’s head was in a


whirl.

Scarcely had she regained her composure when a voice


behind her asked: “Are you fond of the opera?”

“Oh, yes! Yes, indeed I am.” She turned about.

“Then you may see much of it this season.” The [64]


mysterious woman in black was already turned about.
She was walking away. Jeanne did not see her face, yet
there was that about her voice, a depth, a melodious
resonance, a something, that thrilled her to the very tips
of her slender toes.

“Will wonders never end?” she asked herself, and found


no answer.

[65]
CHAPTER VII
DREAMS OF OTHER DAYS

Petite Jeanne left the opera house that night in a brown


study. She was perplexed beyond words. The necklace
had not been found. She had made sure of that when,
between the second and third act, she had discovered
on a bulletin board of the lobby a typewritten notice of
the loss and an offer of a reward for the return of the
pearls.

“If the pearls had been found that notice would have
been taken down,” she assured herself. “But if this is
true, why did I go unmolested? One would suppose that
at least I would be questioned regarding the affair. But
no!” She shrugged her graceful shoulders. “They ask me
nothing. They look and look, and say nothing. Oh, yes,
indeed, they say: ‘What is your name?’ That most
beautiful rich one, she says this. And the dark one who
is only a voice, she says: ‘Do you like the opera?’ She
asks this. And who is she? I know that voice. I have
heard it before. It is very familiar, yet I cannot recall it.
If she is here again I shall see her face.”

Having thus worked herself into a state of deep [66]


perplexity that rapidly ripened into fear, she glided, once
her duties were done, down a narrow aisle, across the
end of the stage where a score of stage hands were
busy shifting scenes, then along a narrow passage-way,
with which, as you will know from reading The Golden
Circle, she was thoroughly familiar. From this
passageway she emerged upon a second and narrower
stage.

This was the stage of the Civic Theatre. The stage was
dark. The house was dark. Only the faintest gleam of
light revealed seats like ghosts ranged row on row.

How familiar it all seemed to her. The time had been


when, not many months back, she had stood upon that
stage and by the aid of her God-given gift, had stirred
the audience to admiration, to laughter and to tears.

As she stood there now a wave of feeling came over her [67]
that she could not resist. This stage, this little playhouse
had become to her what home means to many. The
people who had haunted those seats were her people.
They had loved her. She had loved them. But now they
were gone. The house was dark, the light opera troop
was scattered. She thought she knew how a mother
robin must feel as she visits her nest long after the
fledglings have flown.

Advancing to the center of the stage, she stretched her


arms wide in mute appeal to the empty seats. But no
least whisper of admiration or disapproval came back to
her.

A moment she stood thus. Then, as her hands dropped,


her breast heaved with one great sob.

But, like the sea, Jeanne was made of many moods.


“No! No!” She stamped her small foot. “I will not come
back to this! I will not! The way back is closed. Only the
door ahead is open. I will go on.

“Grand Opera, this is all now. This is art indeed. [68]


Pictures, music, story. This is Grand Opera. Big! Grand!
Noble! Some day, somehow I shall stand upon that
most wonderful of all stages, and those people, those
thousands, the richest, the most learned, the most
noble, they shall be my people!”

Having delivered this speech to the deserted hall, she


once again became a very little lady in a trim black
dress suit, seeking a way to the outer air and the street
that led to home.

She had come this way because she feared that the
slender, dark-faced stranger who had accosted her
earlier in the evening would await her at the door.

“If he sees me he will follow,” she told herself. “And


then—”

She finished with a shudder.

In choosing this way she had counted upon one


circumstance. Nor had she counted in vain. As she
hurried down the dark aisle toward the back of the
theatre which was, she knew, closed, she came quite
suddenly upon a man with a flashlight and time clock.

“Oh, Tommy Mosk!” she exclaimed in a whisper. “How [69]


glad I am that you are still here!”

The watchman threw his light upon her face.

“Petite Jeanne!” he exclaimed. “But why the


masquerade?” Tommy belonged to those other days
and, with the rest, had come to love the simple, big-
hearted little light opera star. “Petite Jeanne! But why—”

“Please don’t make me tell.” She gripped his arm. “Only


let me out, and see me safe into a taxi. And—and—”
She put a finger to her lips. “Don’t whisper a word.”

“I—it’s irregular, but I—I’ll do it,” he replied gallantly.

Jeanne gave his arm another squeeze and they were


away.

Three minutes later, still dressed as Pierre, the usher,


she was huddled on the broad seat of a taxi, speeding
for home.

[70]
CHAPTER VIII
AN ISLAND MYSTERY

When Florence, whose work as physical director


required her attention until late hours three nights in
the week, arrived, she found the little French girl still
dressed as Pierre, curled up in a big chair shuddering in
the cold and the dark.

“Wh-what’s happened?” She stared at her companion in


astonishment.

“N-n-nothing happened!” wailed Petite Jeanne. “That is


why I am so very much afraid. They have said not one
word to me about the pearls. They believe I have them.
They will follow me, shadow me, search this place. Who
can doubt it? Oh, mon Dieu! Such times! Such troubles!

“And yes!” she cried with a fresh shudder. “There is the


slim, dark-faced one who is after me. And how can I
know why?”

“You poor child!” Florence lifted her from the chair as [71]
easily as she might had she been a sack of feathers.
“You shall tell me all about it. But first I must make a
fire and brew some good black tea. And you must run
along and become Petite Jeanne. I am not very fond of
this Pierre person.” She plucked at the black coat sleeve.
“In fact I never have cared for him at all.”

Half an hour later the two girls were curled up amid a


pile of rugs and cushions before the fire. Cups were
steaming, the fire crackling and the day, such as it had
been, was rapidly passing into the joyous realm of
“times that are gone,” where one may live in memories
that amuse and thrill, but never cause fear nor pain.

Jeanne had told her story and Florence had done her
best to reassure her, when the little French girl
exclaimed: “But you, my friend? Only a few hours ago
you spoke of a discovery on the island. What was this
so wonderful thing you saw there?”

“Well, now,” Florence sat up to prod the fire, “that was [72]
the strangest thing! You have been on the island?”

“No, my friend. In the fort, but not on the island.”

“Then you don’t know what sort of half wild place it is.
It’s made of the dumping from a great city: cans,
broken bricks, clay, everything. And from sand taken
from the bottom of the lake. It’s been years in the
making. Storms have washed in seeds. Birds have
carried in others. Little forests of willow and cottonwood
have sprung up. The south end is a jungle. A fit hide-
out for tramps, you’d say. All that. You’d not expect to
find respectable people living there, would you?”

“But how could they?”

“That’s the queer part. They could. And I’m almost sure
they do. Seems too strange to be true.
“And yet—” She prodded the fire, then stared into the [73]
flames as if to see reproduced there pictures that had
half faded from her memories. “And yet, Petite Jeanne, I
saw a girl out there, quite a young girl, in overalls and a
bathing-suit. She was like a statue when I first saw her,
a living statue. She went in for a dip, then donned her
overalls to dash right into the jungle.

“I wanted to see where she went, so I followed. And


what do you think! After following a winding trail for a
little time, I came, just where the cottonwoods are
tallest, upon the strangest sort of dwelling—if it was a
dwelling at all—I have ever seen.”

“What was it like?” Jeanne leaned eagerly forward.

“Like nothing on land or sea, but a little akin to both.


The door was heavy and without glass. It had a great
brass knob such as you find on the cabin doors of very
old ships. And the windows, if you might call them that,
looked like portholes taken from ships.

“But the walls; they were strangest of all. Curious


curved pillars rose every two or three feet apart, to a
considerable height. Between these pillars brick walls
had been built. The whole was topped by a roof of
green tile.”

“And the girl went in there?”

“Where else could she have gone?” [74]

“And that was her home?”

“Who could doubt it?”


“America—” Jeanne drew a long breath. “Your America
is a strange place.”

“So strange that even we who have lived here always


are constantly running into the most astonishing things.

“Perhaps,” the big girl added, after a brief silence, “that


is why America is such a glorious place to live.”

“But did you not endeavor to make a call at this strange


home?” asked Jeanne.

“I did. Little good it did me! I knocked three times at


the door. There was no answer. It was growing dark,
but no light shone from those porthole windows. So all I
could do was to retrace my steps.

“I had gone not a dozen paces when I caught the sound


of a half suppressed laugh. I wheeled about, but saw no
one. Now, what do you make of that?”

“It’s a sweet and jolly mystery,” said Jeanne. “We shall


solve it, you and I.”

And in dreaming of this new and apparently harmless [75]


adventure, the little French girl’s troubles were, for the
time being at least, forgotten. She slept soundly that
night and all her dreams were dreams of peace.

But to-morrow was another day.

[76]
CHAPTER IX
CAUGHT IN THE ACT

And on that new day, like a ray of sunshine breaking


through the clouds after a storm, there came to Jeanne
an hour of speechless joy.

Having exercised as ever her gift of friendship to all


mankind, she was able, through her acquaintance with
the watchman, to enter the opera house when she
chose. There was only one drawback to this; she must
enter always as Pierre and never as Petite Jeanne.

Knowing that some sort of rehearsal would be in


progress, she garbed herself in her Pierre costume and
repaired to the place which to her, of all places on earth,
seemed the home of pure enchantment—the opera.

Even now, when the seats were clothed like ghosts in [77]
white sheets, when the aisles, so often adorned with
living models all a-glitter with silks and jewels, and
echoing with the sound of applause and laughter, were
dark and still, the great hall lost none of its charm.

As she tripped noiselessly down the foyer where pillars


cut from some curious stone flanked her on every side
and priceless chandeliers hung like blind ghosts far
above her head, she thought of the hundreds who had
promenaded here displaying rich furs, costly silks and
jewels. She recalled, too, the remark of that strangely
studious man with a beard:

“It is a form of life.”

“I wonder what he meant?” she said half aloud.


“Perhaps some day I shall meet him again. If I do, I
shall ask him.”

But Jeanne was no person to be living in the past. She


dreamed of the future when only dreams were at her
command. For her the vivid, living, all-entrancing
present was what mattered most. She had not haunted
the building long before she might have been found
curled up in a seat among the dark shadows close to
the back row on the orchestra floor. She had pushed the
white covering away, but was still half hidden by it; she
could be entirely hidden in a second’s time if she so
willed.

Behind and above her, black chasms of darkness, the [78]


boxes and balconies loomed. Before her the stage, all
dark, seemed a mysterious cave where a hundred
bandits might hide among the settings of some
imposing scene.

She did not know the name of the opera to be


rehearsed on this particular afternoon. Who, then, can
describe the stirring of her blood, the quickening of her
heart-beats, the thrill that coursed through her very
being when the first faint flush of dawn began
appearing upon the scene that lay before her? A stage
dawn it was, to be sure; but very little less than real it
was, for all that. In this matchless place of amusement
shades of light, pale gray, blue, rosy red, all come
creeping out, and dawn lingers as it does upon hills and
forests of earth and stone and wood.

Eagerly the little French girl leaned forward to catch the [79]
first glimpse of that unknown scene. Slowly, slowly, but
quite surely, to the right a building began looming out
from that darkness. The trunk of a tree appeared,
another and yet another. Dimly a street was outlined.
One by one these objects took on a clearer line until
with an impulsive movement, Jeanne fairly leaped from
her place.

“It is France!” she all but cried aloud. “My own beloved
France! And the opera! It is to be ‘The Juggler of Notre
Dame’! Was there ever such marvelous good fortune!”

It was indeed as if a will higher than her own had


planned all this, for this short opera was the one Jeanne
had studied. It was this opera, as you will remember
from reading The Golden Circle, that Jeanne had once
witnessed quite by chance as she lay flat upon the iron
grating more than a hundred feet above the stage.

“And now I shall see Marjory Dean play in it once more,”


she exulted. “For this is a dress rehearsal, I am sure of
that.”

She was not long in discovering that her words were [80]
true. Scarcely had the full light of day shone upon that
charming stage village, nestled among the hills of
France, than a company of peasants, men, women and
children, all garbed in bright holiday attire, came
trooping upon the stage.
But what was this? Scarcely had they arrived than one
who loitered behind began shouting in the most excited
manner and pointing to the road that led back to the
hills.

“The juggler is coming,” Jeanne breathed. “The juggler


of Notre Dame.” She did not say Marjory Dean, who
played the part. She said: “the juggler,” because at this
moment she lived again in that beautiful village of her
native land. Once again she was a gypsy child. Once
more she camped at the roadside. With her pet bear
and her friend, the juggler, she marched proudly into
the village to dance for pennies before the delighted
crowd in the village square.

What wonder that Petite Jeanne knew every word of


this charming opera by heart? Was it not France as she
knew it? And was not France her native land?

Breathing deeply, clutching now and then at her heart [81]


to still its wild beating, she waited and watched. A
second peasant girl followed the first to the roadside.
She too called and beckoned. Others followed her. And
then, with a burst of joyous song, their gay garments
gleaming like a bed of flowers, their faces shining, these
happy villagers came trooping back. And in their midst,
bearing in one hand a gay, colored hoop, in the other a
mysterious bag of tricks, was the juggler of Notre
Dame.

“It is Marjory Dean, Marjory herself. She is the juggler,”


Jeanne whispered. She dared not trust herself to do
more. She wanted to leap to her feet, to clap her hands
and cry: “Ray! Ray! Ray! Vive! Vive! Vive!”
But no, this would spoil it all. She must see this
beautiful story through to its end.

So, calming herself, she settled back to see the juggler,


arrayed in his fantastic costume, open his bag of tricks.
She saw him delight his audience with his simple
artistry.

She watched, breathless, as a priest, coming from the [82]


monastery, rebuked him for practicing what he believed
to be a sinful art. She suffered with the juggler as he
fought a battle with his soul. When he came near to the
door of the monastery that, being entered, might never
again be abandoned, she wished to rise and shout:

“No! No! Juggler! Stay with the happy people in the


bright sunshine. Show them more of your art. Life is too
often sad. Bring joy to their lives!”

She said, in reality, nothing. When at last the curtain


fell, she was filled with one desire: to be for one short
hour the juggler of Notre Dame. She knew the words of
his song; had practiced his simple tricks.

“Why not? Sometime—somewhere,” she breathed.

“Sometime? Somewhere?” She realized in an instant


that no place could be quite the same to her as this one
that in all its glories of green and gold surrounded her
now.

When the curtain was up again the stage scene


remained the same; but the gay peasants, the juggler,
were gone.

After some moments of waiting Jeanne realized that this [83]


scene had been set for the night’s performance, that
this scene alone would be rehearsed upon the stage.

“They are gone! It is over!” How empty her life seemed


now. It was as if a great light had suddenly gone out.

Stealing from her place, she crept down the aisle,


entered a door and emerged at last upon a dark corner
of the stage.

For a moment, quite breathless, she stood there in the


shadows, watching, listening.

“There is no one,” she breathed. “I am alone.”

An overpowering desire seized her to don the juggler’s


costume, to sing his songs, to do his tricks. The
costume was there, the bag of tricks. Why not?

Pausing not a second, she crept to the center of the


stage, seized the coveted prizes, then beat a hasty
retreat.

Ten minutes later, dancing lightly and singing softly, she [84]
came upon the stage. She was there alone. Yet, in her
mind’s eye she saw the villagers of France, matrons and
men, laughing lovers, dancing children, all before her
as, casting her bag upon the green, she seized some
trifling baubles and began working her charms.

For her, too, the seats were not dark, covered empties,
but filled with human beings, filled with the light and joy
of living.

Of a sudden she seemed to hear the reproving words of


the priest.
Turning about, with sober face, she stood before the
monastery door.

And then, like some bird discovered in a garden, she


wanted to run away. For there, in very life, a little way
back upon the vast stage, stood all the peasants of the
opera. And in their midst, garbed in street attire, was
Marjory Dean!

“Who are you? How do you dare tamper with my


property, to put on my costume?” Marjory Dean
advanced alone.

There was sternness in her tone. But there was another


quality besides. Had it not been for this, Jeanne might
have crumpled in a helpless heap upon the stage. As it
was, she could only murmur in her humblest manner:

“I—I am only an usher. See!” She stripped off the [85]


juggler’s garb, and stood there in black attire. “Please
do not be too hard. I have harmed nothing. See! I will
put it all back.” This, with trembling fingers, she
proceeded to do. Then in the midst of profound silence,
she retreated into the shadows.

She had barely escaped from the stage into the


darkness of the opera pit when a figure came soft-
footedly after her.

She wished to flee, but a voice seemed to whisper,


“Stay!”

The word that came ten seconds after was, “Wait! You
can’t deceive me. You are Petite Jeanne!”

It was the great one, Marjory Dean, who spoke.


“Why, how—how could you know?” Jeanne was thrown
into consternation.

“Who could not know? If one has seen you upon the
stage before, he could not be mistaken.

“But, little girl,” the great one’s tone was deep and low [86]
like the mellow chimes of a great clock, “I will not
betray you.

“You did that divinely, Petite Jeanne. I could not have


done it better. And you, Jeanne, are much like me. A
little make-up, and there you are, Petite Jeanne, who is
Marjory Dean. Some day, perhaps, I shall allow you to
take my place, to do this first act for me, before all this.”
She spread her arms wide as if to take in a vast
audience.

“No!” Jeanne protested. “I could never do that. Never!


Marjory Dean, I—no! No!”

She broke off to stare into the darkness. No one was


there!

“I could almost believe I imagined it,” she told herself.

“And yet—no! It was true. She said it. Marjory Dean said
that!”

Little wonder, then, that all the remaining hours of that


day found on her fair face a radiance born, one might
say, in Heaven.

Many saw that face and were charmed by it. The little [87]
rich girl saw it as Jeanne performed her humble duties
as Pierre. She was so taken by it that, with her father’s
consent, she invited Pierre to visit her at her father’s
estate next day. And Pierre accepted. And that, as you
well may guess, leads to quite another story.

[88]
CHAPTER X
THE ONE WITHIN THE SHADOWS

Having accepted an invitation from a daughter of the


rich, Jeanne was at once thrown into consternation.

“What am I to wear?” she wailed. “As Pierre I can’t very


well wear pink chiffon and satin slippers. And of course
evening dress does not go with an informal visit to an
estate in mid-afternoon. Oh, why did I accept?”

“You accepted,” Florence replied quietly, “because you


wish to know all about life. You have been poor as a
gypsy. You know all about being poor. You have lived as
a successful lady of the stage. You were then an artist.
Successful artists are middle class people, I should say.
But your friend Rosemary is rich. She will show you one
more side of life.”

“A form of life, that’s what he called it.”

“Who called it?” [89]

“A man. But what am I to wear?”


“Well,” Florence pondered, “you are a youth, a mere
boy; that’s the way they think of you. You are to tramp
about over the estate.”

“And ride horses. She said so. How I love horses!”

“You are a boy. And you have no mother to guide you.”


Florence chanted this. “What would a boy wear?
Knickers, a waist, heavy shoes, a cap. You have all
these, left from our summer in the northern woods.”

Why not, indeed? This was agreed upon at once. So it


happened that when the great car, all a-glitter with gold
and platinum trimmings, met her before the opera at
the appointed hour, it was as a boy, perhaps in middle
teens, garbed for an outing, that the little French girl
sank deep into the broadcloth cushions.

“Florence said it would do,” she told herself. “She is


usually right. I do hope that she may be right this time.”

Rosemary Robinson had been well trained, very well [90]


trained indeed. The ladies who managed and taught the
private school which she attended were ladies of the
first magnitude. As everyone knows, the first lesson to
be learned in the school of proper training is the art of
deception. One must learn to conceal one’s feelings.
Rosemary had learned this lesson well. It had been a
costly lesson. To any person endowed with a frank and
generous nature, such a lesson comes only by diligence
and suffering. If she had expected to find the youthful
Pierre dressed in other garments than white waist,
knickers and green cap, she did not say so, either by
word, look or gesture.

This put Jeanne at her ease at once; at least as much at


ease as any girl masquerading as a boy might be
expected to achieve.

“She’s a dear,” she thought to herself as Rosemary,


leading her into the house, introduced her in the most
nonchalant manner to the greatest earthly paradise she
had ever known.

As she felt her feet sink deep in rich Oriental rugs, as [91]
her eyes feasted themselves upon oil paintings,
tapestries and rare bits of statuary that had been
gathered from every corner of the globe, she could not
so much as regret the deception that had gained her
entrance to this world of rare treasures.

“But would I wish to live here?” she asked herself. “It is


like living in a museum.”

When she had entered Rosemary’s own little personal


study, when she had feasted her eyes upon all the small
objects of rare charm that were Rosemary’s own, upon
the furniture done by master craftsmen and the interior
decorated by a real artist, when she had touched the
soft creations of silk that were curtains, drapes and
pillows, she murmured:

“Yes. Here is that which would bring happiness to any


soul who loves beauty and knows it when he sees it.”

“But we must not remain indoors on a day such as this!”


Rosemary exclaimed. “Come!” She seized her new
friend’s hand. “We will go out into the sunshine. You are
a sun worshipper, are you not?”

“Perhaps,” said Jeanne who, you must not forget, was [92]
for the day Pierre Andrews. “I truly do not know.”
“There are many sun worshippers these days.”
Rosemary laughed a merry laugh. “And why not? Does
not the sun give us life? And if we rest beneath his rays
much of the time, does he not give us a more abundant
life?”

“See!” Pierre, catching the spirit of the hour, held out a


bare arm as brown as the dead leaves of October. “I am
a sun worshipper!”

At this they went dancing down the hall.

“But, see!” Rosemary exclaimed. “Here is the organ!”


She threw open a door, sprang to a bench, touched a
switch here, a stop there, then began sending out peals
of sweet, low, melodious music.

“A pipe organ!” Jeanne exclaimed. “In your home!”

“Why not?” Rosemary laughed. “Father likes the organ. [93]


Why should he not hear it when he chooses? It is a very
fine one. Many of the great masters have been here to
play it. I am taking lessons. In half an hour I must come
here for a lesson. Then you must become a sun
worshipper. You may wander where you please or just
lie by the lily pond and dream in the sun.”

“I am fond of dreaming.”

“Then you shall dream.”

The grounds surrounding the great house were to the


little French girl a land of enchantment. The formal
garden where even in late autumn the rich colors of
bright red, green and gold vied with the glory of the
Indian Summer sunshine, the rock garden, the pool
where gold-fish swam, the rustic bridge across the
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like