UI Design

CS 422

User Interface Design and Programming

3 or 4 credit hours

User interface design, implementation, and evaluation: user-centered design methodologies, windowing systems, I/O devices and techniques, event-loop programming, and user studies. Programming projects.

Course Details

 This course is taught on campus. We meet Tuesdays and Thursdays: 3:30 – 4:45 PM, at SES 130

Debaleena Chattopadhyay

Prof. Debaleena: Tuesdays and Thursdays, 5 – 6 PM at SELW 1032

TA Hasti: Wednesdays 3:30 to 4:30 pm and Thursdays 12 – 1 pm at SELW 1032 or via Zoom (Meeting ID: 839 7923 5020, Passcode: 168Zr1GQ)

TA Basu: Mondays 1:30 to 2:30 pm at SELW 1032 or via Zoom (Meeting ID: 829 0232 0607, Passcode: N1iJxR)

CS 342, Software Design, or equivalent software engineering experience, specifically:

  • programming experience in Java, C#, C++, or a similar language (i.e., not only Python and JavaScript);
  • building at least one graphical user interface

Students are responsible for familiarizing themselves with the syllabus. The instructor is responsible for being responsive to the diverse needs of the enrolled students and making necessary modifications to this syllabus, which is to be treated as a living document. Blackboard will be used to post course grades. Piazza will be used to post announcements, FAQs, discussion points, course-related general queries, and detailed instructions when deemed necessary. The course webpage will contain links to readings, general instructions, and class schedules. Post general doubts publicly on Piazza and private matters anonymously (to classmates). Students are responsible to keep themselves updated with class announcements. This is an elective course.

Except for extenuating circumstances and emergencies, please avoid using emails for class-related doubts/inquiries. Use Piazza.

Programming in this class will be web-oriented and include frontend UI implementation. A complete backend is beyond the scope of this class. For assignments, students will need to use, at the least, HTML, CSS, JavaScript, and Jquery. We will provide learning materials, links to tutorials, and handouts, but not spend class time covering these technologies.

This class consists of three versions that meet together and share many assignments:

  • 422U for undergraduate students
  • 422M for masters students
  • 422D for doctoral students

In general, the two graduate versions are supersets of the undergraduate version, but different supersets:

Course content. All three versions cover the same material on UI design, implementation, and evaluation. Students in 422D have additional material on research methods and human-computer interaction (HCI) literature.

Assignments. There are three types of assignments, one-week problem sets (PS1-3), analytics assignments (AS1-3), and research assignments (RS1-3).

  • Students in 422U must submit the problem sets (PS1-3).
  • Students in 422M must submit the problem sets (PS1-3) and the analytics assignments (AS1-3).
  • Students in 422D must submit the problem sets (PS1-3) and the research assignments (RS1-3).

Analytics assignments (AS1-3) are a problem set sequence about A/B testing. AS1 will be implementing a B version of a user interface, given an A version. AS2 will be running the A/B test against other users and collecting data. AS3 will be analyzing and writing up the results. Each assignment is designed as a one-week problem set, but AS1 involves implementation which may be challenging depending on each student’s background.

Research assignments (RS1-3) are a problem set sequence about replicating a user study from a published conference paper. RS1 will be implementing the user interface technique and the infrastructure to run the test. RS2 will be running the experiment with users and collecting data. RS3 will be running statistical tests on the data and writing up the results. Each assignment is designed as a one-week problem set, but RS1 may involve challenging implementation depending on each student’s background.

Group Projects. Students from 422U, 422M, and 422D may work together in the same group for the group project. Each group will consist of four members.

Course Outcomes

  • Employ usability engineering principles and concepts when building computing tools.
  • Design user interfaces from a user-centered approach.
  • Prototype user interfaces from a user-centered approach.
  • Ideate, sketch, elaborate, and communicate user experiences and interface designs.
  • Use techniques to improve a UI’s efficiency, learnability, and accessibility.
  • Understand the basic principles of human error to design UI safety.
  • Evaluate user interfaces using human-computer interaction principles.
  • Conduct heuristic evaluation of user interfaces.
  • Conduct user testing of computing applications.


You are not required to buy any of these books. Either they are available online via the UIC library or relevant chapters will be provided.

Important Dates

September 7: In-class project discussions (attendance required)

September 7: Group project sign-up due

September 14: PS1 due

September 21: GR1 due

September 26: Web Apps lab

October 5: JavaScript lab

October 5: GR2 due

October 17: Midterm exam

October 19: GR3 due

October 24, 26: Midterm project presentations

October 31: PS2 due

November 2: AS1 due

November 2: RS1 due

November 7: GR4 due

November 16: PS3 due

November 16: In-class project discussions (attendance required)

November 21: AS2 due

November 21: RS2 due

November 28: GR5 due

November 28: GR6 due

November 30: AS3 due

November 30: RS3 due

November 28, 30: Final project presentations

Week of December 4th: Final exam


Required readings for each class are available at the link beside them. Readings that are recommended or optional are explicitly annotated as such.

All deadlines are EOD (end of day) and CT (central time)


Project Discussions

in-person attendance required

How to write a good project proposal?

For 422D:
Experiment Design
Experiment Analysis



Web apps lab



JavaScript lab – SES 130

GR2 lab – ERF 2068



How to give a good presentation?

Review for mid-term exam


Midterm exam


Midterm project presentations


Midterm project presentations


Project Discussions

in-person attendance required


Thanksgiving break


Final project presentations


Final project presentations


Final exam: 1:00 – 3:00 PM, SES 130


Before attempting any assignment, students are required to review and understand this course’s collaboration policy.

Please review the course’s collaboration policy before starting to work on assignments.

Problem sets (25%): Short homework including programming or problem-solving. All students (422U, 422M, and 422D) must submit three problem sets (PS1—3).

Group project (40%): One semester-long group project with six-part deliverables (GR1-6) and two presentations (PR1-2). Deliverables will include project presentations, demos, or write-ups. Peer evaluation form

Mid-term exam (10%): One mid-term exam containing problem-solving and multiple-choice questions (open notes).

Final exam (10%): One comprehensive final exam containing problem-solving questions (open notes).

Class participation (15%): We will use iClickers for in-class discussions and Piazza for online discussions. Each week’s reading material will include some reading quizzes on Blackboard. They will be graded for effort, not accuracy, and constitute class participation.

Additional problem sets for 422M and 422D students. All 422M students must complete AS1-3 in addition to other assignments. All 422D students must complete RS1-3 in addition to other assignments.

Why is there more work for graduate students?

Because you are earning 4 credit hours for this course as a graduate student instead of three credit hours as an undergraduate student.


Problem sets
Group project
Mid-term exam (open notes)
Final exam (open notes)
Class participation


GR 1-6: 5% each and PR 1-2: 5% each
Problem sets grading breakdown

PS1: 5%
PS2: 12%
PS3: 8%


PS1: 3%
PS2: 6%
PS3: 3%
AS1: 6%
AS2: 1%
AS3 6%


PS1: 3%
PS2: 6%
PS3: 3%
RS1: 6%
RS2: 1%
RS3 6%

Letter grade base cutoff

89.5—100: A; 79.5—89.4: B; 69.5—79.4: C; 49.5—69.4: D; 0—49.4: F

Letter grades are determined at the end of the semester. The default cutoffs are provided above. These boundaries may be adjusted downwards if necessary because of the difficulty of the assignments or quizzes, but the boundaries will never be adjusted upwards, so a final average of 90 is guaranteed to be an A. The boundary adjustment is done heuristically, and there are no grade quotas, no grade targets, and no centering of the class on a particular grade boundary.


Class attendance is not mandatory but strongly recommended. Attending 60% of the class meetings is required. Students not meeting this course requirement may be penalized up to 10% of their total grade. Students absent during a group presentation will receive a zero for that assignment. Assignment deadlines will be posted (and maybe updated) on the course page.

Lateness and Extensions

To give you some flexibility for periods of a heavy workload, minor illness, absence from campus, job interviews, and other occasional (but often predictable) circumstances, you may use limited extensions on course deliverables, called slack days. Each slack day is a 24-hour extension on the deadline. You have a budget of 10 slack days for the entire semester, which you may apply to any combination of individual assignments. You can use up to 4 slack days for a given assignment. Assignments more than four days late will not be accepted.

To use a slack day, just submit the assignment late. You DO NOT need to notify the instructor. When we grade your assignment, we will see that you submitted it late, and dock you the appropriate number of slack days in our records. You are responsible for keeping track of the slack days you’ve used. If you have used up your slack days or exceeded the 4-day limit for a single assignment, you will need an instructor’s permission for more extension.

I expect that almost all your needs for extensions will be handled by slack days. Only truly exceptional, extreme emergency cases will be considered for extensions after your slack days are exhausted. In particular, to receive said extension you will need to convince me that all ten of your slack days were used for reasons that would have justified an extension. So use your slack budget wisely. Finally, we want to emphasize that slack days are for emergencies. Plan to submit every assignment on the real due date, and only use a slack day or two if something unexpected comes up last minute. Do not treat slack days as pre-planned due date extensions. In particular,

if you are already using four slack days for an assignment and email me at the end of your fourth day requesting an extension for a fifth day, I will very likely turn you down.


Attendance Policy. Class attendance is not always mandatory; however, research indicates that students who attend class are more likely to be successful. You are strongly encouraged to attend every class. Lectures may not be recorded and there may not be slides. If you are unable to attend class, you should consider asking a classmate to take notes for you.

Academic Misconduct. All students should aspire to the highest standards of academic integrity. Using another student’s work on an assignment, cheating on a test, not quoting or citing references correctly, or any other form of dishonesty, unauthorized collaboration, or plagiarism shall result in a grade of zero on the item and possibly an F in the course. Incidences of academic misconduct shall be referred to the Department Head and pertinent University officials and repeated violations shall result in dismissal from the program.

As a student and member of the UIC community, you are expected to adhere to the Community Standards of academic integrity, accountability, and respect. Please review the UIC Student Disciplinary Policy for additional information.

All students are responsible for reading, understanding, and applying the Code of Student Rights, Responsibilities, and Conduct and in particular the section on academic misconduct. Refer to UIC student affairs.

All students are strongly encouraged to read what constitutes plagiarism here. You must document the difference between your writing and that of others. Use quotation marks in addition to a citation, page number, and reference whenever writing someone else’s words (e.g., following the Publication Manual of the American Psychological Association).

Cheating. Cheating is an attempt to use or provide unauthorized assistance, materials, information, or study aids in any form and in any academic exercise or environment. A student must not use external assistance on any “in-class” or “take-home” examination unless the instructor specifically has authorized external assistance. This prohibition includes but is not limited to, the use of tutors, books, notes, calculators, computers, and wireless communication devices. A student must not use another person as a substitute in the taking of an examination or quiz, nor allow other persons to conduct research or to prepare work, without advanced authorization from the instructor to whom the work is being submitted. A student must not use materials from a commercial term paper company, files of papers prepared by other persons, or submit documents found on the Internet. A student must not collaborate with other persons on a particular project and submit a copy of a written report that is represented explicitly or implicitly as the student’s individual work. A student must not use any unauthorized assistance in a laboratory, at a computer terminal, or on fieldwork. A student must not steal examinations or other course materials, including but not limited to, physical copies and photographic or electronic images. A student must not submit substantial portions of the same academic work for credit or honors more than once without permission from the instructor or program to whom the work is being submitted. A student must not, without authorization, alter a grade or score in any way, nor alter answers on a returned exam or assignment for credit.

Fabrication. A student must not falsify or invent any information or data in an academic exercise including, but not limited to, records or reports, laboratory results, and citations to the sources of information.

Plagiarism. Plagiarism is defined as presenting someone else’s work, including the work of other students, as one’s own. Any ideas or materials taken from another source for either written or oral use must be fully acknowledged unless the information is common knowledge. What is considered “common knowledge” may differ from course to course. A student must not adopt or reproduce ideas, opinions, theories, formulas, graphics, or pictures of another person without acknowledgment. A student must give credit to the originality of others and acknowledge indebtedness whenever: directly quoting another person’s actual words, whether oral or written; using another person’s ideas, opinions, or theories; paraphrasing the words, ideas, opinions, or theories of others, whether oral or written; borrowing facts, statistics, or illustrative material; or offering materials assembled or collected by others in the form of projects or collections without acknowledgment

Interference. A student must not steal, change, destroy, or impede another student’s work, nor should the student unjustly attempt, through a bribe, a promise of favors, or threats, to affect any student’s grade or the evaluation of academic performance. Impeding another student’s work includes, but is not limited to, the theft, defacement, or mutilation of resources so as to deprive others of the information they contain.

Violation of Course Rules. A student must not violate course rules established by a department, the course syllabus, verbal or written instructions, or the course materials that are rationally related to the content of the course or to the enhancement of the learning process in the course.

Facilitating Academic Dishonesty. A student must not intentionally or knowingly help or attempt to help another student to commit an act of academic misconduct, nor allow another student to use his or her work or resources to commit an act of misconduct.

Right to revise. The instructor reserves the right to make changes to this syllabus as necessary and, in such an event, will notify students of the changes immediately.

Grievance Procedures. UIC is committed to the most fundamental principles of academic freedom, equality of opportunity, and human dignity involving students and employees. Freedom from discrimination is a foundation for all decision-making at UIC. Students are encouraged to study the University’s Nondiscrimination Statement. Students are also urged to read the document Public Formal Grievance Procedures. Information on these policies and procedures is available on the University web pages of the Office of Access and Equality.

Recording and Copyrights. Audio/Video Recording: To ensure the free and open discussion of ideas, students may NOT record or share classroom lectures, discussions, and/or activities without the advance written permission of the instructor, and any such recording properly approved in advance can ONLY be used solely for the student’s own private use.

Copyrighted Material: All material provided through this website is subject to Copyright and Fair Use laws. This applies but is not limited to class/recitation notes, slides, assignments, solutions, project descriptions, etc. You are allowed (and expected!) to use all the provided material for PERSONAL use. However, you are strictly prohibited from sharing the material with others in general and from posting the material on the Web or other file-sharing venues in particular.

Course Evaluations. Because student ratings of instructors and courses provide very important feedback to instructors and are also used by administrators in evaluating instructors, it is extremely important for students to complete confidential course evaluations online known as the Campus Program for Student Evaluation of Teaching evaluation. You will receive an email from the Office of Faculty Affairs inviting you to complete your course evaluations and will receive an email confirmation when you have completed each one.

For more information, please refer to the UIC Course Evaluation Handbook.

Results for the “six core questions” will be published on the UIC course evaluation website.

Disability Accommodation Procedures. UIC is committed to full inclusion and participation of people with disabilities in all aspects of university life. If you face or anticipate disability-related barriers while at UIC, please connect with the Disability Resource Center (DRC) at drc.uic.edu, via email at drc@uic.edu, or call (312) 413-2183 to create a plan for reasonable accommodations. To receive accommodations, you will need to disclose the disability to the DRC, complete an interactive registration process with the DRC, and provide me with a Letter of Accommodation (LOA). Upon receipt of an LOA, I will gladly work with you and the DRC to implement approved accommodations.

Religious Accommodations. Following campus policy, if you wish to observe religious holidays, you must notify me by the tenth day of the semester. If the religious holiday is observed on or before the tenth day of the semester, you must notify me at least five days before you will be absent. Please submit this form by email with the subject heading: “YOUR NAME: Requesting Religious Accommodation.”

Inclusive Community. UIC values diversity and inclusion. Regardless of age, disability, ethnicity, race, gender, gender identity, sexual orientation, socioeconomic status, geographic background, religion, political ideology, language, or culture, we expect all members of this class to contribute to a respectful, welcoming, and inclusive environment for every other member of our class. If aspects of this course result in barriers to your inclusion, engagement, accurate assessment, or achievement, please notify me as soon as possible.

Name and Pronoun Use. If your name does not match the name on my class roster, please let me know as soon as possible. My pronouns are she/her I welcome your pronouns if you would like to share them with me. For more information about pronouns, see this page: https://www.mypronouns.org/what-and-why.

Community Agreement/Classroom Conduct Policy. 

  • Be present by turning off cell phones and removing yourself from other distractions.
  • Be respectful of the learning space and community. For example, no side conversations or unnecessary disruptions.
  • Use preferred names and gender pronouns.
  • Assume goodwill in all interactions, even in disagreement.
  • Facilitate dialogue and value the free and safe exchange of ideas.
  • Try not to make assumptions, have an open mind, seek to understand, and not judge.
  • Approach discussion, challenges, and different perspectives as an opportunity to “think out loud,” learn something new, and understand the concepts or experiences that guide other people’s thinking.
  • Debate the concepts, not the person.
  • Be gracious and open to change when your ideas, arguments, or positions do not work or are proven wrong.
  • Be willing to work together and share helpful study strategies.
  • Be mindful of one another’s privacy, and do not invite outsiders into our classroom.

Content Notices and Trigger Warnings. Our classroom provides an open space for a critical and civil exchange of ideas, inclusive of a variety of perspectives and positions. Some readings and other content may expose you to ideas, subjects, or views that may challenge you, cause you discomfort, or recall past negative experiences or traumas. I intend to discuss all subjects with dignity and humanity, as well as with rigor and respect for scholarly inquiry. If you would like me to be aware of a specific topic of concern, please email or visit my Student Drop-In Hours.

Acknowledgement and Share/Reuse Information

Adapted from Prof. Rob Miller’s (and collaborators’) User Interface Design & Implementation course at MIT. Prof. Debaleena Chattopadhyay is responsible for all the modifications made. This work is licensed under CC BY-SA 4.0.

Copyright © 2023 Debaleena C., Ph.D.