100% found this document useful (3 votes)
37 views

Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming 2nd Edition Jessen Havill 2024 Scribd Download

Python

Uploaded by

iheziegleris
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
37 views

Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming 2nd Edition Jessen Havill 2024 Scribd Download

Python

Uploaded by

iheziegleris
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Download the full version of the textbook now at textbookfull.

com

Discovering Computer Science:


Interdisciplinary Problems, Principles, and
Python Programming 2nd Edition Jessen Havill

https://textbookfull.com/product/discovering-
computer-science-interdisciplinary-problems-
principles-and-python-programming-2nd-edition-
jessen-havill/

Explore and download more textbook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Discovering Computer Science Interdisciplinary Problems


Principles and Python Programming 2nd Edition Jessen
Havill
https://textbookfull.com/product/discovering-computer-science-
interdisciplinary-problems-principles-and-python-programming-2nd-
edition-jessen-havill-2/
textbookfull.com

Discovering Computer Science Interdisciplinary Problems


Principles and Python Programming 1st Edition Jessen
Havill
https://textbookfull.com/product/discovering-computer-science-
interdisciplinary-problems-principles-and-python-programming-1st-
edition-jessen-havill/
textbookfull.com

Discovering Computer Science Interdisciplinary Problems


Principles and Python Programming First Edition Jessen
Havill
https://textbookfull.com/product/discovering-computer-science-
interdisciplinary-problems-principles-and-python-programming-first-
edition-jessen-havill/
textbookfull.com

Dead Witch Walking (The Hollows, #01) 6th Edition Kim


Harrison

https://textbookfull.com/product/dead-witch-walking-the-
hollows-01-6th-edition-kim-harrison-3/

textbookfull.com
Applying Quality Management in Healthcare A Systems
Approach Spath

https://textbookfull.com/product/applying-quality-management-in-
healthcare-a-systems-approach-spath/

textbookfull.com

Accounting for Non-Accounting Students John R. Dyson

https://textbookfull.com/product/accounting-for-non-accounting-
students-john-r-dyson/

textbookfull.com

A Beginner s Further Guide to Mathematical Logic 1st


Edition Raymond M. Smullyan

https://textbookfull.com/product/a-beginner-s-further-guide-to-
mathematical-logic-1st-edition-raymond-m-smullyan/

textbookfull.com

Advance Compression and Watermarking Technique for Speech


Signals 1st Edition Rohit Thanki

https://textbookfull.com/product/advance-compression-and-watermarking-
technique-for-speech-signals-1st-edition-rohit-thanki/

textbookfull.com

My Best Friend is a Succubus 3 Book Three Embrace of Evil


1st Edition Amanda Clover

https://textbookfull.com/product/my-best-friend-is-a-succubus-3-book-
three-embrace-of-evil-1st-edition-amanda-clover/

textbookfull.com
Caring for Souls in a Neoliberal Age 1st Edition Bruce
Rogers-Vaughn (Auth.)

https://textbookfull.com/product/caring-for-souls-in-a-neoliberal-
age-1st-edition-bruce-rogers-vaughn-auth/

textbookfull.com
Discovering Computer Science
Chapman & Hall/CRC
Textbooks in Computing

Series Editors
John Impagliazzo
Andrew McGettrick
Pascal Hitzler, Markus Krötzsch, and Sebastian Rudolph, Foundations of Semantic Web Technologies
Henrik Bœrbak Christensen, Flexible, Reliable Software: Using Patterns and Agile Development
John S. Conery, Explorations in Computing: An Introduction to Computer Science
Lisa C. Kaczmarczyk, Computers and Society: Computing for Good
Mark Johnson, A Concise Introduction to Programming in Python
Paul Anderson, Web 2.0 and Beyond: Principles and Technologies
Henry Walker, The Tao of Computing, Second Edition
Ted Herman, A Functional Start to Computing with Python
Mark Johnson, A Concise Introduction to Data Structures Using Java
David D. Riley and Kenny A. Hunt, Computational Thinking for the Modern Problem Solver
Bill Manaris and Andrew R. Brown, Making Music with Computers: Creative Programming in Python
John S. Conery, Explorations in Computing: An Introduction to Computer Science and Python Programming
Jessen Havill, Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming
Efrem G. Mallach, Information Systems: What Every Business Student Needs to Know Iztok Fajfar, Start Programming
Using HTML, CSS, and JavaScript
Mark C. Lewis and Lisa L. Lacher, Introduction to Programming and Problem-Solving Using Scala, Second Edition
Aharon Yadin, Computer Systems Architecture
Mark C. Lewis and Lisa L. Lacher, Object-Orientation, Abstraction, and Data Structures Using Scala, Second Edition
Henry M. Walker, Teaching Computing: A Practitioner’s Perspective
Efrem G. Mallach, Information Systems:What Every Business Student Needs to Know, Second Edition
Jessen Havill, Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming, Second
Edition
For more information about this series please visit:
https://www.crcpress.com/Chapman--HallCRC-Textbooks-in-Computing/book-series/CANDHTEXCOMSER?
page=2&order=pubdate&size=12&view=list&status=published,forthcoming
Discovering Computer Science
Interdisciplinary Problems, Principles, and Python
Programming

Second Edition

Jessen Havill
Second edition published 2021
by CRC Press
2 Park Square, Milton Park, Abingdon, Oxon, OX14 4RN
and by CRC Press
6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742
© 2021 Jessen Havill
The right of Jessen Havill to be identified as author of this work has been asserted by him in accordance with sections 77
and 78 of the Copyright, Designs and Patents Act 1988.
All rights reserved. No part of this book may be reprinted or reproduced or utilised in any form or by any electronic,
mechanical, or other means, now known or hereafter invented, including photocopying and recording, or in any information
storage or retrieval system, without permission in writing from the publishers.
For permission to photocopy or use material electronically from this work, access www.copyright.com or contact the
Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. For works that are not
available on CCC please contact mpkbookspermissions@tandf.co.uk
Trademark notice: Product or corporate names may be trademarks or registered trademarks, and are used only for
identification and explanation without intent to infringe.
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library

Library of Congress Cataloging-in-Publication Data


Names: Havill, Jessen, author.
Title: Discovering computer science: interdisciplinary problems, principles, and Python programming / Jessen
Havill.
Description: Second edition. ∣ Boca Raton: CRC Press, 2021. ∣ Series: Chapman & Hall/CRC press textbooks
in computing ∣ Includes bibliographical references and index.
Identifiers: LCCN 2020030144 ∣ ISBN 9780367472498 (paperback) ∣ ISBN 9780367613358 (hardback) ∣
ISBN 9781003037149 (ebook)
Subjects: LCSH: Computer science--Textbooks. ∣ Python (Computer program language)--Textbooks.
Classification: LCC QA76 H3735 2021 ∣ DDC 005.13/3--dc23
LC record available at https://lccn.loc.gov/2020030144

ISBN: 9780367613358 (hbk)


ISBN: 9780367472498 (pbk)
ISBN: 9781003037149 (ebk)
Typeset in Computer Modern font
by Cenveo Publisher Services
Contents

Preface

Acknowledgments

About the author

CHAPTER 1 ■ How to Solve It

1.1 UNDERSTAND THE PROBLEM


A first problem: computing reading level
Functional abstraction

1.2 DESIGN AN ALGORITHM


Take it from the top
Pseudocode
Implement from the bottom

1.3 WRITE A PROGRAM


Welcome to the circus
What’s in a name?
Interactive computing
Looking ahead

1.4 LOOK BACK


Testing
Algorithm efficiency

1.5 SUMMARY AND FURTHER DISCOVERY

CHAPTER 2 ■ Visualizing Abstraction


2.1 DATA ABSTRACTION
Turtle graphics

2.2 DRAWING FLOWERS AND PLOTTING EARTHQUAKES


Iteration
Tangent 2.1 Defining colors
Data visualization

2.3 FUNCTIONAL ABSTRACTION


Function parameters

2.4 PROGRAMMING IN STYLE


Program structure
Documentation
Tangent 2.2 Global variables
Self-documenting code

2.5 A RETURN TO FUNCTIONS


The math module
Writing functions with return values
Return vs. print

2.6 SCOPE AND NAMESPACES


Local namespaces
The global namespace

2.7 SUMMARY AND FURTHER DISCOVERY

CHAPTER 3 ■ Inside a Computer

3.1 COMPUTERS ARE DUMB


Tangent 3.1 High performance computing
Machine language
Tangent 3.2 Byte code

3.2 EVERYTHING IS BITS


Bits are switches
Bits can represent anything
Tangent 3.3 Hexadecimal notation
Computing with bits

3.3 COMPUTER ARITHMETIC


Limited precision
Tangent 3.4 Floating point notation
Error propagation
Division
Complex numbers

*3.4 BINARYARITHMETIC
More limited precision
Negative integers
Designing an adder
Implementing an adder

3.5 THE UNIVERSAL MACHINE

3.6 SUMMARY AND FURTHER DISCOVERY

CHAPTER 4 ■ Growth and Decay

4.1 ACCUMULATORS
Managing a fishing pond
Measuring network value
Organizing a concert

4.2 DATA VISUALIZATION

4.3 CONDITIONAL ITERATION


When will the fish disappear?
When will your nest egg double?

*4.4 CONTINUOUS MODELS


Difference equations
Radiocarbon dating
Tradeoffs between accuracy and time
Simulating an epidemic

*4.5 NUMERICAL ANALYSIS


The harmonic series
Approximating π
Approximating square roots

4.6 SUMMING UP
Tangent 4.1 Triangular numbers

4.7 FURTHER DISCOVERY

*4.8 PROJECTS
4.1 Parasitic relationships
4.2 Financial calculators
4.3 Market penetration
4.4 Wolves and moose

CHAPTER 5 ■ Forks in the Road

5.1 RANDOM WALKS


Tangent 5.1 Interval notation
One small step
Monte Carlo simulation

*5.2 PSEUDORANDOM NUMBER GENERATORS


Implementation
Testing randomness

*5.3 SIMULATING PROBABILITY DISTRIBUTIONS


The central limit theorem

5.4 BACK TO BOOLEANS


Predicate functions
Short circuit evaluation
DeMorgan’s laws
Thinking inside the box
Many happy returns

5.5 DEFENSIVE PROGRAMMING


Checking parameters
Assertions
Unit testing
Tangent 5.2 Unit testing frameworks
Testing floats
Catching exceptions

5.6 GUESS MYNUMBER


Ending the game nicely
Friendly hints
A proper win/lose message

5.7 SUMMARY AND FURTHER DISCOVERY

*5.8 PROJECTS
5.1 The magic of polling
5.2 Escape!

CHAPTER 6 ■ Text, Documents, and DNA

6.1 FIRST STEPS


Normalization
Tangent 6.1 Natural language processing
Tokenization
Creating your own module
Testing your module

6.2 TEXT DOCUMENTS


Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
Reading from text files
Writing to text files
Reading from the web

6.3 ENCODING STRINGS


Computing checksums
Unicode
Tangent 6.2 Compressing text files
Indexing and slicing

6.4 A CONCORDANCE
Finding a word
A concordance entry
A complete concordance

6.5 WORD FREQUENCY TRENDS


Finding the frequency of a word
Getting the frequencies in slices
Plotting the frequencies

6.6 COMPARING TEXTS


Dot plots

*6.7 TIME COMPLEXITY


Best case vs. worst case
Asymptotic time complexity

*6.8 COMPUTATIONAL GENOMICS


A genomics primer
Basic DNA analysis
Transforming sequences
Comparing sequences
Reading sequence files

6.9 SUMMARY AND FURTHER DISCOVERY


*6.10 PROJECTS
6.1 Polarized politics
6.2 Finding genes

CHAPTER 7 ■ Data Analysis

7.1 SUMMARY STATISTICS


Mean and variance
Minimum and maximum

7.2 WRANGLING DATA


Smoothing data
A more efficient algorithm
Modifying lists in place
List operators and methods
*List comprehensions
Tangent 7.1 NumPy arrays

7.3 TALLYING FREQUENCIES


Word frequencies
Dictionaries
Tangent 7.2 Hash tables
Finding the most frequent word
Bigram frequencies
Tangent 7.3 Sentiment analysis

7.4 READING TABULAR DATA


Earthquakes

*7.5 DESIGNING EFFICIENT ALGORITHMS


Removing duplicates
A first algorithm
A more elegant algorithm
A more efficient algorithm
*7.6 LINEAR REGRESSION

*7.7 DATA CLUSTERING


Defining similarity
A simple example
Implementing k-means clustering
Locating bicycle safety programs

7.8 SUMMARY AND FURTHER DISCOVERY


Tangent 7.4 Privacy in the age of big data

*7.9 PROJECTS
7.1 Climate change
7.2 Does education influence unemployment?
7.3 Maximizing profit
7.4 Admissions
7.5 Preparing for a 100-year flood
7.6 Voting methods
7.7 Heuristics for traveling salespeople

CHAPTER 8 ■ Flatland

8.1 TABULAR DATA


Reading a table of temperatures
Tangent 8.1 Pandas

8.2 THE GAME OF LIFE


Creating a grid
Initial configurations
Surveying the neighborhood
Performing one pass
Tangent 8.2 NumPy arrays in two dimensions
Updating the grid
8.3 DIGITAL IMAGES
Colors
Tangent 8.3 Additive vs. subtractive color models
Image filters
Tangent 8.4 Image storage and compression
Transforming images

8.4 SUMMARY AND FURTHER DISCOVERY

*8.5 PROJECTS
8.1 Modeling segregation
8.2 Modeling ferromagnetism
8.3 Growing dendrites
8.4 Simulating an epidemic

CHAPTER 9 ■ Self-similarity and Recursion

9.1 FRACTALS
Trees
Snowflakes

9.2 RECURSION AND ITERATION


Solving a problem recursively
Palindromes
Guessing passwords

9.3 THE MYTHICAL TOWER OF HANOI


*Is the end of the world nigh?

9.4 RECURSIVE LINEAR SEARCH


*Efficiency of recursive linear search

9.5 DIVIDE AND CONQUER


Buy low, sell high
Navigating a maze
*9.6 LINDENMAYER SYSTEMS
Formal grammars
L-systems
Implementing L-systems

9.7 SUMMARY AND FURTHER DISCOVERY

*9.8 PROJECTS
9.1 Lindenmayer’s beautiful plants
9.2 Gerrymandering
9.3 Percolation

CHAPTER 10 ■ Organizing Data

10.1 BINARY SEARCH


Tangent 10.1 Databases
Efficiency of iterative binary search
A spelling checker
Recursive binary search
*Efficiency of recursive binary search

10.2 SELECTION SORT


Implementing selection sort
Efficiency of selection sort
Querying data

10.3 INSERTION SORT


Implementing insertion sort
Efficiency of insertion sort

10.4 EFFICIENT SORTING


Merge sort
Internal vs. external sorting
Efficiency of merge sort
*10.5 TRACTABLE AND INTRACTABLE ALGORITHMS
Hard problems

10.6 SUMMARY AND FURTHER DISCOVERY

*10.7 PROJECTS
10.1 Creating a searchable database
10.2 Binary search trees

CHAPTER 11 ■ Networks

11.1 MODELING WITH GRAPHS


Making friends

11.2 SHORTEST PATHS


Breadth-first search
Finding the actual paths

11.3 IT’S A SMALL WORLD…


Small world networks
Clustering coefficients
Scale-free networks

11.4 RANDOM GRAPHS

11.5 SUMMARYAND FURTHER DISCOVERY

*11.6 PROJECTS

11.1 Diffusion of ideas and influence

11.2 Slowing an epidemic

11.3 The Oracle of Bacon

CHAPTER 12 ■ Object-oriented Design

12.1 SIMULATING AN EPIDEMIC


Object design
Person class
Augmenting the Person class
World class
The simulation

12.2 OPERATORS AND POLYMORPHISM


Designing a Pair ADT
Pair class
Arithmetic methods
Special methods
Comparison operators
Indexing

*12.3 A FLOCKING SIMULATION


The World
Boids

*12.4 ASTACKADT
Stack class
Reversing a string
Converting numbers to other bases

*12.5 ADICTIONARYADT
Hash tables
Implementing a hash table Indexing
ADTs vs. data structures

12.6 SUMMARYAND FURTHER DISCOVERY

*12.7 PROJECTS
12.1 Tracking GPS coordinates
12.2 Economic mobility
12.3 Slime mold aggregation
12.4 Boids in space
Bibliography

APPENDIX A ■ Python Library Reference

APPENDIX B ■ Selected Exercise Solutions

Index
_______________
* Sections with *** in lieu of a page number are available on the book website.
Preface

n my view, an introductory computer science course should strive to accomplish three


I things. First, it should demonstrate to students how computing has become a powerful
mode of inquiry, and a vehicle of discovery, in a wide variety of disciplines. This orientation
is also inviting to students of the natural and social sciences, and the humanities, who
increasingly benefit from an introduction to computational thinking, beyond the limited
“black box” recipes often found in manuals and “Computing for X” books. Second, the
course should engage students in computational problem solving, and lead them to discover
the power of abstraction, efficiency, and data organization in the design of their solutions.
Third, the course should teach students how to implement their solutions as computer
programs. In learning how to program, students more deeply learn the core principles, and
experience the thrill of seeing their solutions come to life.

Unlike most introductory computer science textbooks, which are organized around
programming language constructs, I deliberately lead with interdisciplinary problems and
techniques. This orientation is more interesting to a more diverse audience, and more
accurately reflects the role of programming in problem solving and discovery. A
computational discovery does not, of course, originate in a programming language feature in
search of an application. Rather, it starts with a compelling problem which is modeled and
solved algorithmically, by leveraging abstraction and prior experience with similar problems.
Only then is the solution implemented as a program.

Like most introductory computer science textbooks, I introduce programming skills in an


incremental fashion, and include many opportunities for students to practice them. The topics
in this book are arranged to ease students into computational thinking, and encourage them to
incrementally build on prior knowledge. Each chapter focuses on a general class of problems
that is tackled by new algorithmic techniques and programming language features. My hope
is that students will leave the course, not only with strong programming skills, but with a set
of problem solving strategies and simulation techniques that they can apply in their future
work, whether or not they take another computer science course.

I use Python to introduce computer programming for two reasons. First, Python’s intuitive
syntax allows students to focus on interesting problems and powerful principles, without
unnecessary distractions. Learning how to think algorithmically is hard enough without also
having to struggle with a non-intuitive syntax. Second, the expressiveness of Python (in
particular, low-overhead lists and dictionaries) expands tremendously the range of accessible
problems in the introductory course. Teaching with Python over the last fifteen years has
been a revelation; introductory computer science has become fun again.

Changes in the second edition


In this comprehensive, cover-to-cover update, some sections were entirely rewritten while
others saw only minor revisions. Here are the highlights:

Problem solving The new first chapter, How to Solve It, sets the stage by focusing on Polya’s
elegant four-step problem solving process, adapted to a computational framework. I
introduce informal pseudocode, functional decomposition, hand-execution with informal
trace tables, and testing, practices that are now carried on throughout the book. The
introduction to Python (formally Chapter 2) is integrated into this framework. Chapter 7,
Designing Programs, from the first edition has been eliminated, with that material spread out
more naturally among Chapters 1, 5, and 6 in the second edition.

Chapter 2, Visualizing Abstraction (based on the previous Chapter 3), elaborates on the
themes in Chapter 1, and their implementations in Python, introducing turtle graphics,
functions, and loops. The new Chapter 3, Inside a Computer (based on the previous Sections
1.4 and 2.5), takes students on a brief excursion into the simple principles underlying how
computers work.

Online materials To reduce the size of the printed book, we have moved some sections and
all of the projects online. These sections are marked in the table of contents with ***. Online
materials are still indexed in the main book for convenience.

Exercises I’ve added exercises to most sections, bringing the total to about 750. Solutions to
exercises marked with an asterisk are available online for both students and self-learners.

Digital humanities The interdisciplinary problems in the first edition were focused primarily
in the natural and social sciences. In this edition, especially in Chapters 1, 6, and 7, we have
added new material on text analysis techniques commonly used in the “digital humanities.”

Object-oriented design Chapter 12 begins with a new section to introduce object-oriented


design in a more concrete way through the development of an agent-based simulation of a
viral epidemic. The following sections flesh out more details on how to implement
polymorphic operators and collection classes.

Book website
Online materials for this book are available at
https://www.discoveringCS.net.

Here you will find


Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
• additional “optional” sections, marked with an asterisk in the main text,
• over thirty interdisciplinary programming projects,
• solutions to selected exercises,
• programs and data files referenced in the text, exercises, and projects, and
• pointers for further exploration and links to additional documentation.

To students
Active learning Learning how to solve computational problems and implement them as
computer programs requires daily practice. Like an athlete, you will get out of shape and fall
behind quickly if you skip it. There are no shortcuts. Your instructor is there to help, but he or
she cannot do the work for you.

With this in mind, it is important that you type in and try the examples throughout the text,
and then go beyond them. Be curious! There are numbered “Reflection” questions
throughout the book that ask you to stop and think about, or apply, something that you just
read. Often, the question is answered in the book immediately thereafter, so that you can
check your understanding, but peeking ahead will rob you of an important opportunity.

Further discovery There are many opportunities to delve into topics more deeply. “Tangent”
boxes scattered throughout the text briefly introduce related, but more technical or applied,
topics. For the most part, these are not strictly required to understand what comes next, but I
encourage you to read them anyway. In the “Summary and Further Discovery” section of
each chapter, you can find both a high-level summary of the chapter and additional pointers
to explore chapter topics in more depth.

Exercises and projects At the end of most sections are several programming exercises that
ask you to further apply concepts from that section. Often, the exercises assume that you
have already worked through all of the examples in that section. Solutions to the starred
exercises are available on the book website. There are also more involved projects available
on the book website that challenge you to solve a variety of interdisciplinary problems.

No prerequisites The book assumes no prior knowledge of computer science. However, it


does assume a modest comfort with high school algebra. In optional sections, trigonometry is
occasionally mentioned, as is the idea of convergence to a limit, but these are not relevant to
understanding the main topics in the book.

Have fun! Programming and problem solving should be a fun, creative activity. I hope that
this book sparks your curiosity and love of learning, and that you enjoy the journey as much
as I have enjoyed writing this book.

To instructors
This book is appropriate for a traditional CS1 course for majors, a CS0 course for non-majors
(at a slower pace and omitting more material), or a targeted introductory computing course
for students in the natural sciences, social sciences, or humanities.

The approach is gentle and holistic, introducing programming concepts in the context of
interdisciplinary problems. We start with problem-solving, featuring pseudocode and hand-
execution with trace tables, and carry these techniques forward, especially in the first half of
the book.

Problem focus Most chapters begin with an interesting problem, and new concepts and
programming techniques are introduced in the context of solving it. As new techniques are
introduced, students are frequently challenged to re-solve old problems in different ways.
They are also encouraged to reuse their previous functions as components in later programs.

Reflection questions, exercises, and projects “Reflection” questions are embedded in every
section to encourage active reading. These may also be assigned as “reading questions”
before class. The end-of-section exercises are appropriate for regular homework, and some
more complex ones may form the basis of longer-term assignments. The book website also
hosts a few dozen interdisciplinary projects that students may work on independently or in
pairs over a longer time frame. I believe that projects like these are crucial for students to
develop both problem solving skills and an appreciation for the many fascinating applications
of computer science.

Additional instructor resources All of the reflection questions and exercises are available to
instructors as Jupyter notebooks. Solutions to all exercises and projects are also available.
Please visit the publisher’s website to request access.

Python coverage This book is not intended to be a Python manual. Some features of the
language were intentionally omitted because they would have muddled the core problem
solving focus or are not commonly found in other languages that students may see in future
CS courses (e.g., simultaneous swap, chained comparisons, zip, enumerate in for loops).

Topic coverage There is more in this book than can be covered in a single semester, giving
instructors the opportunity to tailor the content to their particular situation and interests. As
illustrated in Figure 1, Chapter 1, Chapter 2, Chapter 3, Chapter 4, Chapter 5, Chapter 6,
Chapter 7 form the core of the book, and should be covered sequentially. The remaining
chapters can be covered, partially or entirely, at your discretion, although I would expect that
most instructors will cover at least parts of Chapter 8, Chapter 9, Chapter 10, and 12 if the
course covers object-oriented design. Chapter 11 introduces social network graphs and small-
world and scale-free networks as additional powerful applications of dictionaries, and may
come any time after Chapter 7. Sections marked with an asterisk are optional, in the sense
that they are not assumed for future sections in that chapter. When exercises and projects
depend on optional sections, they are also marked with an asterisk, and the dependency is
stated at the beginning of the project.
Figure 1 An overview of chapter dependencies.

Chapter outlines The following tables provide brief overviews of what is available in each
chapter. Each table’s three columns, reflecting the three parts of the book’s subtitle, provide
three lenses through which to view the chapter.

1 How to Solve It

Sample problems Principles Programming


• reading level • problems, input/output • int, float, str types
• counting syllables, • functional abstraction • arithmetic
words
• sphere volume • functional decomposition • assignment
• digital music • top-down design • variable names
• search engines • bottom-up • calling built-in
implementation functions
• GPS devices • algorithms and programs • using strings
• phone trees • pseudocode • string operators
• wind chill • names as references • print and input
• compounding interest • trace tables
• Mad Libs • constant- vs. linear-time

2 Visualizing Abstraction
Sample problems Principles Programming
• visualizing • using abstract data types • using classes and objects
earthquakes
• drawing flowers • creating functional • turtle module
• random walks abstractions • for loops (range and
lists)
• ideal gas • functional decomposition • using and writing
functions
• groundwater flow • bottom-up implementation • return vs. print
• demand functions • turtle graphics • namespaces and scope
• reading level • trace tables with loops • docstrings and
comments
• self-documenting code
• program structure

3 Inside a Computer

Principles Programming
• computer organization • int and float types
• machine language • arithmetic errors
• binary representations • true vs. floor division
• computer arithmetic
• finite precision, error propagation
• Boolean logic, truth tables, logic gates
• Turing machines, finite state machines

4 Growth and Decay

Sample problems Principles Programming


• population models • accumulators • for loops, range
• network value • list accumulators • format strings
• demand and profit • data visualization • matplotlib.pyplot
• loans and investing • conditional iteration • appending to lists
• bacterial growth • classes of growth • while loops
• radiocarbon dating • continuous models
• epidemics (SIR, SIS) • accuracy vs. time
• diffusion models • numerical approximation

5 Forks in the Road


Sample problems Principles Programming
• random walks • random number generators • random module
• Monte Carlo simulation • simulating probabilities • if/elif/else
• guessing games • flag variables • comparison operators
• polling and sampling • using distributions • Boolean operators
• DeMorgan’s laws • short circuit evaluation
• particle escape • defensive programming • predicate functions
• pre- and post-conditions • assert, isinstance
• unit testing • catching exceptions
• histograms
• while loops

6 Text, Documents, and DNA

Sample problems Principles Programming


• text analysis • functional decomposition • str class and methods
• word frequency trends • unit testing • iterating over strings, lists
• checksums • ASCII, Unicode • indexing and slicing
• concordances • linear-time algorithms • iterating over indices
• dot plots, plagiarism • time complexity • creating a module
• congressional votes • linear search • text files and the web
• genomics • string accumulators • break
• nested loops

7 Data Analysis

Sample problems Principles Programming


• word, bigram • histograms • list class
frequencies
• smoothing data • hash tables • indexing and slicing
• 100-year floods • tabular data files • list operators and
methods
• traveling salesman • efficient algorithm • reading CSV files
design
• meteorite sites • linear regression • modifying lists in place
• zebra migration • k-means clustering • list parameters
• tumor diagnosis • heuristics • tuples
• supply and demand • list comprehensions
• voting methods • dictionaries

8 Flatland
Random documents with unrelated
content Scribd suggests to you:
‘The Port au Foin is the nearest landing-place for the Rue St.
Antoine. And then to the Bastille!’
The stream was violent below the bridge; for the mill-boats
obstructed the free course of the river, and the Seine was still
swollen and turbid from the spring floods. But the rowers plied their
oars manfully, and, directed by one of the guard, who kept at the
head of the boat with the torch, were not long in arriving at the
landing-place indicated by Sainte-Croix, which was exactly on the
site of the present Pont Louis Philippe, conducting from the Place de
la Grêve to the back of Notre Dame.
Exili remained perfectly silent, but was trembling violently—more,
however, from his late immersion than from fear. His countenance
was pale and immovable, as seen by the glare of the torch; and he
compressed his under lip with his teeth until he nearly bit it through.
Neither did Sainte-Croix exchange another word with any of his
party; but, shrouded in his cloak, remained perfectly silent until the
boat touched the rude steps of the Pont au Foin.
A covered vehicle, opening behind, and somewhat like a modern
deer-cart, was waiting on the quay, with some armed attendants.
The arrival of the prisoner was evidently expected. By the direction
of Sainte-Croix he was carefully searched by the guard, and
everything being taken from him, he was placed in the vehicle,
whither his captor also followed him. The doors were then closed,
and the men with torches placing themselves at the sides and in
front of the vehicle, the cortege moved on.
It was a rough journey, then, to make from the Seine to the
Bastille; and it would have been made in perfect darkness but for the
lights and cressets of the watch. For the night was advancing; the
lanterns in the windows had burned out, or been extinguished; and
the tall glooming houses, which rose on either side of the Rue
Geoffry Lanier, by which thoroughfare they left the river side, threw
the road into still deeper obscurity, their only lights being observable
in the windows high up, where some industrious artisan was late at
work. A rude smoky lamp hung from the interior of the vehicle, and
by its gleam Sainte-Croix was watching his prisoner in silence. At
length Exili spoke.
‘You have been playing a deep game; and this time Fortune
favours you. But you took her as the discarded mistress of many
others; and she will in turn jilt you.’
‘Say rather we have both struggled for her, and you lost her by
your own incautious proceedings,’ replied Sainte-Croix. ‘We were
both at the brink of a gulf, on a frail precipice, where the fall of one
was necessary to the safety of the other. You are now my victim; to-
morrow I might have been yours.’
‘And whence comes the lettre de cachet?’
‘From those who have the power to give it. Had you been more
guarded in your speech on the carrefour to-day, you might have
again practised on the credulity of the dupes that surrounded you.’
‘For what term is my imprisonment?’
‘During the pleasure of the Minister of Police; and that may
depend upon mine. Our secrets are too terrible for both to be free at
once. You should not have let me know that you thought me in your
power.’
‘Has every notion of honour departed from you?’ asked Exili.
‘Honour!’ replied Sainte-Croix, with a short contemptuous laugh;
‘honour! and between such as we have become! How could you
expect honour to influence me, when we have so long despised it—
when it is but a bubble name with the petty gamesters of the world—
the watchword of cowardice fearing detection?’
There was a halt in the progress of the carriage as it now arrived
at the outer gate of the Bastille. Then came the challenge and the
answer; the creaking of the chains that let down the huge drawbridge
upon the edge of the outer court; and the hollow rumbling of the
wheels over its timber. It stopped at the inner portal; and when the
doors were opened, the governor waited at the carriage to receive
the new prisoner.
But few words were exchanged. The signature of the lettre de
cachet once recognised was all that was required, and Exili was
ordered to descend. He turned to Sainte-Croix as he was about to
enter the gate, and with a withering expression of revenge and
baffled anger, exclaimed—
‘You have the game in your own hands at present. Before the year
is out my turn will have arrived. Remember!’
CHAPTER IV.
THE STUDENTS OF 1665

Night came on, dark, cold, tempestuous. The fleeting beauty of the
spring evening had long departed; the moon became totally invisible
through the thick clouds that had been soaring onwards in gloomy
masses from the south; and the outlines of the houses were no
longer to be traced against the sky. All was merged in one deep
impenetrable obscurity. There were symptoms of a turbulent night.
The wind whistled keenly over the river and the dreary flats
adjoining; and big drops of rain fell audibly upon the paved court and
drawbridge of the Bastille.
The heavy gates slowly folded upon each other with a dreary
wailing sound, which spoke the hopeless desolation of all that they
enclosed. And when the strained and creaking chains of the
drawbridge had once more lowered the platform, Sainte-Croix
entered the vehicle by which he had arrived, and, giving some
directions to the guard, left the precincts of the prison.
As the carriage lumbered down the Rue St. Antoine, a smile of
triumph gleamed across the features of its occupant, mingled with
the expression of satire and mistrust which characterised every
important reflection that he gave way to. A dangerous enemy had
been, as he conceived, rendered powerless. There was but one
person in the world of whom he stood in awe; and that one was now,
on the dark authority of a lettre de cachet, in the inmost dungeon of
the Bastille. The career of adventures that he had planned to arrive
at the pinnacle of his ambitious hopes—and Gaudin de Sainte-Croix
was an adventurer in every sense of the word—now seemed laid
open before him without a cloud or hindrance. The tempestuous
night threw no gloomy forebodings upon his soul. The tumult of his
passions responded wildly to that of the elements, or appeared to
find an echo in the gusts of the angry wind, as it swept, loud and
howling, along the thoroughfares.
The carriage, by his orders, passed the Pont Marie, and, crossing
the Ile St. Louise, stopped before a house, still existing, in the Rue
des Bernardins, where his lodging was situated. The street leads off
from the quay on the left bank of the Seine, opposite the back of
Notre Dame; but, at the date of our story, was nearly on the outskirts
of the city. Here he discharged the equipage with the guard; and,
entering the house for a few minutes, returned enveloped in a large
military cloak, and carrying a lighted cresset on the end of a halberd.
He pressed hurriedly forward towards the southern extremity of
the city, passing beside the abbey of Sainte Geneviève, where the
Pantheon now stands. Beyond this, on the line of streets which at
present bear the name of the ‘Rues des Fosses,’ the ancient walls of
Paris had, until within a year or two of this period, existed; but the
improvements of Louis XIV., commenced at the opposite extremity of
the city, had razed the fortifications to the ground. Those to the north,
levelled and planted with trees, now form the Boulevards; the
southern line had, as yet, merely been thrown into ruins; and the
only egress from the town was still confined to the point where the
gates had stood, kept tolerably clear for the convenience of
travellers, and more especially those dwelling in the increasing
faubourgs. Even these ways were scarcely practicable. The water,
for want of drains, collected into perfect lakes, and the deep ruts
were left unfilled, so that the thoroughfare, hazardous by day,
became doubly so at night; in fact, it was a matter of some enterprise
to leave or enter the city at its southern outlet.
The rain continued to fall; and the cresset that Gaudin carried,
flickering in the night winds, oftentimes caused him to start and put
himself on his guard, at the fitful shadows it threw on the dismantled
walls and towers that bordered the way. At last a violent gust
completely extinguished it, and he would have been left in a most
unpleasant predicament, being totally unable to proceed or retrace
his steps in the perfect obscurity, had not a party of the marching
watch opportunely arrived. Not caring to be recognised, Sainte-Croix
slouched his hat over his face, and giving the countersign to the
chevalier du guet, requested a light for his cresset. The officer asked
him a few questions as to what he had seen; and stated that they
were taking their rounds in consequence of the increasing
brigandages committed by the scholars dwelling in the Quartier
Latin, as well as the inhabitants of the Faubourgs St. Jacques and
St. Marcel, between whom an ancient rivalry in vagabondising and
robbery had long existed. And, indeed, as we shall see, many high in
position in Paris were at this period accustomed to ‘take the road’—
some from a reckless spirit of adventure; others with the desire of
making up their income squandered at the gaming-table, or in the
lavish festivals which the taste of the age called forth.
He passed the counterscarp, and had reached the long straggling
street of the faubourg, when two men rushed from between the
pillars which supported the rude houses, and ordered him to stop.
Gaudin was immediately on his defence. He hastily threw off his
cloak, and drew his sword, parrying the thrust that one of the
assailants aimed at him, but still grasping his cresset in his left hand,
which the other strove to seize. They were both masked; and
pressed him somewhat hardly, as the foremost, in a voice he thought
he recognised, demanded his purse and mantle.
‘Aux voleurs!’ shouted Sainte-Croix, not knowing how many of the
party might be in ambush. There was no reply, except the echo to his
own voice. But, as he spoke, his chief assailant told the other, who
had wrested the light away, to desist; and drawing back, pulled off
his mask and revealed the features of the Marquis of Brinvilliers—the
companion of Sainte-Croix that afternoon on the Carrefour du
Châtelet.
‘Gaudin’s voice, a livre to a sou!’ exclaimed the Marquis.
‘Antoine!’ cried his friend as they recognised each other. ‘It is lucky
I cried out, although no help came. It takes a sharper eye and a
quicker arm than mine to parry two blades at once.’
The two officers looked at each other for a minute, and then broke
into a burst of laughter; whilst the third party took off his hat and
humbly sued for forgiveness.
‘And Lachaussée, too!’ continued Sainte-Croix, as he perceived it
was one of his dependants. ‘The chance is singular enough. I was
even now on my way to the Gobelins to find you, rascal.’
‘Then we are not on the same errand?’ asked the Marquis.
‘If you are out as a coupe-bourse, certainly not. What devil
prompted you to this venture? A woman?’ asked Sainte-Croix.
‘No devil half so bad,’ replied Brinvilliers; ‘but the fat Abbe de
Cluny. He goes frequently to the Gobelins after dark; it is not to order
tapestry only for his hôtel. Since the holy sisterhood of Port-Royal
have moved to the Rue de la Bourbe, he seeks bright eyes
elsewhere.’
‘I see your game,’ answered Gaudin; ‘you are deeper in debt than
in love. But it is no use waiting longer. This is not the night for a man
to rest by choice in the streets; and my cry appears at last to have
had an effect upon the drowsy faubourgs.’
As he spoke, he directed the attention of Brinvilliers to one of the
upper windows of a house whence a sleepy bourgeois had at last
protruded his head, enveloped in an enormous convolution of
hosiery. He projected a lighted candle before him, as he challenged
the persons below; but, ere the question reached them, it was
extinguished by the rain, and all was again dark and silent.
Sainte-Croix directed Lachaussée to pile together the embers in
the cresset, which the brief struggle had somewhat disarranged; and
then, as the night-wind blew them once more into a flame, he took
the arm of the Marquis, and, preceded by the overlooker of the
Gobelins, passed down the Rue Mouffetard.
They stopped at an old and blackened house, supported like the
others upon rough pillars of masonry, which afforded a rude covered
walk under the projecting stories; and signalised from the rest by a
lantern projecting over the doorway. Such fixed lights were then very
rare in Paris; and this was why the present was raised to the dignity
of an especial sign: and the words ‘A la Lanterne’ rudely painted on
its transparent side betokened a house of public entertainment.
Within the range of its light the motto ‘Urbis securitas et nitor’ was
scrawled along the front of the casement.
‘I shall give up my plan for to-night,’ said Brinvilliers as they
reached the door. ‘The weather has possibly kept the Abbe in the
neighbourhood of the Gobelins. You can shelter here: there are
some mauvais garçons still at table, I will be bound, that even Bras-
d’Acier himself would shrink from grappling with.’
Thus speaking, he knocked sharply at the door with the handle of
his sword, which he had kept unsheathed since his rencontre with
Sainte-Croix. A murmur of voices, which had been audible upon their
arriving, was instantly hushed, and, after a pause of a few seconds,
a challenge was given from within. Brinvilliers answered it: the door
was opened, and Sainte-Croix entered the cabaret, followed by
Lachaussée.
‘You are coming too, Antoine?’ asked Gaudin of his companion, as
the latter remained on the sill.
‘Not this evening,’ replied the Marquis. ‘You wished to see
Lachaussée, and this is the nearest spot where you could find
shelter without scrambling on through the holes and quagmires to
the Gobelins.’
‘But I know nobody here.’
‘Possibly they may know you, and my introduction is sufficient. I
have other affairs which must be seen to this evening, since my first
plan has failed. You will be with us to-morrow?’
‘Without fail,’ replied Gaudin.
Brinvilliers commended his companion to the care of the host, and
took his leave; whilst Sainte-Croix and Lachaussée were conducted
into an inner apartment in the rear of the house.
It was a low room, with the ceiling supported by heavy blackened
beams. The plaster of the walls was, in places, broken down; in
others covered with rude charcoal drawings and mottoes. A long
table was placed in the centre of the apartment; and over this was
suspended a lamp which threw a lurid glare upon the party around it.
This was composed of a dozen young men whom Sainte-Croix
directly recognised to be scholars of the different colleges. They
were dressed in every style of fashion according to their tastes—one
would not have seen appearances more varied in the Paris students
of the present day. Some still kept to the fashions of the preceding
reigns—the closely-clipped hair, pointed beard and ring of
moustache surrounding the mouth. Others had a semi-clerical habit,
and others again assimilated to the dress of the epoch; albeit the
majority wore their own hair. But in one thing they appeared all to
agree. Large wine-cups were placed before each, and flagons
passed quickly from one to the other round the table.
They stared at Sainte-Croix as he entered with his attendant, and
were silent. One of them, however, recognised him, and telling the
others that he was a friend, made a place for him at his side, whilst
Lachaussée took his seat at the chimney corner on a rude settle.
‘Your name, my worthy seigneur?’ exclaimed one of the party at
the head of the table; ‘we have no strangers here. Philippe Glazer,
tell your friend to answer.’
‘My name is Gaudin de Sainte-Croix. I am a captain in his
Majesty’s Normandy regiment. Yours is——?’
The collected manner in which the new-comer answered the
question evidently made an impression on the chairman. He was a
good-looking young man, with long dark hair and black eyes, clad in
a torn mantle evidently put on for the nonce, with an old cap adorned
with shells upon his head, and holding a knotty staff, fashioned like a
crutch, for a sceptre. He made a slight obeisance, and replied—
‘Well—you are frank with me; I will be the same. I have two
names, and answer to both equally. In this society of Gens de la
Courte Épée,1 I am called “Le Grand Coësre;” at the Hôtel Dieu they
know me better as Camille Theria, of Liége, in the United
Netherlands.’
At a sign from the speaker, one of the party took a bowl from
before him and pushed it along the table towards Sainte-Croix.
There were a few pieces of small money in it, and Gaudin directly
perceiving their drift threw in some more. A sound of acclamation
passed round the table, and he immediately perceived that he had
risen to the highest pitch in their estimation.
‘He is one of us!’ cried Theria. ‘Allons! Glazer—the song—the
song.’
The student addressed directly commenced; the others singing the
chorus, and beating time with their cups.

Glazer’s Song.
I.
Ruby bubbling from the flask,
Send the grape’s bright blood around;
Throw off steady life’s cold mask,
Every earthly care confound.
Here no rules are known,
Buvons!
Here no schools we own,
Trinquons!
Let wild glee and revelry
Sober thought dethrone.
Plan! Plan! Plan! Rataplan!

II.
Would you Beauty’s kindness prove?
Drink! faint heart ne’er gain’d a prize.
Hath a mistress duped your love?
Drink! and fairer forms will rise.
Clasp’d may be the zone,
Buvons!
Even to the throne.
Trinquons!
But full well the students know
Beauty is their own.
Plan! Plan! Plan! Rataplan!

III.
Soaring thoughts our minds entrance,
Now we seem to spurn the ground.
See,—the lights begin to dance,
Whirling madly round and round.
Still the goblet drain,
Buvons!
Till each blazing vein
Trinquons!
Sends fresh blood in sparkling flood
To the reeling brain.
Plan! Plan! Plan! Rataplan!

‘Your voice ought to make your fortune, Philippe,’ said Sainte-


Croix, who appeared to know the student intimately.
‘Pardieu! it does me little service. Theria, there, who cannot sing a
note, keeps all the galanteries to himself. Ho! Maître Camille! here I
pledge your last conquest.’ And he raised his cup as he added,
‘Marie-Marguerite de Brinvilliers!’
Sainte-Croix started at the name; his eyes, flashing with anger,
passed rapidly from one to the other of the two students.
‘Chut!’ cried another of the students, a man of small stature, who
was dressed in the court costume of the period, but shabbily, and
with every point exaggerated. ‘Chut! Monsieur perchance knows la
belle Marquise, and will not bear to hear her name lipped amongst
us?’
The student had noticed the rapid change and expression of
Sainte-Croix’s countenance.
‘No, no—you are mistaken,’ said Gaudin. ‘I am slightly acquainted
with the lady. I served with her husband.’
‘Jean Blacquart,’ said Glazer, with much solemnity, to the scholar
who had last spoken, ‘if you interrupt the conversation again, I shall
let out your Gascon blood with the cook’s spit, and then drop you
into the Bièvre. Remember it runs underneath the window.’
The Gascon—for so he was—was immediately silent.
‘The Captain Gaudin cannot know less of La Brinvilliers than I do,’
continued Theria, ‘save by report, as a charitable and spirited lady. I
met her at mass a fortnight since, at the Jacobins in the Rue St.
Honoré, and escorted her from a tumult that rose in the church. I
might have improved on my acquaintance had that senseless
Blacquart permitted me.’
The scholars looked towards Blacquart, and simultaneously broke
into the same kind of noise they would have made in chasing an
animal from the room. The Gascon was evidently the butt of the
society.
‘Explain!’ cried several to Theria. ‘What was the tumult owing to?’
‘A woman, of course,’ answered Camille. ‘You know La Duménil?’
‘Proceed, proceed,’ exclaimed the others. The name was
apparently well known amongst the scholars.
‘Well—her lackey stumbled against the chair on which Madame de
la Beaume was kneeling, and got a box on the ears from the latter
for his stupidity, that rang all through the church. La Duménil took
part with her servant, and soundly abused the other, to which La
Beaume replied as heartily, and the service was stopped.’
‘The quarrel must have been amusing,’ observed Glazer.
‘Ventrebleu! the women in the halles and markets would have
turned pale at their salutations. At last La Duménil threw a missal at
her opponent’s head, which well-nigh brought her to the ground. The
people collected about them, and Madame de Brinvilliers was nearly
crushed by the crowd, when I rescued her and led her to the porch.’
‘And what said she, Camille?’ inquired Glazer.
‘She was thanking me earnestly, and might have expressed
something more, when that no-witted Blacquart spoilt everything by
calling me back again. In his Gascon chivalry to defend La Beaume
he had drawn his sword against Duménil.’
‘I think that was somewhat courageous though,’ returned Glazer
with mock approbation. ‘Did you really do this, Jean?’
‘On my faith I did,’ answered the Gascon, brightening up; ‘and
would do it again. I should like to see the woman in Paris that I am
afraid of.’
A roar of applause greeted Blacquart’s heroism, and the attention
of the party was immediately turned towards the Gascon, to the
great relief of Sainte-Croix, who during the anecdote had been ill at
ease. He could have added that he had himself escorted the
marchioness from the Jacobins when Theria was recalled.
‘I propose,’ cried Camille, ‘that, for his bravery, Jean Blacquart be
invested with the ancient Order of Montfauçon.’
‘Agreed,’ cried the others, rising and surrounding the Gascon,
whose countenance betrayed a mixed expression of self-conceit and
apprehension.
‘Ho, messire!’ exclaimed Theria to Lachaussée, who had remained
all the time sitting near the fire; ‘we appoint you Master of the Halter.
Take it, and tie it round that beam.’
He threw a cord to Sainte-Croix’s attendant as he spoke, who
fastened it to the point indicated, with its running noose hanging
down.
‘What are you going to do?’ demanded Blacquart, getting
somewhat terrified.
‘To hang you,’ replied Camille: ‘but only for a little time. Glazer and
myself will mind your pulse carefully; and when you are nearly dead
you may depend upon it that we shall cut you down.’
‘But—I say—Theria—Philippe!’ cried Jean in an agony of fright. He
had witnessed so many of their wild pranks that he did not know
what they were about to do.
‘Père Camus,’ cried the master of the Gens de la Courte Épée to
one of the party bearing a costume of the church—a broken-down
and dissipated abbe. ‘Père Camus, chant a mass for the departing
courage of Jean Blacquart.’
‘Au secours!’ shrieked the Gascon; ‘au feu! aux voleurs! au——’
His further cries for help were cut short by one of the scholars
thrusting a baked apple into his mouth, and immediately tying his
scarf over it. The miserable little Gascon was directly seized and
hoisted on to the table, in spite of his violent struggles; whilst the
abbe commenced a profane chant, intended as a parody upon some
religious service.
Where their frolic might have ended cannot be defined. The
consequences of the orgies in the time of Louis XIV., in every
position of life, were little cared for; and the unhappy Jean might
have been strangled by accident with very little compunction, had not
a violent knocking at the door alarmed the revellers, and caused
them to desist for the minute from their lawless proceedings. A
silence ensued, unbroken except by the efforts of the Gascon to
release himself, in the course of which he kicked the flagons and
goblets about in all directions.
‘Open to the Garde Bourgeois!’ cried a voice outside.
There was no resisting the command. The host unbarred the door,
and a little pursy man, who looked like a perambulating triumphal car
of apoplexy, entered the cabaret.
‘Master Poncelet,’ he said to the host, as he shook his head, until
his face was a deep crimson; ‘this is against the law, and I must look
to it, as answerable for the morality of the faubourgs. We cannot
allow this brawling four hours after curfew—we cannot allow it.’
‘If you had come two minutes later,’ said Blacquart, as he forced
himself from his tormentors, ‘you would have seen me a——’
Under what guise the Garde Bourgeois would have seen Jean
Blacquart was never made known to him. A back-handed blow from
Theria overturned the Gascon into the corner of the room, from
whence he did not care to arise, not knowing what reception might
next await him.
‘Maître Picard,’ said the host with respect, addressing the patrol;
‘these are learned clerks—scholars of Mazarin and of Cluny; with
some from the Hôtel Dieu. They seek the faubourgs for quiet and
study.’
‘I cannot help it, Master Poncelet,’ replied the bourgeois; ‘the
morality of St. Marcel requires the utmost vigilance of its
superintendents. Messieurs, you must respect my authority, and put
out all the lights directly.’
‘Call in your guard to do it,’ said Philippe Glazer; ‘we are not
lackeys.’
‘My guard is now going round the Rue du Puits qui Parle,’ replied
the bourgeois, ‘wherein is much evil congregated. I am here. Our
good king Louis is The State. I am The Guard.’
‘Thank you—thank you, Maître Picard,’ said Theria. ‘I respect you,
although you made me a cap last year of a villainous fabric, and told
me that it was the best cloth of Louvain; you forgot I breathed my
first gasp of air in Brabant. And you are sure that the guard cannot
put out our lights?’
‘I have told you they are not near us,’ said the bourgeois, offended
at being obliged to repeat the intelligence.
‘Excellent!’ observed Theria. ‘Philippe, close the door, and let
Maître Picard take us all into custody.’
Glazer immediately obeyed the command of their chairman, whilst
the others huddled round the luckless little bourgeois, who began to
feel remarkably uncomfortable.
‘Respite the Gascon and hang Maître Picard in his stead, by his
heels,’ said Theria.
‘I give you all warning!’ cried Picard; ‘I give you all warning! I am a
quartenier and can punish you all. Keep your hands away!’
Sainte-Croix, at the first appearance of the bourgeois, had thrown
his cloak over his shoulders, not wishing to be recognised in his
military dress, and had retreated with Lachaussée into a corner of
the room, whither Maître Picard followed him with an appealing
glance, noting that his appearance was somewhat more respectable
than that of the scholars.
‘I tell you, you do this at your peril,’ screamed Picard. ‘The police
show no mercy to the vagabonds and mauvais garçons who maltreat
an enlightened bourgeois.’
‘We thank you for the hint,’ said Theria. ‘Ho! mes enfants; in
consideration of Maître Picard’s enlightenment we incline to mercy
and utility. Let us hang him before the door, and save our host’s
candles. La Reinie never thought of so grand an illumination as an
enlightened bourgeois.’
‘Agreed!’ cried the scholars. ‘A la lanterne! à la lanterne!’

The Students Enlightening Maître Picard


CHAPTER V.
SAINTE-CROIX AND HIS CREATURE

The cry had not the terrible meaning which it carried a century
afterwards, but it was sufficiently mischievous to offer but little relief
to Maître Picard. In an instant he was borne off his legs, and hoisted
on the shoulders of the scholars; whilst Philippe Glazer thrust a link
into the fire, and when it was kindled preceded the procession to the
door. Some of his companions dragged out a table and a chair, in
spite of the rain, into the street; and forming a kind of scaffold they
rapidly took down the lantern and perched Maître Picard, link in
hand, upon its iron support, directly removing every means of
escape from beneath him.
The poor little bourgeois was in a lamentable position. The
ironwork of the lamp was anything but trustworthy; and, albeit a man
of small stature, he was heavily inclined. With one hand he grasped
his unenviable seat and with the other he sustained the link, not
daring to put it out, for fear of some new infliction that his tormentors
might invent.
‘Salut! Maître Picard,’ cried Theria, doffing his bonnet. ‘Who
arrested Jean Sauval, at the Sorbonne, for taking the cloak from
Bussi-Rabuten on the Pont Neuf?’
‘Filou!’ cried the bourgeois.
‘Who pointed out to the watch where François de Chanvalon, the
archbishop, went, instead of to Notre Dame? Salut, bourgeois!’ cried
Philippe Glazer, with another pretended obeisance.
And then the scholars joined their hands, and performed a wild
dance around him.
‘Stay awhile, stay awhile!’ exclaimed Maître Picard. ‘Now you shall
see what I can do. Here comes the Guet Royal. Aux voleurs! aux
voleurs!!’
The little man was right. From his elevated position he had seen
the guard with their lights turning round the corner of the Rue
Mouffetard, and he now hailed them with all the force of his lungs,
kicking his legs in nervous anxiety until one of his shoes fell off upon
Glazer’s head, who directly returned it, flinging it at the little man with
a force that almost upset him from his treacherous position.
The scholars instantly took the alarm (for some of the mounted
guard were riding down the street), and fled in all directions along
the narrow and dark outlets of the Faubourg St. Marcel. Lachaussée,
who, with Sainte-Croix, had been a spectator of the scene, seized
the officer by the arm and drew him into the house.
‘It will not do for you to be found here, monsieur,’ he said; ‘follow
me—we can get off by the Bièvre.’
He closed the door after them, and telling the host not to admit the
guard, but let them break in if they chose, passed through the room
lately occupied by the scholars, and throwing open the window,
stepped out upon the bank of the Bièvre—a small stream running
from the south, which flows into the Seine a little above the present
Pont d’Austerlitz by the Jardin des Plantes. It was now swollen with
the rains, and was rushing angrily by the narrow path, along which
Lachaussée led the way, having once more closed the window.
They crept along, clinging like bats to the walls of the houses that
bordered the stream, at the risk of falling into it every minute, until
Lachaussée stopped at a small gate, to which he applied a pass-key.
It opened, and Sainte-Croix found himself in an outer court of the
Gobelins. This they crossed, and were immediately afterwards in
one of the apartments apportioned to the superintendents.
Lachaussée raked together some embers on the hearth, which he
soon blew into a flame, and then lighted a lamp; whilst Sainte-Croix
once more threw off his cloak and took his place on one of the
settles.
‘So,’ he exclaimed, ‘we are once more housed. Your night’s
adventure is so far to be considered fortunate, as I might have
looked for you long enough here, it seems.’
‘The purse of the Marquis wanted replenishing,’ replied
Lachaussée in an easy tone. ‘You did not let me know you were
coming, or I might have stayed at home.’
‘I am chilled and wearied,’ said Sainte-Croix; ‘have you no wine?’
‘Better than ever paid duty in the city,’ said Lachaussée, producing
a bottle from a closet. ‘They watch the town, but forget the river.’
‘That is right good Burgundy,’ observed Sainte-Croix, as he tasted
it.
‘The best that the vineyards of Auxerre can produce. One needs it
in such a dismal outskirt, Heaven knows!’
‘Your position might be worse.’
‘It might be much better,’ returned Lachaussée carelessly. ‘I am
glad you have come. I spoke to the Marquis about entering his
service, for I am somewhat weary of the faubourgs; and he referred
me to you. You do not want a character, I presume, or a reference?’
He gave out these words full of meaning, and looked earnestly at
Sainte-Croix as he uttered them.
‘You will remain here during my pleasure,’ replied the other,
refilling his glass.
‘And suppose it wearies me?’
‘I shall tell you a story to amuse you and beguile the time,’ Gaudin
answered. ‘But possibly you know it: it relates to an event that
occurred some three years back at Milan.’
Lachaussée was pouring out some wine for himself. He placed the
cup down on the table, and regarded Sainte-Croix with a look of
mingled fear and mistrust. Gaudin cast his eye round, and perceiving
that the attention of the other was arrested, continued—
‘There were two soldiers staying at the Croce Bianca: one was an
officer in the French service, the other a renegade who turned his
back upon the Fronde with the Prince de Condé; went with him into
Spain to take up arms against his own country; and then, when the
chances turned, deserted again and joined the French army. He
must have been a double knave. What think you?’
Lachaussée gave no answer. He moved his lips in reply, but no
sound escaped them.
‘The resources of these two were nearly exhausted,’ resumed
Sainte-Croix—‘for they led a gallant life, when a French nobleman,
rich and young, arrived at Milan. He was courted, feted, in all circles;
and he became introduced to the officer and his companion. They
marked him for their prey; and one night, at the gaming-table, carried
off a large sum of money, offering the noble his revenge on the
following evening at the Croce Bianca. He embraced the chance,
and came alone; fortune once more patronised him, and he gained
back, not merely what he had lost, but every sou the others
possessed in the world.
‘There was a grand festival that evening given by one of the
Borromeo family, and the officer departed to it, leaving the renegade
and the nobleman still playing. In the middle of the fete, a mask
approached the officer and slipped a letter into his hand, immediately
quitting the assembly.’
Sainte-Croix took a small pouncet-box from his breast, and
opened it. He then unfolded a scrap of paper, and continued—
‘It read as follows: “Exili’s potion has done its work. I have started
with everything to the frontier. Do not return to the Croce Bianca until
after daybreak.” The officer followed the advice; and when he went
back to the inn the noble had been found dead in the room, with an
empty phial of the terrible “Manna of St. Nicholas de Barri”2 clutched
in his hand. He was presumed to have committed suicide, and the
crime was in twenty-four hours hidden by the grave. The officer soon
afterwards left Milan and joined the other in Paris. His name was
Gaudin de Sainte-Croix; the renegade and real murderer was called
Lachaussée.’
‘What is the use of thus recalling all that has long past?’ said
Lachaussée, who, during Gaudin’s story, had recovered his
composure. ‘The same blow that strikes one, must hurl the other as
well to damnation. Exili, who is known to be in Paris, could crush us
both.’
‘Exili has been this night conveyed to the Bastille by a lettre de
cachet,’ replied Sainte-Croix; ‘and this small piece of writing is
enough to send you to join him. You were grumbling at your position:
a subterranean cell in St. Antoine is less pleasant than this room at
the Gobelins.’
‘I am as much at your disposal as at your mercy,’ returned
Lachaussée, swallowing down a large draught of wine. ‘What next
do you require of me?’
‘No very unpleasant task,’ said Sainte-Croix. ‘It regards a woman,
young, and fair enough, in all conscience. She has been working
here, it seems, until a very short period since. Have you the name of
Louise Gauthier amongst the artists of your ateliers?’
‘Surely,’ replied Lachaussée; ‘a haughty minx enough. She left a
day or two back, displeased with my attention; at least, she said so. I
know not where she is gone.’
A spasm crossed the features of Sainte-Croix during this speech
of the superintendent, as he eyed him with an expression of
contempt, amounting to disgust: but this passed, and he continued—
‘I can tell you: she is staying at the boat-mill below the Pont Notre
Dame. You must go to-morrow and ascertain if she is still there. In
the event of finding her, contrive so that she may be under your
control; place her in some situation where she can never see me, or
follow me, again. Do you understand?’
‘Perfectly,’ returned Lachaussée; ‘though mine would not be the
advice she would the soonest follow.’
And then he added, as he regarded Sainte-Croix with a piercing
look—
‘You have sent Exili to the Bastille. He might have aided us.’
‘No more!’ cried Sainte-Croix, as he perceived the meaning of the
other. ‘No more! I must be freed from her annoyance. Other
prospects are opening to me, which her presence would cloud and
destroy—but remember, you will be held answerable for the slightest
injury that may affect her. If you want money, you have only to apply
to me for it; but, by Heaven! if every sou of what you draw is not
appropriated to her sole use, your life shall answer for it. Am I
understood?’
‘You may count upon me,’ answered Lachaussée. ‘She shall never
trouble you more. I believe the girl is entirely destitute. Perhaps she
may look upon me with more favour when she finds how utterly
dependent she will be upon my liberality.’
‘I shall not return to the Rue des Bernardins to-night,’ said Sainte-
Croix. ‘You must accommodate me here, and to-morrow we will
leave together on our separate missions.’
There was a small apartment opening from the chamber wherein
this conversation had taken place, to which Lachaussée conducted
his companion. In the corner was a truckle bed, without furniture.
Gaudin threw his cloak upon it; and ordering the other to bring in the
embers from the fire-place, and place them upon the hearth, closed
the door as the task was finished, and prepared to retire to rest. He
merely took off his upper garments, and then lay carelessly down
upon the rude couch, placing his sword and pistols within his grasp
upon a chair by the side. He heard the steps of Lachaussée retiring,
and then all was still as the grave. The cold air of the room rushed
up the chimney and fanned the braise into a light flame, which threw
the mouldings of the room in flitting and grotesque shadows upon
the walls and ceiling. As slumber came upon him, these assumed
regular forms in his fevered imagination. He fancied Exili and
Lachaussée appeared, and were dragging him down into a gulf,
when Louise Gauthier stretched out her arm, and they could not
pass her; and then another female, almost equally young and
beautiful, with a countenance that was ever before him, sleeping and
waking, in the rich apparel of a grand lady, drew him away from the
rest, and told him to escape with her. He attempted to fly, but his feet
were riveted to the ground, and the others were already in pursuit.
They came nearer and nearer, and were about to lay hands on him
once more, when in his agony he awoke, and starting up on the bed
glared wildly about the room. By the light of the declining embers he
perceived some one moving in the chamber, and in the alarmed
voice of a person suddenly aroused from a frightful dream he
challenged the intruder.
‘It is I, Lachaussée,’ cried the superintendent, for it was he. ‘I—I
came to see what you wanted. You have been moaning bitterly in
your sleep; I knew not what might happen to you.’
‘It was nothing,’ returned Gaudin. ‘I have drunk deeply this
evening, and my sleep is fevered and troubled. Get you to bed
yourself, and do not enter this room again except I summon you.’
Lachaussée departed without a word; and, as soon as he was
gone, Sainte-Croix moved the bed from the wall and placed its foot
against the door; he then once more lay down, but not for sleep.
Every night-noise caused him to start up and listen anxiously for
some minutes, in the apprehension that the treachery of Lachaussée
might once more bring him to the room.
Daylight came slowly through the window, and the sound of the
early artisans assembling in the court-yards for their work was heard
below, when he at last sank into a deep and unbroken morning
slumber.

You might also like