Workshops

Wednesday March 8, 7:00 pm - 10:00 pm

101: GP: A General Purpose Blocks-Based Language

John Maloney, Yoshiki Ohshima, Jens Mönig, Human Advancement Research Community (HARC); Mark Guzdial, Georgia Institute of Technology
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 618-619

The first programming language for most children worldwide today is a blocks-based language, like Scratch or Snap. GP is a blocks-based programming language designed to be a follow-on. GP aims to be a general purpose language, like Python or Ruby, in which students can create more complex programs including building standalone applications. GP includes a mechanism for creating modules for others to re-use and a wide variety of primitives, including tools for manipulating CVS and JSON data, for addressing the serial port and network connections, and for manipulating pixels in pictures and samples in sounds. The language could be used in computer science classes beyond introductory computer science. GP is an exploration of the question “How far can we go with a blocks-based programming language? Do we have to move students to a textual programming language to explore advanced computational ideas and applications?” In this laptop-required workshop, participants will try out GP. They will explore sample projects and create their own projects that push on advanced features of GP such as using multiple classes and instances, creating sets of blocks that can be shared as extension modules, using cloud data, or manipulating images and sounds. GP will be released (free and open source) in Summer 2017, so our goal is to find early adopters who are interested in trying GP and developing examples for others.

102: Designing Empirical Education Research Studies (DEERS): Creating an Answerable Research Question

Sarah Heckman, North Carolina State University; Jeffrey Carver, University of Alabama; Mark Sherriff, University of Virginia
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 616-617

One of the most important, and difficult, aspects of starting an education research project is identifying an interesting, answerable, repeatable, measurable, and appropriately scoped research question. The lack of a valid research question reduces the potential impact of the work and could result in wasted effort. The goal of this workshop is to help educational researchers get off on the right foot by defining such a research question. This workshop is part of the larger Designing Empirical Education Research Studies (DEERS) project, which consists of an ongoing series of workshops in which researcher cohorts work with experienced empirical researchers to design, implement, evaluate, and publish empirical work in computer science education. In addition to instruction on the various aspects of good research questions, DEERS alumni will join us to mentor attendees in development of their own research questions in small group breakout sessions. At the end of the workshop, attendees will leave with a valid research question that can then be the start for designing a research study. Attendees will also receive information on how to apply to attend the full summer workshop, where they can fully flesh out the empirical study design, and join a DEERS research cohort. More information about DEERS can be found at http://empiricalcsed.org.

103: A Web-Based IDE for Teaching with Any Language

David Malan, Harvard University; Nikolai Onken, Amazon
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 613-614

This workshop introduces participants to CS50 IDE (cs50.io), a web-based integrated development environment based on Amazon’s Cloud9 (c9.io). Not only does the IDE enable students to work on programming projects within a browser, without need for local downloads or installations, it also provides students with an integrated terminal window and full sudo privileges. Underneath the hood is a Docker “container” that allows students to experiment with the underlying Ubuntu Linux OS, installing and configuring software at will, adapting it to their particular projects’ needs. The IDE supports any compiler, interpreter, or other software that can be installed via a Linux command-line, while the IDE itself provides a fully-featured text editor for text files and source code that reside on the underlying instance. The Cloud9 GUI is fully extensible through a plugin system and is leveraged by CS50 IDE to provide additional functionality for students. Among the additional features implemented through this mechanism are a GUI-based file submission system, an optional “less comfortable” mode that simplifies the GUI to provide a scaffolded experience for students new to programming, and a GUI front end for the GNU Project Debugger, a CLI debugger for many languages, including C. This workshop will highlight useful features of the IDE in the context of classrooms (including the collaborative nature of a workspace to allow pair programming or provide alternative one-on-one instruction), provide tips for writing or adapting assignments based on its architecture, and introduce developing plugins for full customization.

104: Increasing Student Interest in Data Structures Courses with Real-World Data and Visualizations Using BRIDGES

Kalpathi Subramanian, The University of N Carolina at Charlotte; Jamie Payton, Temple University
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 606

This workshop introduces participants to the concepts and use of BRIDGES, a software infrastructure designed to facilitate hands-on experience for solving traditional problems in introductory computer science courses using data from real- world systems that are of interest to students, such as social networks(Twitter, Facebook), scientific or engineering datasets(USGIS Earthquake data), Google Maps, etc. BRIDGES provides easy access(typically function calls) to real-world data sets for use in routine data structures programming assignments, without requiring students to work with complex and varied APIs to acquire such data. BRIDGES also provides visualization capabilities, allowing the studnets to visualize the data structure they have created as part of their assignment. BRIDGES visualizations can be easily shared, via a weblink, with peers, friends, and family. Workshop attendees will engage in hands-on experience with BRIDGES and multiple datasets, and will have the opportunity to discuss how BRIDGES can be used to support various introductory computer science courses.

105: Using AppVis to build data-rich apps with MIT App Inventor

Fred Martin, University of Massachusetts Lowell; Samantha Michalka, Olin College; Harry Zhu, University of Massachusetts Lowell; Jere Boudell, Clayton State University
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 611

MIT App Inventor is widely used to introduce students to programming and building mobile apps. In this workshop, we will introduce AppVis, an extension to App Inventor that allows users to create apps that publish data to iSENSE (isenseproject.org), a web-based system for collaborating with data and visualizations. Using AppVis, apps can also retrieve data from iSENSE and display visualizations in the app. This workshop will provide a hands-on introduction to App Inventor, AppVis, and iSENSE. You will build our demo apps including jump counter, survey, and mapping apps. We’ll have conversations about how to introduce AppVis to your non-majors courses, intro-CS courses, and interdisciplinary teaching. Prior experience with App Inventor is helpful, but not necessary.

106: An Introduction to the WEKA Data Mining System

Ingrid Russell, University of Hartford; Zdravko Markov, Central Connecticut State University
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 607

The workshop introduces participants to Weka, an open source Data Mining software package written in Java and available from http://www.cs.waikato.ac.nz/~ml/weka/. The goal of the workshop is to present the basic functionality of Weka that may be used in the undergraduate computer science and engineering curricula. The Weka system provides a rich set of powerful Machine Learning algorithms for Data Mining tasks, along with a comprehensive set of tools for data pre-processing, statistics and visualization, all available through an easy to use graphical user interface. Weka is widely used for educational purposes. Recently, with the increasing popularity of Big Data, it becomes a popular tool for Analytics and Data Science. Weka’s rich functionality also allows its use for Text and Web document pre-processing and mining. All this makes it a suitable platform for enhancing the CS curriculum with hands-on exercises and practical projects. The workshop will present examples of such projects and exercises in the area of Web document classification and clustering. The basic steps of document collection, creating the vector space model, data preprocessing, attribute selection, and applying classification and clustering algorithms will be presented. In this framework the following topics will be covered: Data preprocessing and visualization, Attribute selection, Classification algorithms (OneR, Decision trees, Covering rules), Prediction algorithms (Naïve Bayes, Nearest neighbor, Linear models), Model evaluation techniques and Clustering (K-means, EM, Hierarchical clustering). For each of these topics, examples of using Weka will be presented. No background in machine learning or data mining is needed.

CANCELED: Workshop 107

107: What's new in BlueJ 4: Git, Stride and more

Neil Brown, Amjad Altadmri, University of Kent
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 612

BlueJ is a beginner's IDE for Java which has been in popular use for over ten years. But it continues to improve and evolve: BlueJ 4.0.0 was recently released with several new features. Git support has been added in a user-friendly way, and the support for writing JavaFX GUI applications has been improved. BlueJ 4 also includes the frame-based Stride editor (previously seen in Greenfoot), which allows for block-like programming. BlueJ 4 also retains all its existing functionality such as interactive object creation and method invocation, a "REPL"-like code pad, a debugger and testing support. This workshop, run by the developers of BlueJ, will take the participants, whether new to BlueJ and Java or long-time users, through the new features while also providing an introduction/refresher on the existing capabilities of the software. Participants will learn how to share BlueJ projects via Github, create a new JavaFX application, dabble with Stride and get a tour of the existing BlueJ functionality.

108: Micro Projects: Putting Light and Magic into Learning Computer Systems Concepts

Frank Barry, Appalachian State University
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 603

Computer systems courses are often challenging to students, in part because of the attention to detail required for understanding a variety of system components and their behavior across multiple levels of abstraction. An embedded systems environment can provide a context for learning systems concepts that complements the largely general-purpose computing perspective taken by many systems courses. This workshop demonstrates the use of an Arduino-based hardware platform (minus the IDE) to present example lab modules that make principles of data/program representation, bit-manipulation, I/O operation, event-handling, and digital communication more visible, concrete, and motivating. The lab modules use C/C++ and assembly programming with minimal library support to give students a better understanding of the hardware-software interface. Participants will work through two example lab modules covering bit manipulation using digital I/O, and event handling using interrupts. Additional modules will be presented that use serial communication, timers, and an embedded executive to further illustrate concepts of program/data representation, optimization, and operating system principles. In addition to handouts we supply participants with the software and hardware (Arduino boards) for use during the workshop and sources for acquiring these for future classroom use. These labs are intended primarily for integrating into intermediate, advanced, and special topics courses, though some may be used or adapted for introductory courses. Further information may be found at: http://cs.appstate.edu/~efb/sigcse2017.htm

CANCELED: Workshop 109

109: Teaching Distributed Computing with WorkQueue

Aaron Dingler, Seattle Pacific University; Peter Bui, University of Notre Dame
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 604

With the recent emphasis on Parallel and Distributed Computing topics in the Computer Science Curricula 2013, instructors are increasingly incorporating these topics into their undergraduate courses. Unfortunately, many universities lack the dedicated computing resources to provide hands-on experiences in this area. This workshop guides attendees through the open source WorkQueue software to teach parallel and distributed computing principles to undergraduate students. WorkQueue is a distributed master worker framework developed by the Cooperative Computing Lab at the University of Notre Dame. WorkQueue is well- suited for inclusion in undergraduate courses due to the ease of use and deployment on a wide range of computer systems, low administrative overhead, and scalability. WorkQueue can be deployed on any system, from a small Raspberry Pi cluster to a high-performance grid computing environment. This workshop walks attendees through the use of WorkQueue with three demonstrations: a ``live demo" such as would be used to engage students in the classroom with a hands-on introduction to distributed computing principles, and a guided ``tour" through two lab assignments. The first lab assignment will give attendees a hands-on example of a simple distributed computing problem from implementation to deployment. The second lab will demonstrate WorkQueue MapReduce, a simple framework that can be used to introduce the MapReduce programming model without the overhead of a Hadoop cluster or equivalent. A laptop is required to participate in the workshop; the presenters will provide a pre-configured Linux VirtualBox virtual machine to facilitate software setup, or attendees can use their own Linux installations.

110: Peer Instruction in Practice

Jaime Spacco, Knox College; Cynthia Taylor, Joe Hummel, University of Illinois-Chicago; David Bunde, John Dooley, Knox College; David Hovemeyer, York College
Wednesday March 8, 7:00 pm - 10:00 pm
Room: 602

This workshop will provide an opportunity for attendees interested in adopting Peer Instruction (PI) to see a demonstration of PI, learn practical details about adopting PI, and an opportunity to write and critique PI questions. PI is an active learning technique with over 25 years of research supporting its efficacy in Physics Education. More recently, the CS Education community has found that the benefits of PI are true for CS as well, including lower WDF rates, higher exam scores, and improved retention in the CS major. One of the key differences between PI and traditional lecture is the use of a series of “clicker questions” in class to challenge the students’ conceptual understanding. Students discuss and answer these questions in small groups, then the instructor goes over the question with the entire class.

Friday March 10, 7:00 pm -10:00 pm

301: An Iota of IoT

Bill Siever, Washington University; Michael Rogers, Northwest Missouri State University
Friday March 10, 7:00 pm -10:00 pm
Room: 602-604

Internet of Things (IoT) devices — networked microcontrollers with attached sensors and outputs (LEDs, actuators, etc.) — are becoming ubiquitous in the home (e.g., smart light bulbs, security systems), on the road (e.g., smart parking meters, traffic control), in industry (e.g., equipment monitoring, asset tracking) and in healthcare (e.g., fitness monitors, drug monitors). Consequently, IoT provides an opportunity to demonstrate the pervasiveness and social relevance of computing. Moreover, today’s hobbyist-oriented IoT platforms empower entry-level students to create meaningful, real-world IoT applications. This allows rich computer science topics, such as event driven programming, concurrency, networking, information representation, cloud computing, etc., to be introduced earlier in the curriculum. Most importantly, IoT examples provide a compelling context for students to hone their critical thinking skills while solving engaging, real-world problems.

Faculty interested in including IoT topics face several challenges: selecting a suitable set of topics, identifying an appropriate pedagogical approach, and, perhaps most daunting, choosing a cost-effective platform that lends itself to classroom use. This workshop will introduce the basic terms and technologies in IoT, discuss issues that arise when including IoT topics in classes, compare and contrast the most popular platforms for IoT, and walk participants through several classroom-tested, hands-on examples using a classroom-friendly platform (Particle’s Photon) where they create both Wi-Fi-based IoT devices and corresponding web apps. Participants will need a laptop (any OS) with Internet access.

302: How to Collect, Analyze and Act on Learning Data in Computer Science Courses

Ananda Gunawardena, Princeton University
Friday March 10, 7:00 pm -10:00 pm
Room: 616-617

The modern teaching should be based on data driven techniques. Yet many of us do not have the resources to collect, analyze and act on course data on a regular basis. The process of collecting data from multiple sources, integrating and analyzing can be a daunting task. The purpose of this workshop is to help simplify this process. The workshop introduces participants to the basic process of establishing a data collection protocol, dealing with institutional review board (IRB) if applicable, setting up an interactive framework to help facilitate data collection, and developing customized dashboards to help support classroom teaching. We will also discuss ways to set up interactive reading and video viewing activities and student collaboration activities to increase student course engagement. These techniques can help collect student interaction data on a regular basis. The workshop will also discuss data integration standards such as Learning Tools Interoperability (LTI) that can facilitate data integration efforts across data rich learning applications that are already in use.

303: How to Plan and Run Computing Summer Camps - Logistics

Krishnendu Roy, Valdosta State University; Kristine Nagel, Georgia Gwinnett College; Sarah Dunton, University of Massachusetts Amherst
Friday March 10, 7:00 pm -10:00 pm
Room: 618-619

This workshop will provide details on how to plan and implement non-residential, week-long computing summer camps for 4th – 12th grade students. Presenters of the workshop have organized summer computing camps at their respective campuses and in partnership with non-profit organizations for seven/eight years. Tools and resources used in the camps include: CS Unplugged, LightBot, Scratch, Alice, LEGO robots (WeDo, NXT, EV3, and Tetrix), EarSketch, and App Inventor. One of the main challenges that educators planning to offer camps for the first time face is not knowing all the details of how to plan the summer camp. The logistical details are often more challenging compared to the technical aspect of the camp. This workshop will address that challenge.

The workshop will include presentation about application forms, a timeline for planning, sample agendas, sample flyers, budget plans, a planning checklist, suggested projects, surveys, pre- and post-tests, evaluation results, lessons learned, and more.

304: Engaging Students with Algorithms

Crystal Furman, The College Board; Sandy Czajka, Riverside Brookfield High School; Adrienne Decker, Rochester Institute of Technology; Dianna Xu, Bryn Mawr College
Friday March 10, 7:00 pm -10:00 pm
Room: 613-614

This workshop provides participants with hands-on approaches to teaching common algorithms in an AP Computer Science A context, but common in CS1 in general. Teachers will explore strategies for teaching students: how to introduce commonly used algorithms to students; how to have students problem solve using hands-on techniques; how to determine which algorithm to use provided a program specification; write and modify the algorithm; and interpret the result of an algorithm. Together, participants will be looking at the commonly taught and assessed algorithms in first semester computing courses, especially those found on the AP Computer Science A assessment. A set of example free response questions from the AP Computer Science A assessment will be examined to identify how these algorithms are used and modified in solutions.

CANCELED: Workshop 305

305: Two Birds - Teaching Coding and Math in Primary Schools and Beyond

Victor Winter, Betty Love, University of Nebraska at Omaha
Friday March 10, 7:00 pm -10:00 pm
Room: 611

Bricklayer is a freely-available online educational ecosystem designed in accordance with a "low-threshold infinite-ceiling" philosophy. Its purpose is to teach coding to people of all ages and coding backgrounds. A significant portion of the Bricklayer ecosystem has been developed specifically to help novices, especially primary school children, learn how to code. When executed, Bricklayer programs can produce LEGO® artifacts, Minecraft artifacts, and even artifacts suitable for 3D printing. Bricklayer resides in a domain in which there is a strong connection between math, art, and computer science. This workshop is suitable for (1) university instructors and faculty who are interested in freshmen-level programming, (2) CS educators who work with and/or teach K-12 teachers in order to deliver coding-based curricula, (2) K-12 teachers and facilitators interested in exploring options for how they might teach coding - either directly as part of the in-school curriculum, or indirectly as part of an after school program. No background in coding is assumed. The aim of the workshop is to provide participants with a general understanding of what Bricklayer coding entails, how it relates to math, as well as providing a framework and road map for learning how to code in Bricklayer. An example of a 10 week (1 hour/week) primary school curriculum will be provided.

306: Hands-on Cybersecurity Exercises that are easy to access and assess

Richard Weiss, The Evergreen State College; Jens Mache, Lewis & Clark College; Michael Locasto, SRI International; Franklyn Turbak, Wellesley College
Friday March 10, 7:00 pm -10:00 pm
Room: 608

Cybersecurity is a topic of growing interest for CS educators. The goal of this workshop is to empower faculty to add hands-on security exercises to their courses. We introduce EDURange, a framework for accessing, developing and assessing interactive cybersecurity exercises. We want to reach and engage all students. The first step is to have interesting challenges that are easy to access. EDURange uses VMs in the cloud. No reservations are required. No software needs to be installed - students only need an ssh-client. Another step is to give students feedback on how they are doing. This is an important role for faculty and is not something to automate. Instead, EDURange provides tools to visualize what students are doing as they work on the exercises. This allows instructors to more easily see when students are stuck or heading in the wrong direction. Since cybersecurity exercises are often easy to understand but hard to solve, guidance is especially important so that students don’t become frustrated. In this workshop, participants will get to try EDURange and several exercises. Participants don’t need to be security experts. We will provide sample syllabuses for an introductory computer security class and an interdisciplinary security class, and we will show how our exercises can be integrated into these classes. Laptop required.

307: Workshop: Guiding Students to Discover CS Concepts and Develop Process Skills Using POGIL

Clifton Kussmaul, Muhlenberg College; Chris Mayfield, James Madison University; Helen Hu, Westminster College
Friday March 10, 7:00 pm -10:00 pm
Room: 609

This workshop introduces Process-Oriented Guided Inquiry Learning (POGIL) to anyone who teaches CS or related subjects. In a POGIL classroom, teams of 3-5 learners work on activities with a particular structure based on learning cycles. Through scripted inquiry and investigation, learners discover concepts and construct their own knowledge. Using assigned team roles and other scaffolding, learners develop process skills and individual responsibility. The teacher is not a lecturer, but an active facilitator who helps all students to be engaged and achieve the learning objectives. POGIL is an evidence-based approach, and has been shown to significantly improve student performance [2,3]. Workshop participants will work through POGIL activities as students, and work through POGIL meta-activities that are designed to help teachers learn core POGIL concepts, practices, and benefits. We will share POGIL materials for a variety of CS courses and concepts. For more information, see http://cspogil.org and http://pogil.org, including sample activities for CS1, CS2, and other courses. Laptops optional.

308: Modules for Integrating Cryptography in Introductory CS and Computer Security Courses

Yesem Kurt Peker, Columbus State University
Friday March 10, 7:00 pm -10:00 pm
Room: 607

This workshop provides participants with an introduction to the basic functions of cryptography as they are used in applications today. Without going into the details of the mathematics involved in them, the workshop will elucidate the mechanisms that cryptography provides to achieve the main tenets of information security; namely, confidentiality, integrity, authentication, and non-repudiation. The workshop will include four modules focusing on symmetric key encryption, public key cryptography, hash functions, and digital signatures and certificates, respectively. Each module will start with a presentation of the topic and proceed with hands-on activities followed by questions and answers. The presentations will include descriptions of mechanisms as well as the reasons for using such mechanisms. For example, it will provide answers to questions such as what does asymmetric encryption provide us that symmetric key encryption does not? Why use hash functions in digital signatures? Why do we need digital certificates in addition to digital signatures? The participants will receive access to presentations and hands-on exercises as well as supplementary material such as assignments for students and questions for assessment. Educators who want to introduce computer security and cryptography in their curriculum and students and educators who want to learn the basics of cryptography would benefit from this workshop.

CANCELED: Workshop 309

309: Testing Across the Curriculum

Zachary Kurmas, Grand Valley State University
Friday March 10, 7:00 pm -10:00 pm
Room: 606

Many students find testing software as difficult and frustrating as they find writing prose. As with writing, no pedagogy will magically replace the need for plenty of practice. Therefore, we believe students should be required to write tests in as many courses as practical. This workshop will present a survey of tools that instructors can use to incorporate testing into many courses throughout the curriculum. We will begin with a quick review of JUnit, then present tools such as (1) RSpec (Ruby's unit testing framework, on which many other testing frameworks are based), (2) MUnit (MIPS assembly) (3) DLUnit (digital logic and simulated CPUs), (4) CUnit (Operating Systems and Networking), (5) Jasmine (JavaScript), (6) and Cucumber (which has many uses, including system tests on web applications). See http://www.cis.gvsu.edu/~kurmasz/TestingWorkshop for more details. (The purpose of this workshop is to introduce instructors to the tools that simplify the incorporation of testing into courses beyond CS 1, CS 2, and Software Engineering. This workshop is not designed to teach high-level testing principles such as "what tests do I need?'' or "how do I know when I've written enough tests?'' Similarly, this workshop will not cover TDD or BDD. These topics are big enough to be workshops --- if not courses --- of their own.)

310: Using and Customizing Open-Source Runestone Ebooks for Computer Science Classes

Brad Miller, Luther College; Paul Resnick, University of Michigan; Barbara Ericson, Georgia Tech
Friday March 10, 7:00 pm -10:00 pm
Room: 612

Runestone is an open-source ebook platform designed to create and publish interactive computer science textbooks. (See http://runestoneinteractive.org/) Runestone textbooks support programming within the browser, code visualizations, and a wide variety of practice activities, from multiple choice and fill-in-the-blank questions to Parsons Problems (drag-and-drop mixed-up code). Multiple textbooks have been created for CS1, AP CS A, AP CSP, data structures, and web programming. The presenters have several years of experience developing and using Runestone ebooks. Several studies have demonstrated good usability and positive learning and attitude impacts on students using these ebooks. Runestone ebooks are highly customizable to meet the needs of individual courses and teachers.

The goal of this workshop is to help computer science teachers use and modify Runestone ebooks. The hands-on session will start by leading participants through use of ebooks as if they were students. Participants will next create their own custom course of any ebook in the library and will use the instructor’s dashboard to review student activity, modify the course, and grade students. Finally, participants will create their own assignments using Runestone’s active learning components, which serves as a starting point for authoring their own content in Runestone.

Saturday March 11, 3:00 pm -6:00 pm

401: Evidence Based Teaching Practices in CS

Briana Morrison, University of Nebraska at Omaha; Mark Guzdial, Georgia Institute of Technology; Cynthia Lee, Stanford University; Leo Porter, Beth Simon, University of California, San Diego
Saturday March 11, 3:00 pm -6:00 pm
Room: 618-619

In this workshop participants will receive an overview of teaching practices in computer science that research indicates are effective. While the field of computer science education is young, it has uncovered several teaching practices that can be adopted by instructors that can improve both the retention and performance of students. These evidence based teaching practices include active learning techniques such as peer instruction and prior-knowledge activities, pair programming, and use of subgoal labels. Participants will experience first hand many of these techniques and will be provided with resources on where to find more information, including the original research papers, on each technique.

402: Parallel Computing with OpenMP on the Raspberry Pi

Suzanne Matthews, United States Military Academy; Joel Adams, Calvin College; Richard Brown, St. Olaf College; Elizabeth Shoop, Macalester College
Saturday March 11, 3:00 pm -6:00 pm
Room: 616-617

Interest in parallel computing is rapidly increasing with the ubiquity of multi-core architectures. In this hands-on workshop, we show how parallelism can be used to spread the workload of compute-intensive applications across the multiple cores of a Raspberry Pi, and explore its use as an inexpensive hardware platform for teaching parallel computing. Attendees will enjoy a hands-on hardware/software experience, exploring how parallel computations operate and work in practice. In Part I of the workshop, attendees will set up and explore a Raspberry Pi multi-core computer in small teams. In Part II, each team will use the parallel capabilities of the Raspberry Pi to explore parallel computation through simple applications. Part III explores applications of the Raspberry Pi to parallel applications such as image processing and population dynamics, using OpenMP. All materials from this workshop will be freely available from CSinParallel.org.

CANCELED: Workshop 403

403: CS Discoveries: An introductory CS course for late middle and early high school

Josh Caldwell, Dani McAvoy, Gt Wrobel, code.org
Saturday March 11, 3:00 pm -6:00 pm
Room: 613-614

Code.org is developing a rich set of instructional resources and tools designed for novice teachers to introduce the breadth of computer science to students in grades 7-9. This workshop will provide a sneak-peek of the curriculum package which includes daily lesson plans and instructional guides for an entire school year, along with new software and tools for students and teachers. The session will also give participants and a taste of the professional development program designed to support instruction. Code.org’s CS Discoveries is an inquiry-based course designed to be rigorous but accessible for students and instructors, allowing time to explore and discover the scope and power of computing through a series of engaging activities, plugged and unplugged, that employ a variety of instructional strategies. The course is divided into two semesters - the first focused on exploration and personal expression, the second devoted to impact and innovation on a societal level. Workshop participants will experience the curriculum’s lessons, both as students and teachers, in the fashion of the professional development program, which helps teachers prepare to deliver lessons from the curriculum as they would in a realistic context (i.e. small amount of prep time, then teach with hair on fire). Participants will also have an opportunity to explore several of the new tools we have developed for this course, including an Arduino programming API built into our popular App Lab tool as well as App Labs sister tool Game Lab, a blocks-to-JavaScript environment designed for developing sprite based games.

404: How to Plan and Run Effective Teacher Professional Development

Barbara Ericson, Georgia Tech; Rebecca Dovi, Code Virginia; Ria Galanos, Thomas Jefferson High School for Science and Technology
Saturday March 11, 3:00 pm -6:00 pm
Room: 612

To reach President Obama’s vision of computer science for all, we will need to prepare many more secondary teachers to teach computer science. In 2015, less than 3,000 schools passed the College Board’s audit to offer the Advanced Placement (AP) Computer Science (CS) A course, while close to 12,000 schools passed the audit to offer Calculus AB. The presenters have led teacher professional development workshops for many years and will share their knowledge and materials to help others offer effective teacher professional development. In particular they will cover how to plan a workshop, how to find funding, how to prepare materials for secondary teachers, what materials are available for teacher professional development, how to teach pedagogical content knowledge (how to teach computer science), and how to increase diversity in computer science classrooms.

The presenters have free materials for the new Advanced Placement Computer Science Principles (CSP) course as well as the Advanced Placement Computer Science A course. These materials include free interactive ebooks for both CSP teachers and students to help them learn programming and a free interactive ebook for the AP CS A course. Participants will be encouraged to share their materials and strategies as well.

CANCELED: Workshop 405

405: Creating Peer Grading Videos

Shawn Lupoli, Karan Budhraja, UMBC
Saturday March 11, 3:00 pm -6:00 pm
Room: 611

The workshop will focus on the overall aspects of creating a successful peer grading experience for instructors and students using video rubrics. This includes: determining the right exam rubric, video creation, creating a blind “coupon” sheet, using students and class time to grade and storage. A solid rubric is the best candidate for a test to be peer graded. The rubric will be used in creating videos that along with a correct answer, describe each point breakdown in detail. As the instructor, the class meeting is the only time to have everyone together, answer questions, make grading decisions that affect the whole, show the answers, display exam point breakdown, and finally, grade. In order to get all of this done, a private set of videos are created to quicken the information needed for grading. The workshop will use a trial version Camtasia to create the videos. When taking the test, the students are given a test with the blind “coupon” cover sheet so later, the student graders are unable to determine which student really took this test - protecting the privacy of the original test taking student. After the tests have been taken, the next class meeting can be set aside for peer grading. The instructor plays the afore mentioned videos which are broken up into segments in order for the student to either the focus on the grading or on their own answer since the possibility of one of them getting it right.

406: Designing Blended Learning Models to Support Computational Learning: Minecraft Edition

Dominic Amato, Ugochi Acholonu, Depaul University; Joshua R. Engel, 6:8 Studios
Saturday March 11, 3:00 pm -6:00 pm
Room: 608

This workshop introduces participants to the Digital Youth Network’s Minecraft City Server; a project that seeks to lower the barrier of who can lead computing- related learning opportunities for diverse youth. We present teaching techniques and advice for adapting the Minecraft platform as an educational portal based upon the research we have done with youth across Chicago. Participants will receive handouts describing mentorship techniques and curriculum models that facilitate learning interactions in a blended space. Of critical focus will be exploring the question of how to coordinate mentorship when working in two learning spaces (online and physical) simultaneously. Handouts will be supplemented with a discussion of the adult support roles that we identified as being critical to running engaging Minecraft learning experiences for youth. The workshop will also allow participants to experience the affordances of Minecraft to create an engaging blended learning environment that teaches computational concepts. Participants will receive a hands-on introduction to the basic game mechanics, designing with redstone, the in-game equivalent to electrical circuitry, and exploring computer programming in-game with the scripting language Lua.

407: From Lightbulbs to Logic: Teaching Hardware in Intro to CS

Sean Hickey, The Blake School
Saturday March 11, 3:00 pm -6:00 pm
Room: 609

In K-12 classrooms, introductory computer science most often focuses on programming. However, teaching software really only tells half the story of how a computer works. Teaching hardware from an early point in a CS sequence helps to complete the picture for students and demystify what is happening under the hood of the machine. In this hands-on workshop, participants will work in teams to design and build computational circuits using switches, wires, breadboards, and LEDs. Starting from first principles of boolean logic and binary arithmetic, participants will collectively assemble a working multi-bit addition circuit. All materials come directly from the Intro to Computer Science curriculum designed and taught at the Blake School in Minneapolis, MN.

408: How to Integrate Interactive Learning into Large Classes

Stephan Krusche, Andreas Seitz, Nadine von Frankenberg, Bernd Bruegge, Technische Universität München
Saturday March 11, 3:00 pm -6:00 pm
Room: 607

Learning to apply computer science requires practical experience and cannot only be taught through theory. Interactive learning is an approach that combines theory and exercises into multiple short iterations of theory, example, exercise, solution and feedback. It is based on active, blended and experiential learning and focuses on immediate feedback to improve the learning experience and to allow students to reflect about their learning. It includes hands-on activities and increases students’ motivation and engagement. This workshop describes experiences of multiple interactive learning courses for large classes, including exercises for (1) multiple choice quizzes, (2) interactive tutorials, (3) interactive programming exercises, (4) interactive modeling and (5) team activities. Based on our experience, we present multiple case studies and concrete examples of interactive exercises. While the assessment of many exercises can be (semi-)automated, teaching assistants in the classroom manually assess other exercises. We show how educators can integrate these exercises into large classes without significantly increasing their effort. You can find more details about the workshop and its schedule at http://www.interactive-learning.org.

409: UTeach CS Principles: Broadening Participation Through K–12 Computer Science Education and Teacher Professional Learning and Support

Bradley Beth, Amy Moreland, UTeach CS, The University of Texas at Austin
Saturday March 11, 3:00 pm -6:00 pm
Room: 606

UTeach Computer Science Principles (CSP) is a classroom-ready curriculum designed in alignment with the CSP framework and endorsed by the College Board for Advanced Placement (AP) Computer Science Principles implementation. Piloted in dual enrollment format with 700 high school students, and refined iteratively from 2011–2015, UTeach CS Principles is now being offered in about 300 high schools, and preliminary data suggest great promise for broadening the participation of students from historically underrepresented groups in computing.

Building on UTeach’s foundation of teacher preparation and advocacy, UTeach CS Principles teachers receive intensive implementation training and support, including comprehensive teacher materials, regional summer workshops, regular remote micro-workshops during the school year, dedicated phone/email coaching, and access to an online professional learning community. The UTeach professional learning model encourages the participation of teachers with a variety of backgrounds and levels of experience, and leverages participating teachers’ diverse areas of expertise to strengthen learning and support opportunities for all participants. By 2017, online professional learning modules will be available to rural teachers and others who are otherwise unable to attend a summer workshop.

K–12 educators and school and district administrators should plan to attend this hands-on workshop. Presenters will engage participants in demonstration lessons and activities, and participants will leave with materials for immediate use in K–12 computer science classrooms. Opportunities for professional learning and support also will be discussed. Laptops are required.

410: C-STEM: Engaging Students in Computing with Robotics

Tasha Frankie, Duane Wesley, James Gappy, San Diego Mesa College; Harry Cheng, UC Davis
Saturday March 11, 3:00 pm -6:00 pm
Room: 602-604

This workshop is an introduction to using Linkbots as a teaching tool to engage students in CS0/CS1 courses, both at the college/university and high school levels. Participants will learn how to program Linkbot robots using RoboBlockly (block- based) and Ch (C/C++ interpreter with ChIDE) in C-STEM Studio through hands-on activities. Additionally, we will present an overview of the curricula developed by the UC Davis Center for Integrated Computing and STEM Education (C-STEM) that integrates robotics into computing and math classes for the elementary school level through the college level. In the second half of the session, participants will gain more hands-on practice and a better understanding of how Linkbots inspire learning in the classroom by forming teams and tackling problems from the annual C-STEM RoboPlay Challenge Competition, which is designed for students to showcase their real-world problem solving skills. Further information about C- STEM is at: http://c-stem.ucdavis.edu/. Laptop with administrative installation privileges is required to install the software used in this workshop.