SPEAKER: Jeannette M. Wing
The Micro:bit: Hands-on Computing for the New Generation
SPEAKER: Thomas Ball
Elegit: Git Learning Tool for Students
SPEAKER: David Musicant
ABSTRACT. Version control systems are crucial tools for computer scientists, and the need for students to be fluent in them is well-recognized. However, Git and other version control systems (VCSs) are difficult to learn and use. Elegit is a new Git client that we created to help students learn how Git works while using it. Our approach is different from other GUI Git clients in that our key goals are not only to help students successfully use Git, but equally importantly to help students learn about how Git works in its own native way. We preserve standard Git terminology wherever possible, and place a high priority on not modifying the standard Git model. Simultaneously, we strive to make Elegit easy for beginners to use. This demo provides a brief tutorial on using Elegit, discussion on the process of designing the tool to do this, evaluation of the effectiveness of the tool, and improvements made based on this evaluation and our own learning of Git while developing the application. Information about Elegit can be found at http://elegit.org. This work is supported by a SIGCSE Special Projects Grant, and by Carleton College.
Assessing Children's Understanding of the Work of Computer Scientists: The Draw-a-Computer-Scientist Test
SPEAKER: Alexandria K. Hansen
ABSTRACT. We developed the Draw-A-Computer-Scientist-Test (DACST) to better understand elementary school students’ conceptions of computer scientists and the nature of their work. By understanding how young children perceive computer scientists, we can broaden their ideas about the activities and images of computer scientists. We administered the DACST to 87 fourth-grade students (ages 8-9) as a pre- and post-assessment to a computer science curriculum. All students attended the same school and were taught by the same female teacher. Before the curriculum, we found that students most often drew male computer scientists working alone, and featured actions that were connected to technology in general (e.g., typing, printing), but not specific to computer science. After the curriculum, more female students drew female computer scientists than before, and the featured actions were more specific to computer science (e.g., programming a game). We also share insights about the classroom-learning environment that may have contributed to changes in students’ understanding of computer scientists and their work.
Assessing Computational Thinking in CS Unplugged Activities
SPEAKER: Brandon Rodriguez
ABSTRACT. Computer Science (CS) Unplugged activities have been deployed in many informal settings to present computing concepts in an engaging manner. To justify use in the classroom, however, it is critical for activities to have a strong educational component. For the past three years, we have been developing and refining a CS Unplugged curriculum for use in middle school classrooms. In this paper, we describe an assessment that maps questions from a comprehensive project to computational thinking (CT) skills and Bloom's Taxonomy. We present results from two different deployments and discuss limitations and implications of our approach.
Recommendations for Designing CS Resource Sharing Sites for All Teachers
SPEAKER: Mackenzie Leake
ABSTRACT. Many organizations have developed websites to support high school computer science (CS) teachers by providing them with collections of teaching resources. Yet rarely do these sites take into account the unique challenges of new CS teachers who often have not had formal training in CS. In response to a documented lack of teachers' engagement on these sites, we interviewed 17 CS teachers to learn more about the ways in which these sites are and are not meeting teachers' needs for curriculum resources. We discuss our findings about how teachers use, adapt, and share resources and then provide several suggestions for designing resource sharing sites that support teachers who have varying levels of experience teaching CS.
Making Robot Challenges with Virtual Robots
SPEAKER: Harry H. Cheng
ABSTRACT. This paper presents a methodology for creating challenge problems for a robot-based programming competition using a simulation environment. Hosted each spring for K-12 and community college students, the competition is based around hardware robots and lessons which have been used by students within their math and science classes throughout the school year. RoboSim is a simulator which complements the control scheme for the physical robots and is used regularly by the students to supplement running the hardware robots. For the first time RoboSim was used to design the challenges which have been given to students for the 2016 RoboPlay Challenge Competition. Using virtual robots for designing the competition allows more efficient design and testing of the new challenges with new features compared to using only hardware robots. The code which is used to control the robots is unchanged between the hardware and virtual robots making the transition to hardware robots trivial. All challenges from previous RoboPlay competitions are also available within RoboSim to students for preparing and testing within their classrooms.
A Modern Wearable Devices Course for Computer Science Undergraduates
SPEAKER: Chris Gregg
ABSTRACT. A problem that many tech companies face today is that many computer science students entering the work force lack fundamental skills for understanding the entire process of a system that is not solely software. Some students may take a series of courses on analog and/or digital circuits, but the integration with modern devices is sorely missing from most curricula. We designed the (Redacted) University Comp 50: Wearable Devices course to introduce the basics of digital and analog circuits to students with software-driven backgrounds by studying the intricacies of the production of wearable electronic devices. The course focused on the skills needed to design hardware, software, and a chassis for a final wearable product that was novel and potentially marketable. The primary objective was to provide a course that serves as an introduction to digital electronics but with a tangible goal to produce a high-fidelity prototype that student teams presented at the end of the semester. Given the nature of modern wearable devices, which are small, energy efficient, and strongly favor connectivity to other devices, we developed the curriculum around designing a surface-mount Printed Circuit Board (PCB), and we outfitted the student kits with coin-cell battery powered, Bluetooth-connected, Arduino-compatible devices that they needed to learn how to program and connect. We also integrated iOS development into the course so that students' final projects could communicate with both their phones or tablets, or to the Internet via these devices. As the ``wearble devices'' field is relatively new, this paper discusses the decisions we made for the set-up of this class, what worked and what did not, and what we would change and improve when we teach it again.
Computer Science Outreach with End-User Robot-Programming Tools
SPEAKER: Vivek Paramasivam
ABSTRACT. Robots are becoming popular in Computer Science outreach to K-12 students. Easy-to-program toy robots already exist as commercial educational products. These toys take advantage of the increased interest and engagement resulting from the ability to write code that makes a robot physically move. However, toy robots do not demonstrate the potential of robots to carry out useful everyday tasks. On the other hand, functional robots are often difficult to program even for professional software developers or roboticists. In this work, we apply end-user programming tools for functional robots to the Computer Science outreach context. This experience report describes two offerings of a week-long introductory workshop in which students with various disabilities learned to program a Clearpath Turtlebot, capable of delivering items, interacting with people via touchscreen, and autonomously navigating its environment. We found that the robot and the end-user programming tool that we developed in previous work were successful in provoking interest in Computer Science among both groups of students and in establishing confidence among students that programming is both accessible and interesting. We present key observations from the workshops, lessons learned, and suggestions for readers interested in employing a similar approach.
Measuring Student Learning in Introductory Block-Based Programming: Examining Misconceptions of Loops, Variables, and Boolean Logic
SPEAKER: Shuchi Grover
ABSTRACT. Programming in block-based environments is a key element of introductory computer science curricula in K-12 settings. Past research conducted in the context of text-based programming points to several challenges related to novice learners’ understanding of foundational programming constructs such as variables, loops, and expressions. This research aims to develop assessment items for measuring student understanding in introductory CS classrooms in middle school using a principled approach for assessment design. This paper describes the design of assessments items that were piloted with 100 6th, 7th, 8th graders who had completed an introductory programming course using Scratch. The results and follow-up cognitive thinkalouds indicate that students are generally unfamiliar with the use of variables, and harbor misconceptions about what they are. They also have trouble with other aspects of introductory programming such as how loops work, and how the Boolean operators work. These findings point to the need for pedagogy that combines constructionist activities with those that target conceptual learning, along with better professional development to support teachers’ conceptual learning of these foundational constructs.
Variable Evaluation: An Exploration of Novice Programmers' Understanding and Common Misconceptions
SPEAKER: Tobias Kohn
ABSTRACT. For novice programmers one of the most problematic concepts is variable assignment and evaluation. Several questions emerge in the mind of the beginner, such as what does x = 7 + 4 or x = x + 1 really mean? For instance, many students initially think that such statements store the entire calculation in variable x, evaluating the result lazily when actually needed. The common increment pattern x = x + 1 is even believed to be outright impossible.
This paper discusses a multi-year project examining how high school students think of assignments and variables. In particular, where does the misconception of storing entire calculations come from? Can we explain the students' thinking and help them develop correct models of how programming works?
It is particularly striking that a model of the computer as a machine with algebraic capabilities would indeed produce the observed misconceptions. The misconception might simply be attributed to the expectation that the computer performs computations the exact same way students are taught to in mathematics.
Semantic Reasoning in Young Programmers
SPEAKER: David Touretzky
ABSTRACT. Reading, tracing, and explaining the behavior of code are strongly correlated with the ability to write code effectively. To investigate program understanding in young children, we introduced two groups of third graders to Microsoft's Kodu Game Lab; the second group was also given four semantic "Laws of Kodu" to better scaffold their reasoning and discourage some common misconceptions. Explicitly teaching semantics proved helpful with one type of misconception but not with others. During each session, students were asked to predict the behavior of short Kodu programs. We found different styles of student reasoning (analytical and analogical) that may correspond to distinct neo-Piagetian stages of development as described by Teague and Lister (2014). Kodu reasoning problems appear to be a promising tool for assessing computational thinking in young programmers.
Teaching Big Data and Cloud Computing with a Physical Cluster
SPEAKER: Jesse Eickholt
ABSTRACT. Cloud Computing and Big Data continue to be disruptive forces in computing and have made inroads in the Computer Science curriculum, with courses in Cloud Computing and Big Data being routinely offered at the graduate and undergraduate level. One major challenge in offering courses in Big Data and Cloud Computing is resources. The question is how to provide students with authentic experiences making use of current Cloud and Big Data resources and tools and do so in a cost effective manner. Historically, three options, namely physical clusters, virtual clusters and cloud- based clusters, have been used to support Big Data and Cloud Computing courses. Virtual clusters and cloud- based options are those that institutions have typically adopted and many arguments in favor of these options exist in the literature, citing cost and performance. Here we argue that teaching Big Data and Cloud Computing courses can be done making use of a physical cluster and that many of the existing arguments fail to take into account many important factors in their calculations. These factors include the flexibility and control of a physical cluster in responding to changes in industry, the ability to work with much larger datasets, and the synergy and broad applicability of an appropriately equipped physical cluster for courses such as Cloud Computing, Big Data and Data Mining. We present three possible configurations of a physical cluster which span the spectrum in terms of cost and provide cost comparisons of these configurations against virtual and cloud-based options, taking into account the unique requirements of an academic setting. While limitations do exist with a physical cluster and it is not an option for all situations, our analysis and experience indicates that there is great value in using a physical cluster to support teaching Cloud Computing and Big Data courses and it should not be dismissed.
Using Programming Process Data to Detect Differences in Students' Patterns of Programming
SPEAKER: Adam Carter
ABSTRACT. Analyzing the process data of students as they complete programming assignments has the potential to provide computing educators with insights into both their students and the processes by which they learn to program. In prior work, we developed a statistical model that accurately predicts students' homework grades. In this paper, we investigate the relationship between the paths that students take through the programming states on which our statistical model is based, and their overall course achievement. Examining the frequency of the most common transition paths revealed significant differences between students who earned A's, B's, and C's in a CS 2 course. Our results indicate that a) students of differing achievement levels approach programming tasks differently, and b) these differences can be automatically detected, opening up the possibility that they could be leveraged for pedagogical gain.
Introducing Data Science to School Kids
SPEAKER: Shashank Srikant
ABSTRACT. Data-driven decision making is fast becoming a necessary skill in jobs across the board. The industry today uses analytics and machine learning to get useful insights from a wealth of digital information in order to make decisions. With data science becoming an important skill needed in varying degrees of complexity by the workforce of the near future, we felt the need to expose school-goers to its power through a hands-on exercise. We organized a half-day long data science tutorial for kids in grades 5 through 9. Our aim was to expose them to the full cycle of a typical supervised learning approach - data collection, data entry, data visualization, feature engineering, model building, model testing and data permissions. We discuss herein the design choices made while developing the dataset, the method and the pedagogy for the tutorial. These choices aimed to maximize student engagement while ensuring minimal pre-requisite knowledge. This was a challenging task given that we limited the pre-requisites for the kids to the knowledge of counting, addition, percentages and comparisons. By designing an exercise with the stated principles, we were able to provide to kids an exciting, hands-on introduction to data science, as confirmed by their experiences. To the best of the authors' knowledge, the tutorial was the first of its kind. Considering the positive reception of such a tutorial, we hope that educators across the world are encouraged to introduce data science in their respective curricula for high-schoolers and are able to use the principles laid out in this work to build full-fledged courses.
Learning / Instructional Styles
Exemplary Paper: Deconstructing the Discussion Forum: Student Questions and Computer Science Learning
SPEAKER: Mickey Vellukunnel
ABSTRACT. Online discussion forums are widely used and hold great promise for supporting students in learning computer science. Understanding how we can best support students in learning computer science through online discussion forums is an important open question for the CS Ed community. This paper analyzes discussion forum posts from 395 students enrolled in CS2 across two different universities. The results demonstrate that students use the discussion forums often for logistical and relatively shallow questions. However, the largest portion of questions reflect some level of constructive problem-solving activity, and are positively correlated with course grades. Questions that neither describe students' reasoning nor their attempts to solve the problem constitute the smallest percentage of questions, but these questions may be particularly important to attend to because of their relationship to students' prior experience.
Exposed! CS Faculty Caught Lecturing in Public: A Survey of Instructional Practices
SPEAKER: Scott Grissom
ABSTRACT. Many research studies show students benefit from instructional practices that promote student interaction within the classroom. However, recent prominent reports suggest many instructors still rely on lecture as their dominant classroom activity. This paper reports on a survey of U.S. computer science teaching practices. Responses indicate many CS instructors use student-centered instructional practices but evidence suggests students would benefit from additional use of these practices. Twenty percent of CS instructors report “student-centered activities” are prominent in their classroom. CS instructors are more likely to use student-centered practices than those in other science disciplines but less likely to do so than colleagues in non-science fields. Female CS instructors are more likely to structure their courses around student-centered practices than their male colleagues.
Investigating Student Plagiarism Patterns and Correlations to Grades
SPEAKER: Craig Zilles
ABSTRACT. We analyzed 6 semesters of data from a large enrollment data structures course to identify instances of plagiarism in 4 assignments. We find that the majority of the identified plagiarism instances involve cross-semester cheating and are performed by students for whom the plagiarism is an isolated event. In addition, we find that providing students an opportunity to work with a partner doesn't decrease the incidence of plagiarism. Finally, while plagiarism on a given assignment is correlated with better than average scores on that assignment, plagiarism is negatively correlated with final grades in both the course that the plagiarism occurred and in a subsequent related course.
The Role of CS Departments in The US President’s “CS for All” Initiative
SPEAKER: W. Richards Adrion
ABSTRACT. In January 2016, US President Barack Obama started an initiative to provide CS for All – with the goal that all school students should have access to computing education. Computing departments in higher education have a particularly important role to play in this initiative. It’s in our best interest to get involved, since the effort can potentially improve the quality of our incoming students. CS Departments have unique insights as subject-matter experts to inform the development of standards. We can provide leadership to inform and influence education policy. In this session, we will present a variety of ways in which departments and faculty can support CS for All and will answer audience questions about the initiative. Our goal is to provide concrete positive actions for faculty.
Community Engagement with Free and Open Source Software
SPEAKER: Christian Murphy
ABSTRACT. A common refrain from senior exit surveys and alumni surveys is the desire to work on “real-world,” “practical” and “hands-on” projects using industry-ready tools and development environments. To assuage this, institutions have moved towards adopting Free and Open Source Software (FOSS) as an avenue to provide meaningful, applied learning interventions to students. Through these experiences, students benefit from engagement with various communities including: the community of contributors to the FOSS project; the community of local software developers; the community of citizens who reside in the local area; the community of students at their institution and others; and, the community of people impacted by the FOSS project.
These engagements motivate students, enhance their communication and technical skills, allow them to grow and become more confident, help them form professional networks, and provide the “real-world” projects they seek. In this panel, we will discuss our experiences in engaging students with five different types of communities as part of incorporating FOSS into our courses, focusing on how other educators can provide the same benefits to their students as well. In order to satisfy the time constraints of the panel, the last two authors will present together.
CS 1: Beyond Programming
SPEAKER: Jessen Havill
ABSTRACT. In this special session, we share a variety of ways in which CS 1 courses can broaden their focus beyond programming. These courses strive to effectively introduce the fundamental ideas of computer science, and the importance of computing in broader contexts, without sacrificing programming rigor.
Special Session: CS Education Research Knowledge Forum
SPEAKER: Leigh Ann Delyser
ABSTRACT. On April 14, 2016, the New York City Foundation for Computer Science Education (CSNYC) hosted the CSNYC Knowledge Forum: a one-day conference to inform computer science (CS) education researchers and practitioners throughout the country of the K12 work being implemented throughout NYC, and to engage their expertise to inform K-12 CS education research in NYC. Regarding research, CSNYC specifically sought to (1) identify and prioritize topics for research to accompany implementation, (2) construct a roadmap for long-term outcomes and necessary data collections, and (3) define ways in which CSNYC could support the research community in pursuing a research agenda in NYC. These objectives were pursued through an afternoon workshop of collaborative and highly interactive brainstorming and small-group activities (subsequently referred to throughout this document as `the format') led by Professor Alex J. Bowers, Associate Professor of Education Leadership at Teachers College, Columbia University. The proposed special session will be an adaptation of this workshop both to engage in processes the format and to explore research priorities among the SIGSCE community.
Due to limited space and funding, CSNYC was only able to include a subset of the CS Education community in this event. In order to expand the community contributing to the outcomes, we propose this special session in order to replicate some of the activities from the April 2016 Knowledge Forum, and share the activity with the larger SIGCSE community for replication.
Security Injections@Towson: Integrating Secure Coding into Introductory Computer Science Courses
SPEAKER: Blair Taylor
ABSTRACT. Despite the critical societal importance of computer security, security is not well integrated into the undergraduate computing curriculum. Security classes and tracks treat security issues as separable topics as opposed to fundamental issues that pervade all aspects of software development. Recently, there has been an increasing focus on security as a cross-cutting concern across the computer science curriculum. The Security Injections@Towson project provides resources and effective strategies to incorporate secure coding in the early programming classes. We describe the development, assessment, and dissemination of more than 40 lab-based security injection modules designed to be injected into courses with minimal impact on the curriculum. We include assessment results from 1,135 students across five diverse institutions demonstrating that the security injections help students retain, comprehend, and apply secure coding concepts in the introductory programming courses.
Heuristic Evaluation for Novice Programming Systems
SPEAKER: Michael Kölling
ABSTRACT. The past few years has seen a proliferation of novice programming tools. The availability of a large number of systems has made it difficult for many users to choose among them. Even for education researchers, comparing the relative quality of these tools, or judging their respective suitability for a given context, is hard in many instances. For designers of such systems, assessing the respective quality of competing design decisions can be equally difficult.
Heuristic evaluation provides a practical method of assessing the quality of alternatives in these situations and of identifying potential problems with existing systems for a given target group or context. Existing sets of heuristics, however, are not specific to the domain of novice programming and thus do not evaluate all aspects of interest to us in this specialised application domain.
In this article, we propose a set of heuristics to be used in heuristic evaluations of novice programming systems. These heuristics have the potential to allow a useful assessment of the quality of a given system with lower cost than full formal user studies and greater precision than the use of existing sets of heuristics. The heuristics are described and discussed in detail. We present an evaluation of the effectiveness of the heuristics that suggests that the new set of heuristics provides additional useful information to designers not obtained with existing heuristics sets.
Novice Java Programming Mistakes: Large-Scale Data vs. Educator Beliefs
SPEAKER: Neil C. C. Brown
ABSTRACT. Teaching is the process of conveying knowledge and skills to learners. It involves preventing misunderstandings or correcting misconceptions that learners have acquired. Thus, effective teaching relies on solid knowledge of the discipline, but also a good grasp of where learners are likely to trip up or misunderstand. In programming, there is much opportunity for misunderstanding, and the penalties are harsh: failing to produce the correct syntax for a program, for example, can completely prevent any progress in learning how to program. Because programming is inherently computer-based, we have an opportunity to automatically observe programming behaviour -- more closely even than an educator in the room at the time. By observing students' programming behaviour, and surveying educators, we can ask: do educators have an accurate understanding of the mistakes that students are likely to make? In this study, we combined two years of the Blackbox dataset (with more than 900 thousand users and almost 100 million compilation events) with a survey of 76 educators to investigate which mistakes students make while learning to program Java, and whether the educators could make an accurate estimate of which mistakes were most common. We find that educators' estimates do not agree with one another or the student data, and discuss the implications of these results.
Christine Alvarado, University of California, San Diego
Sanjay Srivastava, Vocareum
As demands for CS education has increased exponentially, often universities have had no choice but to increase the class sizes to meet this demand. Inevitably teachers have looked to technology to help manage these large classes. In this session we will discuss how Vocareum has been deployed to help teachers meet the challenge.
Speakers: James Reinders, HPC Enthusiast
Solving the biggest challenges in science, industry and society requires dramatic increases in computing efficiency. Today’s technical computing applications must be modernized to unlock the potential of current and future hardware. Educating the next generation of programmers and researchers on parallel programming will help gain insights on how to execute their code faster and gain advantage of inherent system architecture.
In this session, we will be sharing resources including hardware, free software for educators and students, hands-on training materials and more. By attending this session, you will receive real academic curriculum examples that includes hands-on labs experiments.
The Educator Identity and its Impact
SPEAKER: Mats Daniels
K-12 / Novice Learners
Reflecting on Three Offerings of a Community-Centric MOOC for K-6 Computer Science Teachers
SPEAKER: Katrina Falkner
ABSTRACT. A number of institutions and organisations provide online or face-to-face professional learning as part of outreach initiatives to increase skill levels and support for teachers in K-12 Computing education. With a number of countries introducing new K-12 Computer Science curriculum around the globe, this provides a prime opportunity for the Computer Science education community to transform and develop models of teacher professional learning that address teachers' needs at-scale. This paper explores the theoretical underpinnings of a community-based professional learning MOOC for Australian teachers for K-6 Computer Science. This paper reflects on data collected from three offerings of the MOOC, presented in light of the theory and design considerations. This paper provides valuable insights of the design of community-centric MOOCs, and acts as a guide for the construction of online professional learning opportunities for Computer Science educators.
Exemplary Paper: Preparing STEM Teachers to offer New Mexico Computer Science for All
SPEAKER: Irene Lee
ABSTRACT. In this paper, we describe a new teacher professional development program, New Mexico Computer Science for All (NM-CSforAll), that prepares high school science, technology, engineering and math (STEM) teachers to serve as learning coaches / teaching assistants for a dual credit Computer Science (CS) course. The dual credit course for students follows a “flipped classroom” model with the lecture portion delivered online through University of New Mexico (UNM) and the lab portion offered by participating teachers at local high schools. The course utilized a novel curriculum focusing on teaching CS concepts through computer modeling of complex adaptive systems. We reflect on what we learned while preparing STEM teachers to become CS teachers and discuss the affordances and barriers to bringing CS education to rural and under-resourced schools across the state of New Mexico.
A Comparative Analysis of Online and Face-to-Face Professional Development Models for CS Education
SPEAKER: David Webb
ABSTRACT. This paper compares student outcomes from 75 K-12 teachers who participated in either online, blended, or face-to-face professional development design to support teacher implementation of a programming curriculum during the regular school day. The analysis reported here is based on survey responses collected over two years from 4,760 students. With only one exception, the results showed no negative student outcomes when comparing student survey results from teachers who participated in online professional development compared to students of teachers who participated in face-to-face professional development. Students who had teachers who participated in face-to-face professional development, however, expressed stronger interest in designing their own games at home. These results suggest that online professional development that is designed to support K-12 teacher classroom implementation of CS education curricula is a viable model with respect to student outcomes. Recommendations for the design of online curricula for CS education are discussed.
Toward Computational Making with Madeup
SPEAKER: Chris Johnson
ABSTRACT. With the increasing availability of cheap miniature computers, networked appliances, and 3D printers, consumers are returning to their maker roots, inventing personal technologies. This maker movement confers many benefits to society: the growth of open source software and open standards, the proliferation of sharing sites where individuals freely publish design files, and communities of practice whose core values include education of new members. Sadly, the first two benefits may undermine the third: the maker movement generates much more stuff to consume. A school may purchase a 3D printer for educational purposes, only to have its student-makers simply download and print other people's models without learning to make their own. To prevent this kind of situation, educators must capitalize on the maker movement in ways that facilitate what we call computational making, which involves both meaningful cognition and the making of artifacts. In this paper, we describe one such way: a programming language named Madeup for generating 3D models.
Understanding High School Students’ Reading, Remixing, and Writing Codeable Circuits for Electronic Textiles
SPEAKER: Breanne Litts
ABSTRACT. In this paper, we examine students’ learning about computing by designing, coding, and remixing electronic textiles with sensor inputs and light outputs. We conducted a workshop with 23 high school students ages 16-17 years who learned how to craft and code circuits with the LilyPad Arduino, an electronic textile construction kit. Our analyses not only confirm significant increases in students’ understanding of functional circuits but also showcase students’ ability in reading, remixing and writing program code for controlling circuits. In our discussion, we address opportunities and challenges of introducing codeable circuit design for integrating maker activities that include engineering and computing into classrooms.
"Creating Cool Stuff" - Pupils' Experience of the BBC micro:bit
SPEAKER: Sue Sentance
ABSTRACT. The recent introduction of computer science (CS) education into schools in many countries has led to a surge in interest in programming tools and approaches which make CS concepts and tasks engaging, motivating and accessible to all. There is renewed interest in supporting learning through physical computing, which has been shown to be motivational whilst offering opportunities for collaboration and creativity. Within this context the BBC recently led a collaborative venture in the UK to develop a portable and low-cost programmable device. The consortium funded and produced one million devices, enough for every 11-12 year-old in the UK. In this paper, we report on what we believe to be the first study to investigate the usability and affordances of the BBC micro:bit. We interviewed 15 teachers and 54 pupils in schools in England about their experiences with the device who were, in general, enthusiastic about the potential of the BBC micro:bit. We describe pupils' experiences in terms of usability, creativity, the tangibility of the device and their learning of programming, and analyse their experiences in the context of previously reported benefits of physical computing.
Gamifying Course Modules for Entry Level Students
SPEAKER: Yin Pan
ABSTRACT. The growing shortage of skilled professionals in cybersecurity and forensics has increased global demand for information systems professionals. To identify and attract more students to cybersecurity and forensics programs, the authors developed a game engine along with a sequence of entertaining, engaging, and educational games, suitable for forensics and cybersecurity courses. This paper focuses on the design and development of a modular educational game framework composed of a game engine and a GUI-based game creator. Following narrative and storylines of the game via interactive dialogs and visualized abstract concepts, students are motivated and engaged to obtain the necessary knowledge. Students will also develop their problem solving skills by using real tools and technologies while playing the game. The GUI-based game creator allows educators to create and develop new educational games by only focusing on game content.
Exemplary Paper: Improving Students’ Learning and Achievement in CS Classrooms through Computational Creativity Exercises that Integrate Computational and Creative Thinking
SPEAKER: Duane Shell
ABSTRACT. Our research is based on an innovative approach that integrates computational thinking and creative thinking in computer science courses to improve student learning and performance. Referencing Epstein’s Generativity Theory, we designed and deployed Computational Creativity Exercises (CCEs) with linkages to concepts in computer science and computational thinking. Prior studies with earlier versions of the CCEs in CS1 courses found that completing more CCEs led to higher grades and increased learning of computational thinking principles. In this study, we extended the examination of CCEs to by deploying revised CCEs across two lower division (freshmen, sophomore) and three upper division (junior, senior) CS courses. We found a linear “dosage effect” of increasingly higher grades and computational thinking/CS knowledge test scores with completion of each additional CCE. This dosage effect was consistent across lower and upper division courses. Findings supported our contention that the merger of computational and creative thinking can be realized in computational creativity exercises that can be implemented and lead to increased student learning across courses from freshmen to senior level. The effect of the CCEs on learning was independent of student general academic achievement and individual student motivation. If students do the CCEs, they appear to benefit, whether or not they are self-aware of the benefit or personally motivated to do them. Issues in implementation are discussed.
Getting students to earnestly do reading, studying, and homework in an introductory programming class
SPEAKER: Frank Vahid
ABSTRACT. Getting students to read and study before class, to be better prepared for lecture, or to enable a flipped classroom is a long-standing difficulty for teachers of introductory programming classes. Furthermore, getting students to do homework, consisting of small practice problems and questions, is also a long-standing difficulty without massive grading resources. And even then, preventing students from copying others' solutions is difficult as well. Today, the web enables new interactive learning material that is replacing past forms of textbooks and homework assignments, and students today commonly have access to needed devices and the internet. This paper provides data on student reading and homework completion rates for web-based interactive learning material we created that automatically records reading and homework activity by students. The data is for several thousand students at over 10 universities, for introductory programming classes in Java, Python, and C++. The data shows that, with an appropriate amount of awarded points, required-reading completion rate was 84%, and auto-graded homework completion rate was 75%, varying somewhat based on how many course grade points those items were worth. Students on average spent about 10 minutes reading each section, and about 3 minutes per homework problem, both appropriate amounts for those items. Furthermore, we developed measures of whether students were earnestly attempting the reading and homeworks, versus just "cheating the system" to get course grade points. We describe those earnestness measures in this paper. With proper design and amount of assigned work, 80%-90% of students earnestly did the reading and homework activities, even when no penalty existed for cheating the system, and fewer than 3% blatantly cheated the system to get their points.
Impact of Prior Exposure to the PLP Instruction Set Architecture in a Computer Architecture Course
SPEAKER: Sohum Sohoni
ABSTRACT. This paper presents an initial investigation on the effect of non-pre-exposure to an instruction set architecture (ISA). In particular, a specialized ISA based on the Progressive Learning Platform (PLP) is implemented in the computer architecture course. Prior research has demonstrated the benefits of using PLP in the computer engineering curriculum. However, it is possible that the PLP ISA could hinder learning by requiring extra work for students to master it (extraneous load), if they have not had prior exposure to it. To investigate this, the current study implemented a quasi-experimental design with two groups (students knowledgeable with PLP from a previous course, and new users) and a pretest to determine differences in students’ familiarity with the common terms in computer engineering, pre-requisite knowledge for a computer architecture course, and course knowledge. Both sets of students implemented the PLP CPU in behavioral Verilog in the computer architecture course. Results of the evaluations revealed significant learning from pretest to posttest by students in both groups on all measures. Moreover, no group differences were seen, indicating that pre exposure to an ISA (specifically PLP ISA) might not be necessary for successful course implementation. This is promising, considering that many students at 4-year colleges in the USA transfer from other institutions, and may have exposure to different instruction set architectures in their prerequisite courses. The sample size for this study is too small to draw a firm conclusion, but these preliminary findings merit further exploration of this topic.
A Collaborative Approach to Teaching Software Architecture
SPEAKER: Arie van Deursen
ABSTRACT. Teaching software architecture is hard. The topic is abstract and is best understood by experiencing it, which requires proper scale to fully grasp its complexity. Furthermore, students need to practice both technical and social skills to become good software architects. To overcome these teaching challenges, we developed the Collaborative Software Architecture Course. In this course, participants work together to study and document a large, open source software system of their own choice. In the process, all communication is transparent in order to foster an open learning environment, and the end-result is published as an online book to benefit the larger open source community.
We have taught this course during the past four years to classes of 50-100 students each. Our experience suggests that: (1) open source systems can be successfully used to let students gain experience with key software architecture concepts, (2) students are capable of making code contributions to the open source projects, (3) integrators (architects) from open source systems are willing to interact with students about their contributions, (4) working together on a joint book helps teams to look beyond their own work, and study the architectural descriptions produced by the other teams.
MIPSUnit: A Unit Testing Framework for MIPS Assembly
SPEAKER: Zachary Kurmas
ABSTRACT. We present MIPSUnit, a unit test framework for MIPS assembly. MIPSUnit 's primary benefit is that it reduces the time needed to grade assembly language assignments. It also provides a time-efficient means for giving students additional testing experience; therefore, it can serve as one component of a curriculum-wide emphasis on testing. MIPSUnit is a suite of two tools: MUnit, which allows users to test their assembly code with JUnit tests, and MSpec, which uses RSpec-style unit tests.
Learning / Instructional Styles
Using Learning Analytics to Investigate Patterns of Performance and Engagement in Large Classes
SPEAKER: Hassan Khosravi
ABSTRACT. Educators continue to face significant challenges in providing high quality, post-secondary instruction in large classes including: motivating and engaging diverse populations (e.g., academic ability and backgrounds, generational expectations); and providing helpful feedback and guidance. Researchers investigate solutions to these kinds of challenges from alter- native perspectives, including learning analytics (LA). Here LA techniques are applied to explore the data collected for a large, flipped introductory programming class to (1) identify groups of students with similar patterns of performance and engagement; and (2) provide them with more meaningful appraisals that are tailored to help them effectively master the learning objectives. Two studies are reported, which apply clustering to analyze the class population, followed by an analysis of a subpopulation with extreme behaviours.
Automatically Classifying Students in Need of Support by Detecting Changes in Programming Behaviour
SPEAKER: Anthony Estey
ABSTRACT. Educational research has established that learning can be defined as an enduring change in behaviour, which results from practice or other forms of experience. In introductory programming courses, proficiency is typically approximated through relatively small but frequent assignments and tests. Scaling these assessments to track significant behavioural change is challenging due to the subtle and complex metrics that must be collected from large student populations.
Based on a four-semester study, we present an analysis of interaction data collected from 514 students and 38,796 practice programming exercises. We first evaluate the effectiveness of measuring workflow patterns to detect students at-risk of failure within the first three weeks of the semester. Our early predictor analysis accurately detects 81% of the students who struggle throughout the course. However, our early predictor also captures transient struggling, as 43% of the students who ultimately did well in the course were classified as at-risk. In order to better differentiate sustained versus transient struggling, we further propose a trajectory metric which measures changes in programming behaviour. The trajectory metric detects 70% of the students who exhibit sustained struggling, and mis-classifies only 11% of students who go on to succeed in the course. Overall, our results show how detecting changes in programming behaviour can help us differentiate learning versus struggling in CS1.
Exemplary Paper: Evaluating Neural Networks as a Method for Identifying Students in Need of Assistance
SPEAKER: Karo Castro-Wunsch
ABSTRACT. Course instructors need to be able to identify students in need of assistance as early in the course as possible. Recent work has suggested that machine learning approaches applied to snapshots of small programming exercises may be an effective solution to this problem. However, these results have been obtained using data from a single institution, and prior work using features extracted from student code has been highly sensitive to differences in context.
This work provides two contributions: first, a partial reproduction of previously published results, but in a different context, and second, an exploration of the efficacy of neural networks in solving this problem. Our findings confirm the importance of two features (the number of steps required to solve a problem and the correctness of key problems), indicate that machine learning techniques are relatively stable across contexts (both across terms in a single course and across courses), and suggest that neural network based approaches are as effective as the best Bayesian and decision tree methods. Furthermore, neural networks can be tuned to be reliably pessimistic, so they may serve a complementary role in solving the problem of identifying students who need assistance.
Increasing Diversity in the Face of Enrollment Increases
SPEAKER: Ignatios Vakalis
ABSTRACT. Recently, many computing departments in universities and colleges around the nation have seen increases in enrollments in the major. While these increases are largely welcome, it is important that the student population be diversified even as enrollments swell. What are departments doing to ensure that women are both recruited and retained in this changing environment?
This panel will share interventions undertaken by three U.S. post-secondary institutions that have focused on increasing their female and underrepresented student enrollment. Their efforts all include multi-pronged approaches, which is consistent with the social science research on how to create institutional reform in academic departments . These institutions have made changes that reflect increased departmental engagement with recruitment and retention for diversity: a shift in individual faculty pedagogical strategies, introductory course restructuring, as well as more outreach and preparatory programs for incoming students. These departments have not only implemented existing evidence-based practices to make these lasting changes, but have tried new ideas as well.
Building CS Teaching Capacity: Comparing Strategies for Achieving Large Scale Impact
SPEAKER: Carol Fletcher
ABSTRACT. Many states are taking up the President's challenge to provide CS for All. One of the most significant barriers to realizing this goal is the lack of trained and certified CS teachers. Building teacher capacity on a large scale is a challenge each of these panelists has tackled in their own region. Panelists will discuss the pros and cons of targeting in-service vs. pre-service teachers, online vs. face-to-face training, carrots vs. sticks, top down vs. bottom up strategies, and long-term vs. short term solutions to building capacity across an entire state or metropolitan area. Panelists represent CS for All efforts from Texas, New York City, and Arkansas.
SPEAKER: Matt May
ABSTRACT. A major component of computer science education is learning software design and development. Many, if not most, jobs in software design and development are in human facing software, so-called front-end design and development. Because of this, students should be learning how to design and develop for the high variability in human abilities. One common example is designing user interfaces that can be easily localized for different written languages. Another example, the topic of this special session, is designing for people who interact with computers in different ways because of a disability, namely, accessible computing. The World Health Organization estimates that there are about one billion people in the world with a significant disability. The United Nations Convention on the Rights of Persons with Disabilities (CRPD), that has been signed by 160 countries, mandates that countries “Promote the design, development, production and distribution of accessible information and communications technologies and systems at an early stage, so that these technologies and systems become accessible at minimum cost.” This cannot be accomplished unless computing education includes the concepts and skills needed to develop accessible products and services. Major companies including Microsoft, Google, Facebook, Adobe, and Yahoo! are all committed to making their products accessible. Many of their job descriptions are beginning to include requirements that the applicant be familiar with accessibility best practices. For example, a recent job description from Facebook for a Software Engineer, Mobile, Android UI included the requirement: “Familiarity with Android UI design principles and accessibility best practices.” Another recent job description from Adobe for a Senior Computer Scientist included a paragraph about “Making our technology accessible to all.” It included the statement “We believe everyone should have equal access to technology and its benefits. To help achieve this, Adobe is focused on making software more accessible for everyone. When we hire for engineering, development and design roles, we look for the following accessibility skills: • Base knowledge of the W3C’s Web Content Accessibility Guidelines v2.0 • Exposure to current tools used by people with disabilities (screen readers and other assistive technologies) • Experience with accessibility evaluation and validation software • Understanding of input and output modes used by people with disabilities • Familiarity with compliance requirements - state, Federal, international.” Colleges and university computer science programs that want to prepare their students well for the job market would be wise to include accessibility topics in their practical courses in software design and development.
Holistic Development of Underrepresented Students through Academic – Industry Partnerships
SPEAKER: Marlon Mejias
ABSTRACT. Underrepresented students and the institutions that serve these students need to recognize and address the unique challenges that impact their career pathways and successes. This special session will discuss challenges facing Minority Serving Institutions (MSIs) and how industry-academia partnerships can be a force in mitigating some of these challenges. We will explore how we as a community can work together to develop holistic programs to support student development and excellence. We will highlight the shortcomings, strengths and future of the Googler In Residence (GIR) program from the perspective of select participating colleges, as well as other successful initiatives in motion. It is also essential that promising interventions be shared and scaled across institutions that play an essential role in educating and preparing these students. We are still learning as we go, but this is an opportune time to come together as a community to share our challenges and solutions, to determine how we can move together and how we can all be involved as change advocates. It is meant to be interactive, create shared knowledge and help identify ways of moving forward serving MSIs.
The Application of the 2D Structure Tensor in Visual Arts Design
SPEAKER: Alec Battles
ABSTRACT. Tensors are a natural extension of matrices and vectors. They provide an ideal framework for abstracting relationships between related parameters. In image processing, tensors can be used to represent gradient information. The 2D structure tensor is one such representation, useful in corner detection and non- photorealistic rendering. This abstract summarizes my image processing filter based on the 2D structure tensor that generates artistic abstraction from photographs. With the 2D structure tensor, I explored ways to present the gradient directions of an image as artwork and investigated the relationship between the Gabor filter and the eigenvectors of the 2D structure tensor. Using this filter, I produce images that consist of a dense patchwork of lines, somewhat resembling certain artistic types of pen shading such as hatching and cross-contour shading. By applying this filter, I have found ways to categorize images that display salient groups of parallel lines. These images present a higher artistic quality and display better compositional style after being processed using the 2D structure tensor than the average photograph. Another finding is that not all resolutions of images are ideal for structure tensor processing and that an image size of 700-1000 pixels per side yields the best results from both a mathematical and artistic standpoint.
The Urban Archivist Application
SPEAKER: James Belford
ABSTRACT. The Urban Archivist Application is designed to capture Urban Artwork and its associated metadata from around the world. The Application itself is available for mobile platforms and has a web-interface for viewing the data. Urban Archivist allows users to take photos of urban art they may find while out in the field on research. Once these photos are gathered, the application will automatically grab all the associated metadata from the image and populate those field within the application, minimizing user error. The user will then enter their own findings regarding the image and may upload it to the central database. This art and its associated metadata is instantly available to view by any individual using either the web or mobile Urban Archivist interface. Furthermore, we want to be able to build a dataset large enough to explore and contribute to the realms of machine learning and virtual reality. The goal of this research project is to implement something that has been done prior, while adding modern technological options available to increase the research opportunities for Computer Science and Humanitarian scholars. Preliminary tests via the prototype confirmed the project’s ability to achieve this goal.
Tapping-based Authentication for Mobile Device Security
SPEAKER: Lukasz Brodowski
ABSTRACT. Passkeys have been around since personal phones have existed. The typical numeric PIN offers a limited number of combinations and is relatively easy to crack by guessing or eavesdropping. A tap sequence used as a passkey offers an infinite number of different combinations making it unique to that person and that person alone. Once a passkey is saved, it can be compared using the Euclidean distance formula to any other passkey resulting in a dissimilarity score to the master key. If this score is within a certain threshold, that passkey will grant or deny the user access. Our results show that it is possible to authenticate using a unique tap sequence, and convenient enough to be used everyday to unlock a personal device.
Mixed-initiative Personal Assistants
SPEAKER: Joshua W. Buck
ABSTRACT. Specification and implementation of flexible human-computer dialogs is challenging because of the complexity involved in rendering the dialog responsive to a vast number of varied paths through which users might desire to complete the dialog. To address this problem, we developed a toolkit for modeling and implementing task-based, mixed-initiative dialogs based on metaphors from lambda calculus. Our toolkit can automatically operationalize a dialog that involves multiple prompts and/or sub-dialogs, given a high-level dialog specification of it. Our current research entails incorporating the use of natural language to make the flexibility in communicating user utterances commensurate with that in dialog completion paths.
Time Lord: Covert Timing Channel Implementation and Realistic Experimentation
SPEAKER: Eduardo Castillo
ABSTRACT. Covert channels are unique methods for exchanging messages since they permit sending information secretly. Unlike encryption, covert communication allows to send information covertly, using an otherwise legitimate medium of transfer, thus it is not apparent that a message is being transferred at all. There is limited research on Covert Timing Channels (CTCs), i.e., channels that manipulate packet timing to exchange messages based on a certain encoding. Implementing and testing CTCs in a real network environment is lacking in the current literature due to the difficulty and sensitivity of this type of communication to network delays. Thus, it is important implement CTC communication to analyze the difficulties of creating robust, efficient, and undetectable channels in real life situations. It is also paramount to test these implementations in a wide range of conditions. In this research, we have developed and tested two implementations of covert timing channels. We developed the first implementation based on  using standard bits encoding and ASCII for simplicity and robustness. This implementation suffers from easy detection. On the other hand, we developed the second implementation with goal to make the channel undetectable by using encoding with multiple delays, i.e., symbols, where five symbols result to one letter of the alphabet. This implementation had sufficient randomness to be undetected with standard statistical mechanisms. We have tested both implementations on local networks, the Global Environment for Network Innovations controlled environment, networks across states in the US, and internationally.
ORCA: A Proof Assistant for Undergraduate Education
SPEAKER: Medha Gopalaswamy
ABSTRACT. There is a natural correspondence between mathematical proofs and computer programs. For instance, a recursive function and its correctness relate directly to inductive proofs in mathematics. However, many undergraduate students feel a disconnect between mathematics and computer science. There are several proof assistant tools which have been used by the educational community to introduce such concepts to students, but since these tools are not primarily created for educational purposes, students often do not benefit from them to the expected extent.
We have created an educational tool that draws from the benefits of existing provers and assistants and includes a novel proof language that mimics handwritten proofs. By creating a proof assistant with an intuitive user interface and a rich mechanism for providing constructive feedback, we hope to bridge the gap that many introductory computer science students find between mathematical proofs and program correctness.
Raising Flags: Detecting Covert Storage Channels using Relative Entropy
SPEAKER: Josephine Chow
ABSTRACT. Messages through covert channels may contain valuable information either in clear text or encrypted. This study focuses on a Covert Storage Channels (CSC) in TCP/IP network packets that uses the 6-bit TCP flag header to transmit messages between accomplices. It uses relative entropy to characterize the irregularities in the TCP flags. First a normal profile of TCP flags is represented by their frequency distribution of regular traffic packets. Then the TCP flag frequency distribution in network traffic is computed for each unique IP pair. The distance of the testing traffic data set from this normal profile is the relative entropy between these two distributions. Moreover to evaluate the performance of the proposed method this study uses real regular traffic data sets as well as CSC messages generated for both clear text and encrypted forms of a list of keywords common in Unix systems. Different approaches to choose the packets to be included in extracting the TCP flag frequencies are used. The experimentation results by Receiver Operating Characteristic (ROC) curves have shown that the method is promising to choose the best control threshold to differentiate normal and CSC traffic packet streams.
Identifying and Exploiting Vulnerabilities in Civilian Unmanned Aerial Vehicle Systems and Evaluating and Countering Potential Threats Against the United States Airspace
SPEAKER: Philip Costello
ABSTRACT. This research project investigates the vulnerabilities of civilian Unmanned Aerial Vehicles (UAV) systems and how they can be exploited by law enforcement should a UAV be utilized in a terrorist attack against the United States. Research into the vulnerabilities of civilian UAVs focused primarily on how such systems could be compromised and taken over by a third party, and for law enforcement to exploit as a potential countermeasure. In particular, the focus of the research was on using Internet Protocol (IP) Address and Media Access Control Address spoofing to spoof the UAV controller. Multiple techniques of spoofing attacks were conducted to compromise the UAV systems and allow for precision control from a third party computer. Additional research was conducted into intercepting an autonomous UAV via spoofing. By combining research from both computer science and political science disciplines, this paper identifies the threats that UAVs pose to the United States, while providing a reliable and safe way to counter certain UAV threat scenarios. In addition, the paper identifies potential flaws for US drone polices and attempts to provide accurate recommendations to prevent a potential attack from a Group 1 or 2 class UAV.
Quadrilateral Mesh Generation with a Provably Good Aspect Ratio Bound
SPEAKER: Christopher Gillespie
ABSTRACT. A mesh is the discretization of a geometric domain into small, simple shapes. The focus of this project is the generation of strictly convex quadrilateral (quad) meshes with provable quality guarantees through the conversion of good quality triangle meshes of planar straight line graphs. The conversion is achieved with an algorithm that uses the dual graph of the input triangulation to quadrangulate small groups of triangles at a time [1,3,4]. A specific goal of the project is proving an upper bound on the aspect ratios of all quads in the mesh. We implement two different metrics to measure the aspect ratios of the quads in the generated meshes. The first metric simply takes the ratio of the longest edge to the shortest edge for each quad. The disadvantage of this method is that it does not take into account the angle measures of the quads. The second approach, a method developed by John Robinson , utilizes both edge lengths and angle measures to calculate aspect ratio. We develop code to produce empirical results for both metrics of aspect ratio measurement and histogram plots showing the distribution of quad aspect ratios in a given mesh. With these experimental results, we aim to prove that, given a good quality input triangle mesh with a minimum angle bound, we can give a provably good upper bound on aspect ratio for the resulting quad mesh.
Applying Machine Learning to Predict Davidson College’s Admissions Yield
SPEAKER: Joseph Jamison
ABSTRACT. This project attempted to find a solution to the problem of declining yield rates at colleges and universities around the nation. Yield rate, the rate at which accepted students decide to enroll at a given school, is important to a school for academic, economic and logistical reasons. As such, this project aimed to raise the yield rate at Davidson College by applying machine learning techniques to applicant data in order to predict the yield decisions of the applicants. Using these techniques, a model was created that predicted applicants’ yield decisions with 86% accuracy. With these predictions, Davidson College can have a better understanding of their yield and can consequently make more informed, tactical admissions decisions, thus raising their yield rate.
Optimizing Kinect® Depth Sensing Using Dynamic Polarization
SPEAKER: Jakub Jancek
ABSTRACT. The Microsoft Kinect® provides a low-cost solution for measuring distance; however, it has poor performance in bright light conditions. The focus of this project is to design a system to autonomously adjust a pair of polarizing filters in order to effectively utilize the Kinect®’s depth measurement capabilities in different lighting conditions, including outdoor applications. A system designed to dynamically change the orientation of the polarizing filters to select the optimal depth image, without manual adjustment, is the novel contribution of this work. Our approach involves a feedback loop that allows the system to autonomously determine which filter position results in the best image and rotates the filter automatically. Furthermore, the system can perform these tasks periodically over time as light conditions change. This system captured images of objects at various distances from the sensor in different lighting conditions to determine the system performance. Our experiments have demonstrated the effectiveness of dynamically adjusted polarization filters to actively select the best depth image, even in environments challenging for the Kinect®.
One Size Doesn’t Fit All
SPEAKER: Zane Johnston
ABSTRACT. The vocal user interface (VUI) Myna allows a user to interact with the block-based language development environment Scratch. Unfortunately, the original implementation of Myna does not allow for screen resolutions outside of its original implementation, for the scrolling of scrollbars, nor the navigation of prompts and dialogs created by Scratch. The lack of these abilities essentially halves Myna’s functionality relative to what the Scratch GUI offers. I offer three solutions to these problems, which will be evaluated by Computer Science students and users with mobility impairments in order to determine the validity of these solutions as well as the user’s satisfaction with Myna and using voice as an input modality.
SPEAKER: Amy MacDonough
ABSTRACT. Our goal is to explore optimizations that allow us to write idiomatic recursive programs without losing efficiency. One such transformation is a tupling transformation, which we implemented as a GHC plugin. However, we found that his transformation is applicable only to a narrow class of problems. We would like to widen this class by exploring similar transformation techniques, such as tabulation.
Creative Computing and Society: When undergraduates design a curriculum for an introductory computing course
SPEAKER: Sierra Magnotta
ABSTRACT. Understanding of computing skills and concepts is no longer viewed as optional, but is knowledge that is required to progress in several fields outside of computer science, even outside STEM fields. Despite the need for this knowledge, non-STEM majors’ participation in computing courses is still lacking. This is especially true for women and other minority groups. In our work, our main motivation was creating a course at our institution, Bucknell University, that would make computer science more accessible to other non-STEM majors on our campus. We adopted an approach of situating course design in the experiences and perspectives of undergraduate students themselves. To achieve this, the course curriculum and materials were designed and created by three undergraduate students, all below the junior level, who connected course topics to a wide variety of topics outside computing.
Digitalizing Paper-Based Exams: An Assessment of Programming Grading Assistant
SPEAKER: Hannah Murphy
ABSTRACT. In this study, we evaluate a new electronic mobile application, PGA (Programming Grading Assistant). It was designed to make grading paper-based exams easier for graders and professors. Not only does it facilitate grading, but PGA also provides students with more meaningful (semantic) feedback than non-PGA grading. We outline the PGA grading process, the execution of a user study, and the results from that study that prove the effectiveness of PGA technology. Other results indicate that PGA awarded grades are equivalent to red-pen awarded grades and that PGA grades are more consistent across the board.
A Pathway to Strengthening Support for Beauty and Joy of Computing Teachers
SPEAKER: Meghana Subramaniam
ABSTRACT. Computer science education in high school is fundamental for increasing the diversity in computing majors at a university level. However, computer science is not often taught in America before university, and usually, the professionals who teach it are not trained experts in computer science concepts and terminology. In this paper, we introduce a new style of coding rubric, which allows teachers to better understand the fundamentals of the course being taught. In the scope of this research, we focus solely on the Beauty and Joy of Computing, an AP Computer Science Principles course. Coding assignments were collected from two groups of students, and assignments were graded and compiled by raters. After being rated, the rubrics were modified to be better adapted to teachers' expectations.
Teacher Configurable Coding Challenges for Block Languages
SPEAKER: Nath Tumlin
ABSTRACT. COPPER (CustOmizable Puzzle Programming EnviRonment) is a meta-configurable tool for creating coding puzzles on a grid using a blocks-based programming language, similar to puzzles in Code.org’s Hour of Code. COPPER has the potential to increase student interest and engagement by allowing a teacher to customize levels for individual classes or students. Teachers can create characters for specialized puzzles by uploading pictures to customize their appearance and using the block-language to design the character’s behavior. They can then place these characters onto a grid, and arrange them into a puzzle for their students to solve. A teacher can specify the goal of each coding puzzle, as well as restrict which blocks a student may use, allowing a teacher to gradually introduce programming concepts. For example, an elementary school teacher could highlight concepts from a history lesson by building a customized grid where characters from a historical context navigate around objects relevant to the topic being studied. COPPER uses Google’s Blockly framework to eliminate the mental overhead of memorizing textual syntax, allowing students to focus on building computational thinking skills. Block-based languages have been shown to be more effective than text-based languages when teaching programming to first-learners. Combined with customization, COPPER has the potential to lead to higher student interest and comprehension of programming concepts in a customized context. This poster will also summarize results obtained through initial experimentation through collaboration with K-8 teachers and their students.
Improving SAT-Solving with Machine Learning
SPEAKER: Haoze Wu
ABSTRACT. In this project, we aimed to improve the runtime of Minisat, a Conflict-Driven Clause Learning (CDCL) solver that solves the Propositional Boolean Satisfiability (SAT) problem. We first used a logistic regression model to predict the satisfiability of propositional boolean formulae with the values of certain ratio of variables fixed. We then applied the logistic model and added a preprocessing period to Minisat to determine the preferable initial value (either true or false) of each boolean variable with a Monte-Carlo method. Concretely, for each Monte-Carlo trial, we fixed the values of a certain ratio of randomly selected variables, and calculated the confidence that the resulting sub-formula is satisfiable with our logistic regression model. The initial value of each variable was set based on the mean confidence scores of the trials that started from the literals of that variable. We were particularly interested in setting the initial values of the backbone variables correctly, which are variables that have the same value in all solutions of a SAT formula. The logistic regression model yielded an accuracy of 78%. Our Monte-Carlo method was able to set 78% of the backbones correctly. Excluding the preprocessing time, compared with the default setting of Minisat, the runtime of Minisat for satisfiable formulae decreased by 23%. However, our method did not outperform vanilla Minisat in runtime, as the decrease in the conflicts was outweighed by the long runtime of the preprocessing period.
Quadrilateral Mesh Boundary Classification and Editing
SPEAKER: Ziyan Yang
ABSTRACT. Polygonal meshes have become the industry standard for the representation of surfaces with highly complex geometry and arbitrary genus in computer graphics and geometry processing applications. We investigate how to extend a point-set algorithm that utilizes a quadtree subdivision to construct a quadrilateral mesh with both angle and aspect ratio bounds. The main goal is to adapt the algorithm to respect polygon edges so that we will obtain a method to mesh polygonal regions (possibly with holes), with quadrilateral elements that have guaranteed worst-case minimum and maximum angles as well as aspect ratio (longest edge over shortest edge). Currently, there is no known algorithm that generates quadrilateral meshes with both angle and aspect ration guarantees.
Using Scratch and Female Role Models while Storytelling Improves Fifth-Grade Students' Attitudes toward Computing
SPEAKER: Isabel Freihofer
ABSTRACT. Women are underrepresented in the computer science field. In fact, only 15% of bachelor degrees in pure computer science are awarded to women . The literature reveals various reasons for the underrepresentation of women in computing, including lack of role models . An experimental class at DePauw University undertook a project to expose fifth graders to both programming and female role models, in order to change attitudes toward computing – in particular, the attitudes of both boys and girls to the inclusion of girls in computing activities. The DePauw class visited the children a total of 5 times, administering an attitude scale (CATS ) as both a pre-test and post-test instruments. The children learned the programming language, Scratch, and developed two storytelling endings for books they had read in their current English units. Pre- and post-test comparisons of the 10 CATS items (Likert-type attitude scale) were obtained using one-tailed t-tests for the 10 paired responses from the 20 children (10 boys and 10 girls). The t-test for item number 7 ("Technology is as difficult for girls as it is for boys.") yielded a p-value of 0.019, which was significant at the .05 level. Since little girls and little boys should think that computing is equally easy and equally difficult for each sex, the results provide one piece of evidence that providing a series of lessons involving Scratch by a team of students with sufficient female role models (4 female students and 4 male) can change children's attitudes toward computing.
Neo-Piagetian Classification of Reasoning Ability and Mental Simulation in Microsoft’s Kodu Game Lab
SPEAKER: Ashish Aggarwal
ABSTRACT. Over the past five years, there has been a major push to develop the computational thinking skills of K-12 students. Tools such as Scratch, Alice, and Kodu have been developed to engage students in learning to program through the creation of computational artifacts (e.g., games, animations, and stories). However, less is known about how elementary and middle school children reason about program behavior. Such skills are useful for reading and adapting others programs, locating possible sources of bugs, and predicting program behavior given code snippets (i.e., mental-simulation). The goal of this poster is to measure and track the development of students’ ability to reason about programs using Teague & Lister’s Neo-Piagetian classification of novice programmers: Sensorimotor, Preoperational Thinkers, and Concrete Operational Thinkers. We operationalize Teague and Lister’s category descriptions by creating a criterion for each category. This classification has helped us characterize students’ mastery of strategies for reasoning about the lawful behavior of programs using a Kodu curriculum. In particular, this categorization was used to differentiate students’ reasoning styles using data from two studies having 20 and 19 students each. We found strong consistency in the results across both studies. Through analysis and categorization of student responses, most students fall into the preoperational thinker category. Within this category, we found a diversity of mastery patterns that help us understand where students face challenges in reasoning about programs.
Managing the Internet of Things
SPEAKER: Ben Romano
ABSTRACT. The number of devices connected to the internet has increased dramatically in recent years, driven in large part by a new movement called the “Internet of Things” (IoT). With the IoT, new applications for Internet connectivity have emerged beyond just laptops and smartphones, to unite a heterogeneous collection of connecting points tied to various aspects of daily life (e.g. Internet-enabled appliances, vehicles and wearable computing devices). As more devices are added to the Internet each day, controlling their interaction has become very challenging. The goal of this project is to create a software solution that will manage connected devices and allow users to specify the meaning of the device interactions. To achieve this, we are currently creating an Internet of Things platform, Wendo, to handle device connections, and a website to manage these devices. The platform is hardware agnostic allowing users to run the software on their own devices that support the communication standards they need. Additionally, Wendo can be extended easily to support new communication standards as they are released. To allow non-programmers to take advantage of our platform, we created ThingScript, a simple domain-specific language that has an English-like syntax that can be adopted by end-users to define the relationship between devices. We determine what actions can be performed on a device by requiring a ThingScript definition file (.tdef). This file includes information about the actions, events and public data of each device.
Sniffing Through Millions of Blocks for Bad Smells
SPEAKER: Peeratham Techapalokul
ABSTRACT. Code smells codify poor coding patterns known to degrade software quality. Block-based languages have proven to be a viable educational and end-user programming paradigm with increasing adoption across a broad spectrum of users and domains. This rising popularity of this programming paradigm calls for a serious look at the program quality written in block-based languages. While code smells in the context of text-based languages have been studied extensively, the research community lacks a comprehensive understanding of code smells in block-based software.
To address this problem, we present the results of a large-scale study of code smells prevalent in programs written in the highly popular Scratch programming language. We analyzed programs submitted to the public Scratch repository in 2016, considering a million programs altogether. We discovered interesting relationships between the prevalence of certain smells and the levels of proficiency of the programmers commonly introducing them. Our findings not only can help block-based programmers improve the quality of their software, but also establish the requirements for refactoring support in this programming domain.
Scaling Up Automated Verification: A Case Study and Formal-IDE for the Construction of High Integrity Software
SPEAKER: Daniel Welch
ABSTRACT. This work aims to show through a detailed case study that scaling up automated verification to larger non-trivial data structures is not only possible, but when combined with appropriate tool support, can be made more comprehensible and practicable to users in a variety of settings, including the undergraduate curriculum. The study itself, which involves an interplay of multiple components annotated with formal interface contracts, is built using a formal integrated development environment (F-IDE) that has been preliminarily evaluated by students enrolled in a one semester, upper level undergraduate software engineering course at Clemson University. The components involved in the study are all designed to be modular, reusable, and amenable to automated verification and analysis.
EarSketch: A STEAM-based Approach for Underrepresented Populations in High School Computer Science Education
SPEAKER: Brian Magerko
ABSTRACT. This article presents EarSketch, a learning environment that combines computer programming with sample-based music production to create a computational remixing environment for learning introductory computing concepts. EarSketch has been employed in both formal and informal settings, yielding significant positive results in student content knowledge and attitudes toward computing as a discipline, especially in ethnic and gender populations that are currently underrepresented in computing fields. This article describes the rationale and components of EarSketch, the evaluation design, and lessons learned to apply to future environment design and development.
Undergraduate Students’ Perceptions of the Impact of Pre-college Computing Activities on Choices of Major
SPEAKER: Monica McGill
ABSTRACT. A lack of diversity in the computing field has existed for several decades, and although female participation in computing remains low, outreach programs attempting to address the situation are now quite numerous. To begin to understand whether or not these past activities have had long-term impact, we conducted a systematic literature review. Upon discovering that longitudinal studies were lacking, we investigated whether undergraduate students believed that their participation in computing activities prior to college contributed to their decision to major in a computing field. From the 770 participants in the study, we discovered that approximately 20% of males and 24% of females who were required to participate in computing activities chose a computing or related major, but that males perceived that the activity had a greater affect on their decision (20%) than females (6.9%). Females who participated in an outreach activity were more likely to major in computing. Compared with females who chose to major in computing, females who did not were less likely to indicate that the majority of students participating in activities were boys and that they were a welcome part of the groups. Results also showed that female participants who do not ultimately major in computing have a much stronger negative perception of the outreach activities than male participants who also chose a non-computing major. Although many computing outreach activities are designed to diversify computing, it may be the case that, overall, boys receive these activities more favorably than girls, although requiring participation yields approximately the same net positive impact.
Misty V. Decker, IBM
Blockchain is the technology underneath Bitcoin but now a wide variety of industries are researching ways to use the technology to transform business to business transactions. Come learn what Blockchain is and how you and your students can be a part of innovating the future. We’ll look at real world scenarios in development today such as identifying conflict-free diamonds, determining the safety of fish, tracing property ownership for title searches, and exchanging property or managing contracts without an intermediary.
Jennifer Dimatteo, Intel Corporation
Solving the biggest challenges in science, industry and society requires dramatic increases in computing efficiency. Today’s technical computing applications must be modernized to unlock the potential of current and future hardware. Educating the next generation of programmers and researchers on parallel programming will help gain insights on how to execute their code faster and gain advantage of inherent aystem architecture.
In this session, you will be able to directly apply modernization techniques to existing codes (such as the cardiac simulator, showing electrical signal propagation through the heart) in order to unlock the hardware capabilities. You’ll utilize the full Intel® Parallel Studio XE suite of tools in order to discover how to best find and optimize performance bottlenecks in HPC applications, resolve parallelism issues, and scale to higher core counts.
Writing Autograders for Snap! And Integrating them Into Your Course
SPEAKER: Michael Ball
ABSTRACT. While text based languages have been (relatively) straightforward to grade automatically, visual programming languages have been largely left out of the equation. However, as the demand for introductory CS courses has recently grown, so too has the interest in CS courses that use visual programming languages, and thus the need for a scalable solution to providing student feedback. The demo will present a system an autograder for Snap!, a visual programming language inspired by Scratch. Our autograder is a hosted solution which would allow other courses to use our tools with little effort. At the most basic level, the autograder contains a database of questions, test cases, and a method for presenting results to students. However, there are additional features for integration through LTI and advanced data analysis.
BlockPy Interactive Demo: Dual Text/Block Python Programming Environment for Guided Practice and Data Science
SPEAKER: Austin Bart
ABSTRACT. Introductory non-major learners face the challenge of mastering programming fundamentals while remaining sufficiently motivated to engage with the computing discipline. In particular, multi-disciplinary students struggle to find relevance in traditional computing curricula that tend to either emphasize abstract concepts, focus on entertainment (e.g., game and animation design), or rely on decontextualized settings. To address these issues, this demo introduces BlockPy, a web-based environment for Python (https://blockpy.com). The most powerful feature of BlockPy is a dual text/block view that beginners can freely move between, using advanced Mutual Language Translation techniques. The environment contextualizes introductory programming with data science by integrating real-world data including weather reports, classic book statistics, and historical crime data. A fusion of Blockly and Skulpt, the entire interface runs locally with no need for server sandboxing. BlockPy is also a platform for interactive, guided practice problems with automatic feedback that scaffolds learners. This demo will walk through the novel features of BlockPy’s environment, including the instructor’s perspective of creating new problems and how BlockPy can be embedded in modern LTI-compatible learning management systems. BlockPy is available online for free and is open-sourced on GitHub. This material is based on work supported by the NSF under Grants No. DGE-0822220, DUE-1444094, and DUE-1624320.
K-12 / Novice Learners
Pre-College Computing Outreach Research: Towards Improving the Practice
SPEAKER: Adrienne Decker
ABSTRACT. Europe, Australia, and North America face two similar challenges with respect to computing--there have not been enough students matriculating to keep up with demand and the lack of diversity remains an issue. To address these challenges, private and public resources have been allocated to educate primary and secondary students in computing. Previous meta-studies on these often segregated outreach efforts within the United States indicate that research on their impact remains spotty, short-term, and inconsistent, leaving a gap in the ability to evaluate their long-term impact. Building upon previous research focused in the U.S., this study examines similarities and differences in the results of 17 formal, peer-reviewed computing education research journals and conferences across Australia, Europe, and North America during 2009-2015. Results indicate that a lacuna exists in international research, paralleling results of the more narrowly focused study of U.S. venues. The paper further defines the major issues researchers face in conducting assessment studies for outreach and recommendations for addressing this gap.
Visions of Computer Science Education: Unpacking Arguments for and Projected Impacts of CS4All Initiatives
SPEAKER: Sara Vogel
ABSTRACT. As momentum grows to expand K12 Computer Science education, associated public narratives often assume core questions about why CS should be taught to all students have been sufficiently answered. Having clarity around the core purposes that varied stakeholders are envisioning is critical to ensuring the coherence of CS4All policies and initiatives. This study presents a framework examining the range of arguments for and projected impacts of CS education programs. Based on data drawn from a researcher-facilitated participatory knowledge building process involving 26 CS education stakeholders who articulated 161 arguments, we identify six areas of impact present in arguments for universal CS education: (1) economic and workforce development, (2) equity and social justice, (3) competencies and literacies, (4) citizenship and civics, (5) scientific, technological and social innovation and (6) school improvement and reform. Findings show that individual arguments and visions for CS education often index multiple impact areas. We intend for this framework to support CS education stakeholders as they carefully consider how their current initiatives reflect different ideologies and assumptions about what CS4All projects are meant to achieve.
Defining a Discipline or Shaping a Community: Constraints on Broadening Participation in Computing
SPEAKER: Joanna Weidler-Lewis
ABSTRACT. Understanding how to increase participation and continued persistence of women in computing is a perennial problem. This paper explores the ways in which participation in computing can be defined either by a narrow disciplinary practice framework or a more expansive social practice framework. How participation in computing is defined is consequential regarding our understanding of women’s persistence in computing. The data for this paper come from 64 in-depth, qualitative interviews with young women who in high school expressed interest in computing by looking into NCWIT’s Aspirations in Computing Award. Analyses of the interviews show that defining participation in computing from a disciplinary perspective unduly prohibits some women from full membership in computing communities. Findings show that some women who self-identify with the computing community are not fully recognized by other members of the computing community.
From blocks to text and back: Programming patterns in a dual-modality environment
SPEAKER: David Weintrop
ABSTRACT. Blocks-based, graphical programming environments are increasingly becoming the way that novices are being introduced to the practice of programming and the field of computer science more broadly. An open question surrounding the use of such blocks-based tools is how well they prepare learners for using more conventional text-based programming languages. In an effort to address this transition, new programming environments are providing support for both blocks-based and text-based programming. In this paper, we present findings from a study investigating how learners use a dual-modality programming tool where they can choose to work in either a blocks-based or text-based interface, moving between them as they work. Our analysis investigates what modality learners choose to work in, and if and why students move from one representation to other within a single project. We conclude with a discussion of design implications and future directions for this work. This work contributes to our understanding of the affordances of blocks-based programming environments and advances our understanding of how best to utilize them.
A Visual Programming Environment for Learning Distributed Programming
SPEAKER: Brian Broll
ABSTRACT. This paper introduces NetsBlox, a visual programming environment for learning distributed programming principles. Extending both the visual formalism and open source code base of Snap!, NetsBlox provides two accessible distributed programming abstractions to simplify the process of creating networked applications: message passing and Remote Procedure Calls (RPC). Messaging passing allows NetsBlox applications to send data to other connected NetsBlox clients. Remote Procedure Calls enable seamless integration of third party services, such as Google Maps, weather, traffic and other public domain data sources, into NetsBlox applications. Other RPCs help coordinating distributed clients which may be difficult for novice programmers allowing the user to more quickly create captivating and sophisticated applications. These abstractions empower users to develop networked programs, including multi-player games and client-server applications. By providing networking support, NetsBlox not only allows users to learn distributed programming concepts but also makes programming more engaging by incorporating diverse services available on the web.
Using Upper-Elementary student performance to understand conceptual sequencing in a blocks-based Curriculum
SPEAKER: Diana Franklin
ABSTRACT. As more elementary schools commit to integrating computer science instruction into K-6 curricula, they seek guidance on what concepts are appropriate for students at different grade levels, and to what depth they should be covered. Currently, little is known about how best to sequence computer science learning across elementary grades. In this paper, we present an analysis of 123 students’ (age 9-12, grades 4-6) activities in a curriculum implemented in a visual block-based programming language. Our goal is to better understand the developmental appropriateness of foundational computer science ideas.
All 4th, 5th, and 6th grade students in a single school completed the first module of the curriculum during the same school year with the same instructor. We analyzed each task students attempted and found that for simple concepts, there was little difference in performance between grade levels, while more complex topics, such as breaking down actions and initialization, were easier for older students. A closer look reveals that students understood the basic concepts, but were challenged by both non-CS skills and deeper applications of the basic concepts. This work serves as an empirically grounded investigation of elementary computer science learning and contributes to our understanding of computer science trajectories and concept sequencing in the late elementary grades.
Exemplary Paper: Evaluating Student Learning from Collaborative Group Tests in Introductory Computing
SPEAKER: Yingjun Cao
ABSTRACT. Collaborative group exams, including two-stage exams, have received increased attention in other disciplines after studies have shown their value for student learning. In computer science, prior work has shown students may value two-stage exams, but their impact on student learning in computing is unknown. In this randomized, crossover study, student learning on four topics during two-stage midterm exams is examined. Specifically, students are randomly selected to answer questions on a topic either working in groups or individually during the exam. On a quiz two weeks later, those who worked in groups statistically significantly outperform those who worked individually. The metric of performance comparison is normalized learning gain. These are short term gains, however, as the benefit is no longer apparent by the final exam. This is the first study to use controlled experiments to examine the value of the group stage of two-stage exams in computing.
In-Lab Programming Tests in a Data Structures Course in C for Non-Specialists
SPEAKER: Edwin Knorr
ABSTRACT. This paper reports on our experiences with in-lab programming tests (i.e., using a compiler and IDE) in a large undergraduate data structures course in C for non-specialists. By adding a suite of in-lab programming tests to our regular assessments (midterm, final exam, programming homework, etc.), we expected students to improve significantly in these areas: (1) programming ability as measured by final exam grades on programming-related questions, (2) confidence in programming ability, and (3) contributions/effectiveness in pair programming partnerships. Goal (1) was not met. Although Goal (2) was met, improved confidence did not translate into improved performance. Goal (3) was partially met. We present data gathered from in-lab programming test assessments, final exam programming assessments, and post-course surveys--including a two-year follow-up survey.
Exemplary Paper: Interactions of Individual and Pair Programmers with an Intelligent Tutoring System for Computer Science
SPEAKER: Rachel Harsley
ABSTRACT. Pair programming is a practice where two coders work side by side at one computer. The practice has been linked to many benefits including increased student engagement, satisfaction, and course grades.
Cybersecurity for Future Presidents: An Interdisciplinary Non-majors Course
SPEAKER: David Voorhees
ABSTRACT. We discuss the design and implementation of an interdisciplinary non-majors course Cybersecurity for future presidents, which broadens the types of computational courses available for non-majors. The goal of our course is to build awareness of cybersecurity issues and to promote thinking critically about them. Student debates on controversial cybersecurity issues facing society today motivate the technical and policy content. We present student assessment results, which demonstrate an increase of students’ awareness, and outline directions for future course improvements.
CANCELLED: Scenario-Based Inquiry for Engagement in General Education Computing
SPEAKER: Kristine Nagel
ABSTRACT. Faculty face motivational and engagement challenges in general education computing courses. Inquiry-based learning strategies show promise in engaging students in an authentic discovery process. In a general education computer literacy course, we adapted scenario-based curriculum to create a classroom environment where students are faced with a real-life cybersecurity crisis and spurred into active discussion. Working as a team, they were required to analyze provided evidence and document a reasoned solution. We share implementation strategies and challenges to adopting scenarios promoting active learning. Our pilot data suggests this curriculum approach has a positive impact on students’ interest in computing, while engaging them in real-world, multi-disciplinary content.
Capture the Flag Unplugged: An Offline Cyber Competition
SPEAKER: Vitaly Ford
ABSTRACT. In order to meet the cybersecurity workforce demand, it is important to raise cybersecurity interest among the youth. Just like ACM programming competitions, Capture the Flag (CTF) competitions allow students to learn cybersecurity skills in a fun and engaging way. It is an effective platform to increase students’ interest in cybersecurity and prepare them for defending against real cyber attackers. A typical CTF competition requires at least some basic technical security knowledge and months of diligent preparation. For this very reason, many computer science students do not feel qualified to participate in CTF competitions, and as a result, do not even try. To overcome this lack of confidence while at the same time raising awareness about the cybersecurity profession in a realistic fashion, we have developed the CTF Unplugged project, as inspired by the CS Unplugged project. The primary goal is to teach students with little or no technical knowledge about the different cybersecurity challenges that a cybersecurity professional must address and the problem-solving skills needed for a cybersecurity career, all without direct use of technology. The effectiveness of CTF unplugged project has been evaluated after exposing 36 high school students participating in the Tennessee Tech University GenCyber Camp to these activities this past summer. Students reported a significant gain in knowledge, confidence and comfort level after participation.
Learning / Instructional Styles
Exemplary Paper: Generating hints and feedback for Hilbert-style axiomatic proofs
SPEAKER: Josje Lodder
ABSTRACT. This paper describes an algorithm to generate Hilbert-style axiomatic proofs. Based on this algorithm we develop logax, a new interactive tutoring tool that provides hints and feedback to a student who stepwise constructs an axiomatic proof. We compare the generated proofs with expert and student solutions, and conclude that the quality of the generated proofs is comparable to that of expert proofs. Logax recognizes most steps that students take when constructing a proof. If a student diverges from the generated solution, logax can still provide hints and feedback.
A Curriculum Model Featuring Oral Communication Instruction and Practice
SPEAKER: Jennifer Polack
ABSTRACT. Employers cite oral communication skills as one of the most desired skills when hiring new graduates . Previous research largely indicates that oral communication skills of recent graduates do not meet industry expectations . It is therefore essential that computer science graduates receive classroom instruction related to effective communication and also classroom opportunities to practice and develop communication skills. We present a model curriculum in which communication skills are integrated throughout the major program, allowing students to develop skills in a variety of settings and contexts while mastering the technical content of the computer science major.
Do Enhanced Compiler Error Messages Help Students? Results Inconclusive.
SPEAKER: Raymond Pettit
ABSTRACT. One common frustration students face when first learning to program in a compiled language is the difficulty in interpreting the compiler error messages they receive. Attempts to improve error messages have produced differing results. Two recently published papers showed conflicting results, with one showing measurable change in student behavior, and the other showing no measurable change. We conducted an experiment comparable to these two over the course of several semesters in a CS1 course. This paper presents our results in the context of previous work in this area. We improved the clarity of the compiler error messages the students receive, so that they may more readily understand their mistakes and be able to make effective corrections. Our goal was to help students better understand their syntax mistakes and, as a reasonable measure of our success, we expected to document a decrease in the number of times students made consecutive submissions with the same compilation error. By doing this, we could demonstrate that this enhancement is effective. After collecting and thoroughly analyzing our own experimental data, we found that—despite anecdotal stories, student survey responses, and instructor opinions testifying to the tool’s helpfulness—enhancing compiler error messages shows no measurable benefit to students. Our results validate one of the existing studies and contradict another. We discuss some of the reasons for these results and conclude with projections for future research.
Broadening Participation in Computer Science: Key Strategies from International Findings
SPEAKER: Rebecca Vivian
ABSTRACT. This special session is based around key findings of a Barbara Cail STEM Fellowship that aims to inform key stakeholders about international best practices for broadening participation and diversity in computer science. This special session provides opportunities for the audience to contribute to this research discussion and to analyse and develop strategies for their own unique contexts, in a facilitated approach using the research framework and key findings.
Teaching the Global Impact of Computing
SPEAKER: Jeff Gray
ABSTRACT. Connecting computing with its social contexts and implications can be a powerful way to motivate a wide variety of students to learn about computer science. In designing the new AP Computer Science Principles course and exam, the College Board included “Global Impact” as one of the seven major organizing principles (“Big Ideas”). Many teachers are excited to see this “missing piece” added to computer science education — but exactly because it’s innovative, it can be difficult to know how to teach it!
This panel brings together leading CS educators who are building curriculum and professional development materials for AP CSP, and collaborating on an NSF-sponsored project to build an integrated Global Impact resource. Panelists will discuss how they incorporate the impact of computing -- including its benefits and its potential downsides -- into curricula (CSP and otherwise). The discussion will cover varied perspectives on how to cover this unusual topic, including relevant techniques from social studies and language arts (yes, reading and writing in a CS class!), along with project-based and peer-instruction approaches, effective hooks, and ideas about integrating impact into the nitty-gritty of programming assignments.
Computing in the Arts: Curricular Innovations and Results
SPEAKER: Renee McCauley
ABSTRACT. Computing in the Arts (CITA) is an innovative, interdisciplinary curriculum model which integrates computer science and information technology with traditional art theory and practice. At the College of Charleston, implementation of an undergraduate CITA degree program resulted in an increase in the number of female and minority students pursuing computing-related degrees.  With the support of the National Science Foundation (DUE 1323605) and two partner institutions, we are building a community of educators who are creating innovative instructional materials that synthesize computing and the arts. Three faculty summer workshops (Wake Forest University in 2014, College of Charleston in 2015, and University of North Carolina at Asheville in 2016) involved over 70 computer science and arts faculty from across the U.S. What has emerged are various ways of synthesizing computer science and arts, including creation of new synthesis courses, modifications to traditional computing courses, development of new CITA-like curricula, design of CITA-like project experiences for undergrads, and other creative endeavors combining computer science techniques and traditional art practices and theory. In this session, we will present some of these results and invite audience participation in an attempt to reach new collaborators, generate new ideas, and continue to grow the CITA community across the US and abroad.
Bringing Undergraduate Research Experience in Non-R1 Institutions
SPEAKER: Farzana Rahman
ABSTRACT. In recent years, there has been a dramatic increase in computer science undergraduate research activities at colleges and universities nationwide. Developing and maintaining undergraduate research benefits students, faculty mentors, and the institution. Incorporating a research culture along with a sound academic foundation enables students to develop independent critical thinking skills along with effective oral and written communication skills. However, we are in a time when budgets are being tightened and some institutions do not have the resources to pursue such initiatives. Traditionally research focused universities (like R1) have access to various large funding sources to host Research Experience for Undergraduate (REU) programs. R1 universities have established records of accomplishment for innovative research and the faculties at R1 institutions have lab infrastructure to blend such activities for undergraduate students. However, non-R1 institutions (like community colleges, undergraduate, masters, and to some extent R2 institutions) lack resources, lab infrastructure and above all a track record for innovative research that makes it hard for them to obtain funding to host an REU program. Thus, in this panel, our goal is to present ideas for establishing a track record and building an internally and externally funded Undergraduate Research experience (UR), particularly for non-R1 institutions. This involves obtaining funds to conduct the research and to secure travel funds to disseminate research results.
Seeing Myself Through Someone Else’s Eyes: The Value of In-Classroom Coaching for Computer Science Teaching and Learning
SPEAKER: Jane Margolis
ABSTRACT. In this article we discuss the importance of in-classroom coaching for high school Exploring Computer Science (ECS) educators. While models for in‐classroom coaching exist, there has been no model for effective coaching in computer science (CS)--a field that is continually changing, is often missing from high schools, and has traditionally had little pre-service or on-going professional development for teachers. This article addresses the question: How does in-classroom coaching support computer science teaching and learning?
Using qualitative methods to analyze observations in Los Angeles Unified School District Exploring Computer Science (ECS) classrooms, teacher surveys, teacher interviews, coaching logs, and coach interviews, the research discussed in this article illustrates the value of having in-classroom coaches who can collaborate and reflect with teachers about current practices, and who can help support new inquiry- and equity-based instructional skills. Teachers note that in-classroom coaching helps to: 1) positively impact changes in pedagogy; 2) enrich teachers’ CS content knowledge; 3) support educators especially in their first year teaching a new CS course; and 4) breaks CS teacher isolation in schools. Two examples from different ECS classrooms served by different coaches are shared to illustrate the ways teacher practice can be impacted over time through coaching.
A Meta-Analysis of Pair-Programming in Computer Programming Courses: Implications for Educational Practice
SPEAKER: Karthikeyan Umapathy
ABSTRACT. Several experiments on the effects of pair programming versus solo programming in the context of education have been reported in the research literature. We present a meta-analysis of these studies that accounted for 18 manuscripts with 49 separate effect sizes in the domains of programming assignments, exams, retention, and affective measures. In total, our sample accounts for N=3308 students either using pair programming as a treatment variable or using traditional solo programming in the context of a computing course. Our findings suggest positive results in favor of pair programming across all four of the domains. We provide a comprehensive review of our results, and discuss our findings.
Smita Bakshi, CEO/Co-Founder, Zybooks
Frank Vahid, Co-Founder, Zybooks and University of California, Riverside
Roman Lysecky, Authoring Co-Lead, Zybooks and University of Arizona
Scott Sirowy, Director of Engineering, Zybooks
Alex Edgcomb, Sr. Software Engineer/Research Specialist, Zybooks and University of California, Riverside
CS courses often include the additional need to learn a complex set of support tools involving LMS's, discussion boards, e-book logins, homework systems, program submission systems, clickers, web links, online announcements, OS'es, IDEs, and other items, often involving poorly-designed UI's and workflows, making today's CS classes unnecessarily hard, and stressful. In this session, we will introduce: (1) zyBooks: Highly-interactive web-native CS learning material for nearly any lower-division CS course, featuring animations of challenging concepts, learning questions for engaged learning, and concise text for lucidity. Instructors can award points for completion, rearrange sections to match their syllabus, and add notes to content; (2) Our challenge activities ("homework"), fully integrated within each zyBook section, many algorithmically-generated, all auto-graded; (3) Our zyLabs system, "The easiest program submission and grading system on the planet", and seamlessly integratable with a zyBook, or usable standalone; and (4) Our user-experience focus that guides how the content and platform are designed, how we provide support and respond to feedback, and more. We will show how instructors use those items to eliminate non-essential complexity and help focus students on learning concepts and programming, and summarize research showing improved learning outcomes as well as happier, less-stressed students.
Chris Stephenson, Google
Kinga Dobolyi, George Mason University
Jeff Forbes, Duke University
Kristy Boyer, University of Florida
Heather Pon-Barry, Mount Holyoke
Josh Hug, University of California Berkeley
Increasing enrollment in CS programs is prompting the need for a variety of interventions that enable institutions to expand high-quality Computer Science (CS) programs at the undergraduate level while additionally ensuring better engagement of women and underrepresented minority students. This will be a two-part session. It will begin with a panel of faculty from Google’s Computer Science Capacity Awards program sharing the results of their current interventions. The panelists will follow by chairing roundtable discussions focused on specific interventions, including self-paced learning, training for undergraduate peer mentors, course analytics and software for online courses, tools for real-time distance TA support, and student and TA online communications tools.
A Town Meeting: SIGCSE Committee on Expanding the Women-in-Computing Community
A Town Meeting: SIGCSE Committee on Expanding the Women-in-Computing Community
SPEAKER: Gloria Townsend
ABSTRACT. In January 2004, we organized the second SIGCSE Committee ("Expanding the Women-in-Computing Community"). The SIGCSE Board approved the charter, because the underrepresentation of women in computing is an international problem and an embarrassment for our profession. A BOF provides SIGCSE program advertising that will create a large audience for dissemination of information concerning successful gender issues projects and can provide time for discussion and brainstorming. We maintain a listserv for our members, yet (as we all know) time for reflective electronic communication is difficult in the daily lives of professors of computer science who maintain engaged teaching careers, while conducting research. It is necessary to supplement electronic communication with face-to-face communication in order to efficiently solve problems and create valuable dialog, sharing and brainstorming. A BOF strengthens our mission, by broadening the scope of participation and by providing an advertised meeting time that will not conflict with major portions of the SIGCSE conference and an advertised meeting site that will be readily available to all individuals who are interested in gender issues.
We select projects to highlight through listserv communication and through our connections with ACM-W, NCWIT, ABI, CRA-W, etc. The forum provides an important annual meeting for a large group of people, who work to increase the representation of women in computing in their separate organization and who do not customarily have an opportunity to share ideas face-to-face. Forty-five people attended the 2016 SIGCSE town meeting.
Advancing Data Science for Students of All Majors
SPEAKER: Lillian Cassel
ABSTRACT. The use and analysis of large quantities of data have become ubiquitous in nearly every discipline. We began a discussion of the role of data science across disciplines, and the role of computing in data science programs, at SIGCSE 16. The session was well attended and the discussion was valuable. Since then, more work has been done and more people are engaged. This BOF will continue the discussion, including welcoming new voices. We will distribute copies of the report of the NSF sponsored workshop on Data Science education and discuss a new initiative to develop curriculum guidelines for data science programs. This initiative will be in its earliest stages by the time SIGCSE meets, so it will be an excellent opportunity to gather impressions about what are critical considerations for any such curriculum effort. We developed a mailing list from the SIGCSE 16 attendees and will use that list to promote the BOF. The BOF will engage SIGCSE participants who have views on the content and role of courses and programs in data science. In addition to the workshop report, we will describe results from an NSF IUSE grant to develop modules for use in many types of courses. These expect to make access to fundamentals elements of data science available as widely as possible. With these as a starting point, participants in the Birds of a Feather session will explore the emerging field of data science and its relationship to computer science education. Discussions will be hosted at http://computingportal.org/datascienceflipped
High School CS Teacher Certification: Standards, Assessments, and Professional Development
SPEAKER: Carol Fletcher
ABSTRACT. CS Education in primary and secondary schools has experienced a renaissance in the last few years as the CS for All initiative has gained traction across the nation. CS curricula abound and a new AP course, CS Principles, has been deployed that aims to broaden participation. Lack of consensus exists however in what constitutes a qualified CS teacher. A widely accepted and adopted modern certification/licensure process (CSTA 2013) must be developed. Professional development that can be rapidly scaled to build CS teacher capacity is required to realize the vision of CS for All across the nation.
In this session we will engage state and national CS thought leaders to discuss the CS certification process, educator standards, and certification tests across various states to determine opportunities for future collaboration. What are the content standards that all beginning CS teachers must meet? What if any specific CS pedagogical topics need to be assessed? Applications today are built in teams and often deployed and distributed in the cloud. Are these topics too advanced for high school CS or should they be integral? How can professional development be designed to help teachers across multiple states meet certification standards? The existing standards from the ETS CS Certification test (Texas Education Agency, 2010) currently used in multiple states will serve as the baseline for group discussion and feedback.
SIGCSE Reads: Time for Book Discussion
SPEAKER: Rebecca Bates
ABSTRACT. Have you read any of the common reads for SIGCSE 2017? Now’s your chance to talk about them! Two novels: The Thrilling Adventures of Lovelace & Babbage: The Mostly True Story of the First Computer by Sydney Padua (Pantheon Graphic Novels, 2015) and The Martian by Andy Weir (Broadway Books, 2014) as well as a short story: “The Last Question” by Isaac Asimov (Science Fiction Quarterly, 1956) were proposed at the end of the 2016 conference. If you’re interested in science fiction, whether on a personal, academic, or pedagogical level, come join us in this BoF and discuss one or more of the two books and short story. We’ll provide potential topics and discussion questions targeting how to incorporate these books into a CS course, but the discussion will be open. The BoF will close with a discussion of potential books for the 2018 conference.
Researching the K–12 Computer Science Framework
SPEAKER: Pat Yongpradit
ABSTRACT. With the explosive growth and interest in computer science, the CS education research community has been been asked significant questions from the K–12 community: What should students learn in a K-12 computer science pathway? When should they learn particular concepts? How do you implement computer science for all students? How can computer science be integrated into other subjects?
The ACM, Code.org, CSTA, Cyber Innovation Center, and National Math and Science Initiative have collaborated with lead states/districts and the CS education community have developed the K–12 Computer Science Framework, a high-level guide for states or districts who want to design curriculum, standards, assessments, or teacher development programs. The framework identifies the core concepts and practices at grades 2, 5, 8, and 12. Yet the research base for the framework is incomplete. The BOF session will allow researchers to discuss opportunities in K-12 CS ed research within five areas related to the implementation and future of the framework: 1. Equity and access 2. Learning progressions 3. Pedagogical content knowledge (Knowledge teachers need to teach CS) 4. Facilitating learning in other disciplines 5. Policy and implementation within K–12 education systems
Participants will share current, related work and discuss future collaborations. The BOF will allow participants to connect with others with similar research interests.
Weaving Diversity and Inclusion into CS Content
SPEAKER: Justin Li
ABSTRACT. Introductory CS courses often present computational concepts in a multitude of varied contexts. The contents of these examples and assignments present an untapped opportunity to reach out to under-represented minorities. For CS in particular, the ubiquity of technology in modern society makes it imperative that students consider how seemingly innocuous technical decisions could selectively disadvantage particular populations. If the entirety of the CS community - from K-12 to industry - is to be inclusive, we must train students to be aware of these issues from their first CS course.
This BOF aims to foster discussion of how examples and assignments can illustrate CS concepts and simultaneously acknowledge the challenges that under-represented students may be facing. At least three such avenues are possible: 1) Choosing multi-cultural contexts for homework questions and in-class examples; 2) Assigning projects with socioeconomic implications, such as the Schelling Segregation Model (a 2014 Nifty Assignment); and 3) Showing how inclusion is easily subverted by majority-Caucasian data sets or "purely technical" decisions such as representing gender with a Boolean. The long-term goal is to establish a network of instructors interested in contributing assignments and activities, and to create a resource suitable for broader dissemination in the future.
Communicating what liberal arts colleges contribute to computer science
SPEAKER: Janet Davis
ABSTRACT. How can CS faculty at liberal arts colleges better communicate with colleagues and the public about the value our institutions offer? Liberal arts colleges play an important role in undergraduate CS education. Liberal arts skills are widely valued in the tech industry, many liberal arts undergraduates go on to earn Ph.D.s in STEM, and many of the educational innovations presented at SIGCSE are developed by liberal arts faculty. Yet, our colleagues at research universities often misunderstand what we do at liberal arts colleges. And while we see the liberal arts and computer science as supporting each other, the popular media tends to portray them as diametrically opposed. These misconceptions limit our opportunities to attract new students and colleagues, as well as opportunities to contribute to public discourse about the important role of information technology in our society. In this BoF, we aim to collaboratively develop communication strategies for individual participants and for the liberal arts CS community as a whole.
Handling Very Large Lecture Courses: Keeping the Wheels on the Bus III
SPEAKER: Josh Hug
ABSTRACT. As classes grow beyond hundreds or even a thousand students, instructors must come to grapple with handling course logistics at scale.
Challenges include (just to name a few): Providing timely effective feedback to students, exam scheduling, recruiting and managing a teaching staff that consists of dozens of people, ensuring consistency of grading, identifying and providing interventions for struggling students, providing a consistent policy for makeup work, and creating diverse course content (e.g. lab, hw, discussion section) that allows for an efficient path to mastery for each student regardless of diverse backgrounds and ability.
We’ll discuss staffing techniques, technologies (including automated assessments), and ways of developing course content that help mitigate the complex issues faced in large lecture courses. Experienced attendees will each provide one tip (in the form of a tool, staffing practice, etc.), and a master list of such tips will be compiled and provided to the SIGCSE community. 2016’s tips can be found at http://tinyurl.com/wotb2016.
GitHub, Tutors, Relatives, and Friends: The Wide Web of Plagiarism
SPEAKER: Amardeep Kahlon
ABSTRACT. Plagiarism is of great concern to faculty in all fields, including computer science as it leads to one certain outcome – a compromise not just in student learning but also in the entire academic process. Faculty attempt to deal with this epidemic in varied ways such as by writing new course materials each semester, putting a larger or entire grade focus on exams, or even asking individual students to explain their assignments. However, plagiarism remains a source of frustration for both faculty and administrators. This BoF will bring interested faculty together to discuss the various and surprising ways in which students plagiarize, the methods of countering plagiarism, and the currently available tools for detecting plagiarism. Questions we will be discussing include: Do students understand plagiarism in the context of writing software? How can we create an atmosphere that discourages plagiarism, yet fosters collaboration and encourages learning from multiple sources? To what extent can one make an assignment “plagiarism-proof”?
CSTA K-12 CS Standards for All
SPEAKER: Deborah Seehorn
ABSTRACT. President Obama and the OSTP have initiated a widely supported Computer Science for All initiative for K-12 education in the US. How do the newly revised CSTA K-12 CS Standards support the CS for All initiative? How can the standards be used by individual teachers, curriculum developers, and administrators to develop their K-12 Computer Science Education program? This BOF will provide a forum for participants to share how they are using the CSTA standards and what successes and challenges they have encountered.
Computer Science education in the K-12 school system is in the forefront of education news. Schools, districts, and states are looking for guidance in developing and delivering standards-based computer science curriculum in K-12 schools, and many are turning to the CSTA standards. The CSTA K-12 Computer Science Standards have been revised and align to the K-12 CS Framework. The standards delineate what CS concepts students are to know and what CS practices students are to be able to do at the various grade levels.
Sustainable Methods for Impactful Service Learning in Computer Science
SPEAKER: Nate Derbinsky
ABSTRACT. Service learning offers students of computer science an experiential opportunity to hone not only their technical skills of design and programming, but also the soft skills of teamwork, communication, and social/ethical behavior. With hard work, and effective mentoring from faculty, the output of student work can also benefit community partners, assuming there is proper infrastructure in place to provide long-term project management and technical support. This BOF provides a discussion platform to share lessons learned and best practices related to establishing a sustainable service-learning program within an undergraduate computer-science curriculum, with particular focus on balancing benefits to students and community partners with organizational overhead.
Computer Science Curricular Guidelines for Associate-Degree Transfer Programs
SPEAKER: Elizabeth Hawthorne
ABSTRACT. The ACM Committee for Computing Education in Community Colleges (CCECC) is updating the ACM curricular guidance for two-year transfer programs in computer science based on CS2013 with cybersecurity learning outcomes infused throughout. This BOF will provide a platform for two-year and four-year computer science faculty and academic administrators to discuss the newly revised associate-degree transfer guidance. The core task group writing the guidance consists of twelve community college faculty across the United States, led by the ACM CCECC and three task group leaders. The guidance has been informed by input from both two- and four-year educators in two rounds of public review and comment; a BOF, special session, and affiliated workshop at the prior two SIGCSE conferences; and international input at ITiCSE 2016. By SIGCSE 2017 the guidance will be in near-final form. The session will include an overview of the guidance, its relationship to CS2013, and infused cybersecurity. Discussion will center on implementing the guidance in two-year programs, gathering program exemplars, and facilitating transfer with four-year university partners.
Using Tangible Manipulatives for Hands-on Activities in Undergraduate Computer Science Classes
SPEAKER: Stan Kurkovsky
ABSTRACT. Hands-on activities can reinforce a variety of Computer Science concepts covered in class. Active-learning activities that utilize manipulatives such as LEGO or other simple objects provide unique opportunities for students to explore or reinforce topics during class. This BOF will facilitate discussion of the different approaches and strategies, as well as the results of using manipulatives in the Computer Science classroom. In addition, the BOF will also discuss how interested educators can share their ideas and activities with one-another.
Teaching and Learning Under Pressure: Intensive (Accelerated, Block) Computer Science Courses
SPEAKER: Janet Burge
ABSTRACT. Many universities either have offered or are starting to offer computer science courses taught in a compressed time scale, often where students take only one course at a time. The pace of these classes can differ but often move at a speed where a day of an accelerated class is equivalent to a week of a typical semester class. This format has several advantages—more flexibility for collaborative work, better visibility into how students are spending their time (knowing that if a student is struggling it is not because of work in a different class), and less need for students to multitask between different courses. It also has many challenges. From the student perspective, there’s the need to stay on top of things and not fall behind, having to catch up if there are absences due to illness or extra-curricular activities, and staying focused on one subject while working under constant time pressure (which often results in a tendency to rush through assignments to meet deadlines).
Participants in this BoF will share their knowledge about teaching in this format. What kinds of assignments and assessments work and don’t work during accelerated courses? How can we keep the workload reasonable for the students and for ourselves? What interesting pedagogy does this format facilitate? We invite participation both from faculty who are already teaching in this format and also from those considering an accelerated course who want to learn more about the advantages and disadvantages of this format.
Perspectives on Teaching Humanitarian Free and Open Source Software
SPEAKER: Becka Morgan
ABSTRACT. There is a growing community of faculty members who support student participation in Humanitarian Free and Open Source Software (HFOSS) projects in a variety of courses at a range of different institutions. HFOSS can provide a plethora of learning opportunities for students that ranges from design to code to test to documentation and more. In addition, involvement in an HFOSS project allows students to gain professional skills while also gaining an understanding of the potential social impact of computing. However, experience has shown that supporting student involvement in HFOSS can pose some challenges to instructors including identification of appropriate assignments, creation of rubrics, grading, and managing interactions with the HFOSS community. The organizers of this BoF are faculty members who have a spectrum of experience in supporting student involvement in HFOSS. The organizers will share tips for structuring such student participation as well as discuss challenges that they’ve experienced and approaches for overcoming those challenges. Attendees will be encouraged to ask questions about how to get started, selecting an appropriate HFOSS project, structuring assignments, and more. This BoF will provide faculty members the opportunity to network with instructors with experience in this area.
Process Oriented Guided Inquiry Learning (POGIL) in the CS Classroom
SPEAKER: Saturnino Garcia
ABSTRACT. Process Oriented Guided Inquiry Learning (POGIL) is a research-based instructional strategy with a proven history across STEM disciplines. In a POGIL classroom, teams of students work on activities that are specifically designed to guide them to construct their own understanding of key concepts. At the same time, students develop process skills such as communication, teamwork, problem solving, and critical thinking. POGIL incorporates practices shown to be particularly helpful for students from underrepresented populations. In a POGIL classroom, teachers are facilitators, not lecturers. Multiple studies have shown that students in POGIL classes do better on common exams and in subsequent courses. For more information, see http://cspogil.org and http://pogil.org. This BOF will (1) enable people unfamiliar with POGIL to ask questions and learn more, and (2) bring together experienced POGIL practitioners to share experiences, concerns, ideas, and insights. As in a POGIL classroom, we will discuss topics in small teams and report out to the larger group.
Practical Systems Programming in Computer Science Education
SPEAKER: Peter Froehlich
ABSTRACT. Large introductory computer science courses seem to get most of the attention at conferences these days. We see a need for educators (interested in) teaching upper-level systems courses to more effectively exchange ideas and experiences. This is particularly important for courses with a significant hands-on implementation component: Designing projects that are "practical" as in "provide realistic systems programming experiences" as well as "practical" as in "small and contained enough to be feasible" is exceedingly hard. We plan to collect and publicize such projects and to establish a mailing list for ``educational systems folks'' to stay in touch.
Strengthening Informal CS Education Program Delivery through Evaluation Capacity Building
SPEAKER: Karen Peterson
ABSTRACT. With the growth of informal and out of school educational organizational focus on increasing female participation in CS, questions about program development, participant learning, and program impact are critically important. Which programs are having success reaching and encouraging girls to pursue computer science? What stumbling blocks are encountered? How successfully are these programs engaging girls with different STEM orientations or different racial/ethnic/economic backgrounds? How successful are existing CS programs in pivoting to be more accessible to females? Many nonprofit organizations cannot effectively answer these questions because they lack the capacity for program evaluation. Some organizations delay putting evaluation into place, or use a one-dimensional evaluation approach (i.e., a single survey) even though ongoing and comprehensive evaluation results are crucial to program success. Building internal evaluation capacity can help organizations meet their most critical evaluation needs and build systems of continuous improvement. This BOF session will engage participants in discussing their challenges in designing and implementing program evaluation. Participants will have the opportunity to share strategies, evaluative resources, and challenges in building staff evaluative capacity and conducting effective evaluations. Discussion leaders will share resources developed as part of an evaluation capacity building initiative with informal CS education programs—CS Outreach Program Evaluation Network (CS OPEN—a collaboration between the National Girls Collaborative and Google.
Mapping Alice Curriculum to Standards
SPEAKER: Wanda Dann
ABSTRACT. This session is for anyone currently using Alice 2 and/or Alice 3, or those exploring the possibility of using Alice in their curriculum. The discussion leaders and attendees will share teaching strategies, tips, and techniques with each other and those new to Alice. This is an opportunity to share assignments and pointers to web sites to access instructional materials, such as syllabi, student projects, exams, and other resources. There will be a special emphasis on mapping Alice curriculum and instructional materials to CSTA, CSP, code.org and ACM curriculum standards and guidelines for a wide range of age/grade levels. The team will also share feedback from the Beta users of the new textbook and CS Principles Course.
CS4What? A Game-based Discussion about the Purposes of Universal CS Education
SPEAKER: Rafi Santo
ABSTRACT. Do different people hold different reasons for wanting universal computer science education (CS4All)? Do different reasons imply different learning designs? Is it possible to design educational activities that meaningfully integrate multiple purposes and visions? Can different ‘CSed Visions’ be in tension with one another? As CS4All initiatives kick off in cities around the country, we believe that these questions are key to developing policies, pedagogies and technologies that actually are ‘for all’.
In this session, participants will engage in a facilitated conversation supported by an informal collaborative tabletop card game. The game, meant to promote reflection, debate, discussion and ideation around CS education, will engage participants as designers tasked with integrating multiple commonly-held values and visions of Computer Science education into a concrete learning activities. The goal of this informal activity and brainstorm is not to become a master designer in 45 minutes. Rather, this design challenge acts as a launching pad to have meaningful discussions around the various visions of Computer Science education and what it looks like to translate these visions into practice. We will also invite participants to give feedback on their experience using the game as a conversation starter, with the hope that it might be used by others engaged in deliberations around how to design CS educational experiences. The game will be supplementing an ongoing project, ‘CSed Visions’ (http://wp.me/P3GrOX-ek) that investigates the role that visions and values play in Computer Science Education.
Access to Computing Education for Students with Disabilities
SPEAKER: Richard Ladner
ABSTRACT. Approximately 10% of computer science and engineering majors have a disability of some kind. Students with disabilities are more likely to drop out of the major than those without disabilities. At the K-12 level, many tools used to teach computing are inaccessible to students with disabilities. This BOF will bring together individuals who are interested in increasing the representation of students with disabilities in computing and improving their success. Participants will share strategies and promising practices to help each other do a better job of including these students in our classes and research projects. Resources, including those produced by AccessComputing (uw.edu/accesscomputing) and AccessCS10K (uw.edu/accesscomputing/accesscs10k), will be shared.
The ACM Code of Ethics and Professional Conduct: Teaching Strategies and the Coming Update
SPEAKER: Bo Brinkman
ABSTRACT. Have you used the ACM Code of Ethics and Professional Conduct in your teaching? Would you like to? Recent events are leading to increased interest in the Code: 1) The AP CS curriculum now includes “computing in context” as one of the six course topics. 2) The ACM has initiated an update of the Code, to be completed in early 2018. 3) There have been several court cases (Oracle v. Google is a recent example) and stories in the popular press (including in the New York Times) that have cited the Code.
Can we really do it? - Conducting Significant Computer Science Research in Primarily Undergraduate Institutions (PUIs)
SPEAKER: Farzana Rahman
ABSTRACT. Undergraduate research is a critical component of high-quality education in any discipline, including Computer Science (CS). Over the past few years, there has been a dramatic increase in CS undergraduate research activities at colleges and universities, and predominantly undergraduate institutions (PUIs) have an important role to play. Not every university has abundant resources to devote to research, and teaching-focused institutions may face the greatest challenges in this respect. Faculty at PUIs, for example, may face funding and infrastructure challenges and may find themselves stretched thin due to especially high teaching and service expectations. A frequently asked question by new faculty at these institutions is: Is it really possible to conduct meaningful research in such a fast-paced discipline as CS, while juggling a very high teaching and service load? Not only is the answer to this question “Yes!” but there are advantages to conducting research at a non-research institution. Faculty here has access to some of the brightest young minds who will potentially be future graduate students in research-intensive universities. They may have the freedom to do research that is too risky for graduate students. They can work on projects they are interested in, rather than those they know must work. With good time management techniques and careful selection of collaborators and student researchers, faculty here really can conduct important CS research. Thus, the focus of this BOF is to share methods that are helpful in conducting significant and meaningful CS research in a primarily undergraduate or teaching institution.
Forming Strong and Effective Student Teams
SPEAKER: Anya Tafliovich
ABSTRACT. With growing enrolment and ongoing research into best practices for team work, many instructors are rethinking how to form, evaluate, and manage teams. In this BoF, instructors will discuss strategies they have employed, the effectiveness of those approaches, and the tools that support administering teams. Discussion topics may include self- and peer-evaluation, grading strategies, software support, and conflict resolution.
Building and Supporting a Community of CS Educators Teaching Cyber in 2017
SPEAKER: Richard Weiss
ABSTRACT. We have been teaching cybersecurity using hands-on, interactive exercises that have successfully engaged students. However, in order to meet the increasing demand for security professionals, we need to greatly expand the community of faculty teaching in this area. We would like to bring together new and experienced faculty to do this. We have set up a Facebook group (https://www.facebook.com/groups/TeachingCyber/) to allow us to work together outside of SIGCSE events, but we need to develop a critical mass of users. During the BoF, we will encourage participants to sign up for the closed group, and we will have an exercise where they ask and answer questions about what they want from this learning community.
One benefit of having a learning community is that it will be easier to provide support for new members to learn about resources and get help. These resources include exercises, webinars, and slides. We will share experiences, practices and ongoing efforts, including our own (e.g. Security Injections, the Security Knitting Kit project, and EDURange). The BoF also benefits experienced members, helping them to reach other faculty with similar interests. As a community we have begun to share exercises and discuss what works and what problems students and instructors have encountered. For the last five years, we have been doing that at SIGCSE. We will discuss ways to integrate security-related exercises into existing courses. The questions we will ask are, “What exercises have you tried? What are your experiences? What are you looking for from the community?”
Teaching Track Faculty in CS
SPEAKER: Mark Sherriff
ABSTRACT. Many computer science departments have chosen to hire faculty to teach in a teaching-track position that parallels the standard tenure-track position, providing the possibility of promotion, longer-term contracts, and higher pay for excellence in teaching and service. This birds-of-a-feather is designed to gather educators who are currently in such a position to share their experiences as members of the faculty of their departments and schools, and to provide opportunities for schools considering such positions to gather information.
The Power of Analogies in Introductory CS Education
SPEAKER: Yingjun Cao
ABSTRACT. To convey abstract concepts to students with little to no computing background, faculty members often adopt real world analogies to make CS concepts more relatable. Existing work on the power of analogies in CS education [1-2] has looked into the effectiveness and limitations of metaphors. However, there is no existing forum or repository that educators can share successful and interesting analogies. For this Bird of Feathers session, we invite all interested computer science instructors to share their successful (or unsuccessful) analogies with details on where and how the analogies were used, the related CS concepts, and how a particular analogy might fail to convey the instructor’s ideas. We propose to focus on analogies for CS1/CS2 concepts because students in those classes may benefit the most from this teaching technique, and appropriate use of analogies for non-majors might help attract students to the field of computing. This BOF’s topic relates to the general trend of teaching diverse groups of students in introductory programming courses and provides an excellent opportunity for CS educators to discuss successes and failures in using metaphors in our classes. The second purpose of this BOF session is to propose a suitable online medium where existing and new analogies can be shared with the CS education community. This BOF can be the beginning of a long-term online collaborative project where faculty members continue to share their metaphors with the community.
An IoT BOF
SPEAKER: Michael Rogers
ABSTRACT. The recipe might not sound particularly exciting: take a microcontroller, garnish with sensors and various output devices, season with a bit of code, and then network until done: but the result — the Internet of Things (IoT) — is a rapidly burgeoning field that provides a novel and enticing context for sophomore to senior level students to hone their networking, coding, problem solving and presentation skills, exercise their creativity, and unleash their entrepreneurial spirit. In short, it is a perfect mid-to-upper division elective course. Faculty considering such a course are faced with a myriad of difficult decisions, however, including the appropriate class level, course structure, prerequisites, and platform choice. The purpose of this session is to bring together people who have taught, or are considering teaching, IoT to discuss these issues. Topics are expected to include: a) an overview of many different platforms and tools, b) topics often covered and order of material, c) platform acquisition, deployment, and use costs, d) thoughts on mixing platforms from different vendors (e.g., X's hardware with Y's cloud infrastructure), e) identification of support materials (e.g., classroom friendly materials/guides/documentation), f) expected prior knowledge/experience required for students (i.e., CS1? O.S.? basic electronics? unix? etc.), g) IoT platform fidelity (i.e. will the experience translate to real-world IoT skills), and h) discussion of potential broader curricular advantages that come from including IoT topics.
Surviving “Open-ended Projects” in Project-Based Learning: A Teacher's Perspective
SPEAKER: Tina Ostrander
ABSTRACT. Supervising students in project-based courses is challenging, particularly when the projects are “open-ended,” such as real-world projects or projects whose ideas are generated by the students. These projects often have undefined scope and use technologies and tools where we lack expertise. In this session, we plan to discuss the challenges faced by teachers in supervising open-ended projects in project-based learning environments. Some of the questions we address in this session: How do we support students with a project in a domain we know nothing about? How do we help students find meaningful and relevant projects with appropriate scope? How do we assist students in selecting appropriate technologies and tools? How do we guide students in planning their iterations to deliver business value and core functionality? This BoF is for instructors who teach or are interested in teaching courses with open-ended projects.
Evaluating the Long-Term Impact of Pre-college Computing Activities
SPEAKER: Adrienne Decker
ABSTRACT. There is a critical need to increase the number of skilled technology workers in part due to the supply of workers in these fields not yet keeping up with demand. In an effort to increase the interest of students in studying within these fields, many commercial, governmental, and non-for-profit educational groups have sponsored numerous activities aimed to expose students to computing prior to college. With the advent of CS for All, there is further need to research these programs and evaluate their effectiveness. This session will gather researchers and practitioners interested in researching the impact that pre-college computing activities have on their participants. Participants will learn about a new initiative underway to make the job of collecting and tracking data easier. To be useful for the broader community, this NSF-funded IUSE initiative requires input from the community it wishes to serve. Participants will have the opportunity to provide valuable input on what their needs are for tracking such activities and what tools may be helpful for them, including methods for data collection to produce meaningful data that can be compared to data provided by other researchers and practitioners. The focus of this discussion will be the long-term impact of these activities; however, we will discuss data collection techniques researchers have used in the past to gauge short-term impact as well.
Strategies for Including Soft Skills and Interdisciplinary Content in CS Education
SPEAKER: Amanda Holland-Minkley
ABSTRACT. Effective computer science curricula can develop students’ abilities more broadly than just ensuring content mastery and algorithmic thinking. Computer science curricula may also include components focused on technical writing and communication skills, ethical practice of computing, effective teamwork and project management, and the application of computer science in a broader interdisciplinary context. In this session, attendees will be invited to share information about how they are incorporating this content into their curricula and the challenges they are facing in doing so. By sharing information about our current practices, attendees will help develop a survey of the variety of strategies CS programs are using to deliver this educational content. Attendees will also be given the opportunity to discuss the specific teaching challenges they encounter in their courses when teaching this content and share effective solutions they may have found to these problems.
Improving effectiveness of CS Teacher Professional Development
SPEAKER: Sloan Davis
ABSTRACT. Recent studies on the impact of CS4HS CS teacher professional development (PD) opportunities have highlighted areas of improvement needed to effectively grow the number of well-prepared CS teachers. In this BOF we will share data that Google has collected on the CS PD landscape, using it as a starting point to engage the attendees in a wide-ranging discussion on ways the CS education community can improve our PD processes and results.
Competency-Based Education in Lower-Division Computer Science Taught at Community Colleges
SPEAKER: Amardeep Kahlon
ABSTRACT. Many community colleges are looking at Competency-Based Education (CBE) as a way to increase student recruitment, engagement, completion, and transfer to baccalaureate programs. In addition, colleges are looking at CBE as a way to reduce costs as well as provide students with clear, marketable skills for employment. CBE is particularly suited to computer science due to the nature of the discipline where well-defined, measurable outcomes can be designed and implemented. Is your college exploring a curricular redesign using CBE? Do you want to know what CBE is and how to implement a CBE curriculum in computer science? This BoF will host a discussion on planning, implementation, and scale-up of CBE programs. Besides learning about CBE, this BoF will provide attendees with a chance to connect with others trying to implement CBE programs so that they can share knowledge, share resources, and form future collaborations. The recent CS2013 curricular guidance will also be discussed as an important resource for developing CBE in CS.
Sharing and Using Programming Log Data
SPEAKER: Thomas Price
ABSTRACT. As more programming environments add logging features and programming data becomes more accessible, it is important to have a conversation about how we share and use this data. Uses of programming log data range from big-picture analyses to dashboards for instant teacher feedback, to intelligent, data-driven learning environments. The goal of this BOF is to talk about what data is important to collect, where it can be gathered and shared, what general data formats make sense, how to handle privacy and anonymization, and what ultimately we want to see the data used for. The BOF welcomes both producers of programming log data and current or potential consumers, interested in how it could be applied in their classrooms or research. One hopeful outcome of this BOF is a commitment to documenting and sharing existing programming data in an accessible location and format.
Collaborative research into Game Jams, Hackathons and Event-Based Teaching in Higher Education
SPEAKER: Ian Pollock
ABSTRACT. The idea for this session is based on conversations with colleagues from computer science, art, communications, engineering, and biology as well as international colleagues from three continents at ITICSE-2016 on the use of Game Jams to increase participation of underrepresented minorities (URMs) in Computer Science and STEM education.
High-impact practices are powerful tools in engaging students (NSSE), perhaps even more so for non-traditional, ESL/ELL, first-generation, and URM students in STEM disciplines by increasing peer and faculty contact, active learning, and high expectations (Goodman). We believe that event-based teaching, such as Game jams and Hackathons provide students with many, if not more of the experiences that are credited with those of commonly identified High Impact Practices (Kuh, 2008).
These events also create peer and social networks among participants. While not conclusive - anecdotally the networks of peers and social capacity seem to make a difference in post graduation job search (Mouw). Game Jams and Hackathons are still relatively new in higher education, and while there is a lot of anecdotal evidence as to the benefits reaped by participants of these events, there exists little in the way of long-term studies in the literature that speaks to the academic value of these events.
This session will create a conversation among faculty from computer science and other disciplines who are interested in creating these events and their institutions, and developing scholarship to fill in the gaps in the literature around the effects and efficacy of these events on the long-term success of participants.
Alternative Publishing and Dissemination of CS Education Research
SPEAKER: Nickolas Falkner
ABSTRACT. Large volumes of Computer Science Educational (CS Ed) material are published every year but it is apparent that equally large volumes of this are not being read or having much impact on practice, or even available to the practitioners who could use it. How can we distribute CS Ed materials and information more effectively and in potentially innovative ways? This BOF will provide a platform for discussion on a selection of techniques that encourage discussion and dissemination of CS Ed techniques in the community. Is traditional publishing still a good approach or is it just part of a wider group of techniques?