Workshops

Wednesday Workshops

Friday Workshops

Saturday Workshops

Wednesday Workshops: 7:00 PM - 10:00 PM

Workshop 101: Learning to Code in the Unity 3D Development Platform

Organizers: Ursula Wolz;Christopher Dunne;Tayna Dixon

Advertisement:

Build a game in Unity in four easy steps (but not a blockbuster.) Game development has been promoted as a vehicle for teaching computer science for over a decade. The Unity 3D Development Platform is one of the leading game engines used both by hobbyists and professionals. Its underlying data structure is an object-base implemented in C#. In this workshop you will have an opportunity to quickly learn your way around the substantial development environment, examine how drag and drop is used to define data structures, and how game development is dependent on good OOP style. Pressing questions will be addressed such as 'Can you transition from Scratch to Unity gracefully?', 'Will starting in Unity promote good programming habits?', 'Is there more to this than shooting and vivid blood?' Solid knowledge of OOP and a passion for games is suggested. A fully charged laptop loaded with Unity is required. Scratchers welcome!

Abstract:

Unity (Unity.com) is thought of as a game engine, however in recent years it is identified as a real-time 3D development platform. Part of its power is the underlying object hierarchy of 2D and 3D visual, interactive, audio, and physics objects that can be fully defined in a sophisticated drag and drop development environment. Another part of its power is that it is fully programmable in C#. In fact, fully implementing a project requires 'hooking up' C# functions. Via C# you can even customize the development environment. The bottleneck for Unity designers is learning to navigate the requisite C# code. Unity is gradually being used in courses and workshops outside of the SIGCSE community to teach coding, especially at the high school level. It also has a substantial following among independent novice game developers who do not have formal training in computer science. This workshop is an opportunity for CS educators to (1) get an intense introduction to the Unity development environment, (2) have the object model explained using well-established SIGCSE terminology and perspective, (3) explore and discuss the feasibility of using Unity to teach introductory computer science.


Workshop 102: Introduction to Bitcoins, Blockchains and Smart Contracts

Organizers: Debasis Bhattacharya;Mohammad Azhar;Rajiv Malkan

Advertisement:

Come to this workshop to learn about Bitcoins and Blockchains! Write a smart contract using the Solidity programming language! In this workshop, you will have the opportunity to learn about programming smart contracts using blockchains and how to teach this technology in the classroom. We will cover the basics of the Solidity programming language used to create smart contracts. Please bring a laptop so that we can access https://ethereum.org.

Abstract:

This workshop introduces participants to bitcoins, blockchains and programming smart contracts using Ethereum Blockchains and the Solidity programming language. Cryptocurrencies such as Bitcoins use Blockchains and Smart Contracts to enforce transactions. Given the popularity of Bitcoins and related technologies in the press, this module provides a module for CS educators to introduce the underlying technology into their classrooms. Participants receive handouts describing sample programming techniques and worksheets for creating basic smart contracts. The workshop proceeds in three sessions in which we: present the underlying technology of Ethereum; practice the creation of smart contracts using the Solidity programming language; and discuss the implementation of this module in our classrooms in small groups. Further information, sample code and workshop handouts are at: http://maui.hawaii.edu/cybersecurity.


Workshop 103: Blackbox Mini - Getting started with source code analysis

Organizers: Neil Brown;Michael Kölling

Advertisement:

The Blackbox project has been collecting a large data set of programming source code from novice programmers for several years, showing the edits that people make to their code and the ensuing compiler errors. This data is available for use by other researchers, but the data set is very large and can be intimidating to get started with. This workshop is aimed at researchers who are interested in analysing the source code that novice programmers write, and want a simpler way to get started. This workshop works with the new Blackbox Mini dataset which is specifically designed to make it easier for researchers to get started with using the data and trialling source code analysis to answer their research questions. Participants will come away with some experience of performing source analysis, and an understanding of the benefits and challenges involved with using source code analysis in their research into programming education. Participants should come with their own laptop, equipped with wifi access and an SSH client (PuTTY on Windows, built-in to Mac and Linux). Familiarity with the Java programming language is assumed but all detailed technical knowledge will be taught during the seminar.

Equipment Required. Participants must bring a laptop to equipment.

Abstract:

The Blackbox project collects programming activity data from users of BlueJ, a Java IDE aimed at novices. The Blackbox data set has grown very large, with several terabytes of source code data. This is a double-edged sword; it provides large amounts of data for analysis, but it can be difficult for newcomer researchers to get started with analysis. In this workshop we will introduce attendees to analysing the data by using Blackbox Mini: a new curated subset of the Blackbox data set, designed to help researchers try out their source code analyses on a smaller data set.


Workshop 104: Experiential Accessibility Learning Labs for Computing Education

Organizers: Paul Tymann;Yasmine El-Glaly;Daniel Krutz

Advertisement:

This workshop will support participants in easily including educational accessibility material into their computing and non-computing classroom. Since all activities and materials are accessible through a browser, adopters will not be required to install or configure anything. The workshop will enable participants to both learn about our provided educational accessibility material, and will also allow participants to discuss best practices for the inclusion of educational accessibility materials in their curricula. Participants will gain an understanding of common best practices for including accessibility in their curriculum and will gain an understanding of how to use our material. Participants will only need a laptop with internet connection. No prior knowledge of accessibility or technical topics is required.

Equipment Recommended. It is recommended, but not required, that participants bring a equipment.

Abstract:

This workshop will introduce our Accessibility Learning Labs (ALL). The objectives of this collaborative project with The National Technical Institute for the Deaf (NTID) are to both inform participants about foundational topics in accessibility and to demonstrate the importance of creating accessible software. The labs enable easy classroom inclusion by providing instructors all necessary materials including lecture and activity slides and videos. Each lab addresses an accessibility issue and contains: I) Relevant background information on the examined issue II) An example web-based application containing the accessibility problem III) A process to emulate this accessibility problem IV) Details about how to repair the problem from a technical perspective V) Incidents from people who encountered this accessibility issue and how it has impacted their life. The labs may be integrated into a wide variety of curriculum at high schools (9-12), and in undergraduate and graduate courses. The labs will be easily adoptable due to their self-contained nature and their inclusion of all necessary instructional material (e.g., slides, quizzes, etc.). No special software is required to use any portion of the labs since they are web-based and are able to run on any computer with a reasonably recent web browser. There are currently four available labs on the topics of: Colorblindness, Hearing, Blindness and Dexterity. Material is available on our website: http://all.rit.edu.


Workshop 105: Introducing Beginners to Distributed Computing using Raspberry Pi Clusters

Organizers: Elizabeth Shoop;Joel Adams;Richard Brown;Suzanne Matthews

Advertisement:

Do you need a fast way to incorporate parallel and distributed computing (PDC) topics into your computer science curriculum without radically changing your syllabus? Are you fretting about ABET's new PDC requirements? Don't worry - it's easy as pi! Join us in this fun hands-on workshop where we will show you how to introduce students to PDC concepts using affordable Raspberry Pi Beowulf clusters. This workshop is based on part of our NSF-sponsored 2019 CSinParallel summer workshop. All teaching and other workshop materials are freely available at <a href-"http://CSinParallel.org">CSinParallel.org</a>.

Abstract:

The 2019 ABET computer science criteria requires that all computing students learn parallel and distributed computing (PDC) as undergraduates, and CS2013 recommends at least fifteen hours of PDC in the undergraduate curriculum. Consequently, many educators are looking for easy ways to integrate PDC into courses at their institutions. This hands-on workshop introduces Message Passing Interface (MPI) basics in C/C++ and Python using clusters of Raspberry Pi single-board computers. The Message Passing Interface (MPI) is a multi-language, platform independent, industry-standard library for parallel and distributed computing. Raspberry Pis are an inexpensive and engaging hardware platform for studying PDC as early as the first course. Participants will experience how to teach distributed computing essentials with MPI by means of reusable, effective "parallel patterns," including single program multiple data (SPMD) execution, send-receive message passing, the master-worker pattern, parallel loop patterns, and other common patterns. No prior experience with MPI, PDC, or the Raspberry Pi is expected; participants will explore short programs designed to help students understand MPI basics, plus longer "exemplar" programs that use MPI to solve significant applied problems. The workshop includes: (i) personal experience with the Raspberry Pi (clusters provided); (ii) assembly of Beowulf clusters of Raspberry Pis quickly in the classroom; (iii) self-paced hands-on experimentation with the working MPI programs; and (iv) a discussion of how these may be used to achieve the goals of CS2013 and ABET. All materials from this workshop will be freely available from CSinParallel.org ; participants should bring a laptop to access these materials.


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

Organizers: Margarethe Posch;Debra Duke;Chris Mayfield

Advertisement:

Would you like to make your students feel more engaged, accomplished, and empowered? Then this hands-on, interactive workshop is for you! POGIL stands for Process Oriented Guided Inquiry Learning. It is a student-centered, active learning approach that organizes students in teams with specific roles. This workshop is for instructors who have limited or no experience with POGIL and anyone who would like to integrate active learning techniques in their classrooms.

<p?During the workshop, we will simulate a classroom multiple times. You will experience POGIL activities as a student, and we will model classroom management and facilitation techniques. There will be lots of discussions, both in small groups and as a whole class. Each participant will receive a booklet about POGIL, along with many handouts and examples from Computer Science and other disciplines.</p>

After attending this workshop, you will be able to:

  • Describe the essential elements of POGIL pedagogy and philosophy.
  • Identify student learning outcomes supported by a POGIL classroom.
  • Make plans to begin implementing POGIL in your own courses.

This workshop is just the beginning! The POGIL Project (https://pogil.org/) runs 1-day workshops throughout the year and 3-day workshops during the summer.

Equipment Optional. It is not necessary for participants to bring equipment.

Abstract:

This workshop introduces Process Oriented Guided Inquiry Learning (POGIL) to anyone who teaches CS or related subjects. In a POGIL classroom, teams of 3-4 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 that has been shown to improve student performance significantly. Workshop participants will work through POGIL activities as students and complete meta-activities designed to introduce core POGIL concepts, practices, and benefits. We will share POGIL materials for a variety of CS courses. For more information, see http://IntroCSpogil.org and http://pogil.org, where you will find activities for CS1, CS2, and other courses.


Workshop 107: Leading Conversations about Microaggressions, Bias, and Other Difficult Topics

Organizers: Colleen Lewis;Catherine Ashcraft;Wendy Dubow;Helen Hu;Kyla McMullen

Advertisement:

Have you ever frozen - not knowing what to say - when you heard a comment or question about diversity? Do you want to learn to facilitate an activity that can help you and your colleagues practice responding to bias? Join us!

We will play a research-based game to practice recognizing and responding to bias. The game invites players to respond to challenging scenarios related to subtle bias. Each scenario appears on a card, and players discuss how they would respond. You'll get to play the game and learn about strategies for sharing the game with a few faculty, your students, or in a larger workshop. Bringing these skills back to your colleagues is an important way to disseminate and scale strategies for creating more inclusive CS classrooms. There are no prerequisites for this workshop and attendees will receive copies of the game to continue to learn and share with others.

Equipment Not Required. Participants do not need any equipment.

Abstract:

Many SIGCSE attendees bring what they learn at SIGCSE back to their colleagues. In our well attended Special Sessions at SIGCSE in 2018 and 2019, attendees learned to respond to bias, which might be more difficult to bring back to their colleagues. This workshop will prepare attendees to lead interactive-sessions about responding to bias at their institution or at other conferences. The workshop will begin by modeling an interactive-session with updated materials from SIGCSE 2019. The workshop attendees will then explore facilitation strategies, ways of managing difficult conversations, and all attendee concerns. All attendees will receive printed copies of the game to use at their institution or to local conferences.


Workshop 108: Introduction to Quantum Computing

Organizers: Chris Granade;Mariia Mykhailova;Mark Tsang

Advertisement:

Come experience the quantum revolution! In this workshop, you will have the opportunity to learn about quantum computing and to experience how Microsoft is teaching students quantum computing, using katas, Q# curriculum and the Microsoft Quantum Development Kit, with an exclusive case study on curriculum development with the University of Washington.

Abstract:

In just hours or days, a quantum computer can solve complex problems that would otherwise take billions of years for today's computers to solve. This has massive implications for research and workforce development for healthcare, energy, and environmental systems. Microsoft is focused on bringing the only scalable quantum system to the broadest set of customers and partnering with universities to ensure that we have the people ready to staff the quantum economy and ecosystem of tomorrow.


Workshop 109: Machine Learning on the Move: Teaching ML Kit for Firebase in a Mobile Apps Course

Organizers: Todd Sproull;Doug Shook;Bill Siever

Advertisement:

If you are a mobile app developer or teach mobile (iOS or Android) and would like to see applications of machine learning (ML) in apps as well as light-weight ways to include ML in your app/course, come learn about the exciting frmework called ML Kit for Firebase. With just a few lines of code, you will be able to integrate many real-world Machine Learning (ML) concepts into your mobile application. You will learn how to use this SDK for both iOS and Android and how to run the ML alogirthms on your device or in the cloud.

Equipment Required. Participants must bring a laptop or equipment.

Abstract:

This workshop will teach instructors how to incorporate Machine Learning into their mobile course using ML Kit for Firebase. ML Kit provides powerful machine learning functionality to your app running either iOS or Android and is for both experienced and novice machine learning developers. With just a few lines of code you can use these powerful and easy to use machine learning packages. This workshop will focus on using machine learning in mobile applications to solve real-world problems.

In Part I of the workshop we will explore some of the functionality ML Kit provides. Topics include text recognition, facial detection, recognizing points of interest, image characterization and labeling. In Part II we will integrate several of these features into fully functional apps running on iOS or Android. In Part III we will explore tradeoffs between executing ML Kit in the cloud and on a device. Also, we will discuss how to take your own TensorFlow Lite models and make them accessible through convenient APIs in ML Kit.

This workshop is targeted for instructors teaching a web development or mobile application course looking to incorporate cloud and native ML functionality. It is also suited for anyone wanting to deploy ML applications quickly using a feature-rich API. A laptop running Android Studio or Xcode is required.


Workshop 110: Making manual code review scale

Organizers: Jérémie Lumbroso;James Evans

Advertisement:

Learn how to scale manual code review to improve student learning.

Abstract:

Although personalized feedback is believed to improve student learning more than correctness tests alone, resource constraints make it difficult for many CS programs to provide personalized feedback on student programming work. This workshop discusses strategies for reducing the cost of code review, as well as pedagogical benefits that can be reaped once a course implements a robust code review process. We showcase the code review process implemented by Princeton's CS1 and CS2 courses which leverages codePost (https://codepost.io), and will teach participants to implement a similar process.

codePost is a tool that allows instructors to annotate code with comments, points, and rubrics in a GUI. Beyond code annotation, codePost also includes three classes of functionality that Princeton leverages to provide personalized feedback at scale. (1) Functionality to help instructors manage teams of reviewers by distributing unreviewed code and auditing their review quality. (2) Ways for students to provide "feedback on feedback", allowing quantification of student comprehension and uncovering learning breakdowns. (3) A RESTful API that enables instructors to programmatically read and write codePost data. The codePost API enables Princeton to connect codePost with a custom autograding environment and programmatically comment on student work according to test output. This workshop seeks to show participants one possible way of providing human feedback, which mostly scales. We will do so in two concrete steps: First, introduce participants to workflows achievable using the codePost GUI. Second, introduce the codePost API and provide tips for writing custom scripts to unlock pedagogical use cases.


Friday Workshops: 7:00 PM - 10:00 PM

Workshop 201: Bringing Real-World Data, Interactive Games and Visualizations Into Early CS courses Using BRIDGES

Organizers: Kalpathi Subramanian;Erik Saule;Jamie Payton

Advertisement:

Are you looking for ways to spice up your CS1, CS2, Data Structures, or Algorithm course? Come to our BRIDGES training workshop at SIGCSE 2020! BRIDGES provides an infrastructure that lets you easily bring in interesting real-world datasets into your course assignments and allows your students build simple games, create data structures visualizations, and assess algorithm performance. See the examples at http://bridgesuncc.github.io/ Bring a laptop!

Abstract:

This workshop provides instructors with a hands-on introduction to BRIDGES, a software infrastructure for programming assignments in early computer science courses, including introductory programming (CS1, CS2), data structures, and algorithm analysis. BRIDGES provides capabilities for creating more engaging programming assignments, including: (1) a simplified API for accessing real-world data sets, including from social networks; scien- tific, government, and civic organizations; and movie, music, and literature collections; (2) interesting visualizations of the data, (3) an easy to use API that supports creation of games that leverage real-world data, and, (4) algorithm benchmarking. Workshop attendees will engage in hands-on experience with BRIDGES with multiple datasets and will have the opportunity to discuss how BRIDGES can be used in their own courses.


Workshop 202: Gamifying Computer Science Courses with OneUp Learning

Organizers: Darina Dicheva;Keith Irwin;Austin Hodge;Christo Dichev;Lillian Cassel

Advertisement:

Are you looking for new ways to better engage and motivate your students? Do you want to try making your Computer Science course more attractive? We can help!

Come and see what the OneUp course gamification platform offers! You will learn how you can gamify your own classes and will get hands-on practice with using OneUp. Please bring your own laptop with WiFi access and the Chrome web browser, so that you can connect to OneUp. One night of lodging and workshop registration fees will be covered by an NSF grant for the first 15 registered participants.

Equipment Required. Participants must bring a laptop to equipment.

Abstract:

The low performance and drop-outs in Computer Science classes are frequently attributed to lack of engagement and motivation. Meanwhile, gamification increasingly attracts the interest of educators due to its potential to foster motivation and behavioral changes in learning contexts. This workshop introduces participants to the concept of gamification and the use of OneUp Learning, a platform aimed at gamifying academic courses. OneUp is aimed at encouraging students' out-of-class practicing and increasing their overall engagement in the course through employing game design elements. The platform is course-independent and highly configurable, allowing the instructor to turn on and off a number of gamification features, such as avatars, points (challenge and skill points), leaderboard, skills board, progress bar, content unlocking, goal-setting, badges, virtual currency, duels, chat, etc. For using OneUp, an instructor has to provide practice exercises and to specify the gamification elements to be used. Apart from the standard question types, OneUp supports Parson's problems and dynamic problems (e.g. programming problems). The workshop proceeds in two sessions. In the first session we introduce the OneUp platform and present our experience of gamifying CS courses. In the second, workshop attendees engage in hands-on experience: we show them how to use OneUp in their classes. In particular, we assist them to create problems and challenges, to configure desired gamification features, to define their own badges and rules for earning and spending virtual currency, and to monitor the engagement and progress of their students. Laptops required.


Workshop 203: Taking Weather Science Back Outdoors Using the micro:bit

Organizers: Derek Runberg

Advertisement:

Take weather science out of the classroom and allow students to participate in authentic, hands-on field studies on their school grounds! This workshop will be an expedition through classroom experiments that teachers can do with their students using the micro:bit and the SparkFun micro:climate kit to collect and analyze data. No prior experience necessary. Please bring a laptop or Chromebook with a USB port.

Abstract:

This workshop will be an expedition through classroom experiments that teachers can do with their students using the micro:bit and the SparkFun micro:climate kit to take weather science off the slide deck and out of the classroom to an authentic, hands-on field study on their own playground. These tools allow students to build their own instrumentation for participating in citizen science. When combined with activities designed to further student understanding, educators are able to equip students with the skills to develop questions and collect data to answer that question. Through the act of tinkering and the engineering design cycle, students will construct their own knowledge about weather and how it impacts their lives through collecting and analyzing data. Students will also develop an understanding of the atmospheric conditions around them, how to properly develop tests to receive accurate results and how to compare their results against others in their class.


Workshop 204: Beyond the Flipped Classroom: Implementing Multiple, Simultaneous Pedagogical Styles Using Scrumage

Organizers: Shannon Duvall;Robert Duvall;Dugald Hutchings;Scott Spurlock

Advertisement:

Agile methodologies claim to create effective, efficient, and happy workers by embracing a lightweight framework, autonomous teams, and rapid feedback cycles. The Scrumage (SCRUM for AGile Education) pedagogy style translates these values into the classroom. In Scrumage, students form autonomous learning cohorts and are encouraged to choose how they want to learn new material, what becomes "homework" versus "classwork", and how they spend class time. In this way, a single classroom can simultaneously facilitate game-based, flipped, and lecture-based learning. The professor becomes less of a manager and more of a learning coach.

This workshop will guide participants through the process of planning a course run in this unique manner, as well as give evidence for its success in courses at all levels of the curriculum. Laptops are optional, but participants should have access to a current course's syllabus and learning objectives to get the most out of the workshop.

Equipment Optional. It is not necessary for participants to bring equipment.

Abstract:

While the "flipped classroom" style has some educational benefits, there are also known benefits to other pedagogical approaches such as lectures, educational games, class discussions, and case studies. In addition to a wide variety of pedagogical approaches, there are a wide variety of computer science learning materials, including videos, interactive tutorials, e-textbooks and traditional textbooks. The choices of approach and materials present a series of trade-offs and may favor some groups of students over others. In this workshop, we present a methodology called Scrumage, (SCRUM for AGile Education) which allows each student in a course to adopt the pedagogical approach and materials that best fit each student's individual learning needs. Scrumage adapts concepts from the Scrum project management technique to manage student teams where the project is learning. Each team learns with the style they prefer, so that multiple pedagogical styles and materials are in use in the course simultaneously. Participants in this workshop will be introduced to the methodology, benefits, and tools of this approach and will work through guided steps to implementing it in the course of their choice.


Workshop 205: Adopting, Integrating, and Evaluating Computational Creativity Exercises and an Experience Report

Organizers: Leen-Kiat Soh;Markeya Peteranetz;Olga Glebova

Advertisement:

The intended audience for this workshop includes all CS educators (K-12 and post-secondary) who are interested in improving their student's learning and performance of CS concepts and computational thinking, as well as problem solving through creative thinking. The workshop and its resources will also help instructors better engage their students and serve as ideas to expand their resources to complement their teaching practices. We will have hands-on activities working on one of the Computational Creativity exercises, and will also have an experience report on adopting the exercises at a different site not at the original site where the exercises were developed. Participants should expert to learn about how to combine computational thinking and creative thinking; how to design meaningful and engaging exercises combining the two paradigms; be exposed to research design and the available research instruments that have been validated; how to adapt and implement the suite of Computational Creativity Exercises; and how to motivate their course design with findings regarding these exercises. The workshop will reimburse the first 15 registered workshop participants one night of accommodation and workshop registration fee after the workshop. The workshop will also share a set of resources (Computational Creativity Exercises, Research Papers, Implementation Tips, and Research Instruments) with the participants.

Equipment Required. Participants must bring a laptop to equipment.

Abstract:

In this workshop, participants will learn about how to integrate computational thinking and creative thinking activities that have been shown to significantly improve student learning and performance in their classes via rigorous research investigations. In particular, participants will be familiarized with the suite of Computational Creativity Exercises (CCEs) (which are non-programming-based, group-based, active learning exercises), practice hands-on how to complete such an CCE, learn about how to integrate and adapt them into their courses, and be exposed to the educational research studies behind the development, design, and administration of these CCEs. Participants will also learn how to conduct evidence-based educational research studies. Workshop sessions will include presentations, panel-based Q&A, an experience report, breakout group discussions, and hands-on activities.


Workshop 206: Going Native with Your Web Dev Skills: An Introduction to React Native for Mobile App Development

Organizers: Todd Sproull;Bill Siever

Advertisement:

Do you already know JavaScript and want to create cross-platform native iOS and Android apps? Learning React Native, one of the most popular web framworks to develop native iOS and Android apps, will teach you an exciting new way to develop mobile applications using the power of the JavaScript library React. This workshop will walk you through a brief introduction of the framework and help you build your first React Native through the hands-on demonstrations during the workshop. Attendees will also receive classroom-ready assignments using React Native. Utilizing your existing JavaScript knowledge this workshop will teach you how to create cross-platform iOS and Android apps with React Native. Equipment Required. Participants must bring a laptop to equipment.

Abstract:

This workshop will show how web development skills can be used to develop native mobile apps (iOS, Android, and Web) via React Native, an open-source framework developed by Facebook. React Native extends the popular React web framework with support for truly native mobile apps. After completing the workshop participants will have a classroom-ready assignment to share with their students. In Part I we will explore the basic concepts of React, which participants will use to build a website. In Part II we will discuss the "native" features added by React Native and extend the example into a mobile device friendly version incorporating mobile-specific concepts, such as Touch Events. In Part III we will introduce more advanced React Native topics, including debugging techniques and deployment to actual iOS/Android devices. This workshop requires a laptop. Deployment of code to an actual device is optional but requires either an Android or iOS Device. Prior to the workshop participants will be given instructions for both software installation (required) and mobile device configuration (optional).


Workshop 207: Building and hacking an exploitable WiFi environment for your classroom

Organizers: Ahmed Ibrahim

Advertisement:

In this workshop, you will learn (1) how to build an exploitable WiFi environment for your classroom, (2) how Raspberry Pis can be used to act as the necessary clients for your access points, and (3) how to hack such access points. You will also have access to all of the Raspberry Pi scripts and access point configuration directions. Then, you will get a chance to hack up to four WEP access points as well as a WPA2 access point. Note: Participants must have a laptop with VirtualBox installed and an available USB port. Before the workshop, you will be provided a link to download and import a tested Kali VM to participate in the hands-on hacking activity.

Equipment Required. Participants must bring a laptop or equipment.

Abstract:

With the widespread of WiFi nowadays, it is important to show students how WiFi access points can be exploited in practice. The theory behind exploiting WEP and WPA2 has been available for a number of years. However, it has not been easy to offer students the opportunity to apply these theories in a real environment. In this workshop, you will learn how to build and configure WiFi access points for your students to hack. You will learn how Raspberry Pis can be used to act as the necessary clients for those access points and you will have access to the Raspberry Pi scripts and all access point configuration directions. Then, we will discuss the different hacking scenarios where WEP access points have connected clients versus no connected clients. In addition, you will get a chance to hack up to four WEP access points in addition to a WPA2 access point. Note: Participants must have a laptop with VirtualBox (version 5.1.28 recommended) installed and an available USB port.


Workshop 208: How to become fluent in diversity in one evening

Organizers: Manuel Pé rez Quiñ ones

Advertisement:

This workshop is intended for CS educators, researchers and graduate students who want to be more comfortable talking about diversity. Are you overwhelmed with the language used in diversity conversations? Come learn about under-representation, minorities, under-served, privilege, stereotype threat, micro-aggression, fragility, anti-racism, equality, equity, inclusion, gender fluid, sexual identity vs. expression vs. gender, Latino vs. Hispanic, person of color...

Abstract:

The computing discipline is struggling to diversify its ranks. While we recognize the value of a diverse workforce, we often lack the language to discuss and even justify it. This workshop presents the language and framework with which to talk about diversity. The participants will get to have a candid conversation about different themes in diversity, often from a multi- disciplinary perspective and examine popular misconceptions on the topic. Of particular interest to computing professionals will be the presentation of research relevant to our discipline supporting the case of diversity.


Workshop 209: CS50's GitHub-Based Tools for Teaching and Learning

Organizers: David Malan;Chad Sharp;Jelle van Assema;Brian Yu

Advertisement:

A hands-on introduction to CS50's free and open-source tools for teaching and learning that you can adopt or adapt for your own classroom, including: help50, which helps students understand error messages; check50, via which teachers (and students) can test the correctness of code; style50, which provides students with feedback on their code's style; submit50, via which students can submit work; and compare50, an open-source and extensible alternative to Moss for comparing submissions for plagiarism. This workshop is free thanks to support from GitHub. To attend, register as usual, and GitHub will reimburse you via PayPal or (if you provide an I9 form) check.

Abstract:

For CS50 at Harvard, we have developed a suite of free, open-source tools to help students with writing, testing, and submitting programming assignments; and to help teachers grade those assignments and check them for plagiarism. help50, a program that parses error messages and provides beginner-friendly advice to interpreting them, helps students understand and resolve often-cryptic compiler errors. check50 runs a set of automated tests on students' code, providing feedback and hints about where students have made errors. style50 lints students' code, highlighting places where it doesn't meet the course's style guide. submit50 allows students to submit assignments to a GitHub repository, without students needing to have knowledge of git or version control themselves. And compare50, an open-source and customizable alternative to Moss, allows teachers to analyze submissions for similarity, looking for pairs or clusters of submissions that might be the result of improper collaboration. The grading and submission tools require only a GitHub account to use, and can serve as free, extensible alternatives to tools like Codio, Gradescope, and Vocareum. In this workshop, we'll introduce each of the tools, and discuss how to use them for your own classroom. To date, each tool has been deployed to hundreds of students on campus and thousands online. Along the way, we'll discuss how to use the tools effectively, compare and contrast them with other options, identify how the tools have changed students' behavior for the better and for worse, and highlight pedagogical and technological changes we've made to redress the latter.


Workshop 210: Teaching Cybersecurity in CSP (or Any CS Class): Introducing the Security Mindset

Organizers: Dan Garcia;Buffie Holley;Julia Bernd;Maritza Johnson

Advertisement:

This interactive workshop will introduce the broad idea of cybersecurity through threat modeling and the human-centered nature of authentication. Participants will learn how to begin developing the "security mindset" in CS students at all levels. No previous cybersecurity experience is required! The Teaching Security lessons at teachingsecurity.org were designed to meet the cybersecurity learning objectives in the AP Computer Science Principles framework, but they are appropriate for any high school computer science class or program (including dedicated cybersecurity classes). Our lessons are prepared by subject-matter experts, and include many "unplugged" activities. In addition to model lessons, the workshop will provide opportunities for attendees who teach cybersecurity to share their own strategies. Cybersecurity is vital to a technology-driven society. Daily headlines about data breaches and ransomware attacks demonstrate that we can't ignore the security risks inherent to our highly networked lives. Cybersecurity is a growing job field -- and even for students that don't go on to pursue cybersecurity careers, it is crucial to have some level of security awareness! But until very recently, young people usually weren't introduced to the intrigue and opportunity of cybersecurity until advanced undergraduate CS courses. However, the real world implications and applied nature of the topic lends itself well to catching the interest of a diverse group of students in CS at a younger age.

Equipment Optional. It is not necessary for participants to bring equipment.

Abstract:

Cybersecurity is vital to a technology-driven society. Daily headlines demonstrate that we cannot ignore the potential security risks inherent to our increasingly more networked lives. Cybersecurity is a growing job field --but even for students that don't go on to pursue cybersecurity careers, it is crucial to have some level of security awareness! But until very recently, young people were usually not introduced to the intrigue and opportunity of cybersecurity until advanced undergraduate CS courses. However, the real world implications and applied nature of the topic lends itself well to engaging a wide audience, key to catching the interest of a diverse group of students in CS at a younger age.

We have developed a series of lessons that introduce the broad idea of cybersecurity through threat modeling and the human-centered nature of authentication. They were prepared by subject-matter experts with research backgrounds in the technical workings and social implications of cybersecurity. While our lessons were specifically designed to meet the cybersecurity learning objectives in the AP Computer Science Principles framework, they are appropriate for any high school computer science class.

This will be an interactive workshop for CS educators at all levels; no previous cybersecurity experience required. (Laptops also optional.) Participants will learn how to begin developing the "security mindset" by teaching students a simplified version of threat modeling. We will also preview lessons on authentication and social engineering. In addition, the workshop will provide opportunities for attendees who teach cybersecurity learning objectives to share their own strategies.


Saturday Workshops: 3:30 PM - 6:30 PM

Workshop 301: Using and Customizing Open-Source Runestone Free Ebooks for Computer Science Classes

Organizers: Barbara Ericson;Bradley Miller

Advertisement:

Come learn about many free interactive ebooks on the open-source Runestone Interactive platform that can be used in high school (AP CSP and AP CSA) or college computing courses (CS1, CS2, data science, and web programming). These ebooks include executable code and a wide variety of practice problems. You can create a custom course from any of the existing ebooks and then track your student's progress. You can create and grade assignments. You can require spaced practice. Students enjoy using the ebooks. They appreciate the immediate feedback and the variety of practice problems.

Abstract:

Runestone Interactive is an open-source ebook platform designed to create and publish free interactive computer science textbooks. (See http://runestoneinteractive.org). Runestone ebooks support programming within the browser, code visualization/stepping, and a wide variety of practice activities, including multiple choice, fill-in-the-blank, clickable-code, and mixed-up code (Parsons problems). Free textbooks have been created for CS1, CS2, web development, data science, and AP CS (both courses). The presenters have several years of experience creating and using Runestone ebooks. Several studies have demonstrated good usability and positive learning and attitude impacts on students using these ebooks. Runestone ebooks can be customized to meet the needs of individual courses and teachers. Over 25,000 people a day use Runestone ebooks.

The goal of this workshop is to introduce computer science teachers (both secondary and post- secondary) to Runestone ebooks. The hands-on session will start by leading participants through use of the ebooks as if they were students. Participants will be introduced to the interactive features of the ebooks. Participants will next create a custom course from an existing ebook in the library and will use the instructor's dashboard to review student activity, modify the course, grade students, and set up a practice tool. Participants will create their own assignments using existing active learning components. Participants will also be shown how to create new material for assignments, such as multiple-choice questions for a quiz.


Workshop 302: Active Learning with LEGO for Teaching Software Development

Organizers: Stan Kurkovsky;Stephanie Ludi

Advertisement:

This workshop is intended for faculty teaching undergraduate and graduate courses focusing on software development, software engineering, and related concepts. This workshop will also benefit other educators looking for ways to supplement their courses with engaging and playful hands-on activities aimed to strengthen the teamwork, oral communication, problem solving, and design skills of students. Participants will participate in several LEGO activities that focus on iterative software processes, interfaces and integration, and distributed software engineering. Participants will learn how LEGO can be used as an active learning tool to facilitate teaching software engineering. Many relevant resources are located at https://web.ccsu.edu/lego-se/.

Equipment Not Required. Participants do not need any equipment.

Abstract:

LEGO is a construction toy familiar to many students. Creating software, regardless of scale, is often similar to building with tangible objects, such as houses or bridges--an analogy that is often used in the classroom. In this workshop, we will show how to use LEGO as an engaging medium to introduce students to concepts of iterative development, software interfaces, team velocity, and distributed software projects. LEGO-based analogies and case studies enacted as hands-on exercises for student teams help develop a better understanding of the underlying concepts, while keeping students deeply engaged in the course material.

This workshop is intended for faculty teaching undergraduate and graduate courses focusing on software development, software engineering, and related concepts. This workshop will also benefit other educators looking for ways to supplement their courses with engaging and playful hands-on activities aimed to strengthen the teamwork, oral communication, problem solving, and design skills of students.

We will practice several hands-on LEGO-based activities during the workshop. Specific topics of these activities will include change management and object-oriented interfaces, as well as activities specific to the phases of software development. Workshop participants will learn about other LEGO-based activities that focus on a broad range of topics including requirements engineering, architectural design, and software dependability. A laptop is not required for this workshop. This work is supported in part by the National Science Foundation Awards 1611905, 1709244 and a 2015 ACM SIGCSE Special Project grant. For more information visit http://www.cs.ccsu.edu/~stan/sigcse2020/.


Workshop 303: Challenging Social Exclusion in Computing via 'Theatre of the Oppressed' Pedagogy

Organizers: Celine Latulipe;Tonya Frevert;Sarah Provencal

Advertisement:

Come and rehearse social change! In this workshop, you will have the opportunity to experience a participatory 'Exclusion Response Workshop' based on Augusto Boal's Theatre of the Oppressed methodology. This workshop is designed to help post-secondary CS students openly talk about difficult issues around diversity and inclusion in a way that is engaging and fun. You don't need any prior knowledge or theatre experience and you don't need to bring anything except yourself dressed in comfortable clothes (lots of movement). Faculty, administrators, and students are all welcome.

Abstract:

Micro-aggressions, hostile climates, and intersectional discrimination contribute to students feeling excluded from fully participating in Computer Science or other STEM programs. To address this exclusion, students need to empathize with each other, and for that we need them to be having frank, open conversations about difficult situations. This is hard to achieve, as people do not typically want to talk about difficult situations with strangers. Computer Science faculty may shy away from these difficult conversations, as they may feel they lack the expertise to address social issues effectively.

To address this issue, we have been conducting 'Exclusion Response Workshops' based on the 'Theatre of the Oppressed' methodology of rehearsing social change. This involves students anonymously contributing scenarios of micro-aggressions they have experienced or witnessed and then roleplaying alternate outcomes. These workshops create an empathetic environment for frank and open discussion of difficult issues. We have been scaling this effort by conducting workshops with all freshmen and transfer students in our College of Computing and Informatics. In this SIGCSE workshop, attendees will participate in an Exclusion Response Workshop, then have an open discussion about the workshop experience, workshop logistics, and pros and cons of running this workshop as a mandatory class activity versus a voluntary activity. Participants will learn about the workshop structure, and the Theatre of the Oppressed methodology. This workshop is a taste of a 3-day, train-the-trainer workshop that we will be conducting at our institution in May 2020. This work is supported by NSF IUSE/RED Award #151960.


Workshop 304: Progressive Web Apps are a Game-Changer! Use active learning to engage students and convert any website into a mobile-installable, offline-capable, interactive app

Organizers: Denise M. Case;Colton Steeve;Matthew Woolery

Advertisement:

Come learn about progressive web apps and how powerful technologies are changing the game in application design and development! In this workshop, you'll learn computer science teaching techniques to engage students using some of the most modern and in-demand skills, languages, and techniques! Learn how to take an existing web site and upgrade it into an app that users can keep close at hand and access even while offline. Learn the power of service workers and smart caching, while teaching event-driven, functional, and asynchronous development in one of the most popular languages. You must have a laptop (not a tablet) and be able to download and create and edit files on your laptop.

Abstract:

Learn how to design and create powerful new progressive web apps (PWA)! We'll introduce the computer science principles that enable modern web sites to be converted into installable apps. We'll start with an engaging web site (built with HTML/CSS/JavaScript) and show in just two easy steps, how to create an engaging app that can be installed on mobile devices, including Android phones, iPhones, iPads, tablets, and more. We'll illustrate the principles by converting an open source, cloud-hosted client-side app. We'll talk about manifest files and JSON, then introduce the powerful new service workers and JavaScript. We'll use Google's free Workbox libraries and show how PWA enable up web apps to interact with device APIs and alter requests before and after sending. You can easily install (and uninstall) the apps - and even use an app while your device is offline. We'll show how engaging tools like Lighthouse provide critical feedback on performance, accessibility, best practices, and more. As a bonus, we'll provide a PWA syllabus that you can customize to your courses. Skills for developing these apps are in demand, and quite accessible to students.


Workshop 305: Transform Your Computer Science Course with Specifications Grading

Organizers: David Largent;Christian Roberson

Advertisement:

Are you tired of spending time dealing with students who complain over fractions of points? What if there was a better way to do grading that actually measured student learning outcomes, caused less arguments, and took less time? Well, there is, and it's called specifications grading.

This workshop will explain what specifications grading is and give you an opportunity to apply these techniques to the actual computer science courses you teach. Although the presenters come from higher education, the concepts presented in this workshop are applicable for you, whether you are a middle school, high school, or university teacher. Please bring one or more of your current syllabi and/or assignment instructions with you to this interactive workshop. You will leave the workshop with a plan to modify at least one of your courses.

You will also receive access to a set of handouts and sample materials created by the presenters.

Equipment Recommended. It is recommended, but not required, that participants bring a equipment.

Abstract:

As proposed by Linda B. Nilson in "Specifications Grading: Restoring Rigor, Motivating Students, and Saving Faculty Time", specifications grading is an assessment construct that relies on pass/fail grading of assignments and assessments, the structuring of course content into modules linked to learning outcomes, and the bundling of assignments and assessments within those modules. One of the intentions of this type of course grading construct is to more closely align assessment with student attainment of intended learning outcomes. While there has been very visible work in incorporating specifications grading in some academic areas (e.g. in mathematics), examples of the use of specifications grading in computer science courses are less common. The goal of this workshop is to introduce the concepts of specifications grading, explain how to apply these concepts to a wide range of computing courses, and have the participants apply these concepts to one of their current or upcoming computer science courses. Each participant should leave the workshop with at least one revised course syllabus or assignment that incorporates specifications grading.


Workshop 306: Using sensor technologies to introduce middle school students to computational thinking and computer science

Organizers: Alexandra Gendreau Chakarov;Quentin Biddy;Derek Runberg

Advertisement:

Bring computational thinking and middle school science to life with micro:bit, sensor technologies including temperature, sound, humidity, carbon dioxide, and soil moisture, and block based programming. Learn how to use these tools to make the invisible visible by collecting and visualizing data in real time through simple investigations such as measuring air quality and noise levels. No prior programming experience necessary. Participants will gain hands on experience working with the micro:bit, gator:bit, and alligator clippable sensors through the creation of a data visualizations using real time data collected using the sensors. In addition to creating and programming their own real time data visualizations, participants will be given access to a tested curriculum, making it easy to implement these ideas in the classroom immediately. The materials are targeted at middle school students, but could work with students in grades 4-10.

Equipment Required. Participants must bring a laptop or equipment.

Abstract:

This workshop will explore using school-based sensor technologies to bring computational thinking into middle school science and integrated STEM courses. Participants will learn how to introduce students to sensor technologies and support their understanding of how to use sensor technologies to "make the invisible, visible." We will use the sensor technologies to conduct a variety of short, real-world investigations, such as measuring air quality and noise levels using the available sensors. Teachers will largely play the role of students as they learn to program the sensor technologies, gather and analyze data, and create displays to share their findings. The workshop will use an open-access, one-week sensor immersion curriculum, and ideas for improvements will be solicited from by the group. No prior experience using sensor technologies or programming is needed.


Workshop 307: Teach Girls To Code and Change the World

Organizers: Valerie Tomici

Advertisement:

Educators are invited to join the movement to close the gender gap in tech by bringing free STEM curriculum and activities to girls. During this presentation, we will feature Girls Who Code Clubs, which are completely free after-school programs for 3rd-5th or 6th-12th grade girls. Together, we will discuss how to start a free Girls Who Code Club, participate in hands-on activities that you can walk away with, and engage in a design thinking activity to help you bring code and gender equity to your community. Participants will leave the workshop feeling inspired to change the image of what a computer scientist looks like and feel prepared to bring exciting STEM resources back to their communities. Girls Who Code has served over 185,000 students across the U.S. and Canada since launching in 2012. Our alumni major in Computer Science and related fields at a rate 15 times higher than the national average.

Equipment Optional. It is not necessary for participants to bring equipment.

Abstract:

At Girls Who Code, we believe that all girls are capable of making a positive impact on the world through computer science. That is why we are leading the movement to close the gender gap in technology and change the image of what a programmer looks like and does. Join us to learn more about how to encourage girls in your community to connect their new coding skills and confidence with real world problems they care about!

During this presentation, we will be featuring our Girls Who Code Clubs, which are completely free after-school programs for 3rd-5th or 6th-12th grade girls to join a sisterhood of supportive peers and role models and use computer science to change the world. Through fun and interactive curricula, Club girls not only learn about how to positively impact their community through code, but they also are taught to be brave and resilient -- which has an enormous impact on how they approach challenges and whether they stick with coding in the years to come.

Together, we will discuss how to start a Girls Who Code Club, participate in hands-on activities that you can walk away with, and engage in a design thinking activity to help you bring code and gender equity to your community. We hope you will join us in our movement to close the gender gap in technology!


Workshop 308: Innovation in Undergraduate Data Science Education

Organizers: Anthony Suen;Eric Van Dusen;Cathryn Carson;David Culler

Advertisement:

Participants will learn about innovative ways of teaching Data Science, in a broad set of domain applications, using open source tools. Highlights will include engaging a diverse set of students, integrating ethical content into the curriculum, and adopting across a diverse set of institutions. A participant will learn about a vision for an inclusive data science curriculum, that is growing rapidly in scope and geography. This workshop, presented by staff and faculty from UC Berkeley's data science program, will guide participants through a menu of tested innovations that can enable the teaching of undergraduate data science to thousands of students from all backgrounds. It gives participants insight into and experience with the pioneering "Foundations of Data Science" (data8.org) course, which teaches computational and statistical concepts by leveraging real world data and is open to students from any major with no math or programming prerequisites, as well as other elements of Berkeley's curriculum that engage students across the disciplines. Specific topics that the workshop will cover include 1) Pedagogical decisions and assumptions in the Data 8 class, 2) Illustrations of domain specific applications of data science teaching approaches (connector courses, shorter modules) in non-CS classes across disciplines, 3) Integration of human contexts and ethics into the curriculum, 4) Teaching using a cloud-based server (Jupyterhub) and deploying open source cloud based cyber-infrastructure, 5) involvement of undergraduate students in curriculum development, teaching, and program development, and 6) Case studies from other colleges and universities and an emerging community of practice. Goals include engaging students in learning through real-world examples, increasing diversity among students learning computer science, giving students a strong ethical foundation within their computer science work, and encouraging critical thinking in the application of inference and statistical techniques.

Equipment Recommended. It is recommended, but not required, that participants bring equipment.

Abstract:

The workshop will allow participants to gain experience with a series of innovations developed at UC Berkeley that have enabled the teaching of undergraduate data science at scale to students from all backgrounds. Rather than beginning with established introductory strategies as the gateway to computer science, students in the "Foundations of Data Science" (Data 8) learn computational skills and concepts in relation to real world issues and with attention to societal implications. By engaging with students' interest in the applications of computing on data, and integrating societal impact from the start, the program has developed long term commitment to advance computational skills for large numbers of students. These innovations in teaching not only convey important computational content, but also broaden participation beyond existing approaches to computer science, and integrate issues of human contexts and ethics throughout the full curriculum. Goals include increasing diversity among students learning computer science, giving students a strong ethical foundations within their computer science work, and encouraging critical thinking in the application of inference and statistical techniques.


Workshop 309: Modifying Existing Evaluation Instruments to Fit Your CS Research Needs

Organizers: Ryan Torbey;Carol Fletcher;Joshua Childs;Monica McGill

Advertisement:

Have a CS education research project that needs instrumentation? This session is for you! Come learn how to find, remix, and use existing instruments by delving into the process of taking openly shared resources and repurposing them for your projects.

Abstract:

Developing your computer science education research evaluation instruments from scratch may be no longer necessary thanks to the growing catalog of instruments curated by csedresearch.org. This workshop will teach participants how to find, remix, and use existing instruments by delving into the process of taking openly shared resources and repurposing them for your projects. In addition to discussing the importance of using instruments that have been shown to have evidence of reliability and validity, the team from The University of Texas at Austin will discuss how they amended existing surveys and interview protocols to develop tools customized to their needs for their NSF-funded CSforAll Research Practitioner Partnership. Workshop participants will break into groups and be given extensive time to review and revise research instruments. Key takeaways from this workshop will be the steps you need to take to choose an instrument based on your research question and study design, the role that validity and reliability play in instrument design, how to make modifications to an instrument (if needed) to better address your research question, and how to add your instruments to the csedresearch.org site.


Workshop 310: The Beauty and Joy of Computing Curriculum and Teacher Professional Development

Organizers: Michael Ball;Lauren Mock;Dan Garcia;Tiffany Barnes;Marnie Hill;Alexandra Milliken;Joshua Paley;Efrain Lopez III;Jason Bohrer

Advertisement:

This workshop is intended for current AP CS Principles teachers using the Beauty and Joy of Computing Curriculum. The intended goals are to learn about and reflect on the updates of the AP CSP course, as well as discussion about updates and changes to the BJC Professional Development for 2020. The highlights include review of the new BJC curriculum and the Teacher Guide that has been endorsed by the College Board for 2020. Participants will learn about how the BJC 2020 curriculum correlates with the new Big Ideas, Computational Thinking Practices and Skills, and Enduring Understandings. This is intended for those who are currently teaching AP CSP using the BJC curriculum.

Equipment Recommended. It is recommended, but not required, that participants bring equipment.

Abstract:

The Beauty and Joy of Computing (BJC) is a CS Principles (CSP) course developed at UC Berkeley, intended for high school juniors through university non-majors. It was twice chosen as a CSP pilot, and both the College Board and code.org have endorsed it. Since 2011, we have offered professional development to over 600 high school teachers. Through partnerships with EDC (Education Development Center), the New York City Department of Education, and CSNYC, our NSF-funded BJC4NYC project will be bringing BJC to 100 high school teachers in New York City, the largest and one of the most diverse school districts in the country. Our guiding philosophy is to meet students where they are, but not to leave them there. It covers the big ideas and computational thinking practices required in the AP CSP curriculum framework using an easy-to-learn blocks-based programming language called Snap! (based on Scratch), and powerful computer science ideas like recursion, higher-order functions and computability. Through the course, students learn to create beautiful images, and realize that code itself can be beautiful. Having fun is an explicit course goal. We take a "lab-centric" approach, and much of the learning occurs through guided programming labs that ask students to explore and play. In this workshop, we will provide an overview of BJC, share our experiences as instructors of the course at the university and high school level, provide a glimpse into a typical week of the course, and share details of potential crowd-funded summer professional development opportunities.


Questions

If you have questions about anything discussed above, please contact the Workshops Track Chair.