CS 428+828 in 202130

In 202130:
  • Midterm:
  • Final:
In the Past:

Topics and Learning Outcomes for the Knowledge Units, within the Knowledge Areas, explored in this course are based on the ACM/IEEE Curriculum Guidelines for Undergraduate Degree Programs in Computer Science (2013) report, a version of which is available in HTML on this website . That report associates one of three levels of mastery with each Learning Outcome. The mastery levels are defined as:

  • Familiarity: The student understands what a concept is or what it means. This level of mastery concerns a basic awareness of a concept as opposed to expecting real facility with its application. It provides an answer to the question “What do you know about this?”
  • Usage: The student is able to use or apply a concept in a concrete way. Using a concept may include, for example, appropriately using a specific concept in a program, using a particular proof technique, or performing a particular analysis. It provides an answer to the question “What do you know how to do?”
  • Assessment: The student is able to consider a concept from multiple viewpoints and/or justify the selection of a particular approach to solve a problem. This level of mastery implies more than using a concept; it involves the ability to select an appropriate approach from understood alternatives. It provides an answer to the question “Why would you do that?”

Topics and Learning Outcomes with:

  • 2 stars ( ★ ★ ) appear in the CS2013 report as Core-Tier1
  • 1 star ( ★ ) appear in the CS2013 report as Core-Tier2
  • 0 stars appear in the CS2013 report as Elective
  • grey text are not covered in this course offering
HCI / Foundations

For end-users, the interface is the system. So design in this domain must be interaction-focused and human-centered. Students need a different repertoire of techniques to address this than is provided elsewhere in the curriculum.

  1. Contexts for HCI (anything with a user interface, e.g., webpage, business applications, mobile applications, and games) ★★
  2. Processes for user-centered development, e.g., early focus on users, empirical testing, iterative design ★★
  3. Different measures for evaluation, e.g., utility, efficiency, learnability, user satisfaction ★★
  4. Usability heuristics and the principles of usability testing ★★
  5. Physical capabilities that inform interaction design, e.g., color perception, ergonomics ★★
  6. Cognitive models that inform interaction design, e.g., attention, perception and recognition, movement, and memory; gulfs of expectation and execution ★★
  7. Social models that inform interaction design, e.g., culture, communication, networks and organizations ★★
  8. Principles of good design and good designers; engineering tradeoffs ★★
  9. Accessibility, e.g., interfaces for differently-abled populations (e.g., blind, motion-impaired) ★★
  10. Interfaces for differently-aged population groups (e.g., children, 80+) ★★
Learning Outcomes
  1. Discuss why human-centered software development is important. [Familiarity] ★★
  2. Summarize the basic precepts of psychological and social interaction. [Familiarity] ★★
  3. Develop and use a conceptual vocabulary for analyzing human interaction with software: affordance, conceptual model, feedback, and so forth. [Usage] ★★
  4. Define a user-centered design process that explicitly takes account of the fact that the user is not like the developer or their acquaintances. [Usage] ★★
  5. Create and conduct a simple usability test for an existing software application. [Assessment] ★★
HCI / Designing Interaction

CS students need a minimal set of well-established methods and tools to bring to interface construction.

  1. Principles of graphical user interfaces (GUIs) 
  2. Elements of visual design (layout, colour, fonts, labelling) 
  3. Task analysis, including qualitative aspects of generating task analytic models 
  4. Low-fidelity (paper) prototyping 
  5. Quantitative evaluation techniques, e.g., keystroke-level evaluation 
  6. Help and documentation 
  7. Handling human/system failure 
  8. User interface standards 
Learning Outcomes
  1. For an identified user group, undertake and document an analysis of their needs. [Assessment] 
  2. Create a simple application, together with help and documentation, that supports a graphical user interface. [Usage] 
  3. Conduct a quantitative evaluation and discuss/report the results. [Usage] 
  4. Discuss at least one national or international user interface design standard. [Familiarity] 
HCI / Programming Interactive Systems

To take a user-experience-centered view of software development and then cover approaches and technologies to make that happen.

  1. Software Architecture Patterns, e.g., Model-View controller; command objects, online, offline (cross reference PL/Event Driven and Reactive Programming, where MVC is used in the context of event-driven programming) 
  2. Interaction Design Patterns: visual hierarchy, navigational distance 
  3. Event management and user interaction 
  4. Geometry management (cross-reference GV/Geometric Modelling) 
  5. Choosing interaction styles and interaction techniques 
  6. Presenting information: navigation, representation, manipulation 
  7. Interface animation techniques (e.g., scene graphs) 
  8. Widget classes and libraries 
  9. Modern GUI libraries (e.g. iOS, Android, JavaFX) GUI builders and UI programming environments (cross reference PBD/Mobile Platforms) 
  10. Declarative Interface Specification: Stylesheets and DOM 
  11. Data-driven applications (database-backed web pages) 
  12. Cross-platform design 
  13. Design for resource-constrained devices (e.g. small, mobile devices) 
Learning Outcomes
  1. Explain the importance of Model-View controller to interface programming. [Familiarity] 
  2. Create an application with a modern graphical user interface. [Usage] 
  3. Identify commonalities and differences in UIs across different platforms. [Familiarity] 
  4. Explain and use GUI programming concepts: event handling, constraint-based layout management, etc. [Familiarity] 
HCI / User-Centered Design and Testing

An exploration of techniques to ensure that end-users are fully considered at all stages of the design process, from inception to implementation.

  1. Approaches to, and characteristics of, the design process 
  2. Functionality and usability requirements (cross-reference to SE/Requirements Engineering) 
  3. Techniques for gathering requirements, e.g., interviews, surveys, ethnographic and contextual enquiry 
  4. Techniques and tools for the analysis and presentation of requirements, e.g., reports, personas 
  5. Prototyping techniques and tools, e.g., sketching, storyboards, low-fidelity prototyping, wireframes 
  6. Evaluation without users, using both qualitative and quantitative techniques, e.g., walkthroughs, GOMS, expert-based analysis, heuristics, guidelines, and standards 
  7. Evaluation with users, e.g., observation, think-aloud, interview, survey, experiment 
  8. Challenges to effective evaluation, e.g., sampling, generalization 
  9. Reporting the results of evaluations 
  10. Internationalization, designing for users from other cultures, cross-cultural 
Learning Outcomes
  1. Explain how user-centered design complements other software process models. [Familiarity] 
  2. Use lo-fi (low fidelity) prototyping techniques to gather, and report, user responses. [Usage] 
  3. Choose appropriate methods to support the development of a specific UI. [Assessment] 
  4. Use a variety of techniques to evaluate a given UI. [Assessment] 
  5. Compare the constraints and benefits of different evaluative methods. [Assessment] 
HCI / New Interactive Technologies

As technologies evolve, new interaction styles are made possible. This knowledge unit should be considered extensible, to track emergent technology.

  1. Choosing interaction styles and interaction techniques 
  2. Representing information to users: navigation, representation, manipulation 
  3. Approaches to design, implementation and evaluation of non-mouse interaction 
  4. Touch and multi-touch interfaces 
  5. Shared, embodied, and large interfaces 
  6. New input modalities (such as sensor and location data) 
  7. New Windows, e.g., iPhone, Android 
  8. Speech recognition and natural language processing (cross reference IS/Natural Language Processing) 
  9. Wearable and tangible interfaces 
  10. Persuasive interaction and emotion 
  11. Ubiquitous and context-aware interaction technologies (Ubicomp) 
  12. Bayesian inference (e.g. predictive text, guided pointing) 
  13. Ambient/peripheral display and interaction 
Learning Outcomes
  1. Describe when non-mouse interfaces are appropriate. [Familiarity] 
  2. Understand the interaction possibilities beyond mouse-and-pointer interfaces. [Familiarity] 
  3. Discuss the advantages (and disadvantages) of non-mouse interfaces. [Assessment] 
HCI / Collaboration and Communication

Computer interfaces not only support users in achieving their individual goals but also in their interaction with others, whether that is task-focused (work or gaming) or task-unfocused (social networking).

  1. Asynchronous group communication, e.g., e-mail, forums, social networks 
  2. Synchronous group communication, e.g., chat rooms, conferencing, online games 
  3. Social media, social computing, and social network analysis 
  4. Online collaboration, 'smart' spaces, and social coordination aspects of workflow technologies 
  5. Online communities 
  6. Software characters and intelligent agents, virtual worlds and avatars (cross-reference IS/Agents) 
  7. Social psychology 
Learning Outcomes
  1. Describe the difference between synchronous and asynchronous communication. [Familiarity] 
  2. Compare the HCI issues in individual interaction with group interaction. [Assessment] 
  3. Discuss several issues of social concern raised by collaborative software. [Familiarity] 
  4. Discuss the HCI issues in software that embodies human intention. [Familiarity] 
HCI / Statistical Methods for HCI

Much HCI work depends on the proper use, understanding and application of statistics. This knowledge is often held by students who join the field from psychology, but less common in students with a CS background.

  1. t-tests 
  2. ANOVA 
  3. Randomization (non-parametric) testing, within vs. between-subjects design 
  4. Calculating effect size 
  5. Exploratory data analysis 
  6. Presenting statistical data 
  7. Combining qualitative and quantitative results 
Learning Outcomes
  1. Explain basic statistical concepts and their areas of application. [Familiarity] 
  2. Extract and articulate the statistical arguments used in papers that quantitatively report user studies. [Usage] 
  3. Design a user study that will yield quantitative results. [Usage] 
  4. Conduct and report on a study that utilizes both qualitative and quantitative evaluation. [Usage] 
HCI / Design-Oriented HCI

Some curricula will want to emphasize an understanding of the norms and values of HCI work itself as emerging from, and deployed within specific historical, disciplinary and cultural contexts.

  1. Intellectual styles and perspectives to technology and its interfaces 
  2. Consideration of HCI as a design discipline 
    • Sketching
    • Participatory design
  3. Critically reflective HCI 
    • Critical technical practice
    • Technologies for political activism
    • Philosophy of user experience
    • Ethnography and ethnomethodology
  4. Indicative domains of application 
    • Sustainability
    • Arts-informed computing
Learning Outcomes
  1. Explain what is meant by “HCI is a design-oriented discipline”. [Familiarity] 
  2. Detail the processes of design appropriate to specific design orientations. [Familiarity] 
  3. Apply a variety of design methods to a given problem. [Usage] 

Human Computer Communication

Welcome to Class
Good and Poor Design
Norman Doors
Evaluating Interfaces
Creative Confidence
Empathy and Design
Thinking Outside the Box
  • Attendance
  • iphone-zoom-BR - 1.jpg
    Zoom on an iPhone, inside Breakout Room 2
    iphone-zoom-BR - 2.jpg
    Zoom on an iPhone, outside Breakout rooms in main session
  • History of the Nine Dot Problem

    What is the contribution of Durrell Bishop's marble answering machine? Does it have anything to say about modern voicemail systems?

  • SSS: Why do they (Elections Canada) not reconsider their design and remove these weaknesses of their work?
  • DHH: Is this uncommon? What concepts have we dicussed that could explain this phenomenon?
  • Election 2021 -- 'Super polls' and pandemic protocols greet voters
  • SSS: It is still a little difficult for me to understand empathy maps
  • DHH: We will do an example in class
  • Empathy Mapping
  • SSS: Does the website for the project have to be a social media site or can it be of any kind?
  • DHH: Any software interface with which your group members are familiar and that is accessible for others to use.
  • SSS: If each team member has to create 4 empathy maps (in a group of 4), do they also need to create one for themselves?
  • DHH: Yes and we will discuss in class
  • SSS: Hey, don't you think rather than us finding our own groups it would be better for us to just use our breakout room as our group for the project?
  • DHH: No. Breakout rooms are not the right size, but you could use your breakout group as a foundation for your project group
  • You are asked to empathize with a teacher using UR Courses to design some content that you will present to your hypothetical students. This content will consist of 1 activity in UR Courses and 1 resource in UR Courses. Access to the resource is to be based on the grade for the activity. As the teacher, you will use UR Courses to create your content. For the assignment, you will reflect on your use of UR Courses and create an empathy map for that experience. Lastly, you will consider any issues you encountered while creating your content in UR Courses and describe any opportunities for redesign. Focus on identifying problems and not presenting solutions

    Don Norman -- 3 ways good design makes you happy

Mental models and metaphors
  • SSS: How we can find interesting target in the internet about our team project that perfectly cover all related redesign suggestions?
  • DHH: By browsing or surfing the web, by talking within your group and discussing the applications and interfaces that you use and your experiences with them
  • SSS: Can you suggest a website you think need adjustment or website for our project?
  • DHH: UR Courses, SaskTel, MySaskHealthRecord
  • SSS: Can we also use applications like discord and so on?
  • DHH: true
Best Design Choice
  • understanding the best design choice for the coffee machine
  • my own personal experience with twitter
  • what metaphors are helpful to bring in new users?
  • how to know if we have succeeded?
  • metaphors for organizing meetings
Design Alternatives

    Usability Test Demo by Steve Krug

Design Alternatives
  • Can we make our prototype out of paper?
  • Is there a strict set of metaphors to use when thinking about interfaces?
  • Chapter 13
Evaluating Alternatives
  • metaphors, good and bad, consistent and inconsistent
  • how does adding themes to meetings page relate to a metaphor?
Meeting 23 theme
Meeting 24 theme
Meeting 25 theme
Meeting 26 theme
Meeting 27 theme
Meeting 28 theme
Meeting 29 theme
Meeting 30 theme
Meeting 31 theme
Meeting 32 theme
Meeting 33 theme
Meeting 34 theme
Meeting 35 theme
Meeting 36 theme
Meeting 37 theme
Meeting 38 theme