Schedule and Readings
- All classes are: Thuesday and Thursdays, 3:05PM - 4:25PM Eastern Time, in GHC 4102.
- CMU-only note: Access to some pdfs and the ACM Digital Library is restricted to only those on a CMU machine. Use VPN if you are at home. For VPN, here are the CMU instructions for VPN. In the Cisco AnyConnect dialog, you may need to use the "Library Resources VPN" in the "Group" drop-down (which is not the default).
Num | Date | Class Content |
---|---|---|
1 |
Tuesday, 8/31/2021 |
Introduction to Course; What are "Software Structures for User Interfaces"; and Why are user interfaces hard to design and implement?Please fill out this questionnaire before the first class: https://forms.gle/sXUyGasQSAFcxbRs8Slides for Lecture 1Required Readings:
Recommended Reading:
Start on Homework 1 - html, CSS, and JavaScript |
2 |
Thursday, 9/2/2021 |
Review of HTML and CSSSlides for Lecture 2Required Readings:
|
2.5 | Monday 9/6/2021 |
Optional Special Review session by TA Clara Cook on html/css/JavaScriptIn NSH Room 3001 at 1:00pm. |
3 |
Tuesday, 9/7/2021 |
Rosh Hashanah.Review of JavaScriptSlides for Lecture 3
|
4 |
Thursday, 9/9/2021 |
Input 1: Conventional Input Models for Handling Input EventsSlides for Lecture 4Required Readings:
Course add Deadline is September 13, 2021.
Turn in Homework 1.
|
5 |
Tuesday, 9/14/2021 |
Output 1: Basic 2D Computer GraphicsSlides for Lecture 5Required Readings:
|
6,7 |
Thursday, 9/16/2021 |
Yom Kippur. Input 2: Declarative input models; "Interactor" (Behavior) Objects in Garnet and Amulet
|
5.5 |
Tuesday, 9/21/2021 |
Output 1: Basic 2D Computer Graphics, continuedContinue with slides for Lecture 5
Turn in Homework 2.
|
8 |
Thursday, 9/23/2021 |
What is "User Interface Software", Overview of UI Software and ToolsSlides for Lecture 8Optional Readings:
|
9 |
Tuesday, 9/28/2021 |
UI Software Models: Lexical-Syntax-Semantics, Seeheim Model, MVC, Design Patterns, State DiagramsSlides for Lecture 9Recommended Readings:
Optional Readings:
|
10 |
Thursday, 9/30/2021 |
UI Implementation Concepts: Callbacks, Resources, Widget Hierarchies, Geometry ManagementSlides for Lecture 10Optional Readings:
|
11 |
Tuesday, 10/5/2021 |
React for JavaScriptSlides for Lecture 11Required Readings:
Optional Readings:
Turn in Homework 3.
|
12 |
Thursday, 10/7/2021 |
Some Other Web Toolkits - jQuery, AngularJS, Vue, Bootstrap, etc.Slides for Lecture 12Recommended Readings:
Course Drop Deadline is October 11, 2021. |
12.5 | Saturday, 10/9/2021 |
Optional Special Review session by TA Clara Cook on ReactSlides: Google Slides or local copy (.pptx) Simple Example: https://codesandbox.io/s/clever-gwen-boe37?file=/src/App.js:0-199 Advanced Example: https://codesandbox.io/s/lingering-bash-f1iwf?file=/src/components/Posts.jsx:546-1008 In NSH Room 3001 at 1:00pm. |
13 |
Tuesday, 10/12/2021 |
Evaluation of APIs and UI Tools, API Usability, Cognitive DimensionsSlides for Lecture 13Recommended Readings:
Optional Readings:
Take-home Midterm Exam |
X | Thursday, 10/14/2021 |
CMU Mid-Semester Break - no classesMid-Semester Grades Due on 10/18/2021 by 4 pm |
14 | Tuesday, 10/19/2021 |
Command Objects & Support for UndoSlides for Lecture 14 and pdf versionRecommended Readings:
Optional Readings:
Please fill out the class midterm survey before next Tuesday, 10/26/21: https://www.surveymonkey.com/r/SSUI2021midterm |
15 | Thursday, 10/21/2021 |
Command Objects & Support for Undo, cont.(Same slides as lecture 14) Turn in Homework 4.
|
16 | Tuesday, 10/26/2021 |
Toolkit support for Gestural Input Techniques, Handwriting RecognitionSlides for Lecture 15 and pdf versionRequired Readings:
Optional Readings:
|
17 | Thursday, 10/28/2021 |
Constraints and Data Bindings, 1Slides for Lecture 17 and pdf versionRecommended Readings:
Optional Readings:
|
18 | Tuesday, 11/2/2021 |
Constraints 2: Implementations.Slides for Lecture 18 and pdf versionRecommended Readings:
Optional Readings:
US Election Day |
19 | Thursday, 11/4/2021 |
Connecting to the backend - Web Services and DatabasesSlides for Lecture 19 and pdf versionRequired Readings:
|
19.5 | Sunday, 11/7/2021 |
Optional Special Review session by TA Clara Cook on Connecting to External Services (Homework 6)Slides: Google Slides or local copy (.pptx)In NSH Room 3001 at 1:00pm. |
20 | Tuesday, 11/9/2021 |
Toolkits for building speech/conversational/chatbot User Interfaces, and Visualizations
Slides for Lecture 20 and pdf versionRecommended Readings:
Optional Readings:
Semester Course Withdrawal Grade Deadline is 11/9/20 |
21 | Thursday, 11/11/2021 |
Interactive Tools: Prototypers (HyperCard, Director, Visual Basic, Balsamiq), Interface Builders, Sketching ToolsSlides for Lecture 21 and pdf versionRecommended Readings:
Optional Readings:
Start planning Final Project Topics - Deadline: Friday, 11/12/21 at 3:05 |
22 | Tuesday, 11/16/2021 |
Software Engineering for UIs: How to create high-quality UIs in the context of Agile and other software development processesSlides for Lecture 22 and pdf versionRecommended Readings:
Start on Final Project - Form Final Project Groups by today at 11:59pm |
23 | Thursday, 11/18/2021 |
Simple User Interface Toolkits and End-User Programming for UIs; Low-Code / NoCode
Slides for Lecture 23 and pdf versionRecommended Readings:
Optional Readings:
Turn in Homework 6 |
24 | Tuesday, 11/23/2021 |
Toolkit support for Assistive and Accessible Interfaces; Web AccessibilitySlides for Lecture 24 and pdf versionRecommended Readings:
Optional Readings:
Turn in one-page proposal for Final Projects by
yesterday, Monday, 11/22/21 at
|
X | Thursday, 11/25/2021 |
NO CLASS - THANKSGIVING |
25 | Tuesday, 11/30/2021 |
Toolkits for 3D Programming and the UIs of GamesSlides for Lecture 25 and pdf versionOptional Readings:
Please fill out the class survey: https://www.surveymonkey.com/r/SSUI2021Fall-Final and the official CMU survey. |
26 | Thursday, 12/2/2021 |
Presentation of Final ProjectsMy intro slides for Lecture 26 and pdf versionFinal Written Reports for Final Projects due 12/10/2021 at 11:59 pm. Semester & Mini-2 Last Day of Classes = Friday, December 3, 2021
|
Other Topics Not Currently Covered:
- History of Software Structures for UIs
- Types of User Interfaces
- Toolkits specifically for Mobile Devices & SmartPhones
- UI Programming Considering Privacy and Security
- Animation in Toolkits
- Toolkit support for Ubiquitous Computing, Context Awareness and Multiple users
- Domain-Specific Languages (DSLs) for UI programming
- Component Technologies: Interfaces as part of service platforms, Service-Oriented Architecture, Micro-Services, Plugin architectures
- Model-based tools: Creating the UI Automatically