George Mason University
DEPARTMENT OF COMPUTER SCIENCE
CS491 - Great Principles of IT - Fall 2002
Monday 4:30-7:10, ST2/430A
This page last updated on 11/18/02.
Professor Peter J.
Denning
703-993-1525
pjd@cs.gmu.edu
(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: <http://denninginstitute.com/pjd/cs491>
NEWS:
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.
ASSIGNMENTS:
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.
RESOURCES:
Links to web-based resources useful in the course appear in this space.
- Peter
Denning discusses the nature and historical forces behind the
emerging IT profession.
- PJD's
Columns for the Communications of ACM have discussed a
variety of issues relevant to IT practice and professional
mastery.
-
Algorithms and Processes, a short overview of the field
of algorithms and the limitations of algorithms.
-
Ray Kurzweil projects the future of technology and Moore's Law.
-
John Seely Brown and Paul Duguid discuss how technology
evolves in its social-historical context.
-
Consciousness. John Searle discusses the nature
of consciousness and how a
scientific investigation of consciousness and artificial brains
might be conducted.
-
Completing the Loops, an overview of the structure of the
linguistic processes by which we coordinate action.
-
Original course overview for CS491 (Jan 2001).
-
Approved Synthesis course overview for CS491 (Jun 2002).
-
Course Description.
-
There is no such thing as information, an essay by Steve Talbott
wondering whether our belief that
information is a quantifiable entity has taken us too far, into a
world of interpretations that do not match reality.
-
Technology, Alienation, and Freedom, an essay by Steve
Talbott about mathemetical
time, space, and other abstractions characterizing our age.
-
Langdon Winner's article on "aggressive disrespect" and its
meanings for professionalism and professional identities.
-
Overview of some great IT principles.
-
Vint Cerf's Internet Model.
-
Reading Practices to help you read faster
and more effectively.
- Tutorial
on queueing network models.
-
Virtual Memory overview, by Peter Denning, from a recent issue of ACM's
Computing Surveys.
-
Before Virtual Memory by Peter Denning, a personal retrospective on the
early development of this technology.
- Recent
research paper on virtual machines in distributed systems
(1999).
- Technical
Report from UTexas on mapping security requirements into
hardware (1991).
- Virtual
Machines Model for "user processes" in Unix.
- Virtual
Machines Terminology.
- Jim
Gray's overview of data and his speculations about the
future.
- Queueing
Networks Tutorial, a summary of the key ideas from queueing
network models of throughput and response time in multi-server
systems.
- Performance
Evaluation and Experimental Computer Science, making the case
that performance modeling illustrates experimental computer
science at its best.
- Operational
Analysis of Queueing Network Models, a new approach to
undertanding models of computer system performance.
-
Data Security tutorial from Computing Surveys.
-
God is the Machine, an essay by Kevin Kelly from Wired
magazine.
Back to the top.
TA's:
No Teaching Assistants are assigned to this course.
Back to the top.
GRADING :
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:
- A: S is at least 9.0
- B: S is at least 7.8 (and less than 9.0)
- C: S is at least 6.0 (and less than 7.8)
- D: S is at least 4.5 (and less than 6.0)
- F: S is less than 4.5
Class participation is very important.
Back to the top.
LATENESS:
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.
SYLLABUS:
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
Naming
Secret and Secure Communication
Access and Authentication
Virtualization
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
Perception
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
DESCRIPTION :
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.
READINGS:
Recommended books:
- Alan Biermann. Great Ideas in Computer Science. MIT
Press. 1990.
- John Seely Brown and Paul Duguid. The Social Life of
Information. Harvard Business. 2000.
- James Burke. The Day the Universe Changed. Little Brown.
1995.
- Hubert Dreyfus. On the Internet. Routledge. 2001.
- Richard Feynman. Lectures in Computing. Perseus. 1996.
- David Harel. Computers, Ltd.. Oxford University
Press. 2000.
- Robert Hazen and James Trefil. Science Matters. Anchor.
1996.
- Robert Hazen, James Trefil, and Anthony Gaudin. The Sciences:
An Integrated Approach. Wiley. 1999.
- Danny Hillis. The Pattern on the Stone. Perseus. 1999.
I may also select articles for you to read; if that happens, copies will
be available for you on this web page as resources.
Back to the top.
GROUPS AND COLLABORATION:
On the first day of classes, you will form into study groups, most
of size 3. You should meet with your study group once a week as part of
your normal class work (you can do this with an on-line meeting
service such as Microsoft NetMeeting or Netscape Communicator, a conference
call, or an in-person meeting).
You should discuss all homework questions freely
and frequently in your group. Except when group projects are explicitly
declared, you must write your own individual report for each
assignment.
You will learn much more working with your group than
you would working alone. It is important to acknowledge the sources
of your information -- name the persons with whom you collaborated, cite
sections from books or articles if you use them, etc. In short, collaborate
freely, acknowledge all help and sources, and write your own individual
homework reports. Your study group will also function as a project team
in the projects that you will work on.
At all times, you must observe the
University's Honor Code.
Back to the top.
PROJECTS:
There will be a project involving research into one of the great
principles. The objective is for you to become an observer of
the evolution and impact of principles in the manner of authors
such as James Burke. You will need to locate and read old
scientific papers and books that show the gestation of
principles or important developments with them.
You will have opportunities to get feedback
and guidance on your drafts and to make a presentation before the
whole group.
For the project, your team will submit a written report of
approximately 20 pages.
It is important for your to work out in advance how you will divide
up the work on the project among yourselves so that you can aim for equal
distribution of the points. It is important to work out a schedule
so that you can get everything done -- don't put the main work off to the
last minute because you can be severely hampered by computer overloads that
so frequently happen in last-minute rushes. It is also important to keep
your promises to your group members because otherwise they will not
sign an equal-distribution statement with you at the end. The project due
dates will not be postponed except for major emergencies (e.g., snow days
or machine unavailability).
If you encounter any breakdowns in the operation of your group, let
me know immediately so that I can help you solve the problem.
Back to the top.