Instant download Discovering Computer Science Interdisciplinary Problems Principles and Python Programming 2nd Edition Jessen Havill pdf all chapter
Instant download Discovering Computer Science Interdisciplinary Problems Principles and Python Programming 2nd Edition Jessen Havill pdf all chapter
com
https://textbookfull.com/product/discovering-computer-
science-interdisciplinary-problems-principles-and-python-
programming-2nd-edition-jessen-havill-2/
OR CLICK BUTTON
DOWNLOAD NOW
https://textbookfull.com/product/python-programming-an-introduction-
to-computer-science-john-m-zelle/
textboxfull.com
Python Programming An Introduction to Computer Science 3rd
Edition John M. Zelle
https://textbookfull.com/product/python-programming-an-introduction-
to-computer-science-3rd-edition-john-m-zelle/
textboxfull.com
https://textbookfull.com/product/data-science-from-scratch-first-
principles-with-python-2nd-edition-joel-grus/
textboxfull.com
https://textbookfull.com/product/data-science-from-scratch-first-
principles-with-python-2nd-edition-grus-joel/
textboxfull.com
https://textbookfull.com/product/practical-programming-an-
introduction-to-computer-science-using-python-3-6-3rd-edition-paul-
gries/
textboxfull.com
https://textbookfull.com/product/programming-interview-problems-
dynamic-programming-with-solutions-in-python-1st-edition-leonardo-
rossi/
textboxfull.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/CANDHTEXCO
MSER?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
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 infor
mation 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.
Preface xv
Acknowledgments xxiii
v
vi • Contents
Data visualization 62
2.3 FUNCTIONAL ABSTRACTION 66
Function parameters 69
2.4 PROGRAMMING IN STYLE 77
Program structure 78
Documentation 79
Tangent 2.2 Global variables 80
Self-documenting code 83
2.5 A RETURN TO FUNCTIONS 87
The math module 88
Writing functions with return values 89
Return vs. print 92
2.6 SCOPE AND NAMESPACES 97
Local namespaces 98
The global namespace 101
2.7 SUMMARY AND FURTHER DISCOVERY 105
*
Sections with *** in lieu of a page number are available on the book website.
Contents • vii
Negative integers
Designing an adder
Implementing an adder
3.5 THE UNIVERSAL MACHINE 124
3.6 SUMMARY AND FURTHER DISCOVERY 126
Bibliography 501
Index 505
Preface
I nthree
my view, an introductory computer science course should strive to accomplish
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.
xv
xvi • Preface
Teaching with Python over the last fifteen years has been a revelation; introductory
computer science has become fun again.
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 frame
work. 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 elimi
nated, 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.”
Book website
Online materials for this book are available at
https://www.discoveringCS.net.
Here you will find
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.
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.
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
Preface • xix
Chapter 6
Chapter 7 Chapter 5
Text, Documents,
Data Analysis Forks in the Road
and DNA
Chapter 9
Chapter 8 Chapter 10
Self-similarity and
Flatland Organizing Data
Recursion
Chapter 12
Chapter 11
Object-oriented
Networks
Design
and interests. As illustrated in Figure 1, Chapters 1–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 Chapters 8–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.
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, words ● functional abstraction ● arithmetic
● sphere volume ● functional decomposition ● assignment
2 Visualizing Abstraction
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
7 Data Analysis
8 Flatland
Sample problems Principles Programming
● earthquake data ● 2-D data ● lists of lists
● Game of Life ● cellular automata ● nested loops
● image filters ● digital images ● 2-D data in a dictionary
10 Organizing Data
● intractability, P=NP?
11 Networks
Sample problems Principles Programming
● social media, web graphs ● graphs ● dictionaries
● diffusion of ideas ● adjacency list, matrix
● epidemics ● breadth-first search
12 Object-oriented Design
Software assumptions
To follow along in this book and complete the exercises, you will need to have
installed Python 3.6 or later on your computer, and have access to IDLE or another
programming environment. The book also assumes that you have installed the
matplotlib.pyplot and numpy modules. The easiest way to get this software is to
install the free open source Anaconda distribution from http://www.anaconda.com.
Errata
While I (and my students) have ferreted out many errors, readers will inevitably find
more. You can find an up-to-date list of errata on the book website. If you find an error
in the text or have another suggestion, please let me know at havill@denison.edu.
Acknowledgments
In addition to those who provided their support and expertise for the first edition,
I wish to thank Janet Davis (Whitman College), Jim Deverick (The College of
William and Mary), David Goodwin (Denison University), and Ashwin Lall (Denison
University) for their valuable feedback on drafts of the second edition.
I would also like to thank Dee Ghiloni, Mary Lucas-Miller, and Tony Silveira for
their steadfast support, Mike Brady and my Data Analytics colleagues for reminding
me how much fun it can be to learn new things, and the Book Group for reminding
me to not take life too seriously. A Bowen Fellowship awarded by Denison University
gave me the time needed to complete this project.
Finally, my family has once again provided me with seemingly infinite patience and
love during this intensive period of writing. I am an extraordinarily lucky husband
and father.
xxiii
About the author
xxv
CHAPTER 1
How to Solve It
We need to do away with the myth that computer science is about computers. Computer
science is no more about computers than astronomy is about telescopes, biology is about
microscopes or chemistry is about beakers and test tubes. Science is not about tools, it is
about how we use them and what we find out when we do.
It has often been said that a person does not really understand something until after teaching
it to someone else. Actually a person does not really understand something until after
teaching it to a computer, i.e., expressing it as an algorithm.
Donald E. Knuth
American Scientist (1973)
C consciously
omputers now touch almost every facet of our daily lives, whether we are
aware of them or not. Computers have changed the way we learn,
communicate, shop, travel, receive healthcare, and entertain ourselves. They are
embedded in virtually everything, from major feats of engineering like airplanes,
spaceships, and factories to everyday items like microwaves, cameras, and tooth
brushes. In addition, all of our critical infrastructure—utilities, transportation,
finance, communication, healthcare, law enforcement—relies upon computers.
Since computers are the most versatile tools ever invented, it should come as
no surprise that they are also employed throughout academia in the pursuit of
new knowledge. Social scientists use computational models to better understand
social networks, epidemics, population dynamics, markets, and auctions. Humanists
use computational tools to gain insight into literary trends, authorship of ancient
texts, and the macroscopic significance of historical records. Artists are increasingly
incorporating digital technologies into their compositions and performances. Natural
1
2 • 1 How to Solve It
Look back at
Understand the Design an Write a
your algorithm
problem algorithm program
and results
1. First, understand the problem. What is the unknown? What are the data?
What is the condition?
2. Second, devise a plan to solve the problem.
3. Third, carry out your plan, checking each step.
4. Fourth, look back. Check the result. Can you derive the result differently?
These four steps, with some modifications, can be applied just as well to compu
tational problem solving, as illustrated in Figure 1.1. In the first step, we make
1
You can learn more about Donald Knuth at the end of this chapter.
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of Création d'un
répertoire bibliographique universel
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.
Language: French
CONFÉRENCE
Bibliographique Internationale
BRUXELLES 1895
DOCUMENTS
[01.06]
BRUXELLES
IMPRIMERIE VEUVE FERDINAND LARCIER
26-28, RUE DES MINIMES
1896
CRÉATION
D’UN
Répertoire Bibliographique
Universel
NOTE PRÉLIMINAIRE
PAR
MM. H. LA FONTAINE et P. OTLET
54. Chimie.
55. Géologie.
56. Paléontologie.
57. Biologie.
58. Botanique.
59. Zoologie.
Tous les ouvrages concernant l’électricité seront annotés 537. Le
chiffre du premier rang, 5, indique qu’il s’agit d’une matière relative
à la cinquième classe des connaissances humaines, c’est-à-dire aux
Sciences. Le chiffre du second rang détermine de quelle division de
ces sciences il est question, soit ici de la troisième division à laquelle
a été attribuée conventionnellement le chiffre 3. Tous les ouvrages
de Physique sont donc annotés 53. Mais la Physique elle-même se
fractionne en diverses sections dont la septième est l’électricité,
d’après une classification uniforme établie préalablement une fois
pour toutes. Le chiffre 7 venant s’ajouter au nombre 53 le
particularise et 537 n’indique plus que les ouvrages qui traitent de
l’électricité. C’est là un nombre classificateur (Class number), et c’est
en limitant au maximum de dix le nombre des parties de chaque
division, et en attribuant conventionnellement un chiffre à chacune
d’elles, que Dewey est parvenu à exprimer la localisation dans
l’ensemble des sciences de chaque matière, quelque particulière
qu’elle fût.
En effet, les chiffres qui représentent les classes et divisions de
chaque sujet s’unissent en une seule expression numérique
extrêmement simple: 537, en effet, ne signifie pas autre chose que
classe cinquième, section troisième, division septième. La filiation, la
généalogie même des idées et des objets, leurs rapports de
dépendance et de subordination, ce qu’elles ont de commun et de
différencié, trouvent une représentation adéquate dans l’indice
bibliographique ainsi formé. Cette représentation exclut presque la
convention et l’arbitraire. Non seulement chaque chiffre exprime à sa
façon une idée essentielle, mais la combinaison des chiffres, c’est-à-
dire leur rang dans la série et leur place dans le nombre, se réalise
conformément aux lois mêmes de la logique scientifique. En ce sens,
ils constituent une véritable langue nouvelle dont les phrases, ici les
nombres, sont formées selon des règles syntaxiques constantes au
moyen de mots, ici les chiffres. C’est une sorte de langue
agglutinante; les chiffres en sont des racines, racines prédicatives et
attributives, racines purement verbales en ce sens qu’elles ne sont ni
substantif, ni adjectif, ni verbe. Elles sont placées au-dessus et en
dehors de toute catégorie grammaticale, en ce qu’elles expriment
des abstractions, de pures catégories scientifiques. Par là même,
elles traduisent des idées absolument communes à tout le monde
scientifique et les expriment en signes universellement connus, les
chiffres. A ce double titre, la Classification décimale constitue un
véritable langage scientifique international, une symbolique complète
de la science susceptible, peut-être, d’apporter un jour aux
travailleurs intellectuels un secours analogue à celui qu’ils recevaient
du latin au moyen-âge et pendant la période moderne.
⁂
Cet aspect philologique de la Classification décimale n’est pas sans
importance. Mais il importe, à notre point de vue bibliographique, de
mettre en lumière ses autres avantages.
En premier lieu, nous l’avons déjà dit, toutes les matières connexes
sont groupées. Un index alphabétique, comprenant, en une ou
plusieurs langues, toutes les rubriques de recherches et tous les
synonymes et analogues, complète la table méthodique. La
simplicité avec laquelle se forment les nombres classificateurs donne
à tout le système une haute valeur mnémotechnique.
Les chiffres, quel que soit leur nombre, étant d’une lecture facile et
d’une écriture concise, chaque fiche d’un répertoire, chaque livre
d’une bibliothèque peuvent être annotés sans peine et recevoir ainsi
une localisation fixe. Toutes les fiches, tous les livres porteurs des
mêmes nombres classificateurs se trouvent réunis d’eux-mêmes,
sans que la personne chargée de leur mise en ordre ait besoin d’être
initiée à la science spéciale dont elle classe les documents.
L’indexeur seul doit être un homme instruit. Encore sa tâche est-elle
singulièrement facilitée, grâce à l’index alphabétique qu’il lui suffit
d’ouvrir à l’un des mots essentiels du titre du livre à bibliographier
pour trouver immédiatement le nombre classificateur à y annoter.
La classification est dite décimale en ce que chaque nombre indique
une division plus ou moins tenue, d’un ensemble qui est supposé
l’unité. En effet, les diverses branches et sous-branches des sciences
sont susceptibles de divisions plus ou moins nombreuses. Là où il y a
lieu de multiplier les catégories, on se servira de nombres à quatre,
cinq, sept chiffres et même plus. Lorsque, au contraire, la matière ne
peut être aussi fractionnée, on se contentera de nombres à deux ou
trois divisions. Les nombres étant sériés en tenant compte
seulement de leur importance décimale, la quantité de chiffres dont
ils se composent importe peu et les matières connexes, quelque
subdivisées qu’elles soient, demeurent toujours groupées.
Les ouvrages se rapportant à l’électricité, par exemple, portent
l’indice 537. Ceux relatifs à la chimie portent l’indice 54. S’il ne plaît
pas au classificateur d’établir des catégories parmi les ouvrages de
chimie et s’il les annote uniformément sous 54, dans l’ordre à
donner soit aux fiches d’un répertoire bibliographique, soit aux livres
d’une bibliothèque, 537 prendra place avant 54, puisque dans la
série numérique cinq cent trente-sept millièmes vient avant
cinquante-quatre centièmes. Ainsi, d’une façon générale, tous les
nombres commençant par 5 passent avant les nombres qui
commencent par 6; tous les nombres commençant par 53 avant
ceux qui commencent par 54; tous les nombres commençant par
537 avant ceux qui commencent par 538; de la même manière que,
dans un dictionnaire, tous les mots commençant par Ab précèdent
ceux qui commencent par Ac et tous les mots commençant par Aca
précèdent ceux qui commencent par Acb.
La Classification décimale constitue donc une localisation parfaite
des matières. Elle n’est pas sans analogie avec le système
d’identification anthropométrique imaginé par M. Bertillon et qui
fonctionne dans les grandes capitales d’Europe à la satisfaction
générale. Elle répond à ce principe essentiel de l’ordre
bibliographique, comme de tout autre ordre: une place pour chaque
chose et chaque chose à sa place. C’est, en outre, une localisation
raisonnée: cette idée est de l’essence même du système.
Il faut, en effet, distinguer avec soin la classification scientifique de
la classification bibliographique. Les exigences de l’une et de l’autre
ne sont pas les mêmes. Toute classification scientifique repose sur la
définition des objets à classer, et cette définition elle-même n’est
complète que lorsque la science est parfaite. En l’état actuel
d’avancement des sciences, une classification définitive et ne
varietur doit être considérée comme prématurée. Les meilleurs
esprits ne sont même pas d’accord sur les points cardinaux,
comment supposer l’accord sur les détails d’une classification. Cet
accord scientifique n’est heureusement pas nécessaire pour un
classement bibliographique. Il suffit d’un relevé complet des divers
sujets dont traitent les sciences, d’un certain groupement de ces
sujets d’après l’ordre le plus généralement adopté, enfin de
l’attribution à chacun d’eux d’une place fixe. Bibliographier, c’est
donc avant tout étiqueter et localiser les matériaux scientifiques.
Une classification conforme à ces vues existe très complète, très
étudiée, admirablement simple et appliquée depuis 17 ans, en
Amérique, au classement des livres dans les bibliothèques. Les
cadres de cette classification sont complets et embrassent
l’universalité des sciences. Plus de cent spécialistes ont collaboré à
l’étendre et à la perfectionner, jusqu’à lui donner environ 10,000
têtes de chapitres dans les tables méthodiques et 22,000 mots dans
les tables alphabétiques de référence. Cette classification, en outre,
est susceptible d’un développement indéfini. Elle s’est donc imposée
aux suffrages de l’Office de Bibliographie qui propose d’en faire la
base du Répertoire bibliographique universel. Puisque l’important est
une localisation complète et universellement reconnue, il importe
d’adopter la Classification décimale en bloc et de demander à chacun
le sacrifice de ses préférences personnelles en faveur du besoin
supérieur d’unité. Le vif et mérité succès qui lui a été fait aux Etats-
Unis et l’absence de toute unité bibliographique en Europe doivent
mettre fin aux dernières hésitations[1].
⁂
L’Office international de Bibliographie est donc en possession d’un
système de classement dont un premier essai a prouvé l’excellence.
Ce système, qu’il a mis à la base de son organisation, il l’a complété
en décidant que tous les renseignements bibliographiques qu’il
recueillerait seraient portés sur fiches mobiles. Le principe des fiches
mobiles n’a plus besoin aujourd’hui d’être défendu. Elles seules
permettent de maintenir dans le répertoire un ordre permanent et
unique. En effet, le répertoire bibliographique universel a ceci de
spécial que son élaboration est continue. Il doit enregistrer la
production littéraire à mesure qu’elle lui arrive: de là des
intercalations répétées. D’autre part, le collationnement des œuvres
anciennes nécessitera un travail considérable et d’une très longue
durée. Si le répertoire devait paraître sous forme de livres, la crainte
des erreurs et des omissions dans une œuvre définitive aussi
considérable en ferait retarder indéfiniment la publication. Le
système de fiches, au contraire, permet de livrer les documents
bibliographiques à la publicité par petites quantités à la fois et dès
qu’ils sont élaborés. En indiquant par un nombre classificateur sur
chaque fiche sa place exacte dans le Répertoire, tous les
inconvénients inhérents à ce genre de publication sont écartés.
Aux objections que les catalogues sur fiches peuvent difficilement
être mis à la disposition du public qui en troublerait le bon ordre, et
qu’ils présentent l’inconvénient de n’offrir à la lecture qu’un seul
renseignement à la fois, M. le Dr Rudolph a répondu victorieusement
en façonnant un ingénieux appareil dont voici la description:
M. Rudolph insère les fiches, auxquelles il donne la plus petite
dimension possible, entre deux glissoires en métal, placées aux deux
côtés de feuilles de fort carton ou de bois très mince, qui constituent
ainsi des porte-fiches. Ces porte-fiches sont réunis les uns aux
autres au moyen de broches facilement démontables. Ils forment
ainsi une sorte de grand livre qui ressemble assez bien aux petits
albums dont les photographies sont collées sur une longue bande de
toile qui se replie.
Les porte-fiches, tout garnis de leurs notes bibliographiques et
réunis bout à bout les uns aux autres en une chaîne sans fin, sont
placés dans une armoire en bois, d’un mètre de hauteur environ, et
dont la partie supérieure est formée d’une glace. Ils y reposent sur
deux tambours hexagonaux qu’une manivelle fait tourner dans les
deux sens. Le mouvement imprimé aux tambours entraîne les porte-
fiches dont la série se déroule devant la glace. L’armoire est fermée
à clef: le public ne peut donc toucher aux fiches qu’elle renferme. Le
lecteur qui cherche un renseignement se place devant la glace et
tourne la manivelle jusqu’à ce qu’il ait fait apparaître la série des
renseignements qu’il cherche. Quatre porte-fiches, pouvant contenir
chacun 45 fiches de trois lignes, se présentent à la fois à son
inspection et lui donnent ainsi toutes les facilités de lecture d’un
livre. D’autre part, les avantages inhérents au système de fiches sont
conservés, puisque la mobilité des fiches entre les glissoires des
porte-fiches, et la possibilité d’ajouter de nouveaux porte-fiches là
où besoin en est, rendent très aisée l’intercalation de
renseignements ultérieurs.
⁂
Les fiches sont classées dans le répertoire de l’Office conformément
à leur rang dans la Classification décimale. Pour faciliter les
recherches, les fiches bibliographiques qui sont blanches sont
intercalées derrière des fiches de classement coloriées et plus hautes
que les autres. Ces fiches de classement portent aussi les nombres
classificateurs. Leur couleur et leur format varient avec le degré de
la division qu’elles servent à marquer. Les fiches bibliographiques,
elles, portent le nom de l’auteur, le titre du livre, son étendue en
nombre de pages, son format, le nom de l’éditeur, l’année de
l’édition et le prix du volume ou le titre de la revue, l’année et la
page. Chaque fiche porte en outre des mentions bibliographiques
plus ou moins complètes suivant la nature de l’ouvrage bibliographié.
C’est d’abord et pour toutes les fiches l’indice de classement—c’est-
à-dire le nombre classificateur de la Classification décimale—et
l’indice d’identité ou numéro d’ordre. Le Répertoire bibliographique,
c’est l’état civil des œuvres de l’esprit. Il importe donc que
concurremment avec un nom de famille, ici l’indice de classement,
chaque écrit reçoive un nom individuel qui est l’indice d’identité.
C’est, dans le système de l’Office, un numéro de série ne se répétant
jamais deux fois. Chaque année constitue une série nouvelle qui se
distingue des autres par le quantième même de l’année qui devient
son dénominateur. Ainsi, tous les livres et articles parus en 1895,
appartiennent à une même série dont les numéros sont attribués
aux ouvrages à mesure qu’ils arrivent à la connaissance de l’Office.
Cette série a pour dénominateur 1895.
12,525
Ex.: , tandis que le dénominateur de la série des livres de
1895
12,525
1848 est 1848. Ex.: et ainsi de suite.
1848
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.
textbookfull.com