
WINTER 2024/2025. CPSC 601: Positive Computing: Tech Design for Well-Being and Human Flourishing.
Graduate course, Dept. of Computer Science, University of Calgary.
Technology has a major impact on how we live, with the capacity to greatly improve human wellbeing at individual and societal levels, or to increase stress, suffering and widen inequities. The course introduces the design and development of technology to support psychological wellbeing and human potential (also known as “human flourishing”). Drawing from multidisciplinary research on wellbeing (such as motivation, self-awareness, mindfulness, compassion, and altruism), this course will cover theoretical foundations, with hands-on applications of theory to design and prototyping.
This course will explore the question – “If a technology doesn’t improve the well-being of individuals, society or the planet, should it exist? How can designers consciously and systematically consider well-being and human flourishing in the design and evaluation of technology?” (Calvo and Peters, 2014)
Recommended: CPSC 481 (Human Computer Interaction I. Design and prototyping skills will be helpful in this course.
Recommended Textbook: Calvo, Rafael A., and Dorian Peters. Positive computing: technology for wellbeing and human potential. MIT press, 2014.
Assessments:
Design challenges, Response papers, Group Project. There is no final exam in this course.

WINTER 2022. CPSC 601.69: Inclusive Design.
Graduate Program, Dept. of Computer Science, University of Calgary.
In this research-based design course, students will learn to apply the lens of Equity, Diversity and Inclusion (EDI) to technology design and analysis. While diversity refers to differences along dimensions such as race, gender or cultural background, inclusion is the practice of ensuring that the technologies we develop equally value and respect the contributions of diverse individuals and offer equal support. At present however, the majority of technologies are designed by and for people from W.E.I.R.D. (Western, Educated, Industrialized, Rich, Democratic) countries. Because technology is not value-neutral, subconscious values of designers are implicitly embedded into the tools we develop. When designer values conflict with user values, technologies can further exclude and disadvantage marginalized populations.
The course will be split into three components, with emphasis on the latter: 1) data, 2) algorithms, and 3) interaction. Students may investigate one or more dimensions of diversity, including race, gender, national culture, language, or accessibility.
Assessments include:
- Response papers & in-class discussions (30%)
- Design challenges (30%)
- Research project (40%)

FALL 2021/2023. CPSC 583: Introduction to Information Visualization.
Undergraduate program, Dept. of Computer Science, University of Calgary.
The course emphasizes a Human-Centered and creativity-focused approach to creating interactive data visualizations. This is not a data analytics course, and therefore, we will not be covering scientific visualizations, statistics or data analysis methods.
Assessments include:
- Group project
- Design challenges
- Programming Assignments
- Visual Journal
There is no final exam in the course.
There is no required textbook for the class.
Course Outcomes:
•Students should be comfortable brainstorming, sketching, and prototyping novel visualization designs.
•Students should be able to describe the effectiveness, expressiveness, and distinguishing properties of a range of different visual encodings (including position, length, area, hue, value, motion, etc.)
•Students should be able to explain the differences and challenges of how nominal, ordinal, and quantitative data can be communicated.
•Students should be able to interpret, critique, and deconstruct visualizations created by others.
•Students should be able to build interactive visualizations (using tools such as, Jupyter Notebook, Python, Tableau, Processing, P5, etc).
•Students should be aware of a variety of specific domain areas in the information visualization research field, such as the ethics of visualization, physical visualization, casual/personal visualization, and narrative visualization.

FALL 2020, WINTER 2020. CSCI 1105: Introduction to Programming.
Undergraduate Program, Faculty of Computer Science, Dalhousie University.
Fall 2020: Instructor: Dr. Helen Ai He (Section 1) and Juliano Franz (Section 2). ~300 students in both sections.
Winter 2020: Instructor: Dr. Helen Ai He (110 students)
Mid-term student evaluations: 4.77/5.0 (CS faculty mean: 4.05/5.0)
The format of this class primarily included live coding / problem-solving examples in Python, and hand-tracing code on the whiteboard. Students were expected to purchase and read the textbook, so that in class, we focused primarily on experiential, interactive learning. Students also had the option to do “mindset exercises” for 1% bonus, which emphasized a learning mindset for how to handle stress, challenges and failure. Final student evaluations: 4.46/5.0 (CS faculty mean: 4.07/5.0).