Last updated: February 2012
- 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