| Section | 1 |
|---|---|
| Instructor(s) | Marques, Andre (andremar) |
| Location | JCL 298 (In-Person Only) |
| Meeting Times | Tuesday 5:30pm - 8:30pm |
| Fulfills | Elective Specialization - Software Engineering (SE-2) Specialization - Application Development (APP-2) |
Overview
● Instructor: André Marques (he/him/his)
● Email: andre.marques@uchicago.edu
● Prerequisites: Core Programming
● Course Website: Google Classroom
● Office Hours: TBD
● TA: TBD
● TA email: TBD
● Grader: TBD
● Email: TBD
Description
Whether you’re ordering a burrito, boarding a plane, chatting with friends, booking your next workout, or reading this sentence—you’re likely using software with a user interface.
This course will teach you how to create useful and engaging user interfaces.
We will cover different methods of approaching design problems, how to conduct research to understand users, create prototypes, discuss, present, and assess design.
Learning Objectives
At the end of this class you will be able to:
● Implement design processes within various contexts: personal projects, startups, and structured software development teams.
● Understand the needs of users and identify meaningful problems to address in order to create positive experiences.
● Create prototypes of any fidelity using contemporary design tools for web, mobile, and design systems.
● Articulate design decisions and provide constructive feedback.
Course Components
In-Person Class
Tuesdays 5:30PM - 8:30PM central.
Lectures & Demos
Lectures and democs will cover topics and techniques that will prepare you for each week’s assignment.
Student Interviews
You will interview your classmates for a variety of design activities.
Critiques
We will collaborate as a class and in small groups to assess design decisions made on assignments. You will be asked to informally present your designs to peers. I will provide you with structure and guidance throughout this process.
Participation
This course will be offered in person; lectures will not be recorded. The expectation is that students will attend class in-person each week. Due to the nature of this course, attendance is essential and required. Failure to attend class on a regular basis could result in a failing grade in the course. If the class schedule doesn’t work for you, you should not take this class. If you miss more than two class sessions during the Autumn quarter, please reach out to masters-admin@cs.uchicago.edu to discuss options for a leave of absence or withdrawal from the course.
Assessment
Grade
● 25% Participation
● 75% Assignments
Late Assignments
You can submit up to 2 late assignments, however you must contact me within 24hrs of the original deadline to coordinate an extension. Failure to submit assignments on time could result in a failing grade in the course. If you miss more than two deadlines during the Autumn quarter, please reach out to masters-admin@cs.uchicago.edu to discuss options for a leave of absence or withdrawal from the course.
Academic Honesty
https://studentmanual.uchicago.edu/academic-policies/academic-honesty-plagiarism/
Topics
Thinking
Approaching a design problem. Knowing where and how to start will set you in the right direction on design projects.
● Design Process
● Creative Problem Solving
Observing
Finding the right problem to solve. Understanding people and their experiences will give you insight into the prototypes you should create and test.
● Need Finding
● Human-centered Design
● Research Methods
● Personas
● User Testing
● User Journeys
● Metrics
● Research Synthesis
Making
Creating useful prototypes. Design principles will guide you through the creation of visual interface and user workflow decisions to address the needs of your users successfully.
● Accessibility
● Principles, Patterns, & Techniques
● User Goals & User Flows
● Information Architecture
● Visual Design (layout, typography, icons)
● Paper Prototypes
● Low Fidelity Prototypes
● High Fidelity Prototypes
● Iterative Design
● Design Management
Evaluating
Communicating design decisions and providing feedback. Design is often a team effort, so we will learn how to successfully work in a design environment with others.
● Presentations
● Critiques
Tools
● Notebook: Observations and low fidelity paper prototypes. Not required for assignment deliverables but useful for exploring ideas.
● Figma: Medium & high fidelity prototypes.
○ Figma is an online user interface design tool that is free for educational use. We will create and share user interfaces with this tool.
● InVision: Interactive prototypes.
○ InVision is an online product design tool that is free for educational use. We will create interactive prototypes with this tool.
Readings
● This class has no textbook.
● Readings may be assigned weekly and will either be available as links or PDFs on our class website. Readings will support topics covered in class.
Schedule
Slight modifications to schedule and assignments may occur as the quarter progresses.
Week 1
● Lecture: Introduction to user interface and user experience design
● Class Activities: Intro Activity & Interviews for Assignment 1
● Assignment 1: Single page prototype
Week 2
● Lecture: Discussing design and basic interface design principles
● Class Activities: Group feedback and interviews for new assignment
● Assignment 2: Simple website prototype
Week 3
● Lecture: Designing responsively and interface design principles continued
● Class Activities: Group feedback and interviews for new assignment
● Assignment 3: Responsive layout prototype
Week 4
● Lecture: Application design principles and patterns
● Class Activities: Group feedback and interviews for new assignment
● Assignment 4: Desktop application prototype
Week 5
● Lecture: Accessibility, native app patterns, and needfinding
● Class Activities: Group feedback and interviews for new assignment
● Assignment 5: Mobile application prototype
Week 6
● Lecture: User on-boarding, retention, and habits
● Class Activities: Group feedback and interviews for new assignment
● Assignment 6: On-boarding prototype
Week 7
● Lecture: UX research
● Class Activities: Group feedback and interviews for new assignment
● Project: Milestone 1
Week 8
● Lecture: Detailed Milestone 1 feedback, designing with data, presenting design
● Class Activities: Feedback and interviews for new assignment
Week 9
Thanksgiving week; no class.
Week 10
● Lecture: Design systems, management, user stories, & prioritization
● Class Activities: Feedback on project
● Project: Project Milestone 2
● Graduating Student Project Presentations
Week 11
● Project Presentations
Core Programming required.
This course requires competency in Unix and Linux. Please plan to attend the MPCS Unix Bootcamp (https://masters.cs.uchicago.edu/page/mpcs-unix-bootcamp) or take the online MPCS Unix Bootcamp Course on Canvas.
This class is scheduled at a time that conflicts with these other classes: