CS 530: Developing User Interfaces
Course Syllabus (in-class section)
Professor: |
Erin Solovey |
Email: |
erin dot solovey @ drexel.edu |
Office: |
University Crossings 108 |
Office Hours: |
Please email me for an appointment! |
Description
This course discusses user interfaces within the context of interface design, implementation, and evaluation. The course includes lectures covering the basic topics, class discussions on special topics relevant to each lecture, and a course-long project in which students design, implement, and evaluate a new user interface.
Goals and Objectives
This course aims for students to (1) understand all stages of the user interface life cycle, including design, implementation, and evaluation; (2) practice the programming, writing, and speaking skills necessary for developing user interfaces; and (3) appreciate the larger context in which multimodal interfaces are designed, implemented, and ultimately used.
Prerequisites
The class will assume basic familiarity with Java and a UNIX environment. Students familiar with C++ but not Java should be able to pick up the necessary Java skills through lectures and assignments.
Course Topics
The course is designed to be interactive and a high degree of student participation is expected. Topics covered in class include the following:
- introduction to the interface design-implementation cycle
- introduction to Java Swing (a package for building portable interfaces)
- rapid prototyping (sketching and evaluating interfaces quickly)
- advanced interface technologies (e.g., speech and handwriting recognition, intelligent interfaces, wearable computing, brain-computer interfaces)
- interfaces for impaired users (e.g., interfaces for the disabled)
- interface evaluation (e.g., user studies, cognitive models)
Readings
There is no required textbook for this course; the lecture notes handed out
in class will serve as the primary study resource, and we may hand out additional
sources during the term. Optionally, you may also find it helpful to purchase
a Java and/or Java Swing reference book. Feel free to choose whatever suits
you best; there are many books to choose from (try searching for "java swing" on amazon.com). However, before you purchase additional books, please note that the
Web contains many online resources that may serve just as well, such
as Oracle's online Java Tutorial
and Swing Tutorial.
Presentation
Each student will give an online "presentation" and lead a discussion on one of the special topic readings. Presentations will be done individually, and you will be asked to post slides about the reading, including your analysis and critique of the work, and then lead a discussion on its context in the course.
Weekly Discussions
Throughout the course, all students will be expected to participate in on-line discussions. Specifically, as students presenting individual papers post their "presentations" as blog entries, each student is expected to comment thoughtfully on each paper for that week. To solidify understanding and for practice in critical reading, paper critiques will be required for several papers. In addition to sumbitting a one-page critique when specified, students should also submit the self-graded rubric for the review. Students' participation grades will be based on the quality of their discussion postings and paper critiques.
Assignments
Homework assignments will involve programming to solidify and expand on topics presented in lectures. The assignments will primarily involve implementation of a user interface in the Java programming language and the standard Swing package; lectures will introduce most of whatever knowledge is needed to complete the assignments.
Project
The course will include an multi-week group project that brings together all aspects of the learned material. The project involves both implementation of a system and writing of a "conference-like" paper describing the system. The final week includes a "mini-conference" in which everyone will present their projects and results to the class.
Grading
All aspects of this course are important for developing an understanding of and
appreciation for building user interfaces. The grading breakdown will be as follows:
- Project: 60%
- Assignment: 10%
- Presentation: 10%
- Participation: 20%
Late assignments cannot be accepted and receive a score of 0. Missed presentations also receive a score of 0.
Communication
The instructor will disseminate important announcements by email and Drexel Learn, and also post these announcements on the course web site. Also,
the web site contains a timeline with links to all information (lecture slides,
assignments, etc.) relevant to the course.
Policies
- Attendance for lectures and exams is expected. Snow closings are posted on the Drexel home page.
- Academic honesty is essential. Cheating, academic misconduct,
plagiarism, and fabrication of any submitted material, including both
code and prose, are serious breaches of academic integrity and will be
dealt with accordingly. Violations will result minimally in a grade
of zero for the exam/assignment in question, and a report of the
violation to Drexel administration; further penalties may also apply at the discretion of the instructor, department, and university. Please refer to the CCI Conduct Policy
and the Drexel University Academic Integrity Policy for more information.