COMPSCI
093 History of Computing, Cryptography, and Robotic Devices 

Lectures  Teaching Assistants
Prerequisites:
None. If you feel that you may not
have sufficient background, please talk with an instructor.
Lectures and Recitations by
John Reif:
Lectures Room:
LSRC A247
Times: Tuesday
& Thursday 3:05 PM – 4:20 PM
RECITATIONS by TA (Discussion):
Room:
LSRC A247
Times: Monday
3:05 PM – 4:20 PM
Instructor:
Professor John Reif 







Office: 

D223 LSRC Building 


Phone: 



Email: 



Web page: 



Office hours: 

Tues & Thurs: 3:00PM – 4:00 PM via Zoom by prior appointment 

TA: Rajiv Nagipogu,
PhD Student 







Office: Biosci 042 



Phone: 9843779214 



Email: rajivteja.nagipogu@duke.edu 



Web page: https://cs.duke.edu/rajivnagipogu 



Office hours: Monday & Wednesday 2:00pm – 3:00pm 


Course materials:
· Lectures: Various lecture notes and research papers (downloadable).
Textbooks:
[Williams]: Michael R. Williams,
A History of Computing Technology, WileyIEEE Computer Society, 2nd Edition
(1997), ISBN10: 0818677392, ISBN13: 9780818677397
[O’Regan]: Gerard O'Regan, A Brief History of
Computing, Springer Publishing, 3rd Edition (2021), ebook: ISBN 9783030665999, hardcover: ISBN
9783030665982
(Free download via Duke Library: https://link.springer.com/book/10.1007%2F9783030665999)
Optional auxiliary
reading (other good reference books):
Course Topics:
This is an undergraduatelevel course providing an introduction to the extensive history of
computing, cryptography, and robotics through the ages. The course will cover historical computing
devices beginning from their first discovery, in some cases from the classical
Greek and Roman periods, progressing through the Middle Ages and the
Renaissance period in Western Europe, through to the modern period. The course covers, in their order of
discovery, many diverse technologies and devices for computation, cryptography,
and robotics. These technologies include a wide variety of ingenious devices,
including purely mechanical devices, hybrid electrical/mechanical devices, as
well as purely electrical devices. The history of purely mechanical devices for
computing, cryptography, and robotics dates at least to the classical Greek and
Roman periods, where ingenious mechanical devices and techniques were
developed: these include:
· Calculating
devices for predicting astronomical positions and eclipses (e.g., the famous
and mysterious Antikythera mechanism, dating to the first century BC),
· Devices for
encrypting messages (e.g., Caesar’s cypher), and
· Mechanical
robotic devices known as automata (e.g., the owl automata of Ktesibios of Alexandria and the mechanical singing birds of
Hero of Alexandria).
These classic mechanical technologies were
preserved and improved in the early Middle Ages primarily in the Islamic Middle
East at the House of Wisdom in Baghdad by alKhwarizmi (for whom “algorithm”
was named) and the Banu Musa brothers (who wrote the Book of Ingenious Devices,
describing automata and other devices).
These mechanical technologies were subsequently rediscovered and further
improved in Europe the latter part of the Middle Ages and the Renaissance period
in Western Europe, when many sophisticated mechanical devices were developed
for arithmetic calculation:
· Naper’s bones for doing multiplication via conversion to logs,
· The ingenious
arithmometer calculating machines of Schickard,
Pascal, and Colmar,
· Devices for encryption
(e.g., cipher wheels), as well as
· Devices for timing
and robotic movement (e.g., belltower clocks augmented with automata).
The industrial revolution provided many
further ingenious innovations, for example:
· Maxwell’s
planimeter (an analog device for measuring area),
· Sir William
Thomson (Lord Kelvin)’s harmonic analyzer (an analog computer used for tide and
weather predictions),
· Babbage’s
Difference Machines (a digital mechanical computer used for mathematical
tables),
· Babbage’s
Analytical Machine (a digital mechanical computer envisioned by Ada Lovelace to
be used for general computing), and
· Pierce’s
Logical Inference Machine (a digital mechanical computer that was the first AI
machine).
The
need for ever more rapid computation and cryptography capabilities just prior
to and during WW II led to rapid further developments:
· Sophisticated
analog navigation and guidance systems,
· The Enigma
electromechanical cypher machine, and
· Turing’s
deciphering device (named the “Bomb” resembling a Turing Machine) for decoding
German cyphers).
The course will further cover the modern
history of history of computing, cryptography, and robotics from just after WW
II to modern times. This includes the history of electronic computers, and the
transitions from Tubebased computers to the use of transiters and
microprocessors. Finally, the course will include an overview of the modern
history of emerging technologies for computing and cryptography, including
quantum computing and molecular computing.
By use of models and simulators, students
will also learn the basics of the operation and programming of various
historical mechanical computers, mechanical automata
and cryptographic devices. The history of computer memory storage will also be
covered, including mechanical gear positions, punched cards, paper tape,
magnetic delay lines, magnetic tape, magnetic disk, silicon chip, DNA molecular
storage, etc. In addition to the
operation of these devices, the course will also cover the device’s societal
impact (in their historical period of use), as well as the lives of the
device’s inventors (where known). The course will particularly highlight
individuals which made major contributions to computation devices, including:
· Archimedes,
· alKhwarizmi,
· Schickard,
· Pascal,
· Colmar,
· Babbage,
· Lady
Lovelace,
· Hollerith,
· Turing,
· Zuse,
· Mauchly &
Eckert and
· many
others.
By use of models and simulators, students
will learn the basics of the operation and programming of various historical
mechanical computers, robots and cryptographic
devices. Students will do projects on historical devices and/or device
inventors.
Summary of topics covered
and lecture notes:
Consult the schedule of Lectures for a list
of topics and a copy of lecture notes for the lectures to date.
Homework assignments:
All assignments will be released to Students on the
course Sakai webpage, and all solutions should similarly be submitted on the
course Sakai webpage. No credit is given for late solutions. You should turn in
what you have on time for partial credit rather than receive a 0. For
exceptional circumstances, see the instructor in advance, rather than after the
due time. Our policy is that one (and only one) homework during the entire term
is allowed not to be handed in, at no loss of credit. Furthermore, if you hand
in all the homework, then we will drop the lowest graded homework.
Students will be asked to design algorithms for classic
problems and provide mathematical analysis of correctness and asymptotic
efficiency. Students will turn in a written set of solutions. It is recommended
but not required that LaTeX be used for typesetting homework problems. If handwritten solutions are illegible, they will not be graded. Details
about proper style for writing
up homework solutions and some guidelines for grading are available.
Homeworks are due roughly
every second week and must be turned in before class on Wednesday of the week
they're due. No credit is given for late solutions. For
exceptional circumstances, see John Reif in advance, rather than after
the due time.
Honor code for
homework problems: discussion among students is permitted, but students
must write up solutions independently on their own. discussion among students
is permitted, but students must write up solutions independently on their own.
No materials or sources from prior years' classes or from the Internet can be
consulted.
Quizzes:
20% of the grade will be Multiple
Choice Quizzes. There will be No Final Exam.
Honor code for Quizzes: During every quiz: all calculators,
computers, cell phones, wireless or bluetoothconnected
devices, and all other electronic devices must be identified and handed over to
the person proctoring the exam. Breaking the rules can result in
expulsion.
Term
Paper: Students will have
the opportunity to do individual or group projects on historical devices: the
projects may be short papers, prototype devices, and/or simulations of
historical computing, cryptography, and robotic devices, or papers on the
device inventors. At the end of the course, there will also be opportunities
for the students to present their projects. The Term Paper/Project will be 35%
of the grade. Honor code for Term
Papers: Term papers must be written by the student and not copied from text
written by other authors (or from the web) or computer
generated. Plagiarism of any sort, for example paraphrasing without proper
attribution, is not allowed. Computer generated term papers are also a
violation of the honor code. Breaking the rules can result in expulsion.
Grading:
There will be no makeups for
missed quizzes. Missing one of the quizzes will result in the remaining
quiz grades being reweighted appropriately. The grades will be curved when
calculating the final letter grade.
Anonymous course feedback: Anonymous comments