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. |
We will be setting up a bulletin board system to for online discussions and asking questions of the teaching staff.
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 Participation | 25% |
Thus, half of your grade is based on independent work, and half of your grade is based on work with others.
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.
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,
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.
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.
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.
Teaching Fellow:
Daniel Bromberg
cell phone: 617.240.8036
Last modified February 21, 2025