Chapter
1: Introducing ... the Universal Machine
- Beginners'
Frequently Asked Questions (and answers)
- Questions and
answers about bits and bytes, floppies and formatting,
Pentiums and Windows, modems and e-mail, etc. Click and
you shall receive!
- An illustrated
timeline of people and machines
- Learn about
the history of computing by clicking on pictures along on
a timeline.
- Pioneers of
computing
- Lots of
resources about the people who pioneered computing,
maintained by J.A.N. Lee.
- ENIAC Museum
- See the ENIAC
museum online and learn about the first fully electronic
computer.
- Smithsonian
Computer History
- The
Smithsonian Museum's Computer History web page.
- Ada Lovelace's
notes about Charles Babbage's Analytical Engine
- A selection
of excerpts from the first programmer's notes
- Pioneering women in
computing
- Denise
Gurer's banquet speech at the Grace Happer Conference on
seven pioneering women
- Turing machine
- Check out
another animated Turing Machine. This Java applet lets
you run four different programs, and even write your
own programs!
- Alan Turing wiki page
- Learn more about
the man and his great ideas.
Chapter
2: Problem solving before programming
- Informed
Hackers Hall of Fame
- Here are some
famous hackers who knew where they were going. (Remember,
it's blind hacking that can get you lost in a
jungle.)
- Problem solving and
learning
- Dr. Howard
McAllister's lecture notes on the problem solving
process.
- Dartmouth Project
for teaching engineering problem solving
- An approach
to training people how to solve engineering problems.
Chapter
3: A Taste of C++
- A C++ tutorial on
the web
- Starts with
"Hello, World" and you can download
examples. Windows programming.
- Other C++ tutorials
on the web
- A list of
tutorials, FAQs (Frequently Asked Questions) and
newsgroups about C++.
- s
- Learn more about
C++
- A link to the
Universal Machine's programming resources page.
Chapter
4: Programming and their translators
- Hello World!
- The
proverbial "Hello World!" program in a few
hundred languages, shells, etc.
- Yahoo's list of
programming languages
- Pointers to
tutorials and resources for dozens of programming
languages
- Another list of
programming languages
- More pointers
to tutorials and resources for dozens of programming
languages
- Java Home Page
- This is Sun's
Java site. Look here for official Java information and
software.
- The Scheme
Programming Language
- Scheme is a
dialect of LISP taught as the introductory language at
MIT and elsewhere.
Chapter
5: Classes: an outside look
- Abstract Data Types
- An
introduction to ADTs from an online textbook on
object-oriented programming in C++.
- Frequently asked
questions (FAQ) about classes
- Questions and
answers about classes and objects (a page from FAQs about
C++)
Chapter
6: The software development life cycle
- Software
Engineering: the Software Life Cycle
- Succinct
lecture notes on material comparable to this chapter,
from Walla Walla College.
- Spiral model
- How is the
spiral model different from class waterfall
model? Evolution and risk analysis.
Chapter
7: Structured programming with control structures
- Conditional
expressions, if-else and switch statements
- Lecture notes
for C (from which C++ inherits these control structures
as is)
- Looping structures,
while and for loops
- Lecture notes
for C (from which C++ inherits these control structures
as is)
Chapter
8: Peeling the onion: computer architecture
- CPU info center
- Links to
history and news about Central Processing Units (CPU)
- Intel's Pentium II
- Intel's
latest processor chip's floating point capability, MMX
for multimedia, bus architecture, etc.
- Supplementary
lecture on Boolean logic
- Boolean
operators, Boolean algebra, and Boolean circuits
- A Guide to Random
Access Memory
- Learn more
about how memory chips work (SIMMs, DIMMs, SDRAMs), etc.
- The RAM Guide
- Learn still
more about how RAM and memory chips.
- A Guide to Hard
Disks
- Learn more
about how HDDs work, what a cache is, and interfaces
(IDE, EIDE, SCSI).
- Cache for
Blockheads
- Learn how a
cache can speed up access to a slower device such as a
hard drive. A fun site developed by three students
(at Lehigh University).
Chapter
9: Functions and decomposition
- Functions in C
- Function
definitions, return types, parameters, in C (from which
C++ inherits functions)
- Functions in C++
- C++
enhancements to functions (prototypes, reference
parameters, default parameter values)
Chapter
10:Operating systems and networks
- Tutorials for
Windows95, WinNT, Unix, Macintosh, X-Windows, etc.
- Learn more
about "real world" operating systems.
- Tutorials for using
and creating content for the World Wide Web (WWW)
- Learn about
various web browsers and HTML (HyperText Markup
Language), Java, Javascript, etc..
- Macintosh OS
- What's Apple
doing with the Macintosh environment?
- Microsoft Windows
- As they say,
"Where do you want to go?"
- the UNIX reference
desk
- If you want
to learn about the operating system for computing
"gurus", stop here....
- Linux
- Did you know
you could install the Unix operating system on your PC,
for free?
- Big Dummy's Guide
to the Internet
- A round trip
through Global Networks, Life in Cyberspace, and
Everything...
- An Introduction to
Cryptography
- Learn more
about how how cryptography works, from Caesar to PGP (a
public key system)
- Netscape Guide to
HTML
- Resources for
style and composition of Web documents using HTML.
Chapter
11: Strings and Arrays
- Native arrays in C
or C++
- IntArrays are
nice and safe, but what's under the hood? Learn how
it's done without classes.
- ANSI string class
-
The new standard string class, of which Lstring is a subset.
(Also Standard Template
Library.)
- Another
introduction to the Standard Template Library
- Documentation
for the STL, a library of collections and algorithms
adopted for standard C++.
- Johannes Weidel's
Standard Template Library Tutorial
- Our
department recommends this tutorial and maintains a local
copy of it.
Chapter
12: Theory of Computation
- Turing's World
- A description
of Turing machines, with graphics.
- Turing machines
- Learn more
about Turing Machines. This Java applet lets you
experiment with various TM programs.
Chapter
13: Object-Oriented Software
- Abstract Data Types
- An
introduction to ADTs from an online textbook on
object-oriented programming in C++.
- OOther, an
Object-Oriented documentation & CASE Tool
- Software
downloadable free to students and educators, it creates
and draws class inheritance diagrams, etc., in Windows.
Based on Coad & Yourdon methodology.
- The Booch method:
an introduction...
- A tutorial on
a early widely used object-oriented methodology, a
precursor of UML (see below).
- Unified Modeling
Language (UML)
- A brief
description of an object-oriented methodology that has
recently become a de facto standard.
- A closer look at
UML
("UML can save your next project")
- This article
looks more closely at how to make effective use of UML in
real world software projects.
- The Object-Oriented
Page
- An annotated
list of links to information about object-oriented
software development.
-
Chapter
14: Classes: an inside look
- Implementing
classes in C++
- Tutorial on
implementing classes, public vs. private, constructors
and destructors.
- Encapsulation in
C++ classes
- Tutorial on
implementing abstract data types as classes in C++.
- Inheritance and
polymorphism in C++
- Inheritance,
polymorphism, abstract (virtual) classes, etc., C++.
Chapter
15: Social, ethical and professional issues
- Association for
Computing Machinery (ACM)
- An
international professional society for computer
scientists. Students can join!
- Automatic Teller
Machine (ATM) phobia
- Training
older people can reduce their fear of ATMs and other new
technologies.
- Communications
Decency Act - 1996
- Full text of
the Supreme Court's ruling on the Communications Decency
Act.
- Communications
Decency Act arguments
- Arguments for
and against the CDA, both in and out of court.
- Computer
Professionals for Social Responsibility (CPSR)
- Articles
about spam, intellectual property, "Star Wars",
computer crime, ethics, etc.
- The Privacy Pages
- Information
privacy on the Internet, encryption, civil rights, lots
of links.
- Ten Commandments of
Computer Ethics
- From the
Computer Ethics Institute
Chapters
16: Artificial Intelligence
- Kasparov vs. Deep
Blue
- IBM gets to
gloat about Deep Blue's chess victory. An
interesting multimedia site.
- An Interactive
Turing Test
- Try
interacting with a machine that seeks to pass the Turing
test.
- Chatterbots,
Tinymuds, and the Turing Test
- How to build
a program for the Loebner Prize competition.
- Chat live with an
AI natural language program
- Talk with
"Alice" or a simulated dragon, or about AIDS,
epilepsy or career management.
- Talk live with a
program that claims to be HAL, or download one that
claims to learn.
- HAL was a
computer that originally appeared in 2001: A Space
Odyssey; is he on the web now?
- Lecture notes on
neural networks
- Kevin
Gurney's notes, the basis for his book introducing the
topic.
- Mars Rovers
- Prototype
precursors of NASA's Mars Pathfinder and Rover at the MIT
Artificial Intelligence lab.
- Cog, the humanoid
robot
- Another
project of Rodney Brooks and the MIT AI lab.
- Artificial
Intelligence links
- Information
about research in AI around the world.
Click here to see if there
are more interesting web links at the web site for The
Universal Machine
Is anything missing? Sure is! Send suggested additional
links to gdb0(at)lehigh.edu