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