User interface design, implementation, and evaluation: user-centered design methodologies, windowing systems, I/O devices and techniques, event-loop programming, user studies. Programming projects.
Ja Eun Yu | jyu86
Hasti Sharifi | hshari3
|Credit Hours||3 (undergraduate hours); 4 (graduate hours)|
|Instructor's Office Hours||By appointment (send a note on Piazza)|
|TA Office Hours||Mon, Wed, and Thurs — 11:00 am — 12:00 pm via Zoom (Ja Eun)
Wed, Thu, and Fri — 1:00 pm — 2:00 pm via Zoom (Hasti)
|Link to Piazza||https://piazza.com/class/kjrvl5mmqhy5qx|
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.
The course webpage will contain links to readings, videos, general instructions, and the class schedule.
Blackboard will be used to post course grades and assignments. Links to weekly readings and videos will also be available via the Blackboard. In case of any discrepancies between the course webpage and Blackboard, consider the course page information latest.
Piazza will be used to post announcements, FAQs, general discussion, course-related general queries, and detailed instructions when deemed necessary.
No email policy: Post general doubts publicly on Piazza and private matters anonymously (to classmates). Teaching staff will respond on Piazza. Except for extenuating circumstances and emergencies, students should strictly avoid emailing teaching staff with class-related doubts/inquiries/information.
Students are responsible for keeping themselves updated with class announcements.
What programming languages do I need to use for this class?
This class consists of three versions that meet together and share many assignments:
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).
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.
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:
There is no required textbook. Recommended books:
Each week will contain assigned readings on a topic. Videos and slides will be posted on that topic. Occasionally synchronous discussion meetings/labs may be scheduled during Tuesdays and Thursdays 2:00 pm — 3:15 pm. Students are not required to attend these synchronous meetings. All synchronous meetings will be recorded and shared with the class.
(with linked readings)
| Week 1
Optional: Norman DOT book chapters
| Week 2
Optional: For Beginners
Optional: For Intermediate/Advanced learners
| Week 3
How to write a good project proposal?
|1/28: Group signup due|
| Week 4
| Week 5
2/8: GR1 due
2/12: PS1 due
| Week 6
Intro to web apps
| Week 7
|2/25: GR2 due|
| Week 8
Intro to jQuery
Review for mid-term exam
|3/4: GR3 due|
| Week 9
How to give a good presentation?
| Week 10
|3/15: Project videos due (PR1)|
| Week 11
| Week 12
4/1: GR4 due
| Week 13
| Week 14
HCI project showcases from prior classes
|4/13: PS3 due|
Intro to React (part 1)
Intro to React (part 2)
|4/20: AS2 due; RS2 due; GR5 due|
| Week 16
2021 class project showcase
Review for finals
4/26: Project videos due (PR2)
|Week 17||Final exam
Before attempting any assignment, students are required to review and understand this course's 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) and two presentations (PR1-2). Deliverables will include project presentations, demos, or write ups.
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 quizzes. They will be graded for effort, not accuracy, and constitute class participation.
When in doubt, always ask the instructor or TA.
|422U:||PS 1-3 | PS1: 10%; PS2: 13%; PS3: 10%|
|422M:||PS 1-3, AS1, & AS3 | 6% each; AS2: 3%|
|422D:||PS 1-3, RS1, & RS3 | 6% each; RS2: 3%|
|GR 1-6: 5% each | PR 1-2: 5% each|
|Mid-term exam (open notes)||10%|
|Final exam (open notes)||10%|
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.
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 10 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 4 slack days for a given assignment. Assignments more than four days late will not be accepted. Slack days apply only to individual problem sets, not to group work (GR1-GR6 or PR1-PR2). 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 4-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 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 us at the end of your fourth day requesting an extension for a fifth day, we will probably turn you down.
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.
|Your one-stop shop for common coding problems.|
Following courses are related to this course:
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 or share 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.