100% found this document useful (1 vote)
7 views

Introduction to Computation and Programming Using Python with Application to Understanding Data 2nd edition Edition Guttag instant download

The document is a digital download link for the second edition of 'Introduction to Computation and Programming Using Python' by John V. Guttag, published by MIT Press in 2016. It includes a comprehensive table of contents covering various programming concepts, algorithms, and data structures using Python. Additionally, it provides links to other related programming and computer science textbooks.

Uploaded by

farrajakoja
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
7 views

Introduction to Computation and Programming Using Python with Application to Understanding Data 2nd edition Edition Guttag instant download

The document is a digital download link for the second edition of 'Introduction to Computation and Programming Using Python' by John V. Guttag, published by MIT Press in 2016. It includes a comprehensive table of contents covering various programming concepts, algorithms, and data structures using Python. Additionally, it provides links to other related programming and computer science textbooks.

Uploaded by

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

Introduction to Computation and Programming

Using Python with Application to Understanding


Data 2nd edition Edition Guttag pdf download

https://ebookfinal.com/download/introduction-to-computation-and-
programming-using-python-with-application-to-understanding-
data-2nd-edition-edition-guttag/

Explore and download more ebooks or textbooks


at ebookfinal.com
Here are some recommended products for you. Click the link to
download, or explore more at ebookfinal

Practical Programming An Introduction to Computer Science


Using Python 3 Second Edition Paul Gries

https://ebookfinal.com/download/practical-programming-an-introduction-
to-computer-science-using-python-3-second-edition-paul-gries/

Introduction to Scientific Programming and Simulation


Using R 2nd Edition Owen Jones

https://ebookfinal.com/download/introduction-to-scientific-
programming-and-simulation-using-r-2nd-edition-owen-jones/

Programming Python with CD 2nd Edition Mark Lutz

https://ebookfinal.com/download/programming-python-with-cd-2nd-
edition-mark-lutz/

Head First Programming A Learner s Guide to Programming


Using the Python Language 1st Edition David Griffiths

https://ebookfinal.com/download/head-first-programming-a-learner-s-
guide-to-programming-using-the-python-language-1st-edition-david-
griffiths/
Programming Elastic MapReduce Using AWS Services to Build
an End to End Application 1st Edition Schmidt

https://ebookfinal.com/download/programming-elastic-mapreduce-using-
aws-services-to-build-an-end-to-end-application-1st-edition-schmidt/

Hacking Secret Ciphers with Python A beginner s guide to


cryptography and computer programming with Python 1st
Edition Al Sweigart
https://ebookfinal.com/download/hacking-secret-ciphers-with-python-a-
beginner-s-guide-to-cryptography-and-computer-programming-with-
python-1st-edition-al-sweigart/

Problem Solving in Data Structures Algorithms Using Python


Programming Interview Guide 1st Edition Hemant Jain

https://ebookfinal.com/download/problem-solving-in-data-structures-
algorithms-using-python-programming-interview-guide-1st-edition-
hemant-jain/

Introduction to Computation and Modeling for Differential


Equations 2nd Edition Lennart Edsberg

https://ebookfinal.com/download/introduction-to-computation-and-
modeling-for-differential-equations-2nd-edition-lennart-edsberg/

Understanding and Using Scientific Evidence How to


Critically Evaluate Data 1st Edition Richard Gott

https://ebookfinal.com/download/understanding-and-using-scientific-
evidence-how-to-critically-evaluate-data-1st-edition-richard-gott/
Introduction to Computation and Programming Using
Python with Application to Understanding Data 2nd
edition Edition Guttag Digital Instant Download
Author(s): Guttag, John V
ISBN(s): 9780262529624, 0262529629
Edition: 2nd edition
File Details: PDF, 8.51 MB
Year: 2016
Language: english
Introduction to
Computation and
Programming Using Python
with Application to Understanding Data
Introduction to
Computation and
Programming Using Python
with Application to Understanding Data

Second Edition

John V. Guttag

The MIT Press


Cambridge, Massachusetts
London, England
© 2016 Massachusetts Institute of Technology
All rights reserved. No part of this book may be reproduced in any form by any
electronic or mechanical means (including photocopying, recording, or infor-
mation storage and retrieval) without permission in writing from the publisher.

Printed and bound in the United States of America.

Library of Congress Cataloging-in-Publication Data

Names: Guttag, John, author.


Title: Introduction to computation and programming using Python : with
application to understanding data / John V. Guttag.
Description: Second edition. | Cambridge, MA : The MIT Press, [2017] |
Includes index.
Identifiers: LCCN 2016019367 | ISBN 9780262529624 (pbk. : alk. paper)
Subjects: LCSH: Python (Computer program language)--Textbooks. |
Computer programming--Textbooks.
Classification: LCC QA76.73.P98 G88 2017 | DDC 005.13/3--dc23 LC record
available at https://lccn.loc.gov/2016019367

10 9 8 7 6 5 4 3 2 1
To my family:

Olga
David
Andrea
Michael
Mark
Addie
CONTENTS

PREFACE .................................................................................................................... xiii


ACKNOWLEDGMENTS .........................................................................................xvii
1 GETTING STARTED .............................................................................................. 1
2 INTRODUCTION TO PYTHON .......................................................................... 7
2.1 The Basic Elements of Python ........................................................................ 9
2.1.1 Objects, Expressions, and Numerical Types .......................................... 9
2.1.2 Variables and Assignment ..................................................................... 12
2.1.3 Python IDE’s ........................................................................................... 14
2.2 Branching Programs ...................................................................................... 15
2.3 Strings and Input ........................................................................................... 18
2.3.1 Input ......................................................................................................... 20
2.3.2 A Digression About Character Encoding ............................................ 21
2.4 Iteration .......................................................................................................... 22
3 SOME SIMPLE NUMERICAL PROGRAMS ..................................................... 25
3.1 Exhaustive Enumeration ............................................................................... 25
3.2 For Loops ........................................................................................................ 27
3.3 Approximate Solutions and Bisection Search ............................................ 30
3.4 A Few Words About Using Floats ................................................................ 34
3.5 Newton-Raphson ........................................................................................... 37
4 FUNCTIONS, SCOPING, AND ABSTRACTION ............................................ 39
4.1 Functions and Scoping .................................................................................. 40
4.1.1 Function Definitions .............................................................................. 40
4.1.2 Keyword Arguments and Default Values............................................. 42
4.1.3 Scoping..................................................................................................... 43
4.2 Specifications.................................................................................................. 47
4.3 Recursion ........................................................................................................ 50
4.3.1 Fibonacci Numbers ................................................................................ 52
4.3.2 Palindromes............................................................................................. 54
4.4 Global Variables ............................................................................................. 57
4.5 Modules .......................................................................................................... 59
4.6 Files ................................................................................................................. 61
viii INTRODUCTION TO COMPUTATION AND PROGRAMMING USING PYTHON

5 STRUCTURED TYPES, MUTABILITY, AND HIGHER-ORDER


FUNCTIONS .......................................................................................................... 65
5.1 Tuples .............................................................................................................. 65
5.1.1 Sequences and Multiple Assignment .................................................... 67
5.2 Ranges ............................................................................................................. 67
5.3 Lists and Mutability ....................................................................................... 68
5.3.1 Cloning .................................................................................................... 73
5.3.2 List Comprehension ............................................................................... 74
5.4 Functions as Objects...................................................................................... 75
5.5 Strings, Tuples, Ranges, and Lists ................................................................ 77
5.6 Dictionaries .................................................................................................... 79
6 TESTING AND DEBUGGING .............................................................................85
6.1 Testing .............................................................................................................. 86
6.1.1 Black-Box Testing ................................................................................. .87
6.1.2 Glass-box Testing .................................................................................... 88
6.1.3 Conducting Tests .................................................................................. .90
6.2 Debugging ...................................................................................................... 92
6.2.1 Learning to Debug .................................................................................. 94
6.2.2 Designing the Experiment ..................................................................... 95
6.2.3 When the Going Gets Tough ................................................................. 98
6.2.4 When You Have Found “The” Bug ....................................................... 99
7 EXCEPTIONS AND ASSERTIONS .................................................................. 101
7.1 Handling Exceptions ................................................................................... 101
7.2 Exceptions as a Control Flow Mechanism ................................................ 105
7.3 Assertions ..................................................................................................... 108
8 CLASSES AND OBJECT-ORIENTED PROGRAMMING ............................ 109
8.1 Abstract Data Types and Classes ............................................................... 109
8.1.1 Designing Programs Using Abstract Data Types .............................. 114
8.1.2 Using Classes to Keep Track of Students and Faculty ...................... 115
8.2 Inheritance.................................................................................................... 118
8.2.1 Multiple Levels of Inheritance ............................................................. 121
8.2.2 The Substitution Principle ................................................................... 123
8.3 Encapsulation and Information Hiding .................................................... 123
8.3.1 Generators ............................................................................................. 128
8.4 Mortgages, an Extended Example.............................................................. 130
9 A SIMPLISTIC INTRODUCTION TO ALGORITHMIC COMPLEXITY .. 135
9.1 Thinking About Computational Complexity ........................................... 135
9.2 Asymptotic Notation ................................................................................... 139
CONTENTS ix

9.3 Some Important Complexity Classes ........................................................ 141


9.3.1 Constant Complexity ........................................................................... 141
9.3.2 Logarithmic Complexity ...................................................................... 141
9.3.3 Linear Complexity ................................................................................ 142
9.3.4 Log-Linear Complexity ........................................................................ 144
9.3.5 Polynomial Complexity ....................................................................... 144
9.3.6 Exponential Complexity ...................................................................... 145
9.3.7 Comparisons of Complexity Classes .................................................. 147
10 SOME SIMPLE ALGORITHMS AND DATA STRUCTURES ...................... 151
10.1 Search Algorithms ....................................................................................... 152
10.1.1 Linear Search and Using Indirection to Access Elements ................ 153
10.1.2 Binary Search and Exploiting Assumptions ...................................... 154
10.2 Sorting Algorithms ...................................................................................... 158
10.2.1 Merge Sort ............................................................................................. 159
10.2.2 Exploiting Functions as Parameters ................................................... 162
10.2.3 Sorting in Python.................................................................................. 162
10.3 Hash Tables .................................................................................................. 164
11 PLOTTING AND MORE ABOUT CLASSES .................................................. 169
11.1 Plotting Using PyLab ................................................................................... 169
11.2 Plotting Mortgages, an Extended Example ............................................... 175
12 KNAPSACK AND GRAPH OPTIMIZATION PROBLEMS.......................... 183
12.1 Knapsack Problems ..................................................................................... 184
12.1.1 Greedy Algorithms ............................................................................... 184
12.1.2 An Optimal Solution to the 0/1 Knapsack Problem ......................... 188
12.2 Graph Optimization Problems ................................................................... 190
12.2.1 Some Classic Graph-Theoretic Problems .......................................... 195
12.2.2 Shortest Path: Depth-First Search and Breadth-First Search .......... 196
13 DYNAMIC PROGRAMMING .......................................................................... 203
13.1 Fibonacci Sequences, Revisited .................................................................. 203
13.2 Dynamic Programming and the 0/1 Knapsack Problem ........................ 205
13.3 Dynamic Programming and Divide-and-Conquer ................................. 213
14 RANDOM WALKS AND MORE ABOUT DATA VISUALIZATION ......... 215
14.1 Random Walks ............................................................................................. 216
14.2 The Drunkard’s Walk .................................................................................. 217
14.3 Biased Random Walks................................................................................. 224
14.4 Treacherous Fields ....................................................................................... 231
x INTRODUCTION TO COMPUTATION AND PROGRAMMING USING PYTHON

15 STOCHASTIC PROGRAMS, PROBABILITY, AND


DISTRIBUTIONS ............................................................................................... 235
15.1 Stochastic Programs .................................................................................... 236
15.2 Calculating Simple Probabilities ................................................................ 238
15.3 Inferential Statistics ..................................................................................... 239
15.4 Distributions ................................................................................................ 254
15.4.1 Probability Distributions ..................................................................... 256
15.4.2 Normal Distributions ........................................................................... 258
15.4.3 Continuous and Discrete Uniform Distributions ............................. 263
15.4.4 Binomial and Multinomial Distributions .......................................... 264
15.4.5 Exponential and Geometric Distributions ........................................ 265
15.4.6 Benford’s Distribution.......................................................................... 269
15.5 Hashing and Collisions ............................................................................... 269
15.6 How Often Does the Better Team Win?.................................................... 272
16 MONTE CARLO SIMULATION ...................................................................... 275
16.1 Pascal’s Problem ........................................................................................... 276
16.2 Pass or Don’t Pass?....................................................................................... 277
16.3 Using Table Lookup to Improve Performance ......................................... 282
16.4 Finding π....................................................................................................... 283
16.5 Some Closing Remarks About Simulation Models .................................. 288
17 SAMPLING AND CONFIDENCE INTERVALS ............................................. 291
17.1 Sampling the Boston Marathon ................................................................. 292
17.2 The Central Limit Theorem ....................................................................... 298
17.3 Standard Error of the Mean ........................................................................ 302
18 UNDERSTANDING EXPERIMENTAL DATA ............................................... 305
18.1 The Behavior of Springs .............................................................................. 305
18.1.1 Using Linear Regression to Find a Fit ................................................ 309
18.2 The Behavior of Projectiles ......................................................................... 314
18.2.1 Coefficient of Determination .............................................................. 317
18.2.2 Using a Computational Model ............................................................ 319
18.3 Fitting Exponentially Distributed Data ..................................................... 320
18.4 When Theory Is Missing ............................................................................. 324
19 RANDOMIZED TRIALS AND HYPOTHESIS CHECKING ........................ 327
19.1 Checking Significance ................................................................................. 328
19.2 Beware of P-values ....................................................................................... 334
19.3 One-tail and One-sample Tests .................................................................. 336
19.4 Significant or Not? ....................................................................................... 338
19.5 Which N? ...................................................................................................... 340
CONTENTS xi

19.6 Multiple Hypotheses.................................................................................... 342


20 CONDITIONAL PROBABILITY AND BAYESIAN STATISTICS ............... 345
20.1 Conditional Probabilities ............................................................................ 346
20.2 Bayes’ Theorem ............................................................................................ 348
20.3 Bayesian Updating ....................................................................................... 350
21 LIES, DAMNED LIES, AND STATISTICS ....................................................... 355
21.1 Garbage In Garbage Out (GIGO) .............................................................. 355
21.2 Tests Are Imperfect ..................................................................................... 356
21.3 Pictures Can Be Deceiving.......................................................................... 357
21.4 Cum Hoc Ergo Propter Hoc ....................................................................... 359
21.5 Statistical Measures Don’t Tell the Whole Story ...................................... 361
21.6 Sampling Bias ............................................................................................... 362
21.7 Context Matters ........................................................................................... 363
21.8 Beware of Extrapolation.............................................................................. 364
21.9 The Texas Sharpshooter Fallacy ................................................................. 364
21.10 Percentages Can Confuse............................................................................ 367
21.11 Statistically Significant Differences Can Be Insignificant ....................... 368
21.12 The Regressive Fallacy ................................................................................ 369
21.13 Just Beware ................................................................................................... 370
22 A QUICK LOOK AT MACHINE LEARNING ................................................ 371
22.1 Feature Vectors ............................................................................................ 374
22.2 Distance Metrics .......................................................................................... 377
23 CLUSTERING ...................................................................................................... 383
23.1 Class Cluster ................................................................................................. 385
23.2 K-means Clustering ..................................................................................... 387
23.3 A Contrived Example .................................................................................. 390
23.4 A Less Contrived Example.......................................................................... 395
24 CLASSIFICATION METHODS ......................................................................... 403
24.1 Evaluating Classifiers .................................................................................. 403
24.2 Predicting the Gender of Runners ............................................................. 408
24.3 K-nearest Neighbors.................................................................................... 408
24.4 Regression-based Classifiers....................................................................... 415
24.5 Surviving the Titanic ................................................................................... 425
24.6 Wrapping Up ................................................................................................ 430
PYTHON 3.5 QUICK REFERENCE ....................................................................... 431
INDEX ........................................................................................................................ 435
PREFACE

This book is based on courses that have been offered at MIT since 2006, and as
“Massive Online Open Courses” (MOOCs) through edX and MITx since 2012.
The first edition of the book was based on a single one-semester course. Howev-
er, over time I couldn’t resist adding more material than could be fit into a se-
mester. The current edition is suitable for a two-semester introductory computer
science sequence.
When I started working on the second edition I thought that I would just
add a few chapters, but I ended up doing far more. I reorganized the back half of
the book, and converted the entire book from Python 2 to Python 3.
The book is aimed at students with little or no prior programming experi-
ence who have a desire to understand computational approaches to problem
solving. For some of the students the material in this book will be a stepping
stone to more advanced computer science courses. But for many of the students
it will be their only formal exposure to computer science.
Because this will be the only formal exposure to computer science for many
of the students, we emphasize breadth rather than depth. The goal is to provide
students with a brief introduction to many topics, so that they will have an idea
of what’s possible when the time comes to think about how to use computation
to accomplish a goal. That said, this is not a “computation appreciation” book. It
is challenging and rigorous. Students who wish to really learn the material will
have to spend a lot of time and effort learning to bend the computer to their will.
The main goal of this book is to help students become skillful at making pro-
ductive use of computational techniques. They should learn to use computational
modes of thoughts to frame problems and to guide the process of extracting in-
formation from data. The primary knowledge they will take away from this book
is the art of computational problem solving.
This book is not easily slotted into a conventional computer science curricu-
lum. Chapters 1-11 contain the kind of material typically included in a computer
science course aimed at students with little or no programming experience.
Chapters 12-14 contain slightly more advanced material, various subsets of
which could be added to the introductory course if the students are more ad-
vanced. Chapters 15-24 are about using computation to help understand data.
xiv INTRODUCTION TO COMPUTATION AND PROGRAMMING USING PYTHON

They cover the material that we think should become the usual second course in
a computer science curriculum (replacing the traditional data structures course).
In Chapters 1-11, we braid together four strands of material:
• The basics of programming,
• The Python 3 programming language,
• Computational problem solving techniques,
• Computational complexity, and
• Using plots to present information.
We cover most of Python’s features, but the emphasis is on what one can do
with a programming language, not on the language itself. For example, by the
end of Chapter 3 the book has covered only a small fraction of Python, but it has
already introduced the notions of exhaustive enumeration, guess-and-check al-
gorithms, bisection search, and efficient approximation algorithms. We intro-
duce features of Python throughout the book. Similarly, we introduce aspects of
programming methods throughout the book. The idea is to help students learn
Python and how to be a good programmer in the context of using computation
to solve interesting problems.
The examples in this book have been tested using Python 3.5. Python 3
cleaned up many of the inconsistencies in the design of the various releases of
Python 2 (often referred to as Python 2.x). However, it is not backward compati-
ble. That meant that most programs written using Python 2 cannot be run using
implementations of Python 3. For that reason, Python 2.x continues to be widely
used. The first time we use features of Python 3 that differ from Python 2, we
point out how the same thing could be accomplished in Python 2. All of the ex-
amples in this book are available online in both Python 3.5 and Python 2.7.
Chapters 12-13 provide an introduction to optimization, an important topic
not usually covered in introductory courses. Chapters 14-16 provide an introduc-
tion to stochastic programs, another important topic not usually covered in in-
troductory courses. Our experience at MIT is that we can can cover either
Chapters 12-13 or Chapters 15-16, but not both, in our one-semester introducto-
ry course.
Chapters 15-24 are designed to provide a self-contained introduction to us-
ing computation to help understand data. They assume no knowledge of mathe-
matics beyond high school algebra, but do assume that the reader is comfortable
with rigorous thinking and is not intimidated by mathematical concepts. This
part of the book is devoted to topics not found in most introductory texts: data
visualization, simulation models, probabilistic and statistical thinking, and ma-
chine learning. We believe that this is a far more relevant body of material for
PREFACE xv

most students than what is typically covered in the second computer science
course.
We chose not to include problems at the end of chapters. Instead we inserted
“finger exercises” at opportune points within the chapters. Some are quite short,
and are intended to allow readers to confirm that they understood the material
they just read. Some are a bit more challenging, and are suitable for exam ques-
tions. And others are challenging enough to be useful as homework assignments.
The book has three pervasive themes: systematic problem solving, the power
of abstraction, and computation as a way of thinking about the world. When you
have finished this book you should have:
• Learned a language, Python, for expressing computations,
• Learned a systematic approach to organizing, writing, and debugging medi-
um-sized programs,
• Developed an informal understanding of computational complexity,
• Developed some insight into the process of moving from an ambiguous prob-
lem statement to a computational formulation of a method for solving the
problem,
• Learned a useful set of algorithmic and problem reduction techniques,
• Learned how to use randomness and simulations to shed light on problems
that don’t easily succumb to closed-form solutions, and
• Learned how to use computational tools (including simple statistical, visuali-
zation, and machine learning tools) to model and understand data.
Programming is an intrinsically difficult activity. Just as “there is no royal
road to geometry,”1 there is no royal road to programming. If you really want to
learn the material, reading the book will not be enough. At the very least you
should try running some of the code in the book. Various versions of the courses
from which this book has been derived have been available on MIT’s Open-
CourseWare (OCW) Web site since 2008. The site includes video recordings of
lectures and a complete set of problem sets and exams. Since the fall of 2012, edX
and MITx have offered online courses that cover much of the material in this
book. We strongly recommend that you do the problem sets associated with one
of the OCW or edX offerings.

1 This was Euclid’s purported response, circa 300 BCE, to King Ptolemy’s request for an easier way
to learn mathematics.
ACKNOWLEDGMENTS

The first edition of this book grew out of a set of lecture notes that I prepared
while teaching an undergraduate course at MIT. The course, and therefore this
book, benefited from suggestions from faculty colleagues (especially Ana Bell,
Eric Grimson, Srinivas Devadas, Fredo Durand, Ron Rivest, and Chris Terman),
teaching assistants, and the students who took the course. David Guttag over-
came his aversion to computer science, and proofread multiple chapters.
Like all successful professors, I owe a great deal to my graduate students. The
photo on the back cover of this book depicts me supporting some of my current
students. In the lab, however, it is they who support me. In addition to doing
great research (and letting me take some of the credit for it), Guha Balakrishnan,
David Blalock, Joel Brooks, Ganeshapillai Gartheeban, Jen Gong, Yun Liu, Ani-
ma Singh, Jenna Wiens, and Amy Zhao all provided useful comments on various
versions of this manuscript.
I owe a special debt of gratitude to Julie Sussman, P.P.A. Until I started work-
ing with Julie, I had no idea how much difference an editor could make. I had
worked with capable copy editors on previous books, and thought that was what
I needed for this book. I was wrong. I needed a collaborator who could read the
book with the eyes of a student, and tell me what needed to be done, what should
be done, and what could be done if I had the time and energy to do it. Julie bur-
ied me in “suggestions” that were too good to ignore. Her combined command of
both the English language and programming is quite remarkable.
Finally, thanks to my wife, Olga, for pushing me to finish and for excusing
me from various household duties so that I could work on the book.
1 GETTING STARTED

A computer does two things, and two things only: it performs calculations and it
remembers the results of those calculations. But it does those two things ex-
tremely well. The typical computer that sits on a desk or in a briefcase performs a
billion or so calculations a second. It’s hard to image how truly fast that is. Think
about holding a ball a meter above the floor, and letting it go. By the time it
reaches the floor, your computer could have executed over a billion instructions.
As for memory, a small computer might have hundreds of gigabytes of storage.
How big is that? If a byte (the number of bits, typically eight, required to repre-
sent one character) weighed one gram (which it doesn’t), 100 gigabytes would
weigh 10,000 metric tons. For comparison, that’s roughly the combined weight of
15,000 African elephants.
For most of human history, computation was limited by the speed of calcula-
tion of the human brain and the ability to record computational results with the
human hand. This meant that only the smallest problems could be attacked
computationally. Even with the speed of modern computers, there are still prob-
lems that are beyond modern computational models (e.g., understanding climate
change), but more and more problems are proving amenable to computational
solution. It is our hope that by the time you finish this book, you will feel com-
fortable bringing computational thinking to bear on solving many of the prob-
lems you encounter during your studies, work, and even everyday life.
What do we mean by computational thinking?
All knowledge can be thought of as either declarative or imperative. Declara-
tive knowledge is composed of statements of fact. For example, “the square root
of x is a number y such that y*y = x.” This is a statement of fact. Unfortunately, it
doesn’t tell us anything about how to find a square root.
Imperative knowledge is “how to” knowledge, or recipes for deducing infor-
mation. Heron of Alexandria was the first to document a way to compute the
square root of a number.2 His method for finding the square root of a number,
call it x, can be summarized as:

2 Many believe that Heron was not the inventor of this method, and indeed there is some evidence
that it was well known to the ancient Babylonians.
Discovering Diverse Content Through
Random Scribd Documents
8. Jacques-Bonnet-Gigault de Bellefonds (d. 1746). Buried in
Notre Dame.
9. Christophe de Beaumont du Repaire (d. 1781). Buried in
Notre Dame.
10. Antoine-Eléonore-Léon Le Clerc de Juigné de Neuchelle
(d. 1811). Buried in Notre Dame.
11. Jean-Baptiste de Belloy. Cardinal. Died, aged ninety-eight
years and eight months, in 1808, and buried in Notre Dame.
12. Alexandre-Angélique de Tallyrand-Perigord. Born 1736.
Archbishop of Reims 1776. Cardinal 1817; Died 1821.
13. Hyacinthe-Louis de Quélen. Born 1778. Bishop of
Samosate 1817; Archbishop of Paris 1821. Died 1839.
14. Denis III., Auguste Affre. Born 1793. Archbishop of Paris
1840. Struck by a ball at the barricades in the Faubourg Saint-
Antoine on June 25th, 1848, and died two days later.
15. Marie-Dominique-Auguste Sibour. Born 1792. Bishop of
Digue 1839; Archbishop of Paris 1848. Was assassinated on Jan.
3rd, 1857, in the church of Saint-Etienne du Mont by a priest.
He had as auxiliary bishop Léon-François Sibour.
16. François III., Nicolas-Madeleine Morlot. Born 1795. Bishop
of Orléans 1839; Archbishop of Tours 1842; Cardinal 1853;
Archbishop of Paris 1857. Died 1862.
17. Georges Darboy. Born 1813. Bishop of Nancy 1850;
Archbishop of Paris 1863. Arrested as a hostage by the
Commune on April 4th, 1871, and shot on May 27th.
18. Joseph-Hippolyte Guibert. Born 1802. Archbishop of Tours
1857; Archbishop of Paris 1871; Cardinal 1873. Died 1886.
19. François-Marie-Benjamin Richard. Born 1819. Bishop of
Belley 1871; Coadjutor of Archbishop Guibert 1875; Archbishop
of Paris 1886. Cardinal 1889.
INDEX

Aisles, double, 22, 60


Altar, high, 86
Ambulatory, 76
Apse, 22
Archbishops, list of, 100–102

Bells, 42
Bishops, list of, 98–100
Bishop’s Palace, 94, 98
Buttress system, 44

Chapels added, 8
Chapels
of the choir, 90–93;
of the nave, 66–69
“Chimères,” 40
Choir, 82; in the thirteenth century, 81
Clerestory: nave, 64;
transepts, 72
Cloister, or Cloître, 8, 95
Crypt, 86
Darboy, Archbishop, statue of, 91
Decoration, coloured mural, 66–68, 75
“Devils of Notre Dame,” 20
Dimensions of the cathedral, 56
Doorways: west, 30–38;
transepts, 48–53

Flèche, 42

Galerie des Rois, 39


Garden, 96
Glass, stained, 69, 89
Gothic construction, 20
Grille of choir, 82

Historical events, 9–16


Hospital (Hotel Dieu), 97
Hugo, Victor, on Notre Dame (see Notre Dame)

Maurice de Sully, Bishop, first builder of the present church,


7
Monuments in the nave, 64

Napoleon I., coronation of, 14


Notre Dame: early history of the church, 5–7;
historical events in, 9–16;
its place in French Gothic, 19;
Victor Hugo on, 27–29, 40, 42
“Notre Dame de Paris,” statue of, 72–75

Organ, 64

Parvis, Place du, 94, 97


Piers of the nave, 58, 60
Portail de la Ste. Vierge, 30
Portail central, 34
Portail Ste. Anne or St. Marcel, 33, 38
Porte Rouge, 53
Presbytère, 96

Relics, 95, 96
Revolution, the, 12
Roman remains, 5, 86
Roof, 42, 57
Rose windows of transepts, 75

Sacristy, 95
St. Denis, 5; statue of, 75;
chapel of, 90
St. Marcel, statue of, 33, 38;
shrine of, 76, 81;
chapel of, 92
Sanctuary, 81, 86
Screen, sculptured, in choir, 77
Stalls, choir, 85
“Stryge, le,” 41

Tombstones in the nave, 56


Towers, 42
Transepts, 22, 48, 72
Treasury, 95
Triforium, 62

Vaulting, 57, 62

West front, 7, 24, 28–42


Windows, 46

CHISWICK PRESS: PRINTED BY CHARLES WHITTINGHAM AND CO.


TOOKS COURT, CHANCERY LANE, LONDON.
INTERNAL DIMENSIONS.

Length (total) 390 feet.


Length of nave 225 feet.
Length of transepts 144 feet.
Width of nave vault 39 feet.
Height of nave vault 102 feet.
Height of towers 204 feet.
Area 54,050 sq. feet.
PLAN OF THE CATHEDRAL OF NOTRE DAME,

PARIS

Entrance to the Towers.

1. Chapelle des Fonts Baptismaux.


2. Chapelle Saint-Charles.
3. Chapelle de la Sainte-Enfance.
4. Chapelle Saint-Vincent-de-Paul.
5. Chapelle de Saint-François-Xavier.
6. Chapelle de Saint-Landry.
7. Chapelle de Sainte-Clotilde.
8. Chapelle de l’Annonciation.
9. Chapelle du Sacré Cœur.
10. Chapelle Sainte-Anne.
11. Chapelle Chapelle Saint-Pierre.
12. Chapelle Saint-Joseph.
13. Chapelle Sainte-Geneviève.
14. Chapelle des Ames du Purgatoire.
15. Statue of Notre Dame de Paris.

A. Chapelle Saint-Martin.
B. Chapelle Saint-Ferdinand.
C. Chapelle Saint-Germain.
D. Chapelle Saint-Louis.
E. Chapelle Saint-Marcel.
F. Chapelle de N. D. des Sept Douleurs, or du Petit Chœur.
G. Chapelle Saint-Georges.
H. Chapelle Saint-Guillaume.
I. Chapelle Sainte-Madelaine.
J. Chapelle Saint-Denis.

A.K.MoRGAN. del:
H. N. King, photo.
WESTMINSTER. WALL ARCADE AND FRESCOES IN THE
CHAPTER-HOUSE

BELL’S CATHEDRAL SERIES


Post 8vo. Profusely Illustrated, 1s. 6d. net each

“This excellent series of Cathedral handbooks which


have thoroughly established their reputation as guides
to the archaeological, architectural, historical, and
religious stories of our cathedrals.”—Saturday Review.
Volumes on London Cathedrals & Churches
ST. PAUL’S CATHEDRAL. An Account of the Old and New
Buildings, with a short Historical Sketch. By the Rev. Arthur
Dimock, M.A. Fourth Edition, Revised. With 38 Illustrations
and a Plan.

“One of the richest volumes of Messrs. Bell’s


‘Cathedral Series.’ The study of the fabric is
painstaking, and the details as to monuments will be
found very helpful to a visitor.... The whole history is
brought down to the present day.”—London Quarterly
Review.

“The work is cleverly compiled, and the illustrations


add not a little to its value as a souvenir to be
treasured by those who visit the cathedral, not because
it is one of the sights of London, but for the reason
that they take an intelligent and reverential interest in
that great monument of Wren’s genius.”—City Press.

WESTMINSTER ABBEY. By Charles Hiatt. Third Edition. With


45 Illustrations and 2 Plans.

“It has been compiled with great care from the best
authorities, and is especially full on the monuments.
Visitors could not have a better guide to the most
famous of English minsters.”—London Quarterly
Review.

“This excellent work is likely to become the most


popular guide to Westminster Abbey. It supplies the
need both of the student of architecture and the visitor
to London, giving a capital résumé of the history of the
Abbey, with a well-written description of the building
itself. The book is profusely illustrated.”—Liverpool
Mercury.

ST. SAVIOUR’S, SOUTHWARK. By George Worley. With 36


Illustrations and a Plan.

“Mr. Worley’s painstaking description of the cathedral


is the most complete that we have seen, and its value
is increased by many good illustrations and a plan.”—
Manchester Guardian.

“Those who wish to visit this Metropolitan Cathedral


intelligently, and with personal profit, will do well to
possess themselves with this reliable and interesting
little handbook.”—Builder.

“An admirable example of careful work.”—


Gentleman’s Magazine.

ST. BARTHOLOMEW-THE-GREAT, SMITHFIELD. A short


History of the Foundation, and a Description of the Fabric,
and also of the Church of St. Bartholomew-the-Less. By
George Worley. With 42 Illustrations and a Plan.

“The author has made a conscientious study of the


venerable Smithfield church, and has succeeded in
presenting a thoroughly interesting account of this
remarkable relic of the twelfth century.”—Builder’s
Journal.

“Mr. Worley has treated his subject with skill, and


produced a most readable volume.”—Church Times.

THE TEMPLE CHURCH. A Description of the Fabric and its


Contents, with a short History of the Order. By George
Worley. Second Edition, Revised. With 31 Illustrations and a
Plan.
“A short and excellent account of the church of the
Knights Templars in London, prefaced by a brief history
of the Order. Nothing has been forgotten that the
curious might reasonably want to know.... To any one
interested, such an excellent handbook as this, with its
lucid explanations, plans, photographs, and technical
information of the very best, is indispensable.”—
Spectator.
Photo. [Photochrom Co.
SOUTHWARK CATHEDRAL FROM THE EAST
BELL’S CATHEDRAL SERIES—continued
1s. 6d. net each

BANGOR. By P. B. Ironside Bax.

BRISTOL. By H. J. L. J. Massé, M.A. 2nd Edition.

CANTERBURY. By Hartley Withers. 6th Edition.

CARLISLE. By C. K. Eley. 2nd Edition.

CHESTER. By Charles Hiatt. 4th Edition.

CHICHESTER. By H. C. Corlette, A.R.I.B.A. 3rd Edition.

DURHAM. By J. E. Bygate, A.R.C.A. 4th Edition.

ELY. By Rev. W. D. Sweeting, M.A. 3rd Edition.

EXETER. By Percy Addleshaw, B.A. 4th Edition, revised.

GLOUCESTER. By H. J. L. J. Massé, M.A. 5th Edition.

HEREFORD. By A. Hugh Fisher, A.R.E. 2nd Edition, revised.

LICHFIELD. By A. B. Clifton. 3rd Edition, revised.

LINCOLN. By A. F. Kendrick, B.A. 5th Edition.

LLANDAFF. By E. C. Morgan Willmott, A.R.I.B.A.

MANCHESTER. By the Rev. T. Perkins, M.A.

NORWICH. By C. H. B. Quennell. 2nd Edition, revised.

OXFORD. By the Rev. Percy Dearmer, M.A. 2nd Edition, revised.


PETERBOROUGH. By the Rev. W. D. Sweeting, M.A. 4th Edition.

RIPON. By Cecil Hallett, B.A. 2nd Edition.

ROCHESTER. By G. H. Palmer, B.A. 2nd Edition, revised.

ST. ALBANS. By the Rev. T. Perkins, M.A.

ST. ASAPH. By P. B. Ironside Bax.

ST. DAVID’S. By Philip A. Robson, A.R.I.B.A. 2nd Edition.

ST. PATRICK’S, DUBLIN. By the Very Rev. J. H. Bernard, M.A.,


D.D. 2nd Edition.

SALISBURY. By Gleeson White. 5th Edition.

SOUTHWELL. By the Rev. Arthur Dimock, M.A. 2nd Edition,


revised.

WELLS. By the Rev. Percy Dearmer, M.A. 5th Edition.

WINCHESTER. By P. W. Sergeant. 4th Edition, revised.

WORCESTER. By E. F. Strange. 3rd Edition.

YORK. By A. Clutton Brock. 5th Edition.

AN ITINERARY OF ENGLISH CATHEDRALS FOR THE USE OF


TRAVELLERS. By James G. Gilchrist, A.M., M.D., and the Rev.
T. Perkins, M.A., F.R.A.S. 2nd Edition, revised.

Uniform with above Series, 1s. 6d. net each

BATH ABBEY, MALMESBURY ABBEY, AND BRADFORD-ON-AVON


CHURCH. By the Rev. T. Perkins, M.A.

BEVERLEY MINSTER. By Charles Hiatt. 3rd Edition.


ST. MARTIN’S CHURCH, CANTERBURY. By the Rev. Canon C. F.
Routledge. 2nd Edition.

ROMSEY ABBEY. By the Rev. T. Perkins, M.A.

STRATFORD-ON-AVON CHURCH. By Harold Baker. 2nd Edition.

TEWKESBURY ABBEY. By H. J. L. J. Massé, M.A. 4th Edition.

WIMBORNE MINSTER and CHRISTCHURCH PRIORY. By the Rev.


T. Perkins, M.A. 2nd Edition.

THE CHURCHES OF COVENTRY. By Frederick W. Woodhouse.

MALVERN PRIORY. By the Rev. Anthony C. Deane. [In preparation.

LONDON: G. BELL AND SONS, LTD.


York House, Portugal Street, Kingsway, W.C.
Transcriber’s Note:

Punctuation has been standardised;


hyphenation retained as it appears in the
original publication.

Changes have been made as follows:

Page 4
that our own proud Minster
than our own proud Minster
Page 7
Description de Notre-Dame, Cathédral de
Paris changed to
Description de Notre-Dame, Cathédrale de
Paris
Page 10
se mit A genoux et fit changed to
se mit à genoux et fit
Page 13
music by Gossee changed to
music by Gossec
Page 14
parfaite à la moinde des actions changed to
parfaite à la moindre des actions
Page 15
apres avoir reçu changed to
après avoir reçu
Page 15
douce et legère changed to
douce et légère
Page 19
mere decorative idiosyncracy changed to
mere decorative idiosyncrasy
Page 20
Ths choir was begun changed to
The choir was begun
Page 40
Chimères or “Devils of Notre Dame.”
changed to
Chimères or “Devils of Notre Dame.”
Page 40
was in its decadance changed to
was in its decadence
Page 41
ONE OF THE CHIMAERAS OF NOTRE DAME
changed to
ONE OF THE CHIMÈRAS OF NOTRE DAME
Page 42
which was irrevently compared changed to
which was irreverently compared
Page 52
TYMPANIUM OF THE NORTH TRANSEPT
DOORWAY changed to
TYMPANUM OF THE NORTH TRANSEPT
DOORWAY
Page 53
Near the Port Rouge changed to
Near the Porte Rouge
Page 65
in the cathedrall church changed to
in the cathedral church
Page 67
Il en résultei nstinctivement pour changed
to
Il en résulte instinctivement pour
Page 78
Notre Dame par Vespace XXV changed to
Notre Dame par l’espace XXV
Page 89
by Antoine Coyevox changed to
by Antoine Coysevox
Page 90
Archbishop Sibor, who was murdered
changed to
Archbishop Sibour, who was murdered
Page 92
Archbishop Leclercq de Juigné changed to
Archbishop Leclerc de Juigné
Page 95
The Cloîture or Cloister of Notre Dame
was on
The Cloître or Cloister of Notre Dame was
on
Page 96
church of St. Germain des Près changed to
church of St. Germain des Prés
Page 96
dull houses of the Rue du Cloîture Notre-
Dame changed to
dull houses of the Rue du Cloître Notre-
Dame
Page 99
Barthélemy (1223–1227) changed to
Barthélémy (1223–1227)
Page 105
Cloister, or Cloiture changed to
Cloister, or Cloître
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!

ebookfinal.com

You might also like