Return to CS300 Main Page
CS300
The Art and Science of Computing
Course Description: This course provides an introduction to the
important ideas in computer science, its history and development, and
the future of computing technology. It is intended for students who are
interested in understanding the core concepts and the potential of
computing technology, rather than developing professional expertise.
Topics include data representation, algorithms, historical
developments, what computers can and cannot do, the information
superhighway, and the impact of computing/information technology on
business and society.
Structure: Three times a week, two 1 hour lectures and one structured
demonstration/participation.
Prerequisites: None.
Requirements: Weekly reading assignments and WWW-browsing assignments.
Midterm examination. Final paper. Final examination.
Texts: Bill Gates, The Road Ahead (Penguin, 1995); David Harel,
Algorithmics: the spirit of computing (Addison-Wesley, 1992); Raymond
Kurzweil, The Age of Intelligent Machines (MIT Press, 1991); Derek
Leebaert, ed., Technology 2001: the future of computing and
communications (MIT Press, 1991); Theodore Roszak, The Cult of
Information: the folklore of computers and the true art of thinking (UC
Berkeley Press, 1986); additional materials.
CS300
Syllabus
- GATES:
A Revolution Begins, The Beginning of the Information Age,
Lessons from the Computer Industry, Applications and
Appliances, Paths to the Highway, The Content Revolution, Implications
for Business
Friction-Free Capitalism, Education: The Best Investment,
Plugged-In at Home, Race for the Gold, Critical Issues
- HAREL:
Introduction, Algorithms and Data
Programming Languages
- HAREL:
Algorithmic Methods
Correctness of Algorithms
- HAREL:
Efficiency of Algorithms
Inefficiency and Intractability
- HAREL:
Noncomputability and Undecidability (skip ch 9)
Parallelism and
Concurrency
- HAREL:
Probabilistic Algorithms
Algorithms and Intelligence
- KURZWEIL:
Mechanical Roots (start at ch 5): Early Automata and
Calculating Engines, Charles Babbage and the World's First
Programmer, The Practical Path
Electronic Roots: The First Computer, The AI Movement
- KURZWEIL:
Philosophical Roots: Plato and the Platonists, The
Enlightenment, The Logical Positivists and the Existential
Reaction
Mathematical Roots: Russell's Paradox, The Five Contributions
of Turing
- KURZWEIL:
The Formula for Intelligence: Unifying Formulas and the Goal of
Science, The Sea of Logic and the Turing Machine, The Recursive
Formula and Three Levels of Intelligence, Random Nets, The Formula of
Life
Pattern Recognition: Vision, The Real World; Search for
Knowledge: Knowledge and Expert Systems, Putting Knowledge to
Work, Language and the Expression of Knowledge, The Age of Robots
- KURZWEIL:
Visions: Scenarios, Breakthroughs
The Impact On: Employment and
the Economy, Education, Communications, Warfare, Medicine, The
Handicapped, Music, Politics, Our Concept of Ourselves
- CONTRARY VIEWS:
How Info Tech Might Threaten Individual Rights (The Unabomber's Manifesto)
Critical Reactions
- ROSZAK:
Information, Please, The Data Merchants, The Hidden Curriculum,
The Program within the Program, Of Ideas and Data
Computers and Pure Reason, The Computer and the Counterculture,
The Politics of Information, In the Wrong Hands, Descartes's Angel
- LEEBAERT:
Later Than We Think: How The Future Has Arrived, Brief Time,
Long March: The Forward Drive of Computer Technology (skip
essays 2, 3, 5, 6)
Knowledge and Equality: Harnessing the Tides of Information
Abundance, The Civilizing Currency: Documents and Their
Revolutionary Technologies (skip essays 8, 9)
- LEEBAERT:
A World to Understand: Technology and the Awakening of Human
Possibility, Touching Everywhere: Intensifying the Human
Environment
In a Very Short Time: What is Coming Next in
Telecommunications, Public Policy for the Information Age
CS300
Demonstration/Simulations (interleaved w/lectures)
Simulation of a FSM accepting a regular language on the alphabet
{0, 1}
Simulation of a TM accepting palindromes and simulating a TM
Simulation of a CFG derivation of a JAVA program
Simulation of a CFG parse with grammars for PASCAL and NP's
Simulation of a GAWK to C preprocessing of split and in-line
substitution of functions
Simulation of Tail-Recursion for flatten in LISP
Simulation of a Quad-Tree data structure, query and insert
Simulation of Dynamic Programming and shortest paths
Simulation of an Ethernet Collision, backoff, and retransmit
Simulation of a Queueing Network with two classes of traffic and
priority
Simulation of Asynchronous Processes serializing through locking
Simulation of Computer Chess heuristic search
Simulation of a Neural Network feeding forward and backpropagating
CS300
Sample Examination Questions and Paper Topics
Sample Short Questions.
- Harel says sometimes an O(N) algorithm would be chosen over an
O(logN) algorithm. Besides the fact that you couldn't read the whole
input in O(logN), why would he say such a thing?
- The photograph in Kurzweil says that Lady Ada Lovelace was the first
programmer. How many lines of code did she produce?
- Rewrite as precisely as you can (use at least a dozen lines):
Lather, Rinse, Repeat. You may assume any primitive operations you
want. Describe all programming language constructs you are using.
Sample Long Questions.
- In the probabilistic algorithms chapter, Harel says there are
theorems that are almost true. Discuss why mathematicians should be
disturbed, but why, from a constructive point of view, they are wrong
to be.
- Gates seems to think that the standard example of interoperability's
importance, the victory of VHS over Beta in the market, is not a very
good example. He says that Beta was not technically superior, as is
typically supposed. What do you think is his hidden agenda in making
this claim, especially in the context of Microsoft's past and future?
- In Leebaert's collection, Levien, V.P. for Strategy at Xerox refers
to documents as "civilizing currency." Recount the highlights of his
portrayal, which corresponds to the historical development of document
technology. Is hypertext civilizing?
Sample Paper Topics.
- Distinguish Roszak's arguments from the Unabomber's. Are Luddites
distinguishable?
- Both Harel and Kurzweil celebrate results in computer science that
describe how difficult a problem can be: in fact, they celebrate
results that certain problems are impossible. Has this knowledge really
been useful, or is it just mathematical curiosity?
- Much of Harel is concerned with the organization of data in ways
that efficiently support various kinds of processing. Roszak points out
that this has traditionally been the job, in post-industrial society,
of boring, poorly paid clerks rather lacking in creativity and drive.
Should computer science better have been called "office-clerk
science"?
Sample WWW Assignments.
- Find a faculty member in computer science at a foreign university.
What is a general strategy for finding such people?
- Find a non-trivial word in the thesaurus that does not yield a
result under any of the good search engines. Why has it remained
unrepresented in (the search engine's picture of) cyberspace?
- Find the Supreme Court decisions on-line. Once you are in the
syllabus of a case, is hypertext helping you? In what ways can the
situation could be improved? What would be the drawbacks?
CS 300
Instructor Qualifications
Associate Professor of Computer Science R. Loui has an
interdisciplinary doctorate in Computer Science and Philosophy from
Rochester's graduate program in Arts & Sciences, was affiliated with
Cognitive Science at Stanford, and is currently affiliated with the
Legal Studies Program at Wash U.
His non-technical courses as a Harvard undergraduate had a broad span,
including as favorites: 20th Century European Intellectual History,
Justice, Ethics, Epistemology, IQ, International Law, Negotiation and
Conflict Resolution, and Knowledge and Power.
His work has appeared in The Journal of Philosophy,
Analysis, Theory
and Decision (The Journal of the Mathematical Social Sciences), AI and
Law, Philosophy and AI, Cognitive Science, Communication and Cognition,
Minds and Machines, Computational Intelligence,
Artificial
Intelligence, Communications of the Association for Computing
Machinery, AI Magazine, Computing Surveys, Computing Reviews, and
elsewhere. He has co-edited Knowledge Representation and Defeasible
Reasoning and has been working on a book-length manuscript titled
Argument Games.