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.

Tuesday and Thursdays: 3:30 – 4:45 PM, at CDRLC 1406
Debaleena Chattopadhyay
Prof. Debaleena: Tuesdays: 2 – 3 PM, at CDRLC 5417; and by appointment
TA Tasneem: Tuesdays: 5 – 6 PM; Thursdays: 2-3 PM; at CDRLC 2404
CS 342, Software Design, or equivalent software engineering experience, specifically:
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.
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.
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)
Week 1: 1/13
Week 2: 1/20
1/22
Week 3: 1/27
1/29
Week 4: 2/3
2/5
Week 5: 2/10
2/12
GR1 review lab
Week 6: 2/17
Web apps lab
(TA will run this lab instead of a regular lecture during class time)
Week 7: 2/24
2/26
GR2 review lab
Week 8: 3/3
3/5
How to give a good presentation?
Review for mid-term exam
Week 9: 3/10
Midterm exam
3/12
GR3 review lab
Week 10: 3/17
Midterm project presentations
3/19
Midterm project presentations
Week 11: 3/24—3/28
Spring Break
Week 12: 3/31
4/2
No class; work on projects
Week 13: 4/7
Week 14: 4/14
Project Discussions
in-person attendance required
4/16
Week 15: 4/21
HCI project showcases from prior classes
Review for finals
4/23
No Class | Debaleena @ NSF
Week 16: 4/28
Final project presentations
4/30
Final project presentations
5/8: 1:00 – 3:00PM
Final exam
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.
Homework (15%): Five homework assignments will be posted throughout the course. These will include programming or problem-solving.
Homework is graded on completion, not correctness. To help you manage your workload and prepare for exams, each assignment will include a Target Submission Date.
Flexibility: You may submit assignments after the Target Date without penalty. All homework must be submitted by the final day of the semester (May 1, 2026) to receive credit.
Recommendation: We strongly advise adhering to the Target Dates. Waiting to submit all assignments at the end of the semester will make it difficult to focus on your Final Project and Final Exam.
Group project (40%): One semester-long group project with six-part deliverables (GR1-6) and two presentations (PR1-2). Deliverables will include project presentations, demonstrations, or written reports. Individual grades for group projects may be adjusted based on peer evaluations. Free-riding will result in a significantly lower individual score.
Mid-term exam (15%): One mid-term exam containing problem-solving and multiple-choice questions (open notes, closed AI).
Final exam (20%): One comprehensive final exam containing problem-solving questions (open notes, closed AI).
Class participation (10%): We will use iClickers for in-class discussions and Piazza for online discussions. Starting Week 2, each week’s reading material will include some reading quizzes on Blackboard. They will be graded for effort, not accuracy, and constitute class participation.
Homework
Group project
Mid-term exam (open notes)
Final exam (open notes)
Class participation
Total
15%
40%
15%
20%
10%
100%
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.
Attending 60% of the class meetings is required. Students who do not meet 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.
Week 2 Enrollment Policy. The official online waitlist for this course expires on Sunday, January 18. Starting Tuesday, January 20, registration will be restricted to “Instructor Approval Required.” If a seat opens up between Jan 20 and the add/drop deadline (Jan 23), you must email me directly to request an override.
Note: Approval to add the course in Week 2 is not guaranteed and generally requires that you have attended the first week of lectures to ensure you are not behind.
Course policy on AI tools. You are welcome to use AI tools to support your learning in this course. When submitting assignments, you must acknowledge any AI tools you used to generate content or code. A simple citation of the tool(s) is sufficient—no explanation of how or to what extent you used them is required. AI-generated code may be incorporated into your final projects, provided that you clearly indicate the tools used. Because the boundary between language editing and content generation can be ambiguous, the guiding principle is transparency. If you are unsure whether or how to cite, ask the instructor.
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. Incidents 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 the 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 you will receive an email confirmation when you have completed each one.
For more information, please refer to the UIC Course Evaluation Handbook.
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 © 2026 Debaleena C., Ph.D.