SIGCSE 2016 Workshop 307:
CSinParallel: Using WebMapReduce to teach parallel computing concepts, hands-on
7 PM - 10 PM, Friday March 4, 2016
Instructors: Dick Brown (St. Olaf College), and Libby Shoop (Macalester College), Joel Adams (Calvin College)
Abstract: Map-reduce computation is the on-ramp to data-intensive cloud computing, and arguably the most widely deployed form of parallel/distributed computing. Participants will carry out exercises designed for students at CS1, intermediate, and advanced levels that introduce data-intensive scalable computing concepts using WebMapReduce (WMR), a simplified open-source interface to the dominant Hadoop map-reduce programming environment. WMR supports programming in a choice of languages including Python, Java, C++, and C#. Besides a hands-on experience with introductory teaching materials, the workshop includes an overview of teaching advanced map-reduce programming using WMR, and a comparison of WMR to direct Hadoop programming. All materials will reside on csinparallel.org, and the demonstration WMR system is reservable for participants' courses. Intended audience: CS instructors. Web-enabled laptop required.
- This first half of the workshop introduces map-reduce computing through the WebMapReduce (WMR)simplified interface to Hadoop, then shares our experience teaching map-reduce and related concepts of parallel and distributed computing to students in introductory sequences.
- The second part of the workshop uses WMR to explore use of map-reduce computing in more advanced courses, and examines the relationship between the WMR interface and the Hadoop computations it performs.
7-7:30 PM: Introductory courses
Slides: SIGCSE 2016 Workshop 307 slides, Part 1 (PowerPoint 2007 (.pptx) 407kB Mar4 16)
Introduction to map-reduce computing; demo of WebMapReduce (WMR)
Teaching map-reduce with WMR in the introductory sequence: materials, strategies, and experience
Resources: Why teach map-reduce with WMR?; WMR users guide, including some supported languages
Kinesthetic map-reduce class activity
A minimal set of teaching materials for 1-3 days
7:30-8:30 PM: Hands-on exercises
Getting started with WMR
Note: We suggest opening these exercises in a new tab or window in your browser, with WMR itself in a separate browser window, and this workshop page in another window/tab.
Resources that students can use in courses and that you can try tonight:
Starting Point: Intro to WMR module ; see Using WMR , then Counting words with WMR (Python)
Data sets on HDFS: /shared/gutenberg/CompleteShakespeare.txt, AnnaKarenina.txt, WarAndPeace.txt
- Note: Please avoid large Gutenberg "groups" for this workshop
Break (take a break for refreshments at any time)
Alternative explorations: WMR code examples in various languages; extended exercise set
8:30-9:00 PM: Intermediate and advanced courses
Slides: SIGCSE 2016 Workshop 307 slides, Part 2 (PowerPoint 2007 (.pptx) 214kB Mar4 16)
WebMapReduce and its architecture; obtaining and installing WMR
Resources: WMR sourceforge site; admin page
Examples: using WMR and map-reduce in upper-division (undergraduate) courses and projects. Appropriate uses of map-reduce.
CS1-level examples, but faster. Present map-reduce programming techniques
Overview of the Hadoop implementation of map-reduce.
Resources: Hadoop code for word count; Hadoop documentation
9:00-9:40 PM: Hands-on exercises
Assortment of WMR exercises
Resources that students can work through and you can try tonight:
Intro to WMR module ; see WMR Activities
Data set on HDFS: /shared/MovieLens2
Traffic Data Analysis
Network Analysis using Flixster Data
The Million Song Dataset
9:40-10:00 PM: Discussion and feedback
Assessment: Please fill out the SIGCSE online form for this workshop.
Also, please complete our own short survey for grant assessment purposes. We appreciate your help in evaluating our NSF-funded project.