Introduction to Networked Applications and Computing

 

Crosslisted as Information Systems 106 (IS C106) and Engineering 111 (E C111)

Networking is changing computing in remarkable ways. Especially the global Internet enables entirely new types of computing applications, such as social applications (that serve groups of users), the Web (and widespread forms of information access more generally), distance learning and continuing education, business applications (coordination and control of business processes and logistics), and commerce (buying and selling of goods, including auctions). These new applications are having a remarkable impact on organizations of all types--including education, government, and industry--as well as individuals. The global nature of the Internet and widespread access to it is raising many new government policy issues, and changing the very nature of national sovereignty.

Would you like to learn about the applications of networked computing? Would you like to develop a broad working knowledge of the capabilities and limitations of the technologies underlying networked computing? Would you like to participate with an interdisciplinary group of students in discussing the many ramifications and policy issues surrounding networked computing, such as privacy, protection of children, national security and law enforcement, protection of intellectual property, and antitrust law? Would you like to position yourself to invent those new "killer applications" of the future--whatever your profession--and work effectively with technologists and managers to realize them? If so, this course is for you.

Relation to IDS 110

We wanted to list this course as IDS 111; however, new IDS listings are no longer allowed--hence the cross-listing between the School of Information Management and Systems and the College of Engineering.

Like this course, IDS 110 is a survey course on computing. It emphasizes lightweight programming, personal productivity applications, and computation. It is predominately technical and skill based. It is not a prerequisite for this course, although you may want to take it before, during, or after this course -- there is little overlap.

This course is also a survey course, but emphasizes the implications of networking in conjunction with computing. This course also emphasizes the impact on organizations (businesses) and groups of users, rather than individuals (of course, this is inherent to networking). This course also considers the social and policy implications of networked computing, as well as the applications and technology.

Prerequisites:

The course assumes that the student possesses general computer literacy, but does not presume specific technical, mathematical, or scientific knowledge. It is suitable for students from a broad range of backgrounds, including the humanities, physical sciences, engineering, and social sciences. In fact, classroom discussion will benefit greatly from a mixture of disciplines.

There is no course prerequisite--except upper-division undergraduate standing.

Units:

Three units. Three hours of lecture per week and a voluntary recitation (for no credit, to aid students with less background and experience). It is likely that in future years a one-unit laboratory will be added in the future.

Responsible instructor:

David G. Messerschmitt, Roger A. Strauch Professor of Electrical Engineering and Computer Sciences

Office hours: WF 2-4 PM in 517 Cory Hall

Venue:

MWF 1-2 PM in 247 Cory Hall

Enrollment limits:

For Spring 1999 enrollment will be limited to 40 students

Catalog description:

Introduction to applications of networked computers, especially social, educational, and information management. Understanding of the networking, computing, and software infrastructure enabling and constraining these networked applications, with the goal of empowering the student to use these technologies effectively in their personal and professional life. Related policy, legal, economic, and industry issues.

Extended description:

Networked computers, especially in the context of the Internet, is an increasingly important infrastructure for society and commerce. Not only do most educated individuals today need a working knowledge of how to use the internet for social applications (like email and discussion forums), but networked computing is an important enabling technology for many organizational contexts (business, commerce, and education). The thesis behind this course is that many educated people should be facile with networked computing, so that they can employ the technology to benefit of their personal and professional lives. The goal of this course is to empower students to conceptualize new applications of networked computing technology by conveying an understanding of both the capabilities and opportunities of the technology, and also the limitations it imposes. The current suite of applications is systematically covered to point to the possibilities. Like all other technologies, networked computing also has potential negative implications, so these are discussed to aid the student in mitigating them. Network computing raises many important policy and legal issues, and is impacted by several unusual economic effects and industry organizational issues, which are also covered. This is not a course in implementing networked applications--and in particular it is not a programming course--but rather the goal is to empower the student to work effectively with technologists to develop new application ideas and bring them to fruition.

Grades:

Homework, group projects, midterm and final exams.

Textbook:

D.G. Messerschmitt, Networked Applications: A First Course on the New Computing Infrastructure, Morgan Kaufmann Publishers, 1999. This textbook will not be published until summer, so in Spring 99 it will be sold as a reader through Copy Central.

Book table of contents [PDF]

Restrictions:

Graduate students cannot receive credit for both IS 106 and IS 206 toward their graduate degrees; rather, it is recommended that they take IS 206, which is taught every fall.

Course outline:

Applications of networked computing:

Social applications (serving groups of users)
Networked information access and management
Educational applications
Business applications
Electronic commerce
Network computing embedded in technical systems (transportation, electric power, etc.)

Computers and the network

Client/server and alternative architectures
Network topology and functionality

Architecture, and its use in the software infrastructure

Layering: network, operating systems, middleware, databases

Industry

Industry participants and structure
Relevant economics factors: network effects, economics of information and software, lock-in

Government and policy

Privacy
Access for children
Encryption policy: law enforcement and national security
Telecommunications regulation
Antitrust issues
National sovereignty

Acquiring an application

The application life cycle
Internal and contracted development vs. product
Application architectures: objects, components, frameworks

Communication support for applications

Abstract communication services: message, message with reply, session
Examples drawn from Internet protocols: IP, UDP, TCP, RTP

Reliability and Security

Availability vs. cost tradeoffs
Security capabilities and their uses: confidentiality, authentication, integrity, non-repudiation, firewall
Electronic payments

Performance

Concurrency
Scalability
Congestion

Networking

Addressing and routing, name servers
Packets and packet forwarding
Flow control
Congestion control
Quality of service and pricing

Communications

High speed internet access
Mobile and nomadic access
Voice over Internet
Regulatory issues
Speed of light as the future limitation

Relevant WWW sites:

Course proposal: http://www.eecs.berkeley.edu/~messer/Courses/E111-IS206/Approval.html

Related course, IDS 110, Introduction to Computers: http://socrates.berkeley.edu/~110info/

Related course, IS 206, Distributed Computing Applications and Infrastructure: http://www.sims.berkeley.edu/courses/is206/f98/