Last updated: February 2020
- Time-Management and Work-Life Balance: Some Perspective(s)
CRA Career Mentoring Workshop, February 2020
pdf
- Panel: AI For Good: Ethical Questions Facing Universities
Microsoft Campus Connections Summit, February 2019
video
- PLDI 2018 Program Chair's Report
PLDI, June 2018
pptx
video
- Rice COMP Alum Spends 14 Years and Counting Posing as a PL Professor
Rice University Computer Science Seattle Meet-Up, November 2017
pptx
- The CS Undergrad Curriculum of 2017: My Biased View from Academia
DECONSTRUCT Conference, April 2017
pptx
video
- Safely Supporting Probabilistic Data: PL Techniques as Part of the Story
Microsoft Research Faculty Summit, July 2015
pptx
- Building a MOOC: Some Practical Tidbits from a Do-It-Yourselfer
Coursera Partner's Conference panel: Tips and Tricks from the Coursera Course Trenches, March 2015
pptx
- Using My MOOC Materials On Campuses: Little Stuff That Matters
SIGCSE Panel on SPOCs: What, Why, and How, March 2015
pptx
- The PL Part of CS2013
SPLASH-E (SPLASH Education Symposium), October 2013
pptx
- Reflections From a Happy MOOC Instructor
SPLASH-E (SPLASH Education Symposium), October 2013
pptx
- Massive Open Online Courses (MOOCs): How Do They Work?
(Reflections from Personal Experience)
ATLAS Speaker Series, University of Colorado, September 2013
George Washington University, September 2013
pptx
full video in Silverlight format with nice features for skipping to particular slides
full video on YouTube
- Disciplined Approximate Computing: From Language to Hardware and Beyond
Intel Approximate Computing Workshop, Portland, OR, August 2013
pptx
- Precise Dynamic Data-Race Detection At The Right Abstraction Level
Facebook Faculty Summit, Menlo Park, CA, August 2013
pptx
- Actual Needs and Opportunities Based on Teaching a Programming Languages MOOC
1st Workshop on Programming Languages Technology
for Massive Open Online Courses, Seattle, WA, June 2013
pptx
- My Programming Languages MOOC: Some Reflections After a
First Offering
University of Washington-Tacoma, Tacoma, WA, May 2013
pptx
- Upcoming UW CSE courses on Coursera: What and How
UW CSE Industrial Affiliates Day, Seattle, WA, October 2012
pptx
- Panel: Is There a MOOC in Your Future?
Frontiers in Education Conference, Seattle, WA, October 2012
pptx
pdf
full video
- A Programming-Languages View of Data Races
Microsoft Research Summer School on Concurrency, St. Petersburg,
Russia, August 2012
pptx
- Introducing Parallelism and Concurrency in the Data Structures Course
43rd SIGCSE Technical Symposium on Computer Science Education, Raleigh, NC, March 2012
pptx
- University of Washington Computer Science & Engineering Curriculum Revision: Why, What, How
Portland State University, Portland, OR, October 2011
pptx
- Teaching Programming Language Design and Implementation: Perspective From Two Roles
PLDI Education Panel, June 2011
pptx
- Collaborating at the Hardware/Software
Interface: A Programming-Languages Professor's View
Harvard University, Northeastern University, MIT, Brown
University, UMass-Amherst, Spring 2011
pptx
- Multithreading (Pretty) Early for Everyone: Parallelism & Concurrency in 2nd-Year Data-Structures
SIGCSE Workshop, March 2011
pptx
- University of Washington Computer Science & Engineering Curriculum Revision: Why, What, How
University of Washington-Tacoma, Tacoma, WA, November 2010
pptx
- Ready-For-Use: 3 Weeks of Parallelism and Concurrency in a Required Second-Year Data-Structures Course
2010 Workshop on Curricula for Concurrency and Parallelism at SPLASH 2010, Reno, NV, October 2010
pptx
- The Transactional Memory / Garbage Collection
Analogy
Microsoft Programming Languages Technical Community Network, Redmond, WA, September 2010
pptx
- The Transactional Memory / Garbage Collection
Analogy
Advanced Micro Devices, Bellevue, WA, July 2010
pptx
- Region-Based Dynamic Separation in STM Haskell
(And Related Perspective)
Transactional Memory Workshop, Purdue University, April 2010
pptx
pdf
video
- Automatic Generation of Code-Centric Graphs for
Understanding Shared-Memory Communication
SIAM Conference on Parallel Processing & Scientific Computing, February 2010
ppt
- Panel: Advice from Early Career Faculty
(with Kim Hazelwood and Chad Jenkins)
Computing Research Assocation Career Mentoring Workshop,February 2010
ppt
- Deterministic Execution of Nondeterministic Shared-Memory Programs
Dagstuhl Seminar on Design and Validation of Concurrent Systems, September 2009
ppt
- Programming-Language Approaches to Improving Shared-Memory Multithreading: Work-In-Progress
Mircosoft Research, Redmond, July 2009
ppt
- An Automatic Code-Centric View of Shared-Memory Communication
Brown University, May 2009
- Parallel Programming in Undergraduate Education: A View
from the Ground
Workshop on Directions in Multicore Programming Education, March
2009
ppt
- TRANSACT 2009 Welcome / Program Chair's
Report
4th ACM SIGPLAN Workshop on Transactional Computing, February
2009
ppt
- Programming-Language Motivation, Design, and Semantics for
Software Transactions
MSR India Summer School on Programming Languages, Analysis and
Verification, June 2008
ppt
- My programming-languages view of TM: Research and Conjectures
Dagstuhl Seminar on Transactional Memory: From Implementation to
Application, June 2008
ppt
- Software Transactions: A Programming-Languages
Perspective
Princeton University, March 2008
ppt
- Software Transactions: A Programming-Languages
Perspective
Jane Street Capital, March 2008
ppt
- Software Transactions: A Programming-Languages
Perspective
UC Berkeley Par Lab, February 2008
ppt
- Software Transactions: A Programming-Languages
Perspective
Google Seattle, February 2008
ppt
- Software Transactions: A Programming-Languages
Perspective
University of Washington CSE Colloquium. January 2008
ppt
audio and video
- STM in Managed Runtimes: High-Level Language Semantics
Part of a Tutorial at The IEEE/ACM International Symposium on
Microarchitecture, Chicago, IL, December 2007
Part 1: ppt
Part 2: ppt
- The Transactional Memory / Garbage Collection
Analogy
ACM Conference on Object-Oriented Programming Systems, Languages, and
Applications, Montreal, Canada, October 2007
ppt
- Podcast: Dan Grossman on Garbage Collection and
Transactional Memory
Software Engineering Radio, September 2007
full
version shorter
edited version for OOPSLA
- Types for Safe C-Level Programming
Summer School on Language-Based Techniques for Integrating with the
External World, Eugene, OR, July 2007
Lecture 1: ppt
Lecture 2: ppt
Lecture 3: ppt
- Software Transactions: A Programming-Languages
Perspective
Microsoft Software Transactional Memory
Technical Team, Redmond, WA, March 2007
ppt
pdf
- Software Transactions: A Programming-Languages
Perspective
Ecole Polytechnique Federale de Lausanne, Switzerland, December 2006
ppt
pdf
- The Why, What, and How of Software Transactions for More Reliable Concurrency
Intel Software Solutions Group, Hillsboro, OR, November 2006
ppt
pdf
- Atomicity via Source-to-Source Translation
ACM SIGPLAN Workshop on Memory Systems Performance and Correctness,
San Jose, CA, October 2006
ppt
pdf
- The Why, What, and How of Software Transactions for More Reliable Concurrency
Northeastern University, Boston, MA, September 2006
ppt
pdf
- Definition, Design, and Implementation
of Shared-Memory Concurrency and Software Transactions
Summer School on Language-Based Techniques for Concurrent and
Distributed Software, Eugene, OR, July 2006
Lecture 1: ppt
Lecture 2: ppt
Lecture 3: ppt
- The Why, What, and How of Software Transactions for More Reliable Concurrency
University of Chicago, Chicago, IL, May 2006
ppt
pdf
- Design and Implementation Issues for Atomicity
Workshop on Declarative Programming Languages for Multicore
Architectures, Charleston, SC, January 2006
ppt
pdf
- Strong Atomicity for Today's Programming
Languages
Stanford University, Palo Alto, CA, October 2005
ppt
pdf
- Strong Atomicity for Today's Programming
Languages
Google Mountain View, August 2005
ppt
pdf
- Atomicity for Today's Programming Languages
Intel Programming Systems Lab, Santa Clara, CA, March 2005
ppt
pdf
- Type-Safety, Concurrency, and Beyond:
Programming-Language Technology for Reliable Software.
University of Washington CSE Colloquium. February 2005
ppt
pdf
audio and video
erratum
- Quantified Types in a Safe C-Level Language
Carnegie Mellon Principles of Programming Seminar, Pittsburgh, PA, January 2005
pdf
- Cyclone: A Memory-Safe C-Level Programming Language
NASA Jet Propulsion Laboratory, Pasadena, CA, January 2005
ppt
pdf
- Overview of Language-Based Security
UW Trustworthy Computing Seminar, October 2004
ppt
Accompanying bibliography: pdf
- Cyclone: Safe Programming at the C Level of Abstraction
UCSD, UMass-Amherst, Brown, WPI, UT-Austin, Univ. Washington, Washington University, Northwestern, Rice,
MIT, Dartmouth, Spring 2003
ppt
pdf
- Type-Safe Multithreading in Cyclone
ACM Workshop on Types in Language Design and Implementation, January 2003
ppt
pdf
- Cyclone: Safe C-Level Programming (With Multithreading Extensions)
Intel KAI Software Lab, October 2002
ppt
pdf
- Playing With Fire: Mutation and Quantified
Types
Guest lecture in CIS670, Special Topic: Polymorphism, University of
Pennsylvania, October 2002
ppt
pdf
- Region-Based Memory Management in Cyclone
ACM Conference on Programming Language Design and Implementation,
June, 2002
ppt
pdf
- Cyclone: Safe Programming at the C Level of Abstraction
Third Annual Programming Languages Day, IBM Watson, May 2002
ppt
pdf
- Existential Types for Imperative Languages
Eleventh European Symposium on Programming, April 2002
ppt
pdf
- Cyclone, Regions, and Language-Based Safety
Guest lecture in CS598e, Foundations of Language-Based Security,
Princeton University, February 2002
ppt
pdf
- Cyclone in Five Minutes
Birds-of-a-Feather Session: Specifying and Checking Properties of
Software, ACM Conference on Programming Language Design and Implementation,
June, 2001
ppt
pdf
- Scalable Certification for Typed Assembly Language
Third International Workshop on Types in Compilation, September 2000
ppt
pdf
- TALx86: A Realistic Typed Assembly Language
ACM Workshop on Compiler Support for System Software, May
1999
ppt
pdf