the class logo
CSCI E-180 Calendar - Spring 2006

General Information

Catalog description // Text // Communication // Grading // Collaboration // Class meetings // Staff //

Catalog description

Building Programs with Graphical Interfaces

In this course we learn how to build programs that have graphical user interfaces with a variety of different GUI toolkits. We learn the strengths of different kits and languages, explore strategies for building cross-platform applications, incorporate remote procedure call systems based on XML/RPC, and look at techniques for making programs smarter with lightweight artificial intelligence. Required work includes several problem sets and a substantial term project. Prerequisite: fluency in C, C++, Python, or Java.


The text of this book is About Face 2.0: The Essentials of Interaction Design by Alan Cooper. You can buy it from The Co-op (we put it on order) or from Amazon.

We will supplement this textbook with articles that you will be able to download from the class website.

Alternative Texts

You might also find these books interesting:


For announcements and assignments, the Web is our authoritative form of communication. Students are expected to check the CSCI E-180 home page for both news and assignments at least once a week. If you hear a rumor, check it there. If you miss an announcement, it should be on the home page.

We will be setting up a bulletin board system to for online discussions and asking questions of the teaching staff.

Grading Policy

Grades in CSCI E-180 are based on class participation and the three projects. These elements are weighted as follows:

Project 1 25%
Project 2 25%
Project 3 25%
Class Participation25%

Thus, half of your grade is based on independent work, and half of your grade is based on work with others.

Project 1: The Solo Project

Project 1 is a solo project. You will be asked to create an application that demonstrates several aspects of application design and development that we will be discussing in class. Each student will submit a 2-page project proposal which will consist of a description of the application that is to be created, its intended user base, and a top-level design. This proposal will be critiqued and returned to students within a week. After that you will have three weeks to complete the project.

Project 2: The Two-Person Project

Project 2 is an application development project for pairs of people. Students in the class may team with whoever they wish; students who are not able to secure partners will be assigned.

If there is an odd number of students, there will be a group of three students. Partners of students who drop will be dealt with on a case-by-case basis.

Project 3: The Network Project

Project 2 is an application development project for groups of 4 students. This project should involve the development of some kind of network-based application in which you and your team will develop both the client and the server (or, alternatively, develop a peer-to-peer application.)

Class Participation

This is a seminar-style class that discusses both usability and appliation design, we will be reading and discussing both documentation and research papers. As such,

Your grade for class participation will include your contributions on the class website, your attendance, and your preparation.

Of your class participation grade, 10% of the 25% will be assigned by your team mates on the third project. You will not be able to see the individual assignment, only the average assignment of your three partners. Your partners will also have the chance to give you confidential, anonymized feedback of how they thought it was to work with you. In other classes that have used this approach, the anonymized feedback is widely thought to be a valuable aspect of the course.

Note: You must hand in all projects to pass CSCI E-180. If you don't hand them in, you will receive an F for the subject as a whole.

Collaboration Policy

It is strongly recommended that you discuss the readings and assignments with your classmates. However, it is expected that the homeworks that you submit is your own. You may not collaborate on the quizzes. The final project is a group effort; your group should not collaborate with other groups.

It is expected that you will reference a variety of articles and other sources in the preparation of your assignments and final project. You are welcome to use either the so-called "Harvard Style" or IEEE style to cite your references. A list of URLs is not an acceptable citation format and will be viewed will be judged accordingly.

Class meetings

Lectures will be held on Thursday evenings from 5:30 - 7:30pm in 51 Brattle Street, room 321.

The class will have an online web-based community for those who wish to participate. This class will not be videotaped. If we have a Teaching Fellow, hours will be posted.


Simson L. Garfinkel, Ph.D.
Office Hours by appointment.

Teaching Fellow:
Daniel Bromberg

cell phone: 617.240.8036

Questions or comments regarding CSCI E-180? Send e-mail.

Last modified September 24, 2023