Includes Event Workshop 31: Developing a Hands-On Undergraduate Parallel Programming Course with Pattern Programming