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

  1. 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

  2. HAREL:
    Introduction, Algorithms and Data

    Programming Languages

  3. HAREL:
    Algorithmic Methods

    Correctness of Algorithms

  4. HAREL:
    Efficiency of Algorithms

    Inefficiency and Intractability

  5. HAREL:
    Noncomputability and Undecidability (skip ch 9)

    Parallelism and Concurrency

  6. HAREL:
    Probabilistic Algorithms

    Algorithms and Intelligence

  7. 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

  8. 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

  9. 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

  10. KURZWEIL:
    Visions: Scenarios, Breakthroughs

    The Impact On: Employment and the Economy, Education, Communications, Warfare, Medicine, The Handicapped, Music, Politics, Our Concept of Ourselves

  11. CONTRARY VIEWS:
    How Info Tech Might Threaten Individual Rights (The Unabomber's Manifesto)

    Critical Reactions

  12. 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

  13. 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)

  14. 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.

    1. 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?

    2. The photograph in Kurzweil says that Lady Ada Lovelace was the first programmer. How many lines of code did she produce?

    3. 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.

    1. 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.

    2. 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?

    3. 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.

    1. Distinguish Roszak's arguments from the Unabomber's. Are Luddites distinguishable?

    2. 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?

    3. 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.

    1. Find a faculty member in computer science at a foreign university. What is a general strategy for finding such people?

    2. 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?

    3. 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.