SIGCSE 2018: 49TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION
PROGRAM FOR WEDNESDAY, FEBRUARY 21ST
Days:
next day
all days

View: session overviewtalk overview

08:30-17:00 Session Wed-C5-AllDay: Jumpstart Teaching Cybersecurity: C5 Instructional Modules Secure Scripting and Cybersecurity and Society
Location: 301
08:30
Melissa Dark (Purdue University, United States)
Matt Bishop (University of California, Davis, United States)
Christian Servin (El Paso Community College, United States)
Flo Appel (St. Xavier University, United States)
Jumpstart Teaching Cybersecurity: C5 Instructional Modules Secure Scripting and Cybersecurity and Society

ABSTRACT. The NSF-funded C5 project seeks to expand integration of cybersecurity into computing programs. Seven cybersecurity instructional modules and a course framework have been developed. This affiliated event will 1) provide an overview and access to all 7 modules, and 2) focus on basic concepts and practices in secure scripting and ethical dimensions of cybersecurity. Attendees will leave with instructional materials to use and adapt for their classrooms. The instructional materials have several distinctive features that make them useful for educators. The C5 modules: • align with learning outcomes in the ACM Computer Science Curricular Guidelines, making them very useful and usable to 2 and 4 year programs of study; • align with Learning Outcomes in respective NSA knowledge units; • align with Learning Objectives and Essential Knowledge Statements in the AP CSP framework (Programming Big Idea) making them relevant to the CS for All effort; • have been revised based on faculty feedback; • are built to be flexible and adaptable; faculty can select some or all of the units, implement them in a variety of classes, and due to the use of a creative commons license, can make derivatives as needed.

Faculty who have used these materials say: • The learning assessments and objectives are perfectly aligned. • The exercises are great. The concept of building on each exercise will go over quite well with community college students. • The slide/lecture layout is very straightforward and easy to understand. • Very well thought out.

08:30-12:00 Session Wed-CSP-AM: Computer Science Principles Providers and Teachers Forum
Location: 316
08:30
Lauren Mock (University of California, Berkeley, United States)
Michael Ball (University of California, Berkeley, United States)
Computer Science Principles Providers and Teachers Forum

ABSTRACT. To accompany the launch of the AP Computer Science Principles course in 2016, the College Board has sought providers to develop AP CSP curriculum and provide professional development. Over a half dozen experienced organizations and academic institutions have jumped in to meet this need, including the Beauty and Joy of Computing, Bootstrap, UTeach Computer Science, Exploring Computer Science, and Mobile CSP. Two years have past since the initial offerings of professional development opportunities under the 2016 CSTA Computer Science For All Community Giving initiative, but year-after-year, there has been no community for all providers or teachers to discuss best practices, feedback, or share teaching experiences. The CSP Providers and Teachers Forum aims to increase collaboration and discussion among College Board endorsed providers and teachers by offering an agenda that includes sharing successes and failures of professional development, reviewing common teaching issues providers and teachers encounter, discussing strategies for teacher recruitment and keeping in touch with teachers, and preparing for and reading results of the AP CS Principles exam.

08:30-17:00 Session Wed-Cloud-AllDay: Integrating Cloud Computing into the Computer Science Curriculum
Location: 314
08:30
Laurie White (Google, United States)
Becky Evans (Google, UK)
Workshop: Integrating Cloud Computing into the Computer Science Curriculum

ABSTRACT. Cloud computing makes a wide variety of computing resources available to every student. In this workshop, faculty will have the opportunity to get hands-on experience with a variety of cloud technologies, from Infrastructure as a Service launching a Virtual Machine in the cloud to Software as a Service, using pretrained Machine Learning Models. Participants will have the opportunity to discuss how these can be used in classes with Googlers and other faculty who are already using the cloud in their classes. No previous experience with cloud computing is assumed. Examples will be drawn from a variety of courses.

08:30-17:00 Session Wed-NewEd-AllDay: New Educators Workshop
Location: 327, 328, 329
08:30
Andrea Danyluk (Williams College, United States)
Zachary Dodds (Harvey Mudd College, United States)
New Educators Workshop

ABSTRACT. A successful career as a college or university computer science educator involves more than a deep understanding of a research area. Yet many new CS educators experience relatively little educator training – and face more questions than answers, e.g., What different career-path choices do CS educators pursue? How do I choose an institution or career path that is right for me? How can I balance teaching, research, service, and a life beyond all those things? What are the balancing acts involved in working effectively with colleagues and managing the advancement and tenure process? What tips could help me organize a course, deliver engaging lectures, and build lasting relationships with students? The New Educators Workshop is designed to assist aspiring and early-career educators in exploring the non-research facets of an academic career. Experienced faculty from a variety of career paths will share their experiences and best practices. Small-group discussions will enable attendees to focus on the questions or concerns relevant to their situations, as well as build a support group of like-minded colleagues.

08:30-17:00 Session Wed-POSSE-AllDay: POSSE Roundup – Getting Started in an HFOSS Project
Location: 302
08:30
Gregory Hislop (Drexel University, United States)
Heidi Ellis (Western New England University, United States)
Herman Jackson (Western New England University, United States)
Lori Postner (Nassau Community College, United States)
Darci Burdge (Nassau Community College, United States)
Cameron Macdonell (MacEwan University, Canada)
POSSE Roundup – Getting Started in an HFOSS Project

ABSTRACT. POSSE, the Professors’ Open Source Software Experience, prepares instructors to guide student participation in Humanitarian Free and Open Source Software (HFOSS) projects. This POSSE Roundup is a workshop for instructors who have previously attended POSSE, or who have open source experience including contributing to an open source project. The workshop will allow faculty to work together in small groups to become more familiar with a selected HFOSS project. The group work will include getting the development environment installed, finding a bug, fixing it and submitted a patch back to the community. The groups will work under the guidance of a faculty member who has successfully contributed to the HFOSS project. The workshop structure of the day will emphasize active participation of attendees. For workshop information please see: http://foss2serve.org/index.php/SIGCSE_2018_POSSE_Roundup

08:30-17:00 Session Wed-RESPECT-AllDay: RESPECT'18: Research on Equity and Sustained Participation in Engineering, Computing, and Technology Conference
Chair:
Jamie Payton (Temple University, United States)
Location: 307
08:30
Jamie Payton (Temple University, United States)
RESPECT'18: Research on Equity and Sustained Participation in Engineering, Computing, and Technology Conference

ABSTRACT. Understanding how to apply fundamental computer science problem solving skills is quickly becoming a required competency. It is critical to address issues of equity and inclusion so that we can engage all people in learning key concepts in computing. The Third Annual Conference on Research in Equity and Sustained Participation in Engineering, Computing, and Technology (RESPECT) is intended to serve a premier venue for peer-reviewed research on broadening participation in computing. Since broadening participation research is inherently interdisciplinary, we invite contributions from computer science education, educational leadership, learning sciences, cognitive or social psychology, social sciences, and related disciplines. All papers should explicitly state their motivating questions, relate to relevant literature, and contain an analysis of effectiveness. Research papers should adhere to rigorous standards, describing hypotheses, methods, and results. Experience reports should carefully describe the context and provide a rich reflection on what worked, what didn’t, and why.RESPECT will be co-located with the 49th Annual ACM Technical Symposium on Computer Science Education (SIGCSE) on February 21, 2018. As in previous editions of the conference, the RESPECT 2018 proceedings will be submitted for inclusion to IEEE Xplore and will be submitted for cross-indexing in the ACM Digital Library.

08:30-17:00 Session Wed-SPLICE-AllDay: CS Education Infrastructure for All: Interoperability for Tools and Data Analytics
Location: 303
08:30
Cliff Shaffer (Virginia Tech, United States)
Peter Brusilovsky (University of Pittsburgh, United States)
Kenneth Koedinger (Carnegie Mellon University, United States)
Stephen Edwards (Virginia Tech, United States)
CS Education Infrastructure for All: Interoperability for Tools and Data Analytics

ABSTRACT. CS Education makes heavy use of online educational tools like IDEs, Learning Management Systems (LMS), eTextbooks, interactive programming environments, and other smart content. Instructors and students would benefit from greater interoperability between these tools. CS Education (CSEd) researchers increasingly make use of large collections of data generated by click streams coming from them. However, students, instructors and researchers all face barriers that slow progress: (1) Educational tools do not integrate well. (2) Information about computer science learning process and outcome data generated by one system is not compatible with that from other systems. (3) Computer science problem solving and learning (e.g., open-ended coding solutions to complex problems) is quite different from the type of data (e.g., discrete answers to questions or verbal responses) that current educational data mining focuses on. This NSF-supported workshop is a follow-up to a workshop in Pittsburgh this past summer that initiated the SPLICE project. The goal is to support and better coordinate efforts to build community and capacity among CSEd researchers, data scientists, and learning scientists toward reducing barriers. CSEd infrastructure should support (1) broader re-use of innovative learning content that is instrumented for rich data collection, (2) formats and tools for analysis of learner data, and (3) development of best practices to make collections of learner data available to researchers. We will present progress to date on developing a project website, present initial reports from working groups, and plan activities for the coming year.

08:30-17:00 Session Wed-TeachTrack-All: Professional Development Workshop for Teaching-Track Faculty
Location: 315
08:30
Mark Sherriff (University of Virginia, United States)
Susanne Hambrusch (Purdue University, United States)
Lori Pollock (University of Delaware, United States)
Penny Rheingans (University of Maryland, Baltimore County, United States)
Professional Development Workshop for Teaching-Track Faculty

ABSTRACT. Computer Science departments have experienced significant course enrollment increases and today many departments graduate the largest number of CS majors in their history. With fewer than a third of the new PhDs in CS seeking academic positions, the field faces a serious faculty shortage. Many Ph.D. granting departments have introduced or increased the number of academic teaching faculty positions that have academic rank and typically no tenure. The one-day workshop will focus on the professional development of teaching track faculty (professor of practice, instructor, clinical faculty, lecturer, etc.) in Ph.D. granting departments. The workshop fills a crucial need as many departments have limited experience on how to mentor, evaluate, and promote this new type of faculty. The sessions will focus on how teaching faculty can strategize their involvement in departmental as well as research activities, different forms of scholarship and leadership activities to pursue, and best practices for success, promotion, and advancement. Academic leaders involved in supervising and evaluating teaching track faculty will provide their perspective and insights.

13:00-17:00 Session Wed-ML-PM: Machine Learning in the Classroom
Location: 316
13:00
Tina Ornduff (Google, United States)
Sanders Kleinfeld (Google, United States)
Zuri Kemp (Google, United States)
Machine Learning in the Classroom

ABSTRACT. The goal of Machine Learning in the Classroom is to bring Googlers and educators together to explore Machine Learning concepts and skills in a supportive, hands-on environment. Google's mission is to organize the world's information and make it universally accessible and useful, and ML is enabling us to do that in incredible new ways. The development of Machine Learning is providing us with new ways of looking at old problems and helping transform how we work and live. Attendees should meet the following prerequisites:

  • Proficiency in at least one programming language (Python and/or Java preferred) and comfort working with external APIs 
  • Completion of introductory-level algebra. Attendees should be comfortable with variables and coefficients, linear equations, graphing functions, and interpreting histograms
  • Familiarity with more advanced math concepts, such as logarithms and derivatives is helpful, but not required.
13:00-17:00 Session Wed-MS-PM: Microsoft's Mixed Reality 250 Workshop
Location: 320
13:00
Alex Turner (Microsoft, United States)
Amanda Lange (Microsoft, United States)
Microsoft’s Mixed Reality 250 Workshop

ABSTRACT. With the flexibility of Universal Windows Platform (UWP), it is easy to create an application that spans multiple devices. With this flexibility, we can create experiences that leverage the strengths of each device. This tutorial will cover a basic shared experience that runs on both HoloLens and Windows Mixed Reality immersive headsets. This content was originally delivered at the Microsoft Build 2017 conference in Seattle, WA. All videos, examples, and code will be provided to workshop participants for use in their own classrooms. In this tutorial, we will: Share holograms across mixed reality devices, Establish a different view of the application depending on which mixed reality device is being used, and Create a shared experience where HoloLens users guide immersive headsets users through some simple puzzles.

13:00-17:00 Session Wed-RPP-PM: RPPforCS for Community Meeting
Location: 317
13:00
Rebecca Zarch (SageFox Consulting Group, United States)
Alan Peterfreund (SageFox Consulting Group, United States)
Leigh Ann Delyser (NYC Foundation for CS Education, United States)
RPPforCS for Community Meeting

ABSTRACT. RPPforCS is a connected community of practice designed to support the NSF CS For All: RPP awardees and facilitate a common research agenda among its members, develop evaluator and researcher capacity, and collect common data elements across RPP projects. This event will begin with a plenary session with the RESPECT conference titled “Designing for Broadening Participation.” The plenary will include panelists RIchard Ladner, Chris Hoadley, and Ben Sayler and will be moderated by Joanna Goode (all recent RPPforCS awardees focusing on reaching underrepresented populations). The RPPforCS awardees will then go into an afternoon session focused on community building, early capacity building for the Researcher-Practitioner Partnerships and defining the shared research agenda.

13:30-17:00 Session Wed-NVIDIA-PM: NVIDIA Deep Learning Education Workshop

The NVIDIA Deep Learning Institute (DLI) offers hands-on training for developers, data scientists, and researchers looking to solve challenging problems with deep learning and accelerated computing. DLI and Rochester Institute of Technology (RIT) Prof. Raymond Ptucha will present a half-day practical Deep Learning workshop for academic students, staff, and researchers. In this half-day Deep Learning Fundamentals workshop, you will learn an understanding of the general terms and background of deep learning, how to leverage deep neural networks (DNN) within the deep learning workflow to solve a real-world image classification problem using DIGITS, and how to become a certified DLI University Ambassador Program and bring this critical educational content to your own campus.

Chair:
Joe Bungo (NVIDIA, United States)
Location: 318
17:30-19:00 Session Wed-RESPECT: RESPECT reception 5:30-7 reception & posters
Chair:
Jamie Payton (Temple University, United States)
Location: Main Terrace (around the Market Fresh Cafe)
19:00-23:00 Session Wed-CCSC-7pm: CCSC board meeting
Location: 316
19:00
Hala Elaarag (CCSC, United States)
CCSC board meeting

ABSTRACT. Wednesday 7:00-11:00 pm

19:00-23:00 Session Wed-CCSC-breakout: Meeting room for CCSC
Location: 317
19:00
Hala Elaarag (CCSC, United States)
Meeting room for CCSC

ABSTRACT. Audit committee Wednesday 7:00-11:00 pm

19:00-22:00 Session Wed-DEERS-wkshp106: Workshop 106: Designing Empirical Education Research Studies (DEERS): Creating an Answerable Research Question
Location: 318
19:00
Mark Sherriff (University of Virginia, United States)
Sarah Heckman (North Carolina State University, United States)
Jeffrey Carver (University of Alabama, United States)
Workshop 106: Designing Empirical Education Research Studies (DEERS): Creating an Answerable Research Question

ABSTRACT. 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.

19:00-20:30 Session Wed-Ethics-PM: ACM’s Committee on Professional Ethics
Location: 305
19:00
Karla Carter (Bellevue University, United States)
Michael Kirkpatrick (James Madison University, United States)
Dee Weikle (James Madison University, United States)
Strategies for Integrating the Updated ACM Code of Ethics into the Computing Curriculum

ABSTRACT. ACM SIGCAS has been holding pre-symposium events focused on computing education at the SIGCSE Symposium for many years. These have ranged from workshops and mini-symposia on teaching ethics in the computing curricula to using driverless cars as a case study. This year’s session will focus on the Code 2018 Project, an effort to update the ACM Code of Ethics to reflect changes in both technology and society that have occurred in recent years. Moreover, this year’s session will emphasize case studies designed for use in traditional code CS courses, as well as related active learning techniques.

19:00-22:00 Session Wed-GIS-wkshp111: Workshop 111: Geographic Information Systems (GIS): Opportunities of Spatial Data Processing for Computer Science Education
Location: 323
19:00
Ali Erkan (Ithaca College, United States)
John Barr (Ithaca College, United States)
Workshop 111: Geographic Information Systems (GIS): Opportunities of Spatial Data Processing for Computer Science Education

ABSTRACT. A Geographic Information System (GIS) allows us to work with data explicitly associated with locations on earth. However, the functions of a GIS are broader and more sophisticated than those of an electronic map. A GIS is an analysis tool; it is a visual (and relational) database to work with multiple sources of data to reveal insights missing in single layer representations.

GIS has proved to be a disruptive technology and disciplines ranging from environmental sciences to history have significantly gained from it. It is therefore common for institutions to offer at least one GIS course to serve the spatial data processing needs of their community. However, these courses are often not offered by Computer Science departments; we believe this is a missed opportunity.

This workshop has three goals. First, we introduce a representative set of GIS operations so that participants understand the computational potential of this technology. Second, we outline, through examples, the virtues of a computational perspective on teaching GIS for a greater emphasis on the underlying algebra; when this understanding is compromised, GIS ends up being a sour experience for users who need it the most (humanists, social scientists). Third, we outline, with datasets from repositories like http://www.kaggle.com, how meaningful spatial exercises can be created for students from underrepresented groups; when we are able to focus on socio-economic levels, education/income distributions, voter turnout, etc, GIS allows us to show the potential of computation without initially expecting an investment into our major.

19:00-22:00 Session Wed-Humanities-wkshp: Workshop 101: Programming for the Humanities – a Whirlwind Tour of Assignments for the CS1 Course
Location: 301
19:00
Brian Kokensparger (Creighton University, United States)
Wade Peyou (Creighton University, United States)
Workshop 101: Programming for the Humanities – a Whirlwind Tour of Assignments for the CS1 Course

ABSTRACT. CS instructors are often asked to modify CS1 courses to teach introductory programming for the Digital Humanities (DH). The presenters have developed six assignments that are oriented towards DH topics while still providing CS students solid experiences in core programming concepts. This workshop introduces the participants to five of the assignments and gives them abbreviated experiences in each. The topics include Computing Change over Time (calculating burials in a historic cemetery), Visualization of Change over Time (visualizing the burials in the historic cemetery), Textual Analysis (finding word frequencies and “stop words” in public domain texts), Stylometrics (comparing measured features of graphic images), and Social Network Analysis (analyzing extended relationships in historic circles). Direct coding experience with these assignments will give workshop participants confidence in offering and managing these assignments in their own classrooms. A laptop/keying-friendly mobile device and familiarity with the Python 3.x language are required.

19:00-22:00 Session Wed-Lego-wkshp109: Workshop 109: LEGO-based Active Learning Exercises for Teaching Software Development
Location: 321
19:00
Stan Kurkovsky (Central Connecticut State University, United States)
Stephanie Ludi (University of North Texas, United States)
Workshop 109: LEGO-based Active Learning Exercises for Teaching Software Development

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 bricks as a surrogate representing the lines of code, software objects, or other artifacts in the process of constructing software systems in order to better explain these concepts. 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/sigcse2018/

19:00-22:00 Session Wed-NodeJS-wkshp102: Workshop 102: Programming web services on the cloud with Node.js
Location: 302
19:00
Ariel Ortiz (Tecnologico de Monterrey, Campus Estado de México, Mexico)
Workshop 102: Programming web services on the cloud with Node.js

ABSTRACT. Node.js is one of the hottest open source web platforms currently available. It allows you to use JavaScript to write all kinds of network servers in just a few lines of code. Node.js employs an asynchronous programming model built on non-blocking I/O and a single-threaded event loop. If you know how to use JavaScript on a browser, it's a breeze to use it on a server. This workshop is aimed at CS instructors that wish to teach how to use and write RESTful web services (a.k.a. web APIs) using Node.js on a cloud platform. The only thing you need is a computer with a modern web browser and an Internet connection. Participants will use the free service provided by the cloud9 platform (https://c9.io/) to learn how to write scalable web services using Node.js, the Express web framework, SQLite3, and Ajax via jQuery. Participants should have a working knowledge of JavaScript, SQL and HTML. Additional information available at: http://node.arielortiz.info/ Laptop required.

19:00-22:00 Session Wed-Play-wkshp110: Workshop 110: Playing to Learn: Using Hands-on Activities to Boost Learning in Computer Science
Location: 307
19:00
Karen Anewalt (University of Mary Washington, United States)
Jennifer Polack (University of Mary Washington, United States)
Workshop 110: Playing to Learn: Using Hands-on Activities to Boost Learning in Computer Science

ABSTRACT. Active learning techniques are widely reported to enhance student learning and increase student engagement. They provide a powerful tool to reinforce course concepts and allow students with diverse backgrounds and learning styles to master essential concepts efficiently. In addition, many students and faculty find hands-on activities to be fun and memorable. Workshop attendees will participate in five hands-on activities covering concepts that are commonly taught in introductory programming courses. Workshop participants will be challenged to create additional activities to be included in an online repository. Instructors of introductory programming courses at the undergraduate and K12 level who are interested in creating memorable learning experiences using free and low-cost props will find this participatory workshop to be relevant to their teaching.

19:00-22:00 Session Wed-Secure-wkshp103: Workshop 103: Introducing Secure Coding in Undergraduate (CS0, CS1, and CS2) and High School (AP Computer Science A) Programming Courses
Location: 303
19:00
Siddharth Kaza (Towson University, United States)
Blair Taylor (Towson University, United States)
Workshop 103: Introducing Secure Coding in Undergraduate (CS0, CS1, and CS2) and High School (AP Computer Science A) Programming Courses

ABSTRACT. The ACM CS 2013 curriculum includes Information Assurance and Security as a pervasive knowledge area, the ACM Community College curricular guidelines, CSTransfer2017, places great emphasis on cybersecurity as well. However, introducing security in introductory programming courses is challenging because of lack of appropriate teaching resources and training. This workshop will provide a well-tested strategy for introducing secure coding concepts in CS0, CS1, CS2, and AP CS A classes. We will introduce attendees to secure coding through hands-on exercises, and provide self-contained, lab-based modules designed to be injected into CS0-CS2 with minimal impact on the course (www.towson.edu/securityinjections). Participants will be encouraged to bring in their own syllabus and labs to modify to include learning objectives focused on cybersecurity based on ACM and CAE guidelines. Laptop recommended.

19:00-22:00 Session Wed-Tetris-wkshp108: Workshop 108: The Nand to Tetris Course:Building a Modern Computer from First Principles
Location: 320
19:00
Shimon Schocken (IDC Herzliya, Israel)
Workshop 108: The Nand to Tetris Course:Building a Modern Computer from First Principles

ABSTRACT. The workshop presents a full semester course in which CS students build a complete computer system - hardware and software - from the ground up. Also known as "Nand to Tetris", the course is presently taught in 100+ universities and high schools, and is listed in Coursera's top-rated courses.

The course synthesizes many abstractions, algorithms, and data structures learned in CS courses, and makes them concrete by building a complete computer system from first principles. The methodology is based on guiding students through a set of 12 projects that gradually construct and unit-test a simple hardware platform and a modern software hierarchy, yielding a surprisingly powerful computer system. The hardware projects are done in a simple hardware description language and a hardware simulator supplied by us. The software projects (assembler, VM, compiler and OS) can be done in any language, using API's and test programs supplied by us. The result is a general-purpose computer system, simulated on the student's PC. We start the course (and this workshop) by demonstrating some interactive computer games running on this platform. The approach is completely self-contained, requiring only programming as a pre-requisite. All the course materials are freely available in open source in www.nand2tetris.org.

The workshop requires a video projector and Internet access. The workshop will alternate between frontal descriptions of key aspects of the course, followed by optional hands-on practice, using the participants’ PCs. Upon completion of this workshop participants will be fully equipped to teach the course in their schools.

19:00-22:00 Session Wed-UGR-wkshp104: Workshop 104: Successfully Engaging Early Undergraduates in CS Research
Location: 314
19:00
Christine Alvarado (University of California San Diego, United States)
Neil Spring (University of Maryland, United States)
Workshop 104: Successfully Engaging Early Undergraduates in CS Research

ABSTRACT. Engaging undergraduates in research has been shown to improve retention, increase students’ sense of science identity, and increase the chances that they will continue to graduate school. Yet many undergraduates don’t participate in research until very late in their undergraduate program, while the majority of undergraduates don’t participate in research at all. On the other hand, many faculty are eager and willing to do research with undergraduates, but are unsure how to mentor and supervise them, particularly early undergraduates who may have very little specific technical knowledge and skills. This workshop will provide participants with concrete skills and techniques for engaging early undergraduates (freshmen and sophomores) in real research projects, and, if desired, for developing or growing a department-wide early undergraduate research program. Participants will engage in hands-on activities where they will learn how to develop appropriately scoped research projects, manage and mentor early undergraduates successfully, and teach core research skills like reading research papers and writing research proposals. The workshop will also cover how to mitigate specific challenges faced by students from groups underrepresented in computer science. The materials presented in this workshop are based on the successful Early Research Scholars Program at UC San Diego (ersp.ucsd.edu), which is entering its fourth year, and engages 40 second-year students per year--the majority of whom are women and/or students from underrepresented racial or ethnic groups--in academic-year research apprenticeships.

19:00-22:00 Session Wed-codecast-wk107: Workshop 107: Codecast: create your own in-browser coding tutorials for any programming language or interactive tutorials for C and Arduino.
Location: 319
19:00
Remi Sharrock (Telecom ParisTech, France)
Baptiste Gaultier (Telecom Bretagne, France)
Petra Taylor (Dartmouth College, United States)
Michael Goudzwaard (Dartmouth College, United States)
Mathias Hiron (France-ioi, France)
Ella Hamonic (IMT, France)
Workshop 107: Codecast: create your own in-browser coding tutorials for any programming language or interactive tutorials for C and Arduino.

ABSTRACT. Any CS educator has to explain sooner or later a portion of code or a structured text to learners. The Codecast tool http://www.codecast.info has been specially designed by CS educators and developed initially for MOOCs to replace non-interactive screencasts. This workshop is a hands-on lab to Codecast - an open-source innovative tool to create in-browser interactive coding tutorials. Codecast supports syntax highlighting for over 110 languages and as of 2017 can compile/interpret and execute a subset of the C and Arduino languages. In this workshop, participants will explore how, using our Codecast tool, a CS educator can explain the creation of a computer program while their audio as well as their interactions with the code editor and interpreter are being recorded for interactive playback. Workshop participants will furthermore experience how different aspects of the coding process like testing, running, debugging and optimizing can be illustrated with the help of several data, memory and algorithm visualization modules. Participants will create recordings and experience how they can be played back interactively (like learners) by taking control over and modify the coding process at any time. Codecast enables the learner to interact directly with the code and experiment with different ideas while listening to the instructor’s explanation. The learner can make changes to the code, test it with different inputs, run the code step-by-step to better understand its behavior and visualize other parts of the algorithm or the data. Workshop participants will also integrate their creations in their online curricula.

19:00-22:00 Session Wed-discrete-wk105: Workshop 105: Learning Discrete Structures Interactively with Alloy
Location: 315
19:00
Charles Wallace (Michigan Technological University, United States)
Workshop 105: Learning Discrete Structures Interactively with Alloy

ABSTRACT. This workshop presents a novel approach to teaching the mathematical foundations of computing commonly known as Discrete Structures. Following the common model of the programming lab, we provide interactive learning experiences in relational algebra, predicate logic, and graph theory that are both human- and computer-mediated. Students use the Alloy language and analyzer to express constraints in formal mathematical notation and search for models that satisfy the constraints. Alloy is an industrial-strength tool, but with careful scaffolding even students in introductory discrete structures can benefit from highly interactive and visual guided explorations mediated through Alloy code. We design exercises carefully to take students from observers of Alloy program behavior to tweakers of established code and later to builders of their own code.

We find that the feedback provided by the Alloy Analyzer eliminates common misconceptions among students. Compared to a traditional approach where students simply submit written answers to homework problems, students working on Alloy problems get immediate critique of the well-formedness and satisfiability of their responses. The interactive nature of Alloy allows them to explore, discover new concepts, and challenge their assumptions with unexpected corner cases.

After an introduction to Alloy, teams of workshop participants will engage in learning activities in discrete structures, using the Alloy tool for exploration and application of concepts. Teams will reflect on their experiences and comment on the applicability of this socio-technical learning approach in their own teaching contexts.