CS 530: Developing User Interfaces
Course Syllabus
Course: | CS 530, Developing User Interfaces, Spring 2018 |
Professor: | Erin Solovey |
Email: | erin dot solovey @ drexel.edu |
Office: | University Crossings 108 |
Office Hours: | Please email me for an appointment! |
TA: | Reza Moradinezhad |
Email: | rm976 @ drexel.edu |
Office: | CLC (UC 152) |
Office Hours: | Thursdays 6-8pm |
Description
This course examines the implementation of multimodal user interfaces within the context of interface design and evaluation. The course involves both practice implementing interfaces using current technologies and study of topical issues such as rapid prototyping, advanced input, and assistive technology.
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 programming.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)
- introduction to web UIs (HTML, CSS, Javascript)
- 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)
- interface input and output
- event-driven programming
- layout and look-and-feel
- lower-level components: buttons, lists, etc.
- higher-level components: windows, dialogs, etc.
- interfaces on the web and in the world
- callback functions
- user interface prototyping
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 HTML5 and/or Javascript reference book. Feel free to choose whatever suits you best; there are many books to choose from (try searching on amazon.com) and looking at the Resources link on the course webpage. However, before you purchase additional books, please note that the Web contains many online resources that may serve just as well, such as Mozilla's Javascript Tutorials.
Presentations
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.Lab Assignments
Lab assignments will focus on programming to solidify and expand on topics presented in lectures. The assignments involve implementation of a user interface using web technologies (HTML/CSS/Javascript); lectures will introduce whatever knowledge of is needed of these languages to complete the assignments. For the in-class section, these will mostly be done in class. Any work unfinished at the end of class will be completed on your own time before the next class meeting. For online students, the labs may be done synchronously during our in-class period, or we will form groups to work together at alternate times.
Project
The course will include a multi-week individual project that brings together all aspects of the learned material. The initial waypoint will include group discussion of interface prototypes to get feedback for future work. The final week will include demonstration sessions in which everyone presents 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%
- Lab Assignments & Participation: 30%
- Presentation: 10%
Assignments turned in up to one day late incur a 50% penalty; assignments turned in more than one day late cannot be accepted and receive a score of 0. Missed exams also receive a score of 0.
Communication
The instructor will disseminate important announcements by email through the course mailing list, 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 for in-class students. Online students are expected to watch lectures in real-time, and/or review the lecture after it is posted. It is your responsibility to stay up-to-date on lecture materials. School closings (e.g. snow days, etc.) 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 College of Computing & Informatics Academic Integrity Policy and the Drexel University Academic Integrity Policy for more information.
-
Students requesting accommodations due to a disability at Drexel University need to request a current Accommodations Verification Letter (AVL) in the ClockWork database before accommodations can be made. These requests are received by Disability Resources (DR), who then issues the AVL to the appropriate contacts. For additional information, visit the DR website at drexel.edu/oed/disabilityResources/overview/, or contact DR for more information by phone at 215.895.1401, or by email at disability@drexel.edu.
- Drexel's Add/Drop period ends at the end of Week 1. Please plan accordingly. Students may withdraw from a course during the withdrawal period beginning at the end of the Add/Drop Period through the close of the withdrawal period.