Steve Wolfman

Professor of Teaching

Office
ICCS
239
Office Phone #
604-822-0407

Academic Information

Instructor, UBC (2004-); Ph.D., University of Washington (2004); M.S., University of Washington (1999); B.S.E., Duke University (1997)

Selected Publications

Steven A. Wolfman, Tessa Lau, Pedro Domingos, and Daniel S. Weld. "Mixed Initiative Interfaces for Learning Tasks: SMARTedit Talks Back." In Proceedings of IUI'01 (intelligent user interfaces), pages 167--174.

Steven A. Wolfman and Daniel S. Weld. "The LPSAT Engine & Its Application to Resource Planning." In Proceedings of IJCAI'99 (int'l joint conference on AI), 310--316.

Richard J. Anderson, Crystal Hoyer, Steven A. Wolfman, and Ruth Anderson. "A study of digital ink in lecture presentation." In Proceedings of CHI'04 (Human factors in computing systems), pages 567--574.

Richard J. Anderson, Ruth Anderson, Tammy VanDeGrift, Steven A. Wolfman, and Ken Yasuhara. "Promoting Interaction in Large Classes with Computer-Mediated Feedback". In Proceedings of CSCL'03 (computer support


for collaborative learning), pages 119--123.

Research Areas

computer science education

Interests

The intersection of technology and learning: methods to enhance learning through technology, use of technology to understand phenomena of learning, and pedagogy of computer science. I co-developed and extended the Classroom Presenter system for (shockingly) classroom presentations, modifying the system to increase instructors' flexibility in presentation and students' engagement in and impact on presentations and using the system as a tool to understand how and why interaction happens in the classroom. More recently, I have been developing a framework to support open-ended, creative assignments in the first two Computer Science courses in collaboration with Chris Head, an undergraduate research assistant. Preliminary experiments with the framework suggest that these assignments are engaging to students and that they may be especially engaging for female and undecided students.

I am also interested in human-computer interaction (HCI) and artificial intelligence (AI). My previous work has spanned core AI research in planning, combining Boolean satisfiability solving and Linear Programming to efficiently model and solve resource-constrained problems; AI/HCI work in programming by demonstration (PBD), using machine learning techniques to negotiate interface choices with users in a PBD editing system; and the HCI/education work described above. For example, I worked with Erica Huang, an undergraduate research assistant, to apply local search techniques to developing improved cell phone keypad layouts for users of Zhu-Yin (i.e., Taiwanese users).

Purely in terms of pedagogical research, I enjoy developing engaging and effective pedagogical techniques for challenging teaching venues: large classes, distance classes, and esoteric subjects. My prior work has included techniques for taking advantage of the size of large classes and kinesthetic (physical) activities for teaching various computer science topics.

Courses

2024 Winter
CPSC_V 210 - Software Construction
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 312 - Functional and Logic Programming
2024 Summer
CPSC_V 491 - Interactive Digital Media Practicum
2023 Winter
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
CPSC_V 313 - Computer Hardware and Operating Systems
2023 Summer
CPSC_V 491 - Interactive Digital Media Practicum
2022 Winter
CPSC_V 210 - Software Construction
CPSC_V 210 - Software Construction
CPSC_V 210 - Software Construction
CPSC_V 210 - Software Construction
CPSC_V 210 - Software Construction
2022 Summer
CPSC_V 491 - Interactive Digital Media Practicum
2021 Winter
CPSC_V 221 - Basic Algorithms and Data Structures
CPSC_V 221 - Basic Algorithms and Data Structures
CPSC_V 213 - Introduction to Computer Systems
CPSC_V 312 - Functional and Logic Programming
2021 Summer
CPSC_V 491 - Interactive Digital Media Practicum
2020 Summer
CPSC_V 491 - Interactive Digital Media Practicum
2019 Winter
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 103 - Introduction to Systematic Program Design
2019 Summer
CPSC_V 491 - Interactive Digital Media Practicum
CPSC_V 436I - Topics in Computer Science
2018 Winter
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 311 - Definition of Programming Languages
2017 Winter
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 311 - Definition of Programming Languages
2016 Winter
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 121 - Models of Computation
CPSC_V 121 - Models of Computation
CPSC_V 103 - Introduction to Systematic Program Design
CPSC_V 320 - Intermediate Algorithm Design and Analysis
2015 Winter
CPSC_V 110 - Computation, Programs, and Programming
2015 Summer
CPSC_V 110 - Computation, Programs, and Programming
CPSC_V 110 - Computation, Programs, and Programming
2014 Winter
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 320 - Intermediate Algorithm Design and Analysis
CPSC_V 311 - Definition of Programming Languages
CPSC_V 221 - Basic Algorithms and Data Structures