SIGCSE 2020 Online - Posters


Poster Session 1

Poster Session 2

Poster Session 3

Poster Session 4

Poster Session 1

Poster #101: Understanding Parents' Perceived Barriers to Engaging Their Children in Out-of-School Computer Science Programs

Authors: Bo Ju; Olivia Ravenscroft; Evelyn Flores; Denise Nacu; Sheena Erete; Nichole Pinkard


To address participation inequities among youth in computer science programs, this study examined how parents evaluate out- of-school time (OST) STEM programs for their children. We facilitated a workshop and conducted interviews with parents in Digital Youth Divas (DYD), an OST STEM program for middle-school girls who are underrepresented in computing. We found that parents prefer programs that are free, at accessible locations, and run by reputable educational institutions. Parents also identified barriers such as the lack of a parent network and conflicting schedules. These challenges must be addressed in order to encourage participation in OST computing science programs.

Poster #102: Case Study-based Portable Hands-on Labware for Machine Learning in Cybersecurity

Authors: Hossain Shahriar; Michael Whitman; Dan Chia-Tien Lo; Fan Wu; Cassandra Thomas


Machine Learning (ML) analyzes, and processes data and develop patterns. In the case of cybersecurity, it helps to better analyze previous cyber attacks and develop proactive strategy to detect and prevent the security threats. Both ML and cybersecurity are important subjects in computing curriculum, but ML for cybersecurity is not well presented there. We design and develop case-study based portable labware on Google CoLab for ML to cybersecurity so that students can access and practice these hands-on labs anywhere and anytime without time tedious installation and configuration which will help students more focus on learning of concepts and getting more experience for hands-on problem solving skills.

Poster #103: Information Assurance and Security Education on Undergraduate Computing Degree Programs

Authors: Dan Chia-Tien Lo; Kai Qian; Hossain Shahriar; Fan Wu; Johng-Chern Chern; Pascal Paschos; Chung Ng


A set of Information Assurance and Security hands-on learning modules is developed and open to the public. Topics include networking security, database security, defensive programming, web security, system fundamentals, mobile security, malware detection using Machine learning, and big data analytics on network intrusion detection. The design follows hands-on case- based pedagogical model, which yields a satisfaction rate up to 92.5% for self-learners.

Poster #104: A Hands-On Lab for Macro Malware Detection using Machine Learning on Virtual Machines

Authors: Dan Chia-Tien Lo; Ruth Bearden; Deepa Muralidhar; Hossain Shahriar; Wei Chen; Pascal Paschos; Chung Ng


We developed a hands-on lab for students to learn macro malware detection using decision trees on an open sourced data analytics software, HPCC, running on a virtual machine. The labware along with required software and documents are freely available at our project website. Our design is low cost, customizable and can be easily replicated to other institutions. Our experience shows that students have difficulties in configuring software environment for the lab. The virtual machine approach allows pre-configurations for datasets and required software installations and setting to facilitate students' learning and instructors' teaching. Since students are working on malware, the virtual machine provides an isolated network environment for testing without affecting normal operating network. This lab design can also be integrated into online courses by simply downloading and installing the customized virtual machine.

Poster #105: Profiling the Experience of Second Year Computing Students

Authors: Dashvin Singh; Andrew Petersen


The struggles of first year computer science students has been extensively studied. Work has focused on students who choose not to complete introductory programming courses (CS1, CS2), with the decision to not complete attributed to a lack of prior programming experience, difficulty in grasping course content, and changes in personal priorities. The experience of students in the second year, however, is less well studied. We conducted an interview-based study of students in the second year who have dropped a second year compute science course. Our goal is to better understand student challenges that lead to the decision to drop in the second year and to compare the factors that are identified to those that are relevant to non-completion of the first year.

Poster #106: COSMIC: US-based Conversion Master's Degree in Computing

Authors: Gary Krenz; Thomas Kaczmarek


COSMIC is an NSF S-STEM graduate curriculum initiative/conversion program that strives to provide an accelerated pathway to a Master of Science (MS) degree for individuals who do not have an undergraduate degree in computing, but who wish to cross over into the computing field. The structure of our conversion program, the context that motivated it, and insights from conversion students' instructors are presented. Program successes with students from under-represented populations and the limitations that are also experienced are discussed. Our conversion program is based on a highly focused summer bridge course, combined with a customized curriculum pathway that enables people without undergraduate computing degrees to merge quickly and efficiently into a professional MS in computing degree program. The program is similar in concept to post-baccalaureate conversion programs in New Zealand (e.g., the Master of Software Development at the Victoria University of Wellington) and the extensive conversion choices in the UK. Undergraduate and graduate student enrollment statistics from past and current (2018) CRA Taulbee Surveys strongly suggest the computing profession has a moral obligation to seek out and encourage individuals from under-represented populations to become a significant part of the computing professional community. We encourage other institutions to join in the effort to recruit and provide pathways for post-baccalaureate individuals from under-represented populations to become a significant part of the computing community.

Poster #107: Jupyter/Canvas Submission Framework Integration

Authors: Emily Gubski; Steven Wolfman


Cloud-based JupyterHub installations support easy access to computing environments for intro computing using Jupyter Notebooks. We propose an interface and technical design to smoothly integrate JupyterHub with Canvas for intro students.

Poster #108: Learning Trajectories in Action: A Practical Study on an After-School Coding Club Curriculum

Authors: Gabriela Buraglia; Yerika Jimenez; Christina Gardner-McCune


Computing curricula are finding their way into many elementary and middle school students' classrooms and after-school learning experiences. As more curricula are developed, there is a need to understand how they align with the Rich et al. learning trajectories (LTs) for sequencing, repetition, and conditionals [3] in terms of curricula design and student learning outcomes. This poster examines how LTs map to the 2018-2019 Girls Who Code (GWC) curricula implemented in a local GWC coding club. This poster shows how student learning under the 2018-2019 GWC curriculum maps to paths within the beginning and intermediate levels of the Rich et al. LTs for sequencing, repetition, and conditionals [3]. We also discuss challenges in evaluating several LT learning goals and potential uses of LTs as diagnostic tools to identify student misconceptions.

Poster #109: Creating an OER Collection of Automatically Scored Practice Exercises for Computer Science 1

Authors: Hillary Fleenor; Hyrum Carroll


Open Educational Resources (OER) is one way to help reduce the cost of higher education. We created a repository of 90 (and growing) practice problems for learning introductory programming using Python 3. In order to provide immediate feedback to learners as well as alleviate the scoring burden on instructors, these exercises include tests for a popular automatic web based scoring platform. We have been using and refining these materials for the past four semesters and collecting student user survey data. Overall, students have had a positive reaction to the practice format.

Poster #110: “We'll be Scratching All the Time.” Understanding the Role of Language in Computational Thinking Education for Elementary Teachers

Authors: Heather Killen; Merijke Coenraad; Lautaro Cabrera; Kelly Mills; Diane Jass Ketelhut; Jan Plane


School systems globally have begun to integrate computational thinking (CT) practices into elementary teaching and learning standards to provide young students with a comfort for and foundational understanding of computer science. This integration requires educating teachers to develop and implement CT learning opportunities. Our work contributes to best practice by exploring the role language plays in elementary teachers' discussions and development of CT-infused science lessons. To do this, we captured and analyzed the language used by elementary teachers as they spoke and wrote about CT in a multi-week professional development experience during which the teachers created and delivered CT-infused lessons to their students. We determined that teachers exhibited differing CT conceptualizations, which we categorized from broad to narrow. These differences were not, however, observed in either their spoken or written language. While there were instances of teachers using language that mirrored how the facilitators discussed CT, this use did not align with how they conceptualized CT. Our work analyzing connections between CT language use and CT conceptualization suggests that in order to understand how teachers are conceptualizing CT, professional development designers and teacher educators should focus on creating opportunities for teachers to employ CT practices in context rather than relying only on language. We feel this will support a more precise and nuanced engagement with CT.

Poster #111: Integrating Computational Thinking in math courses for 3rd and 4th Grade students with Learning disabilities via Scratch

Authors: Chen-Huei Liao; Hui-Ju Hsu; Pei-Chen Wu


This study investigates primarily the use of Computational Thinking in teaching mathematical concepts of Perimeter and Area. For those 3rd and 4th Grade students with learning disabilities, specifically, the extent to which their construction and understanding of mathematical concepts and their development of computational thinking are explored. For these reasons, the experimental research method is the one-group pretest-posttest design that we adopted which was conducted with 26 students, identified as learning disabilities by the committee for Identification and Placement of Gifted and Disabled Student. Data collected are analyzed with the Paired Sample t-test to comparison of these students in their learning outcomes and difference in aspects of construction of mathematical concepts and development of computational thinking after teaching. We find this teaching method enhances the learning outcomes and performance in the Math unit of Perimeter and Area and the performance of the development of computational thinking of these students after the intervention (160 minutes).

Poster #112: Scenario Based Active Learning Programming with Unity 3D

Authors: Hyesung Park; Sean Yang; Hongsik Choi


To meet the ever-increasing demand for information technology (IT) workforce, we must educate and produce high-quality graduates. It is crucial to balance fundamental programming concepts and coding skills to develop skilled IT work forces who solve a complicated real-life problem using technology. In this project, we created scenario-based active learning modules by using a visual platform to improve student learning on programming concepts and skills.

Poster #113: GitGrade: A Scalable Platform Improving Grading Experiences

Authors: Jeremy Zhang; Chao Hsu Lin; Melissa Hovik; Lauren Bricker


We present GitGrade, a system for accepting and automatically grading programming assignments. GitGrade allows instructors to provide coherent and timely feedback to students. GitGrade is similar to other grading platforms in that it accepts student work and allows modifiable grading rubrics. Furthermore, it is fast, extendable, can run auto grading scripts on programs, is free, and has a modern look and feel. GitGrade is built on top of the school's Gitlab instance which is used in many courses as a VC code repository as is done in industry. By integrating with Gitlab, we are able to distribute assignment starter code and specifications very easily. GitGrade has been in development since Autumn 2018, and to date it has been used to grade more than 5000 student repositories between our full-stack Web Development (CSE154) and Interaction Programming (CSE340) courses with positive feedback from graders and students. Feedback from students and course staff has since been actively incorporated to provide a workflow experience for students and instructors that is streamlined and easy to use in any programming course.

Poster #114: Curricular Guidance for Associate-Degree Cybersecurity Programs

Authors: Cara Tang; Cindy Tucker; Christian Servin; Markus Geissler; Melissa Stange


As projections of the shortage of cybersecurity workers grow, the ACM CCECC (Committee for Computing Education in Community Colleges) has led creation of a set of guidelines for two-year cybersecurity programs at the associate-degree level, called Cyber2yr2020. The Cyber2yr2020 guidelines underwent two rounds of public review and comment with the StrawDog and IronDog drafts, and the final version will be released in early 2020. This poster presents the curriculum guidelines, provides perspectives on the use of the guidelines, and offers opportunities to highlight two-year cybersecurity programs by aligning with the guidelines in a program example.

Poster #115: Integrate Global Sustainability Virtual Exchange Into Teaching Computer Science Concepts

Authors: Melissa Stange; Rachel Stange


The increasing globalization of technology has changed the face of computer science. In addition to core technology skills, modern computer scientist must possess cross-cultural communication skills, team management skills, the ability to perform on geographically distributed teams, and an understanding of the big picture in addition to technical ability. Lord Fairfax Community College (LFCC) used a virtual exchange as a teaching tool for introductory computer science concepts. Nineteen students participated in the Global Solutions Sustainability Challenge, a project supported by the Stevens Initiative, which is sponsored by the U.S. Department of State and administered by the Aspen Institute. The project aims to find a sustainable solution to an issue within the hospitality and tourism industry, while providing students an opportunity to learn about a different culture. Over 10 week students learned about the seven big concepts of computer science, marketing, business plans, team work, public speaking, research, leadership, graphic design, application development, and much more. The poster describes the virtual student exchange concept, highlights the experiences and key elements that global virtual exchange offers students without travel expenses.

Poster #116: A Pilot Study on the Impact of Teaching Assistant Led CS1 Study Sessions using Peer Instruction: An Undergraduate Honors Capstone Project

Authors: Megan Gilbert; Dee A. B. Weikle


The aim of this research is to discover if a structured study session program for CS1 students led by Teaching Assistants using Peer Instruction can promote an environment in which students feel an increased sense of belonging and improve course material retention. This study investigates the efficacy of weekly study sessions by measuring student attitudes and content retention over the course of a single semester of the introductory CS1 course at a medium sized liberal arts university with approximately 8 sections of 30 students each.

Poster #117: Social Learning and Scaffolding to Improve Student's Self-efficacy and Engagement

Authors: Muztaba Fuad; Monika Akbar; Lynn Zubov


The majority of Computer Science courses frequently use out-of-class activities to promote skill-building. Yet, the shortcomings of these activities limit their applicability in improving students' skills. This poster presents an innovative mobile-app-based approach to engage students in out-of-class activities. The app - Dysgu - builds on the theories of social learning and enables instructors to break regular out-of-class activities into smaller and interactive entities with instructional scaffolding. Dysgu allows students to compare their progress with their peers and provides personalized notifications and feedbacks to keep students engaged. The goal is to improve student's self-efficacy and engagement in out-of-class activities.

Poster #118: Iteration with Intention: Project-Based Learning of Computational Thinking

Authors: Nasanbayar Ulzii-Orshikh; John P. Dougherty


Globally, there is a growing interest in preparing students to develop fluency with computing. The K-12 Computer Science Framework states that by the end of 12th grade, students should be able to create computational artifacts through continuous testing and refining of their products considering unique perspectives of peers. It has been suggested that creative project experiences with iteration based on feedback encourage the development of these computational skills. However, traditional classrooms are more focused on getting the correct answer to standardized questions. Countries such as Mongolia may have particular challenges in offering students opportunities to develop projects, due to pressure from standardized exams for college entry and lack of teachers prepared to lead computational project-based learning (Uyanga, 2006).

This is an exploratory study of an 8-session/16-hour intervention course that provided 13 high-school students in Mongolia an opportunity to create, share, and iterate on computational projects. Measurements included assessment of student attitudes and evaluated how they viewed their participation and learning in the course through pre- and post-surveys, analyzing their responses with qualitative coding. Results suggest that the opportunity to create projects was novel for these students; attitudes regarding feedback changed, and iteration was viewed as key in creating computational artifacts. The analysis also highlights the urgency of further research on localizing the K-12 Computer Science Framework throughout different countries to foster these skills and developing structures that allow students to embrace the freedom of project-based learning.

Poster #119: Introducing Cybersecurity Concepts in Non-Security Courses through a POGIL Activity: A Pilot Study

Authors: Razvan Alexandru Mezei; Mario Guimaraes; Xuguang Chen


Process-Oriented Guided Inquiry Learning (POGIL) activities are used in many undergraduate courses. Their utilization in Computer Science courses is very useful in the delivery of fundamentals of computer science. The site many such activities. Currently, there is limited amount of research published involving both POGIL and Security. As such we feel that this area is wide open for contributions.

In this work we create a POGIL activity designed to introduce some fundamental Cybersecurity concepts to undergraduate computer science/information technology/information systems students enrolled in non-security-focused courses. The learners will get exposure to essential application security risks and reflect upon the concepts introduced. Through this POGIL activity students get exposed to exercises involving the first seven of the The Open Web Application Security Project (OWASP) Top 10 Application Security Risks.

We use PRE/POST survey methods to collect data from these courses and investigate students' engagement and knowledge gains resulted from this activity.

Poster #120: Novice Debugging in Block-Based and Hybrid Environments

Authors: Phoebe Martinez; John Lopez; Fernando J. Rodríguez; Joseph B. Wiggins; Kristy Boyer


Debugging is an important skill for novice programmers to master, but many students struggle to learn how to debug due in part to difficulty with program syntax. Block-based environments provide an alternative to traditional textual programming that reduces syntax errors, and recently hybrid block-based/textual environments have become more common. This poster presents preliminary research to understand how novice debugging strategies differ between block- based and hybrid environments. We assigned seven participants to debug four programs within one of the two environments and conducted interviews about their debugging approaches. Thematic analysis of interview responses suggest that students adjusted their strategies based on their prior experience with textual environments. By understanding novice programmers' strategies in these environments, the field can move toward more effectively support- ing productive strategies.

Poster #121: Consider Visualizing Society within the ACM Code of Ethics

Authors: Richard Blumenthal; Johanna Blumenthal


The effect of introducing a "Stakeholder Impact Visualization" into the Consider step of the CARE process in The ACM Code of Ethics and Professional Conduct is presented. This treatment increased the number and type of societal stakeholders identified and the number and type of requests for situational contextual made by computing students, when using the CARE process to consider an ethical decision contained in a malware case study.

Poster #122: Analyzing CS1 Student Code Using Code Embeddings

Authors: Robert Bazzocchi; Micah Flemming; Lisa Zhang


We present a machine learning model to obtain vector representations of student code submissions for a CS1 programming problem. These vector embeddings can be used to compare code, cluster code submissions, and identify errors. We hope to use these embeddings to identify conceptual misunderstandings in student code.

Poster #123: Introducing Parallelism to First-Year CS Majors

Authors: Barbara M. Anthony; D. Cenk Erdil; Olga Glebova; Robert Montante


We propose to strengthen the computer science (CS) curriculum by embedding parallel concepts in a required first-semester seminar taken by all incoming declared CS majors. We introduce students to parallel computing concepts through a series of unplugged activities so that students see parallel approaches as a natural form of solution to a task. We describe a pilot offering of the class and activities, with measurements and analysis of what students self-report and their performance on assessments.

Poster #124: Barriers, Challenges and Strategy Use of Students with High-Incidence Disabilities

Authors: Todd Alan Lash


Computer science (CS) education K-12 has spread at a remarkable pace over the last few years. As CS education becomes more and more a part of the general curriculum, students with disabilities, who spend much of their time in general education classrooms, will be included. Yet, there is little research on how to equitably and rigorously include students with disabilities in CS education. To begin to understand how best to provide CS educational services to diverse learners, we must first understand the challenges and barriers they face and what strategies they are already using to enable their success. This basic qualitative interpretative study utilized video screencast data of three upper-elementary students with high-incidence disabilities engaged in block-based programming. Findings confirmed students encountered multiple barriers and challenges, both unique and shared, across classrooms. While students utilized several problem solving and debugging strategies, they seldom did so in a systematic fashion.

Poster #125: Improving User Experience for GENI-based Cybersecurity Labs

Authors: Yongzhi Wang; Wen-Jung Hsin


GENI (Global Environment for Network Innovations) has been used in network research and education for more than one decade. However, very few institutions utilize the virtual machines (VM) deployed on GENI for generalized computer education. One major reason is the limited user interface offered by GENI VMs. In this poster, we introduce the desktop environment to GENI VMs, thereby widening the student base in computer education. Specifically, as the demand of Cybersecurity education increases, we show that by introducing the desktop environment to the existing flexible network topology, GENI becomes more inclusive in offering cybersecurity education to a wide range of students, ranging from entry level students, who are unfamiliar with command line interface, to the advanced students, who are interested in sophisticated network attacks and preventions. The preliminary student survey result shows that most students have no problem using GUI lab environment.

Poster #126: Teaching Platform for Network Communication and Protocols Using a Micro:bit Based Wheeled Robot

Authors: Zizhang Luo; Yuxuan Zhou; Bohan Yu; Junfeng Hu


In this study, we presented a lightweight inverted curriculum for teaching the essential details of network communication and protocols to undergraduate students major in computer science. Students are instructed to construct a wireless communication and control system connecting a computer to a wheeled robot using the Micro:bit platform. This platform consists of a micro-controller loaded with a Python interpreter and an additional extension board integrated with motors and sensors. In this study, we describe how the students were instructed to build the system step by step, from establishing a wired connection to implementing a TCP server on the PC-side for wireless control. Students can learn these knowledge through practice, which improves classroom engagement as a consequence.

Poster #127: Preparing Pre-Service Teacher Candidates for the Praxis Exam: An Innovative Model of Blended Support

Authors: Rebecca Odom-Bartel; Carol Fletcher; John Owen; Jeff Gray; Jeremy Zelkowski


The expansion of K-12 computer science (CS) has driven a dramatic need for educators who are trained in CS content and pedagogy [1]. This poster describes our effort to train teacher candidates (i.e., pre-service teachers who are students seeking degrees within a College of Education), who are specializing in secondary mathematics education, to be future CS educators. We specifically describe our collaboration to provide a blended preparatory six-week training for the ETS CS Praxis exam (5652), assisting our pre-service students in satisfying the CS certification requirements in our state before they graduate and begin their professional teaching career. Given the unique challenges of pre-service CS teacher preparation [2], blended models, which combine both in-person and online instruction, are an effective approach to building a pre-service program.

Within our pre-service CS program, students first complete a two-course pathway that prepares them in AP CSP content and pedagogy experiences, including observations in local AP CSP classrooms [3]. After completing the two courses, our students participate in the blended version of the WeTeach_CS Praxis preparation course to achieve certification. The in-person support provided by the blended model contributed significantly to certification success in this project. With a cut-score of 149 for the Praxis exam, all 11 of our pre-service students who completed the course received a passing score (including one student with a perfect score of 200, and another student with a 195); the average score for our pre-service students was 175. An additional 11 in-service teachers, with diverse backgrounds in CS content knowledge, also participated in the blended Praxis preparation course, with an average score of 166.

Given the unique challenges of pre-service CS teacher preparation, university pre-service CS teacher programs should look to innovative models of teacher support developed by in-service programs to make substantial gains in CS teacher certification. Incorporating an asynchronous online course that allows teachers with a wide range of prior experience in CS to learn at their own pace with in-person coursework and support appears to be a viable model for assisting non-CS major teacher candidates in achieving a CS certification. With the blended model, even teachers with no background knowledge in CS were successful.

Within our pre-service CS program, students first complete a two-course pathway that prepares them in AP CSP content and pedagogy experiences, including observations in local AP CSP classrooms [3]. After completing the two courses, our students participate in the blended version of the WeTeach_CS Praxis preparation course to achieve certification. The in-person support provided by the blended model contributed significantly to certification success in this project. With a cut-score of 149 for the Praxis exam, all 11 of our pre-service students who completed the course received a passing score (including one student with a perfect score of 200, and another student with a 195); the average score for our pre-service students was 175. An additional 11 in-service teachers, with diverse backgrounds in CS content knowledge, also participated in the blended Praxis preparation course, with an average score of 166.

Incorporating an asynchronous online course that allows teachers with a wide range of prior experience in CS to learn at their own pace with in-person coursework and support appears to be a viable model for assisting non-CS major teacher candidates in achieving a CS certification. With the blended model, even teachers with no background knowledge in CS were successful.

Poster #128: Video Analysis of Student Challenges and Interactions in Computational Thinking-integrated Botany

Authors: Ruohan Liu; Feiya Luo; Maya Israel


This study aimed to understand elementary students' challenges and interactions in computational thinking-integrated botany through robotics activities. Data was collected from screen-casting videos and analyzed using Collaborative Computing Observation Instrument (CCOI), a web-based analysis instrument with nodes and paths that classify and specify students' computing experience. The results revealed that all participants engaged in independent work for most of the time, with short interactions on 1) general computer technology issues; 2) software navigating issues; 3) questions about academic content; 4) computing discussion with the instructor; 5) informing the instructor about task accomplishment. The findings of this study will provide important insights to CS researchers, educators, and elementary teachers regarding CT-integration research and practice.

Poster #129: University-wide Adoption of Data Science

Authors: Debzani Deb; Elva Jones; Austin Hodge


Data Science is an essential concept for twenty-first century workforce and as a result the need to help all students acquire such skill has recently gained increased attention. However, most smaller schools are currently facing challenges to provide related knowledge and skill to a broad student population. During Spring of 2019, we organized a faculty workshop on "Data Science Pedagogy and Practice" aimed at building and enhancing data science capacity (teaching, research, partnership, collaboration) at our institution. We gathered faculty input on what would be needed for a successful university-wide initiative to incorporate data analytics concepts as a basic component of training across variety of disciplines including science, business and social sciences. We were able to identify certain challenges and opportunities to accommodate deeper coverage of data science in the undergraduate teaching and research, and as a result, we initiated few efforts such as 1) teaching through faculty partnership, 2) module-based integration into existing courses rather than developing new courses, 3) development of reusable course modules and augment that with contextual hand-on projects so that students could appreciate the use of data science in their own career path, 4) facilitation of course preparation and implementation via a small faculty adopter grant, and 5) development of a graduate certificate program in data analytics. In this poster, we report our experience in organizing and implementing the workshop, the key aspects of the university-wide data science efforts initiated as a result of the workshop, and the lessons learned so far from these initiatives.

Poster Session 2

Poster #201: Engaging Women in Coding: An Interdisciplinary Approach

Authors: Almudena Konrad


The focus of this effort is to provide teaching practices to engage women college students in learning Python computer programming by solving interdisciplinary problems. Interactive and collaborative tools are adapted and presented such as pair programming, think/pair/share, code tracing, debugging faulty code, and pedagogical code reviews. The goal is to offer a classroom experience that combines several methods to provide an engaging, fun and inclusive environment to women. The results show students' success in learning fundamentals of computer programming in Python, but more importantly, these classroom practices proved to be inspiring and motivating. Women participants gained confidence and a sense of belonging in a CS classroom.

Poster #202: Transitioning to Teaching Android With Kotlin and Jetpack Components

Authors: Andrey Esakia


Android tends to be the platform of choice in the education community due to its openness and the use of Java. Any major changes to the way Android apps are built could be helpful to both teachers and students. As of last year, Android officially supports Kotlin -- a modern Java interoperable language that offers null safety, reduced verbosity and numerous other modern programming language features. Furthermore, the current Android developer tool-set has been expanded to include a set of new libraries, tools, and architectural guidances called Android Jetpack. The new components simplify the process of implementing complex mobile app tasks such as lifecycle handling, persistence and background operations. In this poster, we share our findings in updating and teaching a CS3 introductory mobile software development course that was originally taught in Java.

Poster #203: Broadening Participation in Computing through Transforming Media and Technologies

Authors: Brianna Dym; Casey Fiesler


Broadening participation in computing ensures that a diversity of perspectives are involved in creating new technologies. Yet despite initiatives aimed at bringing more diverse groups into computer science as a discipline, underrepresented groups are still under threat to be crowded out of formal computing spaces. However, there are informal spaces where these populations engage in computational projects, learning computing skills outside of traditional academic or industry computing spaces. One such space is transformative fandom. We propose exploring how people in transformative fandom innovate and transform technologies, with an emphasis on their involvement in computational projects by and for marginalized communities.

Poster #204: A Sequenced Curriculum for Teaching Introductory C++ Programming

Authors: Michael McMillan


Several computer science education studies show that it is important when teaching introductory computer programming to teach the fundamental skills needed to learn programming in a sequenced order. These skills are reading code, writing code, interpreting programming templates, and applying programming templates to specific problems. However, most introductory programming courses, and programming textbooks, often interleave these skills so that writing code may be introduced before reading code and using templates to solve problems may be introduced before students are adequately taught how to interpret those templates. This poster will present a curriculum for teaching introductory C++ programming to Computer Science majors that follows the proper sequencing of skills. Examples of reading code using variable tracing problems are demonstrated, along with example problems in writing code. These examples will highlight several programming constructs including if statements, loops, and functions. Several programming templates are shown, as well as sample problems that require the student to recognize that the problem has an associated template and then be able to apply that template to solving the problem. The templates demonstrated in the poster include variable swapping, input one - process one, accumulate values until done, and processing all elements of an array.

Poster #205: Using the CS2013 Exam for ABET Student Outcome Assessment

Authors: Christopher Nitta; Kurt Eiselt


In anticipation of an ABET accreditation visit, our computer science department contracted with an independent external testing organization to perform an assessment of our students' proficiency in computer science. We used this external assessment to supplement our own internal assessment. The exam was easy to administer and covered multiple student outcomes. In addition, our analysis of the exam results showed high correlation between course performance and exam performance.

Poster #206: A Game-Changing Instructor Tool to Reinforce Coding Concepts

Authors: Devorah Kletenik; Deborah Sturm


We developed a 3D serious game that teaches and reinforces programming concepts. An innovative feature allows instructors to create customized challenges that students solve in the context of the game, allowing instructors to use the game to effectively target course topics or skills. A web-based portal gives instructors access to data about student performance in the game.

Poster #207: Cyber Secured: A Serious Game for Cybersecurity Novices

Authors: Devorah Kletenik; Alon Butbul; Daniel Chan; Deric Kwok; Matthew LaSpina


We developed an educational serious game to teach basic cybersecurity concepts to novices. An evaluation of the game on introductory Computer Science and Business students suggests that playing the game resulted in both short-term learning gains in cybersecurity as well as longer-term retention of the concepts. We also saw evidence that students who played the game had increased interest in cybersecurity, and students self-reported interest in playing the game to learn more about and assess their knowledge of cybersecurity.

Poster #208: 10 Binary Games for Computer Science Education

Authors: Hannah Wright; John Aycock


In the race to teach programming to large, diverse audiences, low-level topics have received short shrift. We address this gap by presenting two ("10") games we have designed - one a card game, the other an online game - to help students learn both binary manipulation and operations. These two games stand out from existing computer science `edutainment' through their novel presentation and unique take on topics that are relatively unexplored in games.

Poster #209: A CS Course for Non-Majors Based on the Arduino Platform

Authors: Ingrid Russell; Carolyn Pe Rosiene; Aaron Gold


We present a model for enhancing an introductory computer science course for non-majors through the use of the Arduino platform. We have developed and tested curricular modules and associated hands-on laboratories for this model. The use of the highly visual and interactive Arduino system has improved students' learning experiences, enabling them to apply and relate fundamental computational thinking concepts of algorithmic reasoning, data representation, and computational efficiency to real-world problems. Assessment results show that the approach has been effective. We present the curricular modules, our experiences using them, as well as assessment results.

Poster #210: Compiler Error Messages: Their Content and Accessibility in Novice Programming Environments

Authors: Ioannis Karvelas; Joe Dillane; Brett Becker


Improving the feedback that novices receive from programming environments is an important and often overlooked aspect of computing education research. This work in progress examines the effects of various mechanisms by which environments deliver feedback to users. By providing insights on the effects of these mechanisms, we aim to inform designers, developers and educators about more effective design and use of such environments for students.

Poster #211: Prototype of an Automated Feedback Tool for Intro CS Theory

Authors: Ivona Bezáková; Edith Hemaspaandra; Aryeh Lieberman; Hannah Miller; David E. Narváez


Computing theory is an important part of computer science education, introducing students to computational models of increasing power to study possibilities and limitations of computation. The subject is, however, very abstract and mathematical, and students often struggle with it. Students must master various computational models, but there is often a lengthy delay from the time a model is introduced until a student gets feedback on their related assignment. During this time, the course has typically moved far ahead, and students become progressively more lost. To alleviate this problem, we developed a prototype of an automated feedback tool for CS theory, which extends the widely used JFLAP software. Our tool currently handles student submissions of deterministic and non-deterministic finite automata, regular expressions, context-free grammars, and push-down automata homework, where an instructor specifies the target language and the students receive immediate feedback on their submissions. Currently, for incorrect submissions, the feedback is in the form of a "witness" string, specifying a string on which the submission fails. Beyond regular languages, our tool attempts to solve undecidable problems; fortunately, the undecidability does not occur on typical homework assignments. We are collecting preliminary evaluation data from students using the prototype tool in their course. In our future work, we will analyze the data, and we aim to produce automated partial credit (along with the witness feedback) using SAT and QBF solvers.

Poster #212: Computational Thinking in Music: A Data-Driven General Education STEAM Course

Authors: Jennifer Shafer; James Skripchuk


This poster outlines the design and results of a course entitled "Computational Thinking in Music." The course teaches computational thinking principles as a general education objective to undergraduate students, using data-driven investigation to inform musical composition. Students compose a song to imitate an artist of their choice by analyzing data extracted from a corpus of crowd-sourced pop song transcriptions. Students learn principles of abstraction, decomposition, and algorithmic thinking; no coding experience is required. Quantitative and qualitative results indicate that students are learning and applying computational thinking principles. Since the course is designed and taught by a musician and is run in the music department, students also learn a significant amount of music theory and composition, including harmonic structures and harmonization principles, melodic organization, consonance and dissonance, aural analysis of formal structures and meter, and influence of rhythm and timbre to create desired sounds.

Poster #213: Creation Support by Illustrating Codes Exemplified from Visual Queries

Authors: Koki Ito; Maki Ichimura; Juan Zhou; Hideyuki Takada


Creation is important process in learning programming for chil-dren. It is said that children can learn well by actually creatingprograms. In a programming workshop for children, an exampleprogram is illustrated to children prior to the creation activities. Itis assumed that children can create programs using the illustratedprogram. However, there are many cases in which it is difficultfor children to use the example programs, and they can not createprograms. This paper proposes a system that supports creationactivities by exemplifying programs from search by visual queries.Visual queries composed of sprites and emoji were applied in thissystem as children are familiar with visual environment.

Poster #214: Labeling Debugging in May's Journey Gameplay

Authors: Ma. Victoria Almeda; Erica Kleinman; Chaima Jemmali; Carter Ithier; Elizabeth Rowe; Magy Seif El-Nasr


Debugging is an integral part of programming and is difficult to master among novice programmers. We examine how middle-school learners approach debugging within a puzzle game, May's Journey, using a Playback Tool that provides a replay of student gameplay to support teacher practice and research. Teachers and researchers can use our labeling system and Playback Tool to observe students' debugging process and identify those who are struggling to learn how to debug their code.

Poster #215: Impact of Infusing Interactive and Collaborative Learning in Teaching Introductory Programming in a Dynamic Class

Authors: Mahmudur Rahman; Monir Sharker; Roshan Paudel


In this era of smart devices, new technologies, gadgets, apps, and numerous systems and services available over online, teaching an introductory programming course by traditional lecture method faces challenges to draw student's attention; especially in their freshman year. In this work, we discuss our experience in teaching an introductory CS course by infusing both interactive and collaborative learning in pedagogy so that students can learn using interactive platforms, tools, technologies, systems, and services as available to them and collaboration within and among groups. For interactive learning, students used an interactive programming environment (e.g. classroom) as well as online eBooks. We designed several in-class exercises, assignments, small lab-based projects with example codes and expected outputs, and unit tests by using built-in unit tests library. We also, in the middle of semester, introduced collaborative learning through teamwork on well-defined projects during the learning time and submitted at the end. The collaborations include use of basic task management tools and multi-player tool of that the students can critic, supplement, improve peer works and learn. To evaluate the impact of this infusion, a pre- and post-survey were conducted on student cohort in two different semesters. The initial evaluation of the survey results and performances (final project and final grades) show evidence to conclude that the proposed pedagogical approach increased student motivation and engagement and facilitated learning to entry-level computer science students.

Poster #216: What does a Literature Survey Reveal about the Initiatives to Attract and Retain Women into Computer Science Majors in Latin America?

Authors: Maristela Holanda; Dilma da Silva


Among the many papers describing initiatives to recruit and re- tain women into Computer Science (CS) majors, the vast majority focus on the United States and Europe. This poster addresses the research question: "What does the literature tell us about inter- ventions for women in CS majors in Latin America?". We have analyzed papers indexed by Scopus, Web of Science (WoS), and the Latin America Women in Computing Conference (LAWCC) using a systematic literature review process. We found papers from ten countries covering initiatives at different educational levels to increase the participation of women in Computing majors in Latin America.

Poster #217: An Engaging CS1 Curriculum Using BRIDGES

Authors: Matthew McQuaigue; Allie Beckman; David Burlinson; Luke Sloop; Alec Goncharow; Erik Saule; Kalpathi Subramanian; Jamie Payton


Early programming courses such as CS1 are an important time to capture the interest of students while imparting critical technical knowledge. Yet many CS1 courses are being taught using toy assignments and activities that tend to make students uninterested or doubt the usefulness of the content. In this poster, we demonstrate an enriching experience for students by coupling interesting datasets with visual representations and interactive applications, without having to change the content of that course. Our approach utilizes extensions to BRIDGES, an API in use for sophomore level CS courses for the past 5 years. BRIDGES provides easy access to external datasets and helps build interactive applications. The assignments we present are all scaffolded in a way that can be directly integrated into most early programming courses to make routine topics compelling and exciting.

Poster #218: Active Learning in CS2 and Discrete Mathematics

Authors: Michael Cotterell; Delaram Yazdansepas; Bradley Barnes


Over the past decade, active learning pedagogical approaches have increased in popularity among multiple STEM disciplines, including Computer Science (CS). The purpose of this experience report is to reflect on the efforts taken to incorporate active learning into some of the undergraduate CS courses at the University of Georgia. This report describes the implementation details of two courses, CS2 and Discrete Mathematics, as taught during the Spring semester in 2019 with a total initial enrollment count of 551, and it summarizes the results of a common set of anonymous exit survey responses collected by the instructors on a subset of that population. In these courses, active learning was implemented using a flipped classroom model with undergraduate peer learning assistants. The surveyed population consisted of 163 CS2 students and 125 Discrete Mathematics students. The responses suggest that students either understand or believe that the active learning activities they participated in helped with their learning, especially regarding confidence and question formation. However, 67.36% of responses reported a high degree of state anxiety when receiving new assignments. Additionally, while 89.58% of responses expressed a desire to take a class with peer learning assistants in the future, only 40.63% indicated a preference for active learning when compared to traditional lecture. The course instructors discuss how they will use the insights ascertained via the exit surveys as evidence when deciding changes for future iterations of the courses.

Poster #219: Computational Thinking Test Tool to Measure Cognitive Ability of K-12 Students

Authors: Miyoung Ryu; SeonKwan Han


This study reports the design and development of the Computational Thinking(CT) Test Tool to measure Cognitive Ability of K-12 students. The newly developed CT test tool was validated with experts and K-12 students. We expect that the CT test tool will be used as a basic data to identify the current situation of computing education.

Poster #220: Physical Activity in the Classroom across the Curriculum

Authors: Sonya Cates


This work describes activities involving movement suitable for both advanced and introductory computer science courses. Ongoing work seeks to quantify the impact of such activities on student learning outcomes and student engagement.

Poster #221: A Simple Game to Introduce Scrum Concepts

Authors: Stan Kurkovsky


It is often very difficult to transition from the waterfall to an agile process. To simplify this transition, we designed a LEGO game to introduce basic Scrum concepts and principles. This game provides students with an opportunity to play different scrum roles and measure the development team velocity in two sprints.

Poster #222: Student Blogs - Expression and Exposure

Authors: Stewart Weiss; Joanna Klukowska


It is acknowledged that student blogs in computer science courses can strengthen student communication skills, but it is rarely reported that these blogs can also provide a window into their authors' multiple facets. Computer science (CS) students are not one-dimensional; they have interests outside of CS that are often hidden, isolated from their CS experience, but which, if integrated into the CS education, could enrich their experience, increase their motivation, and enhance their relationships with their peers. We have discovered that when students write regular blogs, they use them as opportunities to express those interests and reveal talents that can be leveraged by faculty to their advantage. What we learn through these blogs helps us to increase student engagement in the course and makes us better advisers for their career in school and beyond.

Common to the structure of our courses is that students are encouraged to review each others' blogs, which are in public repositories, and to make suggestions to improve them. This mutual and collective review process is beneficial to all of them, because they learn about and help each other in a positive way. Students also learn about themselves by being able to look back at how their ideas evolved, how much they learned, and what they have accomplished.

Poster #223: Challenges Facing Computing Teachers in Guyana

Authors: Sue Sentance; Lenandlar Singh; Penelope De Freitas


With the introduction of computer science into school curricular around the world in recent years, it is easy to forget the challenges that developing countries may experience in following suit. Here we describe a study carried out to investigate the challenges faced by teachers in Guyana relating to resources, student engagement and in-service teacher education. A small-scale mixed-methods study with 48 teachers was conducted in two areas of Guyana, accompanying a workshop covering a range of interactive activities. Teachers reported a desire to improve the opportunities for their students but described challenges including lack of computers, lack of subject knowledge, and lack of support. They also reported that they found programming hard to learn and teach, with computer architecture easier both to learn and teach.

Poster #224: Measuring Graduate Teaching Assistants' Climate Under a Pedagogical Change Initiative

Authors: Syeda fatema Mazumder; Farah Tokmic; Tonya Frevert; Mary Lou Maher


An organization with high undergraduate enrollment, the College of Computing and Informatics at UNC Charlotte is undergoing a sustainable pedagogical shift. Our Graduate Teaching Assistants (GTAs) being a crucial part to sustain this change, are also facing a shift in their climate. We aim to present measurement to gauge our GTAs' climate under this pedagogical climate shift. For this purpose, we have analyzed 184 survey responses from GTAs and developed three constructs: Self-Competence, GTA-to-Faculty Relations and Community Belonging. Exploratory Factor Analysis was used to identify the underlying factors, exhibiting 13 items retaining to these three constructs with a Cronbach's alpha of 0.94. This measurement shows that with engaged classroom practices, we are also fostering an engaged climate for our GTAs.

Poster #225: School-wide Integration of Computational Thinking into Elementary Schools: A Cross-case Study

Authors: Wei Yan; Ruohan Liu; Maya Israel; Heather Sherwood; Cheri Fancsali; Melissa Pierce


This study investigated school-wide integration of computational thinking (CT) in elementary schools of: 1) systems-level approaches to integration; 2) teachers' understanding and implementation of CT integration, and 3) challenges to integration. Data sources include interviews with teachers, professional development (PD) providers, principals as well as implementation observations. Findings revealed three distinct approaches: (a) Lone STEM teacher implementer, (b) PD scaffolded approach, and (c) Whole school coach-in-residence approach. Teachers generally viewed CT in the context of problem-solving. Although struggles and challenges existed in all three schools, administrators, PD providers, and teachers all had a high commitment to CT integration.

Poster #226: Sparking Creativity with the Game Boy Advance

Authors: Wouter Groeneveld; Kris Aerts


Numerous studies have shown that Game-Based Learning positively impacts educational effectiveness and student motivation. However, according to Amabile's Componential Model of Creativity, motivation is only one aspect of creativity, next to expertise and creative skills. Therefore, we looked beyond motivational aspects in order to amplify all dimensions of creativity. In a 'Software Design in C++' course at our local faculty of Engineering Technology, students learn to apply high-level object-oriented software development techniques on low-level embedded hardware. By introducing the Game Boy Advance (GBA), a 32-bit handheld released by Nintendo in 2001, students not only need the domain-specific technical expertise and motivation to succeed, but also the right creative skills to cope with the limitations of this embedded system that has only 96kb of VRAM. We focused the labs on stimulating these creative problem-solving techniques. Results are promising: students were highly motivated and creative output was distinctly increased; but technical expertise was still lacking during examination. Further work involves investigating the impact of peer-assessment on all aspects of creativity.

Poster #227: Designing Block-Based Programming Language Features to Support Upper Elementary Students in Creating Interactive Science Narratives

Authors: Andy Smith; Bradford Mott; Sandra Taylor; Aleata Hubbard; James Minogue; Kevin Oliver; Cathy Ringstaff


Recent years have seen a growing recognition of the importance of enabling K-12 students to engage in computational thinking, particularly in elementary grades where students' dispositions toward STEM are developing. Block-based programming has emerged as an effective tool for engaging these novice learners in computational thinking. At the same time, digital storytelling has emerged as a promising avenue for creating motivating problem-solving scenarios that engage students in science investigations. Although block-based programming and digital storytelling are in many ways synergistic, there is a lingering question of how to design block-based languages at an age-appropriate level to enable effective and engaging storytelling. In this work, we review design principles from prior block-based and digital storytelling systems as well as propose the design of block-based programming language features to enable the creation of rich, interactive science narratives by upper elementary students.

Poster #228: A Conceptual Assessment Framework for K-12 Computer Science Rubric Design

Authors: Bita Akram; Wookhee Min; Eric Wiebe; Anam Navied; Bradford Mott; Kristy Boyer; James C. Lester


The lack of effective guidelines for assessing students' computer science (CS) competencies is creating significant demand by K-12 teachers for CS assessments to evaluate students' learning. We propose a conceptual assessment framework that guides teachers through designing appropriate assessments for computer science (CS) activities in their classrooms. The framework addresses the critical problem of incorporating CS into K-12 curricula without corresponding assessments. We illustrate its use with the design of a rubric for a bubble sort algorithm situated in a game-based learning environment for middle-grade students. We also apply a preliminary and a revised version of this assessment on two datasets collected from students' interactions with the learning environment. We found consistency among results identified through applying the preliminary and the revised rubric. The results reveal distinctive patterns in students' approaches to CS problem solving and coherency with respect to different aspects of the rubric.*

Poster #229: Supporting Student Success in Computing Courses Through Personalized Peer Advice

Authors: Young Park


Rapid growth of enrollment has rendered students' academic success in computing courses increasingly important. Given the value of having insight from a peer's point of view, advice from students who have taken such courses will greatly help their peers better prepare for, and be academically successful in, those courses. We present a novel personalized peer advice recommender system called myCCAdvice (my-Computing-Course-Advice), which provides individual students with personalized peer advice on new computing courses. myCCAdvice finds students similar to a given student via multi-criteria rating-based collaborative filtering, using grades and perceived difficulty of the courses' concept and coding components as course ratings. For a given course, myCCAdvice then predicts the given student's personalized grade and perceived difficulty of concept and coding, and suggests personalized textual peer advice for the given student to succeed.

Poster Session 3

Poster #301: Introducing Computer Science into K-8 Classrooms: Teachers' Perspectives from a Large, Urban School District

Authors: Erica Wheeler; John Wachen; Andrew M. Rasmussen; Diana Franklin; David Weintrop


As part of the national Computer Science for All initiative, there is a growing presence of computer science (CS) in K-8 classrooms. This poster presents findings from a survey of 130 K-8 teachers from Chicago Public Schools (CPS) about the state of computer science in their schools and their experiences teaching it. Results from the survey highlight the plurality of ways CS is being implemented in the classroom. The survey also reveals challenges instructors face in teaching CS. Finally, the survey reports on teachers' own experiences in the classroom, finding that teachers enjoy teaching CS and think their students also enjoy CS.

Poster #302: Initial Learning Trajectories for K-12 Quantum Computing

Authors: Diana Franklin; Jennifer Palmer; Randall Landsberg; Jasmine Marckwordt; Alexandria Muller; Kartik Singhal; Jean Salac; Danielle Harlow


As quantum computation (QC) comes closer to reality, questions arise as to what elements to teach, how to teach it, and to what depth. QC instruction typically depends heavily on advanced math and/or physics. Our interdisciplinary science / computer science / education team co-created quantum computing (QC) learning trajectories (LT), zines, and activities, for young learners. We present the LT's (Superposition, Quantum State, Entanglement, Measurement, and Reversibility) and the iterative process that created them.

Poster #303: Promoting Collaborative Skills with Github Project Boards

Authors: Carmen Bentley; Edward Gehringer


Teamwork skills are much in demand in the workplace, even more so with the growth of Agile methods. This calls for giving Computer Science students more practice in the kinds of team scenarios they will encounter on the job. Key for success are hands-on experience with planning methods, prioritization techniques, time management and organization. This poster shows how the cooperative tracking tool Github Project Boards helps teams strategize development, track progress, distribute work evenly, and facilitate collaboration. It also shows how instructors can use Github Project Boards to visualize and evaluate a team's development process.

Poster #304: CS4All: An Early Look at Teacher Implementation in NYC

Authors: Cheri Fancsali; June Mark; Wendy Castillo


CS for All initiatives have emerged around the country in the last decade with the hopes of addressing the growing call for all students to have opportunities to be proficient computational thinkers and to be exposed to computer science (CS) curriculum throughout their educational careers. As districts and states grapple with the realities of implementing such initiatives, they must address a key barrier: a lack of teacher capacity to teach CS. NYC's Computer Science for All (CS4All) is a 10-year, districtwide initiative aimed at providing high-quality computer science (CS) education to all public-school students. To address teacher capacity issues, the district has designed and implemented professional development (PD) with the goal of providing high-quality training to nearly 5,000 teachers by 2025. We conducted online surveys with about 1,500 teachers who participated in the multi-day professional development to assess the early outcomes of this effort. Results from two years of surveys offer insight into professional development quality, teacher confidence, ability of teachers to implement CS in their classrooms, and supports and barriers to offering CS (even in a district where CS is a priority). They also provide insight into how supports and barriers differ in schools serving students with high economic needs compared to schools serving students with lower economic needs. The successes and challenges highlighted by these data inform the work of other districts and states around the country engaged in similar efforts.

Poster #305: The SQL File Evaluation (SQLFE) Tool: A Flexible and Extendible System for Evaluation of SQL Queries

Authors: Paul Wagner


The SQL File Evaluation (SQLFE) tool is a GUI-based, flexible, and extendible software system for evaluating the correctness of files of student SQL queries as compared to specified SQL query answers. SQLFE can be configured per question to weight any of over 30 different tests in judging correctness of a submitted answer for a particular question. These tests include successful DBMS interpretation of the query, same result set (as specified answer), the use count of particular keywords, simple formatting style, and partial credit based on simple structural format. SQLFE currently works for databases constructed under Oracle and MySQL database management systems (DBMSs), and can be extended to more DBMSs. SQLFE is available from GitHub.

Poster #306: CyberPDX: An Interdisciplinary Professional Development Program for Middle and High School Teachers

Authors: Ellie Harmon; Veronica Hotton; Bob Liebman; Michael Lupro; W. Feng; Lois Delcambre; David Pouliot


CyberPDX is an annual professional development program hosted at Portland State University. Our long-term goal is to broaden participation in cybersecurity. Since 2016, over 70 middle and high school teachers from the Pacific Northwest have participated in the STREAM program, which offers interdisciplinary instruction in programming, cryptography, personal security, policy, literature, and arts. In this poster, we share our interdisciplinary curriculum, present data on short-term impacts, and describe our in-progress work to evaluate the program's longer term impacts.

Poster #307: Coding Science Internships: Broadening Participation in Computer Science by Positioning Coding as a Tool for Doing Science

Authors: Eric Greenwald; Ari Krakowski


Computational tools, and the computational thinking (CT) involved in their use, are pervasive in science, supporting and often transforming scientific understanding. Yet, longstanding disparities in access to learning opportunities means that CT's growing role risks deepening persistent inequities in STEM [2]. To address this problem, our team developed and studied two 10-lesson instructional units for middle school science classrooms, each designed to challenge persistent barriers to equitable participation in STEM. The units aim to position coding as a tool for doing science, and ultimately, encourage a broader range of students, and females in particular, to identify as programmers. Students who participated (n=391) in a recent study of the units demonstrated statistically significant learning gains, as measured on an external assessment of CT. Learning gains were particularly pronounced for female students. Findings suggest that students can develop CT through instruction that foregrounds science, and in ways that lead to more equitable outcomes.

Poster #308: Program2Play: Enticing Underrepresented Groups to Program through Gameplay

Authors: Evelyn Stiller


This paper introduces a new initiative of web-based games that encourages students to experiment with JavaScript instructions in order to play a series of games. This approach to involving students in early stages of programming uses principles of bricolage [2] to appeal to learning styles that traditional computer science curricula often do not appeal to. The fundamental goal is to build confidence and motivation through early programming successes. This initiative can be used in a CS0 course, to remediate programming skills for targeted students, or as a means to interest high school students in programming.

Poster #309: Are We Consistent? The Effects of Digitized Exams Grading

Authors: Gosia Migut; Ruben Wiersma


Many universities digitize exams or the process of grading the exams. This potentially allows for faster grading, is less labor intensive and less error-prone. But are the grades produced by online grading consistent with how we grade on paper? In this paper we present preliminary results of the comparison between scores given by grading online and grading on paper.

Poster #310: Measure of the Impact of a STEM-Student-led Course on Privacy Enhancing Technologies for a non-Technical Target Population

Authors: Gunnar Wolf; Alejandro Miranda


We present the results of a course on privacy-enhancing technologies (PETs) given by undergraduate students in the group we coordinate to a group of non-technical population, focusing on the attitude changes observed in the participants. This work was done as part of the UNAM/DGAPA/PAPIME PE102718 project, where we aim at explaining in a clear, simple language the need for PETs, dispelling the overwhelming perception that privacy and anonymity are unattainable for the regular user. The presented study is based on three applications of the survey completed by our first cohort.

Poster #311: Development and Implementation of an Information-Based Short-Term Study Abroad Course

Authors: James Butler; Shereen Khoja


Study abroad is considered a high-impact practice (HIP) in higher education. However, few discipline-specific study abroad courses are offered in computer science (CS) or physics. We implemented a CS/physics-based short-term study abroad course to England that focused on the history and science of information. This work provides insight for anyone considering the development and implementation of such a course at their own institution.

Poster #312: Teacher and School Supports to Promote Equitable Implementation of AP CSP in NYC

Authors: June Mark; Kelsey Klein; Tunisia Mitchell


Research-practice partnerships (RPPs) are a promising strategy for tackling persistent problems of practice and building knowledge about practices that may promote equity in computer science. Education Development Center (EDC) and New York City Department of Education (NYCDOE) are engaged in an RPP to enhance and study the implementation of high school Advanced Placement (AP) Computer Science Principles (CSP) courses in low-performing NYC schools. The objectives of this partnership are: sustained implementation of AP CSP courses in low-performing NYC high schools; greater participation of female students and students from racial and ethnic groups (URG) typically underrepresented in CS; and the integration of findings across NYCDOE's K-12 CS4All initiative. The partnership is studying and iteratively refining teacher and school supports, such as professional development (PD) and curriculum resources, school-based supports, and resources for school leaders, developed for and with low-performing schools. We hope to contribute knowledge of the curriculum, PD, and school supports that promote success for all students. The impact of the proposed work has implications for low-performing NYC high schools, and for schools nationwide that offer AP CSP. Administrators, teachers, developers, and policymakers can use these findings to promote AP CSP implementation supports for teachers and schools that show promise for improving student outcomes.

Poster #313: When Black-box Testing is Not Enough - on Designing Auto-graded Programming Assignments

Authors: Karen Jin; Michel Charpentier


Automatic programming assignment assessment is often premised on black-box testing. Grading of student submissions typically relies on functional specifications expressed in terms of expected outputs for given test inputs. Many upper-level courses, however, are centered on concepts that relate to how programs are implemented. In a course that teaches functional programming, for instance, the assignments should require that students use functional programming techniques, even if imperative solutions are supported by the language. When students are required to use certain programming language constructs, algorithms or design strategies as they implement their programs, a different approach to automated assessment is needed. Our strategy is centered on programming assignments designed in such a way that the internals of the assignment implementation can be evaluated through automated testing. A challenge of designing such auto-graded assignments is that both the specifications and the grading tests have a much higher level of complexity compared to plain functional specifications and black-box tests. The specification of a homework assignment must have precise requirements, but not prescribe a certain solution or impair student creativity. Furthermore, test cases should not inadvertently rely on implementation details that were not specified, but must be able to detect forbidden algorithms or language features. The benefits and difficulties of our approach are discussed in this work.

Poster #314: Resources for Computational Thinking: Co-designing with Teachers

Authors: Kelly Mills; Colin Angevine; Josh Weisgrau


Computational thinking (CT) has become a recent policy agenda in order for students to develop interest and foundational understanding in computing and preparation for an increasingly technological workforce. In order to integrate CT into K-12 education, teachers need professional support. The field has faced common challenges developing professional learning experiences and resources that facilitate the integration of computational thinking in authentic, equitable and sustainable ways. We have worked with a cohort of over eighty teachers from around the United States to co-design and pilot pedagogical resources for computational thinking. In this poster, we summarize our co-design process with teachers and share the resources we developed for computational thinking integration.

Poster #315: Teaching Computational Thinking through Civics: NYC's Hack League: Computer Science as a Tool for Developing Future Civic Change-makers

Authors: Kylie Davis; Elana Shneyer


This poster provides an overview of the goals and objectives of the New York City Department of Education's (NYCDOE) Hack League, a district-wide competition that invites middle and high school students with any level of CS experience to explore the systemic impacts and applications of computing. By requiring participants to interact with data and prototype a proposed solution to an issue that the data illuminates, students creatively engage in a human-centered design and strategic problem-solving process aimed at improving the quality of life and civic issues in their communities. Each stage of competition represents a component of the engineering design process, thereby encouraging students to be thoughtful programmers. Through three stages of competition, students identify an issue and validate it with data, outline and prototype a solution while incorporating feedback from industry professionals and subject matter experts, and build metrics into their product. Making open data accessible to students has proven to be an effective approach to developing citizen scientists in NYC. This competition could be replicated in districts anywhere in the country and can be organized within or across schools. It is a great way to encourage student development as civic-minded individuals, engagement with their local government and elected officials, and application of computational thinking and computer science skills.

Poster #316: Toward Finding Online Activity Patterns in a Flipped Programming Course

Authors: Lina Battestilli; Ignacio X. Domínguez; Maanasa Thyagarajan


Instructors are increasingly flipping their classrooms, where students are required to study on their own prior to in-class time with the instructor. We present preliminary results on identifying student online behavior patterns in a CS1 flipped course that correlate with students' test scores covering the material explained in the online videos. We found that clustering students based on how much of the online lecture videos they watched allows us to find significant differences in the average test scores of each cluster.

Poster #317: On Assessing Ethics Learning

Authors: Maddie Zug; Tzu-Yi Chen


As departments search for meaningful ways to incorporate material on ethics into the computer science curriculum, effective assessment is critical. Motivated by a framework proposed by the ImpactCS project, we describe simple open-ended questions that could provide insight into learners' progress from awareness through evaluation to responsible behavior. In a study of 22 graduating seniors at a liberal arts college we found more complete answers to our open-ended questions tended to correlate with students' perception of personal growth in ethical awareness since arriving at college.

Poster #318: Evaluating the Impact of Adaptive Parsons Problems on Students in Introductory Computer Science Courses

Authors: Mansi Shah; Dan Garcia


It's no surprise that students in introductory computer science courses face numerous challenges: for many, it's their first time ever programming, and computer science courses tend to be difficult and time-consuming. Parsons problems, problems where students piece together given code to write programs, solve some of these student issues: they have been shown to be more time efficient, yet just as effective for learning as traditional programming problems. However, in introductory computer science courses, students come in with varying skill sets and backgrounds. In response, some researchers have explored the space of adaptive Parsons problems, problems that provide varying levels of scaffolding based on students' abilities, continuing to adapt in difficulty based on students' progress. This paper will extend the work done on adaptive Parsons problems in two ways: by applying it to block-based programming languages, which are often used in introductory computer science courses, and by assessing its impacts on student confidence and attitudes towards the material. This study will use both intra-problem adaptive Parsons problems, where the difficulty of the existing question can be adjusted, and inter-problem adaptive Parsons problems, where the difficulty changes across problems based on student progress.

Poster #319: Ethics from the Start: Exploring Student Attitudes and Creating Interventions in Intro Programming Classes

Authors: Natalie Garrett; Mikhaila Friske; Casey Fiesler


The role of ethics in computing is a topic gaining more interest in the SIGCSE community in recent years. Our work is motivated by the idea that there is benefit to integrating ethics throughout undergraduate CS curriculum from the start. Therefore, we focus on students in introductory programming classes, seeking to understand both what students' existing attitudes are about the role of ethics in computing and how intervention at this early stage might impact them. We are conducting pre and post surveys in courses for both CS majors and non-majors, as well as working with instructors to replace existing assignments with new ones that guide students to consider ethical concerns as they learn introductory programming concepts. Discussions at SIGCSE around this topic can further discussions around appropriate norms and ideal strategies for ethics integration into CS courses.

Poster #320: Exploring Challenging Variations of Parsons Problems

Authors: Nathaniel Weinman; Fox Armando; Marti Hearst


Introductory programming classes teach students to program using worked examples, code tracing, and code writing exercises. Parsons Problems are an educational innovation in which students unscramble provided lines of code, as a step towards bridging the gap between reading and writing code. Though Parsons Problems have been found effective, there is some evidence that students can use syntactic heuristics to help them solve these problems without fully understanding the solution..

To address this limitation, we introduce Faded Parsons Problems, a variation of Parsons Problems where parts of the provided code are incomplete. We explore a specific instantiation of this idea, Blank-Variable Parsons Problems, in which all variable names are blanked out. Unlike another Parsons Problem variation - adding distractor code lines - Blank-Variable Parsons can be automatically created from a solution without additional effort from an instructor.

A 75 minute pilot study with CS1 students indicates that solving standard Parsons Problems does not lead to short-term near-transfer in code writing, suggesting a need for problems with less scaffolding. Additionally, students self-report Blank-Variable Parsons as fitting in difficulty between Parsons Problems and code writing, suggesting Blank-Variable Parsons may be one opportunity to fill this gap.

Poster #321: Comparison Between Online and Classroom Learning for a Boolean Algebra Class

Authors: Neftali Watkinson; Lubomir Bic


Online learning is useful for expanding educational offerings. This is crucial for institutions with limited space and courses with high demand. Universities still need to be mindful about the quality of their online offerings, and ensure that it meets higher education standards.

In this work we present a retrospective comparison between concurrent offerings (one online and one in classroom) of a discrete math course. The online course was carefully designed to be as challenging as the classroom one. We note the key takeaways from the experience.

Poster #322: Summer Coding Camp as a Gateway to STEM

Authors: Paea LePendu; Cecilia Cheung; Mariam Salloum; Pamela Sheffler; Kelly Downey


Just about everyone in the U.S., from the National Science Foundation down to local districts, has been pushing to introduce computer science concepts into K-12. Nevertheless, many students complete high school never having the chance to learn CS.

We have created a summer coding camp for high-school students (including 8th graders entering 9th grade) and designed a multi-year study to assess its effectiveness as an informal learning environment, based on theories of human motivation such as Self-Determination Theory.

The camp is a 1-week immersion experience, 9am to 5pm with food and activities, that introduces basic programming via MIT APP Inventor. Lecture material and in-class exercises draw upon meaningful applications, ones appealing to "social good." One unique aspect is the inclusion of professional and career development activities that engage students and broaden perspectives on CS and its applications. For example, the camp includes a college information session, alumni Skype and in-person talks, off-site visits to nearby companies, and research talks and demos by faculty.

Using a pre-and-post survey design, the current study examines the effects of the camp on student self-efficacy and interest in computing, as well as general school engagement and motivation. Results confirm that participation in the summer camp increased students’ self-efficacy and interest in computing, enhanced engagement in school on topics in general, and strengthened intrinsic motivation for completing schoolwork. The effects were similar for boys and girls.

Poster #323: Poster: A Modular and Innovative Security Analytics Course

Authors: Rakesh Verma


Techniques from data science are increasingly being applied by researchers to security challenges. However, requirements unique to the security domain necessitate painstaking care for the models to be valid and robust. In this paper, we outline a novel security analytics course, its modular design, some of its key innovations, and experience in teaching it.

Poster #324: CS2 and the Impact of Programming Language Choice

Authors: Robert Siegfried; Katherine G. Herbert-Berger; Jason P. Siegfried


There has been extensive research about the CS1 course. Much less has been written about the CS2 course, which is often a gateway course for CS majors. CS2 classes often reflect a second semester course in programming, yet when studying this course many universities have different purposes for this course. This poster shows the programming languages used in CS2 courses by the CS programs on the 28th Reid List of First Programing Languages. The languages used in CS1 and CS2 courses are discussed and the transitions between languages as students progress from their first course to their second. The analysis will then be discussed.

Poster #325: Program Cozmo to Enhance CS0/CS1 Learning of Secure Coding

Authors: Kevin Grondahl; Ankur Chattopadhyay; Mohammad Q. Azhar


This poster will present a novel experimental case-study that focuses on the merits of teaching software-security to CS0 and CS1 learners by demonstration of how vulnerable programming of the Cozmo robot can lead to unexpected robot-behavior. It will introduce our unique Cozmo secure-coding lesson-plan, as a new experiential-learning model, which combines learning of software-security concepts with educational-robotics (ER) in the form of hands-on, interactive coding. It will compare a conventional approach of teaching software-security via secure-coding lessons with our unconventional technique of teaching secure-coding using Cozmo. It will present student-survey based learning-assessment data collected from our experiment of offering secure-coding lessons to a diverse group of CS0 and CS1 learners through traditional secure-coding training-modules, which involve no ER. It will, then, compare these data with the student-survey based learning-assessment data gathered from our Cozmo secure-coding sessions. It will analyze these comparative-results in an effort to show preliminary evidence of the effectiveness and potential of our approach for more enhanced and engaging learning of software-security via defensive programming of Cozmo. Prior research in ER indicates that a social-robot can be an effective platform for teaching coding and cyber concepts. However, there is very limited work on the efficacy of teaching secure-coding using social-robots. Hence, our fresh, non-traditional approach of making CS0 and CS1 learners explore hands-on secure-coding through Cozmo is a first-of-its-kind research case-study in an attempt to fill this gap.

Poster #326: Iterative Design and Development of UTeach AP Computer Science A Curriculum: A Collaboration Between UTeach CS and A+ College Ready

Authors: Sarah Jenevein; Leslie Brommer; Carol Yarbrough


This poster outlines the goals of and challenges experienced in developing a new project-based Computer Science A curriculum. The curriculum development process was undertaken as a collaboration between curriculum developers from the UTeach Computer Science program at University of Texas at Austin, a College Board-endorsed provider of CS Principles curriculum and professional development, and a group of highly experienced secondary computer science teachers from A+ College Ready, a program focused on increasing access to and success in Advanced Placement courses for underserved students in Alabama. The curriculum was developed through an iterative design process, incorporating feedback from pilot teachers, STEM pedagogy experts, and culturally responsive reviewers. The resulting curriculum encourages problem solving, critical thinking, and group communication, and engages students in authentic, project- based learning through a collaborative learning process. Additionally, it provides a unique narrative structure to integrate unit projects throughout the course.

Poster #327: Comparison of Role-Assigned Grouping with Free-Form Group Activities in an Introductory Computer Science Course

Authors: Steve Earth; Bruce Char; Jeremy Johnson


We investigated the impact of assigning specific roles in Process Oriented Guided Inquiry Learning (POGIL) activities versus giving the same group activities without pre-assigned roles. We hoped to show that the group with additional structure would receive tangible benefits: more engagement with partners, greater comprehension of material, heightened content interest, and increased retention. Preliminary results suggest that the proportion of minimally participating students was not statistically significantly different, and neither were the individual assessments. The roled section did have higher scores overall in the course, both in the group activities and also in the final exam; however, the difference was small and not clearly statistically significant. Unexpectedly, disciplinary actions and post course surveys indicate a greater rate of plagiarism on both shared lab reports and individual homework assignments in the free-form group and this may be a factor for instructors to bear in mind when utilizing group activities.

Poster #328: CodeKey - An Online Code Editor to Study Code Patterns and Enhance Student Performance in CS Courses

Authors: Renaldo Williams; Dan Garcia


In the past several years, there has been an increase in web-based compilers that allow students to learn how to code using a browser. Many Universities use online code editors for their large Computer Science (CS) courses, which can have hundreds of students enrolled. For example, the CS200 course at UC Berkeley uses Jupyter Notebooks to teach Python for data science to 800+ students. All the students in the course must write and submit their code assignments in the web-browser. These online code editors for large CS courses presents several benefits. One benefit is that the code submitted by students can be stored in one central database and used for analysis. Another benefit is that it becomes easier to track the steps that a student takes to solve a coding problem since interactions in the browser can be detected using Javascript. The CodeKey project aims to take advantage of analyzing code submissions of hundreds of students in a CS course in order to find key insights. CodeKey also aims to record the interactions (i.e. clicks and keystrokes) of hundreds of students as each student attempts to solve a coding problem. The goal is to study the interactions and coding sequences of students in a CS course in order to understand similarities and differences between students who perform well on a problem and students who do not. Since it would be tedious for an instructor to perform such an analysis manually, we aim to build this system as it can aid the instructor by automatically extracting information from code submissions that can lead to better pedagogy when teaching CS courses. We also aim to study how revealing these coding patterns to a student can increase his understanding of how to solve a difficult coding problem by showing common mistakes, and by showing simple steps that lead to the correct solution.

Poster Session 4

Poster #401: Toward a Pedagogy Compatible with Equitable Grading: Tenets, Difficulties, and Suggestions

Authors: Andrew Berns; J. Philip East


Improving one's understanding of teaching and learning and applying it to instructional practice is a continuous process. While a few of us may be natural teachers, most of us need guidance to follow when planning and implementing instruction for the courses we teach. As we have examined our practice, we've discovered that we typically begin planning with instructional activity, but our plans are not done until we have explicated a grading plan (and then revised instructional plans to fit it). Recently, we have begun working with a grading plan motivated by equitable grading, an idea we first encountered in the book Grading for Equity by Joe Feldman. We have found that adopting an equitable grading plan has provided us with a framework for course design that has significantly improved our pedagogy. In this poster, we present the first work on implementing equitable grading in computer science education.

Poster #402: Fileshark: A Graphical File System Visualization Tool

Authors: Sarah Diesburg; Andrew Berns


The file system is a critical and ubiquitous part of our operating systems, yet it is often poorly understood. While many undergraduate students studying computer science learn the fundamentals of operating systems, they can often find it difficult to fully comprehend how a file system works. This difficulty may be in part because the true workings of a file system are hidden from the user, and so any coverage of its operation was done, by necessity, in the abstract. To address this, we have created a tool which visualizes the operations of the file system in situ, much like Wireshark provides information on what is happening on a network. Our tool, named Fileshark, provides an easy-to-use interface for visualizing the processes involved in reading, storing, and deleting data. Our tool can aid in the teaching of operating systems, computer forensics, and common concepts like transactions that are also found in other domains (e.g. databases and distributed systems).

Poster #403: First Generation-Rural Computer Science Students: Challenges in Retention and Success

Authors: Christina A. LeBlanc; Juston Newcomb; Penny Rheingans


Many undergraduates who pursue a major in Computer Science (CS) at rural universities identify themselves as first-generation students. There is a large body of research that confirms first-generation students are more likely to switch from CS to a different major, or leave their university completely within the first year. In response, this study explored the challenges that first-generation students from rural backgrounds face, and factors that might increase their chances of retention and success within the major. Additionally, the study identified thematic differences between first-generation students and non-first-generation students that highlight potential setbacks, such as their previous exposure and preparation for CS concepts, and their confidence in their ability to succeed in the courses and major. The poster provides details of the survey and other evaluative protocols as well as the analysis results and recommendations for program interventions.

Poster #404: Vectors of CT-ification: Integrating Computational Activities in STEM Classrooms

Authors: Connor Bain; Uri Wilensky


While the Next Generation Science Standards set an expectation for developing computer science and computational thinking (CT) practices in the context of science subjects, it is an open question as to how to create curriculum and assessments that develop and measure these practices. In this poster, we show one possible solution to this problem: to introduce students to computer science through infusing computational thinking practices ("CT-ifying") science classrooms. To address this gap, our group has worked to explicitly characterize core CT-STEM practices as specific learning objectives and we use these to guide our development of science curriculum and assessments. However, having these learning objectives in mind is not enough to actually create activities that engage students in CT practices. We have developed along with science teachers, a strategy of examining a teacher's existing curricula and identifying potential activities and concepts to "CT-ify", rather than creating entirely new curricula from scratch by using the concept of scale as an "attack vector" to design science units that integrate computational thinking practices into traditional science curricula. We demonstrate how we conceptualize four different versions of scale in science, 1. Time, 2. Size, 3. Number, and 4. Repeatability. We also present examples of these concepts in traditional high school science curricula that hundreds of students in a large urban US school district have used.

Poster #405: Practice Exams and Student Performance in Introductory Programming

Authors: Davide Fossati; Navid Hashemi


Introductory Computer Science courses are often challenging, and students who do not consistently practice the material tend to struggle the most. Weekly exams are an excellent strategy to make students review and practice the course material frequently and consistently. Providing practice exams a few days in advance is a way to help students better prepare and succeed in weekly tests. In this study, we looked at three aspects of how practice exams could correlate with students' performance in actual tests. First, we compared the performance of students who attempted the practice exams with those who did not. Second, we looked at how early students started the practice exam with respect to the date of the actual exam. Third, we calculated the total amount of time spent on each practice exam. Our preliminary results indicate superior performance of students who attempted the practice exams; no effect of practice start time; and a detectable but weak negative correlation between practice duration and exam performance.

Poster #406: Training Effective and Confident Computer Science TAs

Authors: Mariam Salloum


This poster presents a one-quarter seminar required of first-time and re-turning teaching assistants in the Computer Science and Engineering department at UC Riverside. The seminar covers departmental expectations, introduces TAs to methods for engaging large and diverse classrooms, and covers pedagogical practices in Computer Science. In addition to coverage of general issues surrounding teaching, the seminar includes many exercises that relate specifically to the teaching of computer science. Returning TAs serve as mentors for first-time TAs and participate in peer-observation and other activities. Initial results show a significant improvement in TA evaluations over the past year since the revamping of this seminar course.Moreover, TAs self-report an increased confidence in their teaching ability, communicating with students as well as motivating students.

Poster #407: Coding Nation: Gaming Rewards for Coding Practice

Authors: Ewan Peterson; Carlos Morales; Jonathan Corley; Brian Eddy


With recent research discussing the benefits of student's practicing programming skills in many small focused assignments and longstanding support for providing automated tests to students (including tools such as Web-Cat that have been around for a decade), the logical next step is to provide a suite of small practice problems with automated tests. However, this approach does not address the problem of motivation or the quality of the experience for students. From experience, the typical prod (mandatory graded items) has limited success, and adds the burden of including these items within the assessment framework for a course that may dilute the assessment power of the final course grade. We propose to gamify the practice process. Similar to modern games we will provide a clear progression path with continuous rewards for completing tasks. Additionally, the tasks will be small in scope with support for providing custom automated tests to support automated verification of student work and automated feedback. The goal is to develop a customizable programming practice problem system for use in an introductory course for supplementary practice.

Poster #408: Incorporating Embedded Systems Security Awareness into a Computer Science Course via Minimal Interventions

Authors: Harini Ramaprasad; Julio César Bahamón; Riley H. Jones; Stacey Watson


In this poster, we describe our research on the use of small units of content, termed minimal interventions, to create awareness of embedded systems security concepts in an undergraduate course, Introduction to Operating Systems and Networking. This work focuses on the incorporation of simple activities such as short readings, and the evaluation of their potential as teaching tools. To study the effectiveness of this minimal intervention approach, we collected student performance data over six (6) semesters and across multiple modalities of the course, with a total of 1,168 study participants. Students were asked to complete a short survey before and after completing the activities, to assess prior knowledge of the subject and measure knowledge gains that resulted from participation in the activity.

Poster #409: Using Forcing Functions to Improve Student Preparedness in an Operating Systems and Networking Class

Authors: Harini Ramaprasad; Julio César Bahamón; Riley H. Jones; Stacey Watson


In this poster, we describe our experiences with improving student preparedness in a junior-level course, Introduction to Operating Systems and Networking, that is taught in multiple modalities. The course is designed around the use of Active Learning techniques and the face-to-face version uses the Flipped Classroom model. Course content, termed `preparatory work', is delivered to students via lecture videos and online readings/tutorials. Students then engage with the course material via hands-on, application-oriented activities. One of the challenges we faced when we first 'flipped' this class is that students would not perform the necessary preparatory work before class. To address this issue, we explored the use of forcing functions, i.e., course design elements that help ensure the completion of preparatory work by students. We discuss the different forms of forcing functions that we used and present preliminary results on their effectiveness in improving preparedness.

Poster #411: Teaching Undergraduate Sociologists Modeling and Computational Thinking

Authors: Ilya Musabirov; Vsevolod Suschevskiy


The introductory agent-based modeling course we are presenting aims to equip second-year sociology students with basic skills which are critical to transforming their research ideas into theories and computational models. Our course follows a general course on theory construction in social science. As one of the first interactions of undergraduate social science students with computer science concepts, the course partially serves as a CS0 course; however, the main focus is on the higher-level skills needed to model social phenomena. This requires the course to maintain multiple foci on computer science and domain skills. In this paper, we present a course design considerations and establish a foundation for the comparison of agent-based models and the computational thinking and CS0 skills required for undergraduate social scientists studying agent-based modeling.

Poster #412: Converting Handwritten Text to Editable Format via Gesture Recognition for Education

Authors: Selena He; Meng Han; Nidhibahen Patel; Zhigang Li


In this project, we present a real-time Internet of Things (loT)-based system to convert handwritten text into editable format by implementing Hand Gesture Recognition (HGR) with Raspberry Pi for classroom education. HGR is implemented using edge detection algorithm and it is used to reduce computational complexity and improve the efficiency of the system. Raspberry Pi is used to retrieve and perceive HGR and to build a smart classroom via loT technologies. Handwritten images are converted into editable format by using OpenCV and machine learning algorithms. In the text conversion, recognition of uppercase and lowercase alphabets, numbers, special characters, mathematical symbols, equations, and figures are included with recognition of word, lines, blocks, and paragraphs. With the help of Raspberry Pi and IoT technologies, students can access the editable format of lecture notes via a desktop application which helps students to edit and share notes and images according to their necessity. Implementation details and comprehensive evaluations of the system are summarized in the paper.

Poster #413: Seeking the Goals of K-12 Computing Education: A Text Analysis based Literature Review

Authors: Yinning Zhang; Meng Han; Jing (Selena) He


What students are supposed to learn from computing education is a fundamental question for curriculum design. Based on 1,462 articles we extracted from Web of Science, Eric, and Jstor, we performed a keyword analysis and case analysis so as to answer this question. The findings indicate that problem-solving, collaboration skills, and creativity are the common goals identified in computing education, while students' improvements of abstraction, inclusiveness, and self-efficacy are rarely studied by educators. By comparing this result to the learning objectives defined by curriculum standards, we identified a gap between the current common practices in school and the visions provided by the standards. We also summarized some best practices of improving students' multiple competences through computing education.

Poster #414: Toward a Model of Polymorphism Comprehension

Authors: Joshua Gross; Gabriel S. Oliveira; Kevin Coogan


Polymorphism is challenging for novice programmers because it is an emergent consequence of multiple language features. OO polymorphism is critical to flexible software design, but no model currently explains student comprehension. In this research, students implemented the Strategy pattern to improve their comprehension of polymorphism, then were assessed by professional developers in whiteboard interviews. From these data, the authors work toward deriving a model of novice comprehension of polymorphism.

Poster #415: Random Input and Automated Output Generation in Submitty

Authors: Evan Maicus; Drumil Patel; Matthew Peveler; Barbara Cutler


Fuzzing, testing a codebase against a set of randomly generated inputs, has become a promising model of testing across the industry due to its ability to reveal difficult to detect bugs. Separately, the use of randomized inputs when testing student code submissions removes the potential for student hard-coding behavior. Motivated by these factors, we present a solution for the automated generation of testcase inputs and expected outputs within Submitty, an open source automated grading system from Rensselaer Polytechnic Institute. We detail an enhanced workflow that allows instructors to provide our testing system with an assignment-specific input generation script and an assignment solution. The input generation script is run at student test-time, providing students with either entirely generated inputs or a combination of generated and hand-crafted testcases. The instructor solution is run against the same inputs to produce expected results. This model of testcase specification carries the benefit of simple regeneration of expected output files if an assignment's specification changes after submissions open or between semesters. We present preliminary results of the use of random input generation in our large introductory programming courses, and evaluate the ability of random inputs to curb student hardcoding behavior as it relates to an early submission incentive system, which grants students an extension for achieving a target assignment score early in the week an assignment is due. We examine random input generation's ability to reveal bugs in student submissions from previous semesters.

Poster #416: Automated and Manual Grading of Web-Based Assignments

Authors: Matthew Peveler; Evan Maicus; Barbara Cutler


Grading web-based assignments poses many unique challenges when compared with other types of programming assignments. For introductory courses, grading involves not just validation of source code, but also performing some level of functional testing through a browser environment, where one clicks on content, and validates the browser state. In upper level courses, assignments increasingly use several different services, such as a web server and database, running concurrently, each potentially exposing ports for user access. Finally, for some assignments where students are encouraged to be creative, an instructor must then be able to view and interact with the running code, which has historically meant downloading, setting it up on their local machine, and running it -- which can prove burdensome. In this work, we present a system that can perform the task of automated grading, create a web-accessible environment on the server for the instructor to manually grade the assignment, and that can scale to handle many concurrent instances of both. To evaluate the effectiveness of our system, we will demonstrate its usage within the context of several assignments ranging over several different levels and courses of our Information Technology curriculum.

Poster #417: Teaching Computer Graphics Programming Using a Game Development Engine

Authors: Dimitrij (Mitja) Hmeljak; Holly Zhang


This poster presents our experience in using a Game Development Engine (GDE, i.e. Unity) for teaching introductory Computer Graphics (CG) courses. About a decade ago, standard textbooks used in CG courses began updating to adopt shader-based APIs and programmable GPUs. More recently, Graphics APIs evolved towards a lower level of hardware abstraction, reduced overhead, and multithreading capabilities. Once again, CG instructors have to either use outdated models, or change the way they teach. Acknowledging the divide between the development speed of GDEs, and the complexity and vastness of new graphics APIs, we show how the use of a GDE can help students understand core CG concepts, and still include shader-based programming, while low-level tasks are managed by the engine itself.

Poster #418: Ask Me Anything: Assessing Academic Dishonesty

Authors: Nathan Brunelle; John Hott


We provide a method for assessing self-reported rates of cheating among students. The method is both i) privacy-preserving in the sense that one cannot use answers as evidence that any particular student cheated and ii) non-anonymous in the sense that one can record each student's answer for use in future correlative studies. Because accuracy relies on students' willful participation, we describe how to convince students that they take no risk by taking the survey.

This method showed that 42% of 847 students willfully cheated in an Algorithms course. Surveying 181 CS Theory students showed no difference in cheating rates on written vs. coding assignments.

Poster #419: How Personalized Feedback Emails Can Enhance Participation Rate in Online Courses

Authors: Navid Hashemi; Sahar Voghooee; Delaram Yazdansepas


The instructors in conventional classes play a crucial role in motivating students to participate in class activities. However, in asynchronous online courses, such a relationship where the instructor act as the observer and the motivator is missing. In this paper, we performed an experiment on an online introductory course in computer science to understand how personalized feedback emails can address this limitation. For this purpose, we designed a forecasting system to analyze the progress of students towards the end of the semester and predict their final grades. Our quantitative and qualitative data analysis shows how such a feedback system can improve both the performance and the level of satisfaction of students in the online classes. More than ~42% of students ended up getting grades better than their expected scores, and ~78% of students confirmed that the feedback emails motivated them to enhance their engagement in the class discussions.

Poster #420: More A's, Fewer F's in a Data Structures Class in a New Classroom Building Designed for Active Learning

Authors: Raymond Klefstad


Recognizing the value of evidence-based active learning teaching methods, as well as the need for higher-order skills in its increasingly diverse student body, the University of California, Irvine recently invested $62 million in a new classroom building designed for active learning. We report first experiences in transforming a Data Structures class to take advantage of this space. The specially designed environment made it easier for students to collaborate on problem solving, discuss their solutions with each other, and share them with the entire class for further discussion. Survey data showed that students appreciated the benefits of the space and the active learning exercises. Compared to a previous offering of the course taught by the same instructor in a traditional lecture hall, students in this highly-structured active learning classroom were more likely to earn an A grade (41% vs 75%), and three times less likely to fail (6.7% vs 2.1%).

Poster #421: Active Learning with Code Writing in Large Lectures

Authors: Raymond Klefstad


Studies have found that many CS students perform poorly on basic programming tasks, and interviewers in industry complain that CS graduates cannot write code. Learning gains have been shown from active learning techniques such as Peer Instruction, but only for multiple-choice questions, not for writing code. Studies of multiple choice questions such as code tracing have shown weak correlations to code writing, and extremely small improvements in syntax in only one third of students. These results are consistent with a century of research showing limited transfer of knowledge, and skill acquisition literature showing that skill is developed only with many hours of practice.

We developed an active learning activity called LiveQuiz for large university courses, enabling every student to write specific small functions during lecture, using an online community tool on their own devices. Anonymous responses can be seen on the lecture hall screen in a single conversation thread, which the instructor scrolls. Both students and the instructor analyze and discuss the correctness of different solutions.

LiveQuiz was effective in helping students to write correct code: e.g, the percentage of correct sequential search functions rose from 36% to 96%. LiveQuiz is a promising active learning technique using existing tools, giving students practice and prompt feedback in a high-level skill. It is fast and easy to implement, and it provides the instructor first drafts of students' problem solving, which can yield insights for future teaching.

Poster #422: Transforming the Learning Experience of Non-Traditional Students in an Online CS1 Course through Peer-Instruction

Authors: Farzana Rahman; Tiana Solis


In the 21st century, Computer science (CS) academic programs are becoming as diverse and innovative as computer science itself. Due to the increasing number of jobs and national demands for more computing professionals, we see a surge of non-traditional students (aged over 25), entering the CS1 course, who already have a degree in a different discipline and work either full-time or part-time. These students have very low retention rate beyond CS1 course. We researched at a large metropolitan public research university, Florida International University (FIU), where we have designed an online CS1 course, integrating peer-instruction, to addresses the divergent background of our student population so they can thrive in computing major/minor, beyond CS1 course. In this poster, we report our findings on how the learning experience of non-traditional students is impacted by the peer-instruction integrated in the online CS1 course.

Poster #423: Student Psychological Factors and Diversity in Computer Science Education

Authors: Shasta Ihorn; Ilmi Yoon; Anagha Kulkarni


Underrepresentation of women and Black and Latinx individuals in computer science (CS) is a well-documented issue facing university training programs and the field in general. In an effort to expand on current knowledge and help bridge the equality gap in CS, a pilot interdisciplinary Computing Applications minor program was started in 2016 at San Francisco State University (SFSU). The "Promoting INclusivity in Computing" (PINC) program was designed to improve diversity in computing and increase computing literacy in data-intensive fields, specifically biology and chemistry. Students participating in the PINC program were compared to lower division CS majors at SFSU on measures assessing their attitudes toward computer science, goal-setting tendencies, experience of stereotype threat, general self-efficacy, and computer science self-efficacy. Analysis showed that students in the PINC program reported lower levels of computer science self-efficacy, but there were no significant differences between groups on self-report measures of goal-setting tendencies, experience of stereotype threat, attitudes toward computer science, and general self-efficacy. These findings highlight the success of the minor program in creating an educational environment that supports the achievement of underrepresented (UR) students, as well as the similar psychoeducational traits of the two groups of students. Findings may be of particular interest to postsecondary CS teachers, researchers interested in social justice and representation issues as they pertain to the field of computing, and university and departmental administrators who wish to increase and promote diversity in their CS programs.

Poster #424: Using SMT Solver and Logic Puzzles for Teaching Computational Logics in Discrete Mathematics Class

Authors: Shin Hong


Computational logics is one of the core languages for undergraduate students to build the fundamental knowledge and understanding of the computer science principles. However, unlike other beginner-level programming language courses, most students learn computational logics only with deduction or paper-and-pencil problem solving without any programming experiences.

This poster shows our case of providing a SMT-solver (e.g., Z3) and programming problems of writing logic puzzle solvers (e.g., Sudoku, Numbrix) as effective learning materials that beginner-level students can understand and practice computational logics as rigorous programming languages. These problems involve students modeling a problem as a satisfiability problem, finding and specifying constraints of a problem as predicate logic formulas, and calling a SMT solver from the programs, and other relevant problem-solving activities. We present a set of SMT-solver-based programming assignments (with different difficulty-levels) designed for beginner-level computer science course, instructions for students to equip basic skills for using Z3, useful set-up to challenge and support students at the same time. We also discuss our teaching experiences, open issues and future work.

Poster #425: The Changing Profile of ECS Teachers

Authors: Steven McGee; Lucia Dettori; Ronald Greenberg; Andrew M. Rasmussen; Dale Reed; Don Yanek


This study compares the characteristics and professional development (PD) experiences between teachers who began teaching Exploring Computer Science before and after the enactment of a CS graduation requirement in the Chicago Public Schools. The post-requirement teachers were less likely to have a CS background, but their experience in the ECS PD and their level of confidence at the end of the PD were equivalent to the early adopters.

Poster #426: Are Variable, Array, and Object Diagrams in Introductory Java Textbooks Explanative?

Authors: Syeda fatema Mazumder; Celine Latulipe; Manuel A. Pérez-Quiñones


Diagrams in textbooks are essential tools in explaining concepts. An effective diagram helps a novice learner build a runnable mental model, increase recall and improve problem-solving skills. Richard Mayer suggests that for a diagram to be effective, it must be explanative and, thus, document two major features: system topology and component behaviour. We surveyed diagrams of variables, arrays and objects in 15 commonly used introductory Java textbooks to investigate if the diagrams are explanative. This abstract presents the analysis of arrays.

Poster #427: Securing the Next Generation

Authors: W. Feng; Bob Liebman; Ellie Harmon; Veronica Hotton; Michael Lupro; Lois Delcambre


Weak authentication practices that rely on passwords for security have led to widespread data breaches and successful phishing attacks. Recent advances in the cost and usability of hardware security tokens have made the prospect of effectively augmenting password-based authentication or removing it altogether a possibility. To actualize this, a paradigm change in how people learn to authenticate accounts on-line must occur. Towards this end, we describe a curriculum to teach high-school students the perils of passwords and a program to distribute hardware security tokens to them as they are first setting up their on-line presence in order to improve the security of the next generation.

Poster #428: Utilizing Gamification and Visualization in Designing Labs for Teaching Algorithms

Authors: Jingsai Liang


This poster describes an effort to design labs for teaching algorithms through gamification and visualization. In order to make the labs doable and enjoyable, games are crafted under four simple rules. Visualization code is provided for each lab, so that students only need to focus on developing solutions to implement algorithms. Students work in pairs and demonstrate solutions of labs visually using pictures or animations at the end. This experience helps students to engage in the learning process.

Poster #429: Introducing Parallel Computing Concepts through a POGIL Activity: A Pilot Study

Authors: Razvan Alexandru Mezei; Saúl A. Blanco; David Q. Liu; Mahmood Hossain; Preston Carman


POGIL activities have been used for various computer science courses. However, there is no published POGIL activity for introducing parallel and distributed computing concepts. Recent ABET curriculum recommendations include the introduction of parallel and distributed computing concepts in undergraduate Computer Science/Engineering programs. In this work, we plan a cross-university study of evaluating the impact of using POGIL to introduce parallel computing topics in Data Structures and Algorithms or similar courses in an undergraduate computer science curriculum. We designed a POGIL tool that includes an unplugged activity that helps demonstrate some fundamental concepts of parallel computing. This unplugged activity is then followed by a set of reflective questions regarding potential advantages and challenges of using parallel computing. %NEEDED? WE SAY IT LATER: The POGIL tool also contains code written in Java, C/C++, and C\#. We plan to use PRE/POST surveys to collect data from undergraduate CS students from five universities located in different parts of the US with diverse student population. At the end of this work in progress, we will use the data to investigate how this POGIL activity helps students gain an understanding of parallel computing.