EECS 493: User Interface Development
The University of Michigan, Winter 2025
For students to gain practical experience with the design, implementation, and testing of user interfaces. This course will present design methods, UI abstractions, and practical examples of tools and languages commonly used in UI development. The course and project will be focused on user-centered research, design, and development process. Significant experience with object-oriented programming is assumed, and experience with web technologies is beneficial. The course will cover core concepts and methods in web programming.
Instructors: Xu Wang <xwanghci@umich.edu>, Mark Ackerman <ackerm@umich.edu>
FAQ
Q: Can I attend any lecture, and any discussion section?
A: Yes.
Q: Is in-person attendance required?
A: It is strongly encouraged but not required. For most lectures and discussions, you can watch the recordings and answer several surveys within a time window to get attendance points. There will be 3-4 lectures that require in-person attendance, including project bake-offs, final presentations, and practitioner's panel.
Q: I'm currently on the waitlist. What can I do?
A: The undergraduate advising office manages overrides and enrollment. Please email the staff mailing list, with EECS493 in the email title to be added to Canvas.
Q: I saw this class has a 3% workload on Canvas. Is this accurate?
A: No, the current workfload of 493 is much higher than 3% as rated on Atlas. The Atlas rating (collected for the past 10 years?) does not reflect the current workload of the class. This class has been evolving in the past three years, with new homework assignments, and updated projects. We received many course evaluations that 3% was a wrong assessment. Some said this was ~30%. Students regretted pairing 493 with a difficult class. Please expect to spend ~12 hours a week on this class, as reflected in the credit.
Instruction
We will support both in-person and remote participation in the course.
Lectures will be held in-person and recorded.
Discussions will be held in-person and recorded.
Quizzes will be administered and completed individually on Canvas.
Assignments will be completed individually and turned in on Canvas.
A Final Project will be completed in groups.
Exams will be in-person.
Office hours will be both in-person and online.
Communication
eecs493.org links to all course resources.
Piazza is the course discussion forum, best for technical questions. Please only expect prompt replies between 10am and 6pm ET - IAs/GSIs have lives too, so please leave yourself time to get help if it's needed.
eecs493-w25-staff@umich.edu reaches the course staff, best for questions not appropriate for Piazza.
Individual professor email addresses are best for confidential matters. Please use the email title prefix: “EECS493-Term: " or your email will most likely get lost.
Office hours see course calendar.
Overview
Objectives
For students to gain practical experience with the design, implementation, and testing of user interfaces. This course will present design methods, UI abstractions, and practical examples of tools and languages commonly used in UI development. The course and project will be focused on user-centered research, design, and development process. The course will cover core concepts and methods in web programming.
Prerequisites
The prerequisite is EECS 281.
Substantial experience with object-oriented programming is assumed, and experience with web technologies is beneficial.
Participation
We use in-class surveys to count lecture and discussion attendance (participation).
For lectures, you will have 24 hours after the lecture to complete the surveys to receive full credit.
For discussions, you will have 24 hours after the last discussion section of the current week's rotation to complete the surveys to receive full credit.
Quizzes
Most quizzes will focus on the materials in the last two weeks. The lowest quiz grade will be dropped.
We give everyone two attempts on all the quizzes. After each attempt, you'll see which questions you got wrong, but you won't see the correct answer. You have a second chance to attempt the quiz and get a higher score. The highest score of the two will be kept.
Quizzes will be available on Friday by 5 pm and due by Tuesday at 11:59 pm. Plan to take 20-40 minutes.
Students are not to discuss the quiz with anyone during the time when the quiz is available. This includes clarification questions in Discussion, and certainly not discussing answers or reasoning in Piazza.
We encourage discussion about the quiz after it is finished - that's a great opportunity to learn. While we review the quizzes before posting, we do make mistakes. If we have made a mistake in a question, we can and will correct the grading. But discussing questions should wait until after the quiz period.
Assignments
This course contains 5 assignments. The first assignment is an online training for conducting HCI research, and the remaining four assignments are web programming.
We improve the assignments each semester, so they may change any time before the assignment release date.
Final Project
The scale of the project will be what 4 people working for a semester can accomplish. Check out Exemplary Final Projects from past semesters.
You will choose your own team members. You will choose your own projects, but they will be based in a small set of themes (e.g., help people go outside, explore the world, and social with friends) that we pick.
We will have a forum for matchmaking teams, if you don't know people in the class already. The forum will also serve to find team members if you have a project idea you'd like to do.
The project will consist of 5 milestones and a final presentation.
Readings
No textbook is required for this class , though some readings will be assigned for each major section. These will help you get a better sense of the space, and understand more deeply some of the concepts from class.
Grades
Here is the grading breakdown.
Task | Percentage of Grade | Remarks |
---|---|---|
Lecture Participation | 7% |
7% if you participate in 80% of in-class surveys
6% if 70%
5% if 60%
0 if less than 60%
|
Discussion Participation | 3% |
3% if you participate in 70% of in-class surveys
2% if 50%
1% if 30%
0 if less than 30%
|
Quizzes | 10% | Drop the lowest, 2 attempts per quiz |
Assignments | 25% |
2% for Assignment 1
5% for Assignment 2
6% for Assignment 3
6% for Assignment 4
6% for Assignment 5
|
Final Project | 25% |
0% for Milestone 0 (complete/incomplete)
5% for Milestone 1
5% for Milestone 2
5% for Milestone 3
7% for Milestone 4
3% for Final Presentation
|
Midterm Exam | 15% | |
Final Exam | 15% |
Lateness
There is no leniency on late quizzes or exams due to scheduling constraints and quiz reviews. Quizzes turned in after the due time and date receive zero credit.
You will have a total of 4 free late days across the 5 individual assignments. These 4 late days will be applied as soon as they happen (cannot be retrospectively used in a different assignment); then 10 points off the assignments each additional day. E.g., if a student's A1 is late for 6 days and got 100, and A2 is late for 1 day and got 95, then this student gets 80 for A1 while using up the late days, and 85 for A2. The rationale is if a student is already late, to encourage them to submit the best work they can do rather than giving up.
For the project, your team will have a total of 3 free late days that do not require in-class bakeoffs or presentations.
We will only grade the last submission of an assignment or project checkpoint without exception. Re-submissions of an assignment after grades have been released is not allowed, please see the policy below on regrade requests.
Exceptions to this policy (allowed for reasons such as medical or a family emergency) can be arranged by contacting the staff.
Exceptions
Please contact the staff via email to arrange for any exceptions (e.g., medical reasons, family emergencies) to the posted policies. We will discuss and decide each individual exception on a per-case basis.
Regrades
Please check Piazza for individual regrade request forms for the assignments, quizzes, participation, and exams.
The problem will be reviewed by the grader of that problem or quiz first. If you are dissatisfied with the response, you can email the staff, indicating that you are challenging the regrade, and an instructor will review. That's the court of last resort.
You may request a regrade only within one week after the grade is posted in Canvas.
Academic Integrity
We want you to get all the help you need to complete the individual assignments, including working with other students.
You are going to learn the most by writing your own code, and making sure that you understand any code that you work on with others. We may use automatic plagiarism detection software, comparing your code to others in the class, past terms, and examples we can find on-line. If it indicates that you might have copied code from someone else, we will contact you so that we can all understand what went wrong. We'll work with you to get you back on track.
Please do not work with others on quizzes or exams. There's plenty of ways to get help in this course, so let's find a legitimate way to get you the knowledge + grade you want.
Honor Code [Official]
All students (including LS&A and Engineering) are required to observe the Engineering Honor Code in all assignments and exams. A copy of the honor code can be found at this link. Please make sure that you clearly understand what constitutes cheating. If you are not sure in any specific case, you should ask the teaching staff. The University takes honor code violations seriously, and penalties can be severe.
You are not allowed to share your code with anyone other than your partner.
You are not allowed to make use of project or homework solutions by others, including solutions from previous semesters.
Do not post code on piazza or any other discussion forum. Make sure that you do not upload your code on GitHub public repositories or anywhere else on the Internet.
Any suspected violations of the honor code will be reported.
Accommodations for Students with Disabilities
Students with disabilities that are documented with the Services for Students with Disabilities Office should contact the professor during the first three weeks of class to make appropriate arrangements.