UI vs. UX

Course Description

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

Teaching Staff


Debaleena Chattopadhyay   |   debchatt   |   debaleena.com   |   hci.cs.uic.edu

Teaching Assistant

Ja Eun Yu   |   jyu86
Nina Sakhnini   |   nsakhn2

Course Information

Credit Hours 3 (undergraduate hours); 4 (graduate hours)
Class Time Tuesday & Thursday, 2:00pm — 3:15pm
Class Location Lecture Center Building C, C006
Instructor's Office 1135 SEO    [map]
Instructor's Office Hours Tuesday & Thursday, 3:30pm — 4:30pm at SEL-W 1032    [map]
TA Office Hours Tue 12pm — 1:00pm & Fri 1:00pm — 2:00pm at SEL-W 1032 (Ja Eun)
Mon & Wed 11:00am — 12:00pm at SEL-W 1032 (Nina)
Link to Piazza piazza.com/uic/spring2019/cs422/home


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

General Guidelines to Use the Syllabus

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. Submit individual assignments via Blackboard and (when necessary) email group assignments to the TA (cc-ing group members and instructor).

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 schedule.

No email policy: Post general doubts publicly on Piazza and private matters anonymously (to classmates). Teaching staff will respond on Piazza. Except extenuating circumstances and emergencies, students should strictly avoid emailing teaching staff with class-related doubts/inquiries/information.

Students are responsible to keep themselves updated with class announcements.

Frequently Asked Questions

What programming languages do I need to use for this class?

Programming in this class will be web-oriented and include frontend UI implementation. A complete backend is beyond the scope of this class. For assignements, 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.

What is the difference between 422U, 422M, and 422D?

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 assignmtns (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 or more members.

Why take this class?

apple introduce macintosh

With computing reaching ubiquity, along with an applications' utility and safety, what has come to foretell widespread technology adoption and user satisfaction is a good user experience. But what is a good user experience? How do we design for usability without dumbing down utility? Why are some systems easier to use, easy to learn, and easy to remember? All computing tools requiring user interaction needs a user interface (UI). The UI is essential in providing good usability and in turn, a stellar user experience. In this class, we will learn how to design and prototype user interfaces from a user-centered approach.

Upon successful completion of this course, students will be able to:

  • 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.

Course Texts

There is no required textbook. Recommended books:

Class Schedule

Class meetings will include lectures or discussions (studio-style).

Sign up your teams for group projects

The class consists of 5 modules and spans 15 weeks:

  1. Usability basics module
  2. UI prototyping module
  3. Visual design basics module
  4. User testing module
  5. Advanced usability module

Week Lecture slides Class topic
(with linked readings)
Week 1
Jan 15
slides Course Overview
Intro to Usability
Jan 17 slides Learnability
Week 2
Jan 22
slides Efficiency
Jan 24 slides User-centered design
For 422D:
Experiment Design
Experiment Analysis
Week 3
Jan 29
scenarios: example 1, example 2
sketching: how-to
Jan 31 project proposal discussions
class cancelled due to the Polar Vortex
Group signup due
Week 4
Feb 5
project proposal discussions Problem statement due before class; see GR1
Feb 7 slides Safety
Week 5
Feb 12
class examples
UI software architecture GR1 due
Feb 14 slides
class examples
Input PS1 due
Week 6
Feb 19
slides lab on JavaScript
Feb 21 slides Output
Week 7
Feb 26
slides lab on JavaScript GR2 due
Feb 28 slides Graphic Design
Recommended additional reading: Color & Typography
Week 8
Mar 5
slides Intro to user testing
Mar 7 slides review for mid-term exam GR3 due
Week 9
Mar 12
mid-term exam
Mar 14 mid-term project presentations

Group 7
Group 12
Group 8
Group 13
Group 9
Group 17

Week 10
Mar 19
mid-term project presentations

Group 5
Group 19
Group 6
Group 18
Group 2
Group 15

Mar 21 mid-term project presentations

Group 1
Group 11
Group 16
Group 3
Group 4
Group 14

PS2 due
Week 11
Mar 26 & Mar 28
Spring Break
Week 12
Apr 2
slides Heuristic evaluation AS1 due; RS1 due
Apr 4 slides More on efficiency GR4 due
Week 13
Apr 9
project discussions
Apr 11 slides More on learnability
Week 14
Apr 16
More on safety
class cancelled due to power outrage
PS3 due
Apr 18 slides More on safety
Week 15
Apr 23
final project presentations

Group 14
Group 4
Group 3
Group 16
Group 11
Group 1

AS2 due; RS2 due; GR5 due
Apr 25 final project presentations

Group 15
Group 2
Group 18
Group 6
Group 19
Group 5

Week 16
Apr 30
final project presentations

Group 17
Group 9
Group 13
Group 8
Group 12
Group 7

May 2 slides review for finals GR6 due; AS3 due; RS3 due
May 8
3:30-5:30 p.m.
(Arrive 5-10 minutes early)
Lecture   |   Studio


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

Course Collaboration Policy

Problem sets. Short one-week homeworks including programming or problem-solving. All students (422U, 422M, and 422D) must submit 3 problem sets (PS1—3).

Group project. One semester-long group project with six-part deliverables (GR1-6). Deliverables will include project presentations, demos, or write ups.

Class discussions. All students should actively participate in class discussions.

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

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

Additional problems 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.

Reading quizzes. Each week's reading material will include some reading quizzes. Reading quiz grades will NOT be included in your final grade.

Makeup credits.

HCI Talk: Feb 20, Wednesday, 11am - 12pm, at 1000 SEO
If you attend the talk (sign in with TA Ja Eun at the talk) and post an abstract of the talk (no more than 150 words; as a follow up thread on Piazza) within 2 weeks of the talk, you will receive 1% extra credit.

Instead of PS2, you can submit PS2-2 to be graded for 3% extra credit, or PS2-3 to be graded for 6% extra credit.

When in doubt, always ask the instructor or TA.

Assessment & Evaluation

Problem sets 30%
422U: PS 1-3
422M: PS 1-3; AS 1-3
422D: PS 1-3; RS 1-3
Group project 30%
Mid-term exam (open notes) 15%
Final exam (open notes) 15%
Class participation 10%
Total 100%



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, 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.

Attendance, Assignment Deadlines, and Late Policy:

Attendance. Attendance is not required, but strongly recommended. Attendance during group project presentations and discussions is mandatory.
Students absent during their group's presentation will receive 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 heavy workload, minor illness, absence from campus, job interviews, and other occasional (but often predictable) circumstances, you may use limited extensions on problem set deadlines, called slack days. Each slack day is a 24-hour extension on the deadline. You have a budget of 5 slack days for the entire semester, which you may apply to any combination of individual assignments (PS1-3, AS1-3, or RS1-3). You can use at most 2 slack days for a given assignment. Assignments more than two days late will not be accepted. Slack days apply only to individual problem sets, not to group work (GR1-GR6). For group assignments, we will grade whatever you have at handin time.

To use a slack day, just submit the assignment late. You DO NOT need to notify the staff. When we grade your assignment, we will see that you submitted 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 2-day limit for a single assignment, you will need an instructor’s permission for more extension.

We expect that almost all your needs for extensions will be handled by slack. 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 the staff that all five 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 two slack days for an assignment and email us at the end of your second day requesting an extension for a third day, we will probably turn you down.

Supplementary Materials

This course aims at assisting students to achieve an introductory level of mastery in user interface design and development skills. The course requires a variety of skills, including designing user interfaces, conceptualizing ideas, building computing prototypes, user evaluation, data collection, analysis, and interpretation. Because enrolled students may have different exposure to these different skills, this section lists additional materials that can be helpful to be successful in this course.

This is a fast-paced course, with multi-disciplinary reading materials, and students are strongly encouraged to pro-actively use the supplementary materials (freely available online) as deemed necessary.

Website Available support
Stack Overflow
Your one-stop shop for common coding problems.

Following courses are related to this course:

  • Design Thinking for Innovation
  • Human-Computer Interaction
  • Bayesian Statistics: From Concept to Data Analysis
  • Social Computing
  • Designing, Running, and Analyzing Experiments
  • Interactivity with JavaScript
Helpful courses:
  • Introduction to Video Editing
  • Premiere Pro CC Essential Training (2015)

Guidelines & Policies

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 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.

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 and complete this short tutorial 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 of 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 citation 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 classrom lectures, discussion 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 web site 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.

Acknowledgement and Share/Reuse Information

Adpated 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.