George Mason University

CS491 - Great Principles of IT - Fall 2002

Monday 4:30-7:10, ST2/430A

News | Assignments | Resources | TA's | Grading | Late | Syllabus | Description | Readings | Groups | Projects | Schedule

This page last updated on 11/18/02.

Professor Peter J. Denning
(for fastest service prefix the subject of your email with CS491)

Course office hour Monday 3:00-4:00 or by appt; e-mail all times
ST2 Room 430B

This page's URL: <>


There will be no class on Mon Nov 25 (Thanksgiving week). (9/30/02)

The design problems, including one for extra credit, are now posted. (9/30/02)

Back to the top.


  • Assignment A1. Due 9/9/02
  • Assignment A2. Due 9/18/02
  • Assignment A3. Due 9/23/02
  • Assignment A4. Due 9/30/02
  • Assignment A5. Due 10/7/02
  • Assignment A6. Due 10/16/02
  • Assignment A7. Due 10/21/02
  • Assignment A8. Due 11/4/02

  • Design Problem D1. Due 9/30/02
  • Design Problem D2. Due 10/14/02
  • Design Problem D3. Due 10/28/02
  • Design Problem D4. Due 11/18/02

  • Design Problem ECD1. Due 12/2/02

  • Research Report. Due 12/2/02

  • Back to the top.


    Links to web-based resources useful in the course appear in this space. Back to the top.


    No Teaching Assistants are assigned to this course.

    Back to the top.


    I will give you a series of design problems, corresponding to some of the Great Principles we will be covering. These problems will be due at intervals of approximately every two weeks. They will collectively count 60% toward the final grade.

    You will be responsible for a course research project. In your project report, you will focus on a principle, showing its inception, its reincarnations, its impact, and its integration into the consensus of important principles. You will have opportunities to present drafts and obtain feedback. You will give a presentation of your project before the class which may also include other faculty members as evaluators. Each team will have opportunities to present drafts and obtain feedback. The project will count 30%, and the final presentation 10%, toward the final grade.

    There will be no midterms or final.

    You can estimate your overall score, S, at any point by averaging the scores of graded items with the weights given above and normalizing on a scale of 10. There is no curve. Your grade will be:

    Class participation is very important.

    Back to the top.


    I will not accept assignments late unless you have pre-arranged a new due date, or if there is an emergency and you let me know as soon as possible after the emergency. The principle I am working with is that your due date is a promise; you are responsible for your promises. If you cannot fulfill your promise, you need to negotiate a new due date as soon as you know.

    Back to the top.


    The topics listed below will be covered. The time spent on each will depend on the level of difficulty or the level of interest.

    What Makes Ideas Great (1 week)

    The Algorithmic Method (2 weeks)

    What Machines Can and Cannot Do
    Programs = Algorithms + Data
    Complexity: Measuring Algorithmic Time and Space
    Circumventing the Complexity Barrier with Heuristics
    Universal Machines
    Self reproduction and artificial life
    Language and the Problem with Information

    Distributed Systems (5 weeks)

    The Internet
    Secret and Secure Communication
    Access and Authentication
    Commanding the Computer: The Human-Computer Interface
    Transactions and Data
    Concurrent programming
    Laws of System Performance

    Cooperative Systems (3 weeks)

    Information systems
    Agent-Based Computing
    Speech recognition and understanding
    Machine Learning
    Enterprise and E-Commerce

    Contemporary Open Questions (2 weeks)

    Nomadic computing
    Interaction Models
    Alternative methods of computing
    MIT's Oxygen Architecture
    Bionic Body Parts


    CS491 is a 3-credit senior integrative course. Students must have standing as seniors (completed 90 credit hours) and have completed at least two CS 400-level courses.

    This course aims to develop students' sense of the whole of information technology by synthesizing and integrating their existing knowledge from separate CS specialties. It discusses the great principles on which CS is founded, their relationships with one another, and their relationships with other fields. It examines what makes a principle great -- durable, wide, and lasting impact -- and traces the history of each principle to demonstrate why it is great. It also examines several of the major system problems facing information technologies today, speculating about how the great principles will influence the development of solutions and what new principles might emerge from the development.

    Catalog Description: A synthesis course for CS majors. Offers a holistic view of the field and its connections with other fields. Covers great principles of information technology from algorithms and programming, distributed systems, and cooperative systems. Emphasizes the historical development of these principles, why they have stood the tests of time, how they relate to one another, and how they relate to issues in other fields. Also covers major contemporary open questions in information technology. Includes a project with an oral presentation.
    Back to the top.


    Recommended books: