Computer Science is seen in many different ways in society; some may consider it to be an esoteric collection of jargon-laden skills, while others view it as an essential topic of study for all citizens. Many of us are very passionate about sharing our enthusiasm for the subject with others, and we are at a time in history where much of the hard work to get the public to understand that it is something special is starting to bear fruit, as we see Computer Science and Computational thinking appearing in K-12 curricula around the world. But what is it about Computer Science that makes it so important and exciting? Is it a subject in its own right that deserves space in the curriculum? We will explore the reasons that young students should become engaged with the subject, illustrated using an Unplugged perspective.
BIOGRAPHY
Tim Bell is a professor in the Department of Computer Science and Software Engineering at the University of Canterbury. His "Computer Science Unplugged'' project is being widely used internationally with the supporting materials (books and videos) having been translated into over 20 languages. Tim's awards for his work in computing education including the ETH (Zurich) ABZ International Honorary Medal for Fundamental Contributions in Computer Science Education (in 2013) and the IITP President’s Award for Contribution to the IT Profession in 2014. Since 2008 he has been actively involved in the design and deployment of teaching Computer Science and Computational Thinking in New Zealand schools.
Chairs:
Tiffany Barnes (North Carolina State University, United States) Dan Garcia (University of California, Berkeley, United States)
Matthew Neis (University of Wisconsin - Green Bay (UWGB), United States) Vincent Cefalu (University of Wisconsin - Green Bay (UWGB), United States) Ankur Chattopadhyay (University of Wisconsin - Green Bay (UWGB), United States)
Developing a Unique Android App-driven Nifty Middle-School Educational Module on Mobile Security for Driving Basic Information Security Awareness and Generating Interests in Cybersecurity
ABSTRACT. With the growing demand for cybersecurity workforce, as we look to prepare our youth in cybersecurity, a lack of basic awareness about mobile device security and limited practical knowledge in securing mobile devices may expose our young generation to data hacks and cyber-attacks. The current IEEE/ACM CS2013 curricular recommendations and the latest CSEC2017 cybersecurity curriculum guidelines clearly point to a need for inclusion of mobile security related topics within the present CS knowledge areas. However, even though there are limited mobile security-based curriculum development initiatives at the K-12 level, none of them focus on the theme of mobile app related permissions, vulnerabilities and exploits. Therefore, in order to address this gap in mobile security based K-12 experiential learning, we have designed and developed a unique Android app-driven information security-based learning module for educating middle-school (fifth to ninth grade) learners about relevant cybersecurity topics, like good password practices, ethics, Android app permissions, vulnerabilities, exploit-based hacking, using an Android device. This poster will describe our creative mobile security theme-driven middle-school educational module, including our original unique Android app, which has been successfully used to conduct several hands-on workshop sessions for middle-school students as part of our Google IgniteCS outreach program and the NSA GenCyber camp program. Our poster will also present the survey data collected from middle-school participants in an effort to evaluate mobile security-based experiential learning model as a potential cybersecurity educational interface for engaging K-12 students.
10:00
Travis Mandel (University of Hawaii at Hilo, United States) Jens Mache (Lewis & Clark College, United States) Richard Weiss (The Evergreen State College, United States) Peter Drake (Lewis & Clark College, United States)
Building out Data Science at Small Colleges
ABSTRACT. Data science is on the rise, being a high-demand skill for a number of employers, both in the tech field and in various scientific disciplines. Since it is a new field, only a handful of schools offer a data science program, most of those being large research institutions. This presents a unique opportunity for smaller schools to combine an exciting and highly relevant topic with the personalized education, small class sizes, and individual attention they are known for. On the flip side, building out data science at small schools also presents numerous challenges, including finding sufficient faculty time and expertise, attracting a sufficient number of students, forging interdepartmental connections, and convincing the administration to approve the new courses and program. In this poster, we present lessons learned from data science efforts at three small institutions, including one which recently successfully developed a data science certificate (containing four new data science classes).
On the Role of Paper in Agile and Active Requirements Engineering Education
ABSTRACT. To be successful in their program and in their subsequent professional commitments, the students of Requirements Engineering, in general, and Agile Requirements Engineering, in particular, need to acquire a certain set of cognitive, behavioral, social, and technical skills. These skills can be instilled through practice. The students also need to have a ‘toolbox’ with a diverse collection of tools which complement each other. This poster aims to show that paper remains one of those tools which can help towards developing aforementioned skills within the framework of an active learning classroom environment. In that regard, the authors’ approach is described, preliminary results of the authors’ experience with the graduate students over the period of two semesters are presented, and recommendations for educators who may be interested in putting the approach into practice are given.
Understanding How Computer Science Undergraduate Students are Developing their Professional Identities
ABSTRACT. Understanding the development of professional identity in Computer Science (CS) undergraduate students can help better evaluate CS degree program’s effectiveness in preparing students for their career goals. This poster presents findings from a study where we surveyed 105 CS undergraduate students about their self-perceptions of technical competencies in their chosen CS professions, the mechanisms to develop their competencies, as well as their motivations behind attaining these skill sets. Preliminary analysis of this data indicates that most CS students (93.3%), identified themselves into 7 different computing professions including Software Engineering (81.0%), Web Development (37.1%), User Experience (19.0%), and Computer Security (12.4%). They indicated using multiple mechanisms to develop their technical competencies including coursework, internship/professional experience, and research. Motivations behind their learning included self-interest as well as industry demands. We analyzed the relationships between students’ skill proficiencies, motivations, and mechanisms for learning and found differences between novice, intermediate, and advanced learners. We found that students who self-assessed their proficiencies as novices in their chosen professional identity had a single mechanism for learning, most commonly coursework preparation. On the other hand, students who rated themselves as intermediate or advanced learners had multiple mechanisms and motivational factors behind attaining their skill set. These findings are important for better understanding students’ learning needs and career aspirations. CS departments can use this information for better aligning their degree programs to student goals and creating pathways that ensure the development of CS students professional identity.
The Craft of Code - Exposing Elementary Students to Computing Through the Tangible Crafts
ABSTRACT. Quick. Think of an outreach activity in computer science and a target audience. If you’re like most people, you think of the target audience as middle-school students or high-school students and you think of activities like robotics, app development, or games. As a computer science educator, you might also note that these outreach activities should not just be designed to bring more people to CS, they should be designed to bring more people underrepresented in computing to CS–female students, domestic students of color, and lower-socio-economic-status students. But at the College level, what topics have shown the most efficacy in diversifying the discipline? It’s not robotics, app development, or games. For example, the Media Computing project, led by Mark Guzdial, has shown the power of computing for the arts as a motivating factor for college-age female students. Can such an approach work for younger students? In this project, we developed and presented a week-long “craft of code” camp for elementary school students in which they used block-based languages to explore three kinds of creative computing: programmable embroidery using TurtleStitch, programmable 3D models using BeetleBlocks, and programmable storytelling using Scratch. In this poster, we describe the curriculum for the camp, explore design issues, present results, and suggest approaches for others interested in developing similar camps. Our curriculum and materials are available at https://codecamp.sites.grinnell.edu/craftofcode/.
10:00
David Bunde (Knox College, United States) Cynthia Taylor (University of Illinois at Chicago, United States) Jaime Spacco (Knox College, United States) Andrew Petersen (Univ. Toronto Mississauga, Canada) Soohyun Nam Liao (Univ. California San Diego, United States) Leo Porter (Univ. California San Diego, United States)
A Multi-institution Exploration of Peer Instruction in Practice
ABSTRACT. Peer Instruction is an active learning pedagogy that has been shown to improve student outcomes in computing, including lower failure rates, higher exam scores, and better retention in the CS major. A key classroom mechanism for Peer Instruction is the “clicker question”: a formative multiple choice question on which students vote, then discuss, then vote again. While research indicates that clicker questions lead to learning gains for students, relatively little is known about the questions themselves and how faculty employ them. Additionally, much of the work has examined clicker data collected by CS Education researchers operating in a quasi-experimental setting. In this project, we examine clicker data collected incidentally by multiple instructors using clickers as a pedagogical technique in their classroom. This work represents a first effort to systematically evaluate how instructors use clicker questions, including how many clicker questions are used in a course, how difficult the questions used are, and whether instructors add or modify questions over time.
Pedagogical Agent as a Teaching Assistant for Programming Assignments
ABSTRACT. Pedagogical agents have received a large amount of interest in the recent years. Equipped with the ability to express emotions, these agents can influence the user attitudes, perceptions and behaviour. In our study, we are leveraging these emotionally-intelligent pedagogical agents to deliver effective and efficient feedback to students about their program assignments and also act as a teaching assistant for any basic programming related queries. We have integrated the pedagogical agent as part of Web-CAT - an automated online grading tool for students’ programs. One of our main objectives is to communicate clearly the feedback about student programs and also motivate them to perform better. Displaying the feedback and the motivational messages to students all the time can quickly become noise and students tend to ignore them. Our study is to strategically have the pedagogical agent communicate with the student to provide them feedback about their work and also provide motivation to improve upon their work. The students can also voluntarily ask the agent for feedback and areas of improvement in their work. In addition, the agent can also help the students with any programming related queries or ways to fix a specific error encountered in the student’s program. We will conduct a user study to gather feedback from students about the influence of the agent in helping them achieve their goal and the poster will contain the results of our study.
10:00
Jian Zhang (Texas Woman's University, United States) Marie-Anne Demuynck (Texas Woman's University, United States) Don Edwards (Texas Woman's University, United States) Mari Tietze (Texas Woman's University, United States)
Computer Science at the Interdisciplinary/Interprofessional Education Crossroad - Informatics at Texas Woman’s University
ABSTRACT. It is projected that over 51% of all STEM jobs will be in CS-related fields by 2018 (Georgetown University Center on Education and the Workforce Report). CS4All is the initiative to “empower a generation of American students with the computer science skills they need to thrive in a digital economy” (Computer Science for All, 2016). While embracing this initiative enthusiastically, the undergraduate computer science education community faces many challenges, including the curriculum and program development to meet the non-CS major’s background and retain them through the degree program. One starting implementation point in the CS4All initiative is to broaden the awareness of computer science in other disciplines. Efforts such as CS+X focus on the joint majors/degree plans between CS and other humanities disciplines (Joint Majors: CS+X). At Texas Woman’s University, the Mathematics and Computer Science department developed several new Informatics degree programs that were crafted to be interprofessional and interdisciplinary with a core of traditional computer science courses. In this poster, the authors describe the holistic design and development of those programs, the obstacles and challenges during the degree program approval process, the competency based education practice, and corresponding challenges observed on the traditional undergraduate CS program in the department.
10:00
Jean Mohammadi-Aragh (Mississippi State University, United States) Phyllis J. Beck (Mississippi State University, United States) Amy Barton (Mississippi State University, United States) Donna Reese (Mississippi State University, United States) Bryan Jones (Mississippi State University, United States) Monika Jankun-Kelly (Mississippi State University, United States)
Coding the Coders: Creating a Qualitative Codebook for Students’ Commenting Patterns
ABSTRACT. Learning to program is a complex task and has been documented as a persistent challenge. Based on literature documenting writing as a vehicle to help students learn, the authors propose integrating Writing-to-Learn strategies in support of learning to program. The poster will display our initial efforts from our NSF DUE grant examining how intermingled writing and coding can improve the process of learning to program. Specifically, the poster includes results from answering the following two research questions: RQ1) What do source code comments tell us about novice programmers’ thinking processes while coding? RQ2) How do students visually organize their source code? To answer these questions, the authors analyzed students’ programming assignments from an introductory programming course to generate a qualitative codebook that can be used to classify source code comments with respect to thinking processes and organizational patterns. The resultant qualitative codebook is displayed and audience members will have the opportunity to use the codebook in order to classify student comments. The authors will solicit feedback regarding the reliability, validity, and completeness of the codebook. In addition, the poster will display future plans for using the codebook to analyze student learning in programming courses with varying types of instruction (e.g., traditional versus WTL).
Analysis of the Differences in Designs between CS 1 and CS 2 Students
ABSTRACT. This study examines the results of establishing a rubric for design in freshmen computer science courses. The analysis examines three contiguous terms of data, one course per term, where students are required to submit a program design a week before they submit their assignment code. The terms differ in population (traditional and non-traditional), content (CS 1 and CS 2), and level of design guidance (increased guidance/details in the syllabus). Each qualitative design was evaluated using the same rubric to facilitate comparisons between different courses, correlation to assignment grades and overall course grades, there were notable differences between what the populations included in their designs and how frequently the populations included the various categories of the rubric over time. In particular, non-traditional students tend to include more diagrams, logic and relationship among parts than traditional students, and in a CS 1 class without object oriented programming (OOP) versus a CS 2 class with OOP, CS 2 students tend to provide a more global picture of the program than specific details outlined in CS 1 designs, which lacked a big-picture perspective. These insights allow us to better understand how students from varying populations and different course content approach problem solving and design in computer science differently.
Alternatives to Simple Multiple-Choice Questions: Computer Scorable Questions that Reveal and Challenge Student Thinking
ABSTRACT. When creating assessments, computer science educators and researchers must balance items’ cognitive complexity and authenticity against scoring efficiency. In this poster, the author reports results from an end-of-course assessment administered to over 500 high school students in an introductory block-based programming course. The poster focuses on three atypical multiple-choice items, in which students had to select all the correct responses. The items were designed to be more cognitively complex than simple multiple choice questions while remaining easy to score. Results show that this type of item was challenging for students but was predictive of their overall performance.
Language, Thinking, Code: Interactive Essays with Twine
ABSTRACT. A complete remodeling of the computing component in Bard College’s three-week writing intensive program is presented. The new design and implementation focuses on introducing all first-year students to computer programing through literature and creative writing. This was achieved by creating an interactive text-based game which teaches the basics of computer programming with Twine. After playing the game, students attended an undergraduate-led workshop where they transformed paper-based writing pieces into interactive essays that executes code.
Reflections are Good!: Analysis of Combination of Grades and Students’ Reflections using Learning Analytics
ABSTRACT. Reflection is a way to get close to real-time feedback from users, clients, and in our case students while they are working on activities in an active learning classroom setting. Analysis of reflection often involves subjective review and interpretations. On the other hand, learning analytics provides guidelines to collect and measure as well as analyze and reflect on data. In our case, learning analytics of students’ reflections reveals information about learners, their learning experience, and all their related contexts. Eventually, learning analytics aim is to understand and optimize learning and the corresponding environments (in which learning occurs). It plays a critical role in evaluating students’ performance and making decisions on how to improve students’ success and overall retention. In our study, we focus on applying learning analytics to a heterogeneous data set collected in the introductory programming course. This data set integrated self-assessment reflections along with the existing active learning group activities. By integrating self-assessment reflections, large amounts of valuable data can be gathered to facilitate continuous assessment of students’ learning. Using activity-based active learning and peer-instruction, the effectiveness of the content interventions targeting students to understand the fundamental concepts of computer programming is also evaluated.
Lessons Learned from an Interactive Educational Computer Game About Concurrent Programming
ABSTRACT. We have constructed an interactive computer game called Parallel to help understand the challenges of learning concurrent and parallel programming. We are trying it out it in sophomore-level and senior-level courses where multithreaded programming is taught. This poster highlights insights learned about how students learn to handle concurrent programming challenges from two user studies, and how we are using these insights to improve the game and our instructional efforts.
Online Technical Education in Advanced Technical Education Curriculum
ABSTRACT. With an expanding need for a diverse STEM workforce, community colleges play an instrumental role in filling the need with qualified technicians. This research project will identify and synthesize the experiences of developing and implementing online course components in technical education programs, including information technology and cybersecurity, with an emphasis on projects supported by the National Science Foundation's Advanced Technological Education program (ATE). This study presents findings from a multiple case study of seventeen community colleges programs. The research questions guiding this study include 1) how online education is being used in technical courses and programs and 2) how challenges and benefits are perceived from implementing online education. Two participants from each project (PI and Faculty) were interviewed and program artifacts were collected. The interviews were thematically coded and data were analyzed to determine how hands-on work occurs in online technical courses including key challenges and benefits. The findings include descriptions of synchronous vs asynchronous models, use of didactic and lab based curriculum, fidelity of experience and teaching strategies. Benefits and challenges experienced by both faculty and students are discussed. Findings from this study contribute knowledge about how colleges are implementing online technical education including broader changes that occur in regard to structure and philosophy. This project is important to the CSforALL initiative in that it evaluates online implementations of Cybersecurity and Information Technology programs and it provides an insight into best practices for implementing online, hybrid and flipped classroom models.
10:00
William Johnson (Georgia State University, United States) Raj Sunderraman (Georgia State University, Computer Science Department, United States) Anu Bourgeois (Georgia State University, United States)
Performance Impact of Computer Science Course Load and Transfer Status
ABSTRACT. Numerous studies have measured the impact of undergraduate student success factors in computer science (CS). Much research analysis is based on pedagogical interventions including hybrid learning, flipped classrooms, assessments of course content, and technology usage. However, in our research, we measure impact based on CS course load per semester related to pass/fail rates and contrast student status of transfer versus non-transfer (native). Our initial data analysis is comprised of eight academic years (Fall-Spring) of CS grades and enrollment from a four-year university. We show that transfer students tend to enroll in more CS courses per semester, beyond the department's recommended two. We also show that their performance is consistently different than that of native students, namely higher CS course fail rates and lower CS GPA scores. We conjecture that most transfer students tend to complete their core classes and are left with only CS courses to complete upon transfer. This results in the transfer students taking a heavier CS load and thus impacting their performance negatively, as compared to native students. Considering that many transfer students start their path way in 2-year institutions, it is imperative that better advising strategies are developed to enable the students to succeed upon their transition.
10:00
Amanda Dickes (Harvard University, United States) Shari Metcalf (Harvard University, United States) Amy Kamarainen (Harvard University, United States) Joe Reilly (Harvard University, United States) Karen Brennan (Harvard University, United States) Tina Grotzer (Harvard University, United States) Chris Dede (Harvard University, United States)
EcoMOD: Integrating Computational Thinking into Ecosystems Science Education via Modeling in Immersive Virtual Worlds
ABSTRACT. In recent years, the field of education has challenged researchers and practitioners to incorporate computing as an essential focus of K12 STEM education. Widely recognized as a “basic skill” necessary for economic opportunity and social mobility, integrating computing within K12 STEM supports learners of all ages in applying computational thinking within established and accessible contexts while co-developing practices essential to mathematical and scientific expertise. The EcoMOD project is an example of such an integration. In EcoMOD, immersive virtual environments are blended with interactive computational modeling tools designed specifically for younger children in an attempt to support ecological knowledge, complex causal reasoning and computational creation in third grade students. Our curricular design is grounded in the Science-as-Practice perspective and literature on young children’s computing. In this proposal, we present outcomes from early pilot work with 35 third graders across the greater Boston area. This work has implications for designers of educational technologies by illuminating aspects of children’s understanding that researchers and designers can leverage to support deeper and earlier understandings of ecological dynamics and computational practices.
10:00
Laura Legault (University of Wisconsin-Madison, United States) Matthew Berland (University of Wisconsin-Madison, United States)
Students' Perceptions of Pair Programming in CS1
ABSTRACT. Pair programming in CS1 courses has been shown to have many benefits (both to students and instructors), and it is widely employed [3]. Other than assignment by instructors, how do students select their partners, and what are their perceptions of working with a partner? In our study, students in a CS1 course for non-majors were required to complete a brief, anonymized survey after each homework assignment; we analyzed their survey responses over the course of the semester and compared the results of students who worked with a partner and students who worked alone. Pairs and individuals judged assignments to be about the same difficulty, but pairs spent less time on assignments. Individuals generally worked alone out of preference, but a minority of them reported interest in working with partners but could not find one on their own. Through our analysis we model relationships between survey constructs, student success, and their satisfaction.
Machine Learning Online Education Experience for Non-technical People
ABSTRACT. With the increasing demand for understanding the theory of machine learning, professional people without technical background need to work with machine learning to solve the problem and to facilitate fostering work. The poster describes machine learning online education experience for professional industry people without technical background and machine learning knowledge. Firstly, the poster lists machine learning application requirements of professional people from various of industry area. Secondly, the poster analyzes the demand and typical characteristics of professional people. Based on above analysis, the poster proposes course framework including assignment, small projects and reading materials to assist professional people to understand the theory of machine learning and utilize Python machine learning open source framework to solve the problem in the industry and facilitate industry development. From the perspective of the application, the poster presents classical machine learning algorithms to help professionals to resolve collaborative filtering, classification, clustering, and optimization problem. Also, the poster introduces the instruction process of deep learning by using TensorFlow and teaches the student to understand complicated conception along with philosophy thinking. To broaden students' horizons, a general-purpose reasoning system, Non-Axiomatic Reasoning System which is different from conventional reasoning systems is introduced. To help the student understand mathematics related conception, the author describes the instruction techniques including the graphical representation of knowledge, teaching with dialogue, to guide students to think deeply and to attract attention. To evaluate the objective of the course, the author summarizes the development progress, feedback from students and future improvement teaching action.
10:00
Subhajit Chakrabarty (University of Massachusetts Lowell, United States) Fred Martin (University of Massachusetts Lowell, United States)
Role of prior experience on student performance in the introductory undergraduate CS course
ABSTRACT. Student success rates in the introductory computer science courses at colleges and universities across worldwide are scandalously low. Research has indicated that 30% to 50% of students fail to successfully complete a first-semester course (Bennedsen & Caspersen, 2007). At our institution, a mid-sized, research-intensive public university, over the past ten semesters, 40.6% of our students failed to successfully complete our first-semester computer science course.
To improve our pedagogy, we created a survey to learn which factors might cause differential course outcomes. The survey was administered to the Fall 2017 student cohort. The survey was designed to measure two hypothesized constructs: one on prior interest in computer science, and one on prior experience. The survey also gathered data on students’ gender, race/ethnicity, and transfer status.
The survey was administered at the beginning of the semester. Data from 204 students was matched with their final course grades. Results revealed that the prior experience question bank could be construed as a construct, with a Cronbach’s alpha of 0.85. The prior interest bank was not successful with a Cronbach’s alpha of 0.3.
The prior experience bank consisted of 10 yes/no questions asking about familiarity with specific topics found in a first-year computer science course (e.g. globals; arrays; conditionals) and one question indicating years of prior experience programming. This was converted into a categorical scale from 1 to 15. We discovered a statistically significant correlation between this prior experience scale and course grade outcome, with more experience predicting higher grades.
Computer Science Living-Learning Community for Women at Rutgers: Initial Experiences and Outcomes
ABSTRACT. We have developed the Douglass-SAS-DIMACS Computer Science Living-Learning Community (LLC) for first-year women at Rutgers, now in its second year. Each year, around 20 first-year women undergraduates at Rutgers who intend to major in computer science are selected for the LLC. LLC participants live in a common dorm and are provided with an educational, mentoring, and community-building program that supports their progress as Rutgers students and as computer science majors. To our knowledge, this is the first undergraduate living-learning community for women in computer science at any university.
A focus group conducted with women from the inaugural cohort revealed that faculty support contributed to feelings of belonging, both in the program and in the CS department, among the participants; participants valued the academic support they received as part of the program and felt communication structures within the program were effective; and participants expressed a desire for advanced undergraduate peer mentors. A quasi-experimental study of this cohort indicated that LLC participants showed a decrease in satisfaction with the CS department at Rutgers; a decrease in computing-related self-efficacy; and an increase in the belief that computing ability is inborn. Follow up interviews suggested that the efficacy of the LLC might be dependent on two factors: participants’ commitment to a CS major coming into the program and participants’ level of involvement with the LLC group. In response to these results, we are continuing to make changes to the program and to carefully study the program, in order to maximize its effectiveness.
ABSTRACT. The ACM International Collegiate Programming Contest (ICPC) is the most popular programming competition for universities worldwide. This contest examines the comprehensive ability of teams to program to solve problems. Teamwork is important besides team members’ personal skills and capabilities. There have been literature on computer algorithms, personal training for programming contests, and team strategies during the contests. However, few articles involve team building and teamwork training for programming contests. This poster hopes to provide guidance and reference for coaches and contestants in teamwork training for programming contests, so that a team can benefit most from limited time of training to make as great progress as possible.
This poster shares the authors’ experience in team training for ICPC. Knowledge, skills, and attitudes (KSAs) of teamwork for programming contests are concluded and presented in details. The authors represent various teamwork methods graphically, so that it is visually helpful for study and discussion. These teamwork methods are pure teamwork, no-teamwork, some paired methods, and the method preferred by the authors. A team training form is then proposed to record the team behaviors in team training. By examining the training record, the coach and the team themselves can discover the team’s strengths and weaknesses in various aspects, and evaluate the teamwork quality in the ways of communication, coordination, balance of member contributions and mutual support.
How to Foster Creativity? Curriculum of Creativity Development Program for Computer Science Students
ABSTRACT. The importance of problem solving skills in addition to computational skills for computer science graduates is increasing more than ever. This is reflected in the burst of hackathons and ideathons available. Companies in software industries expect graduates to be capable in applying computer science to solve domain problems. In this poster the authors present a curriculum of a creativity development program for undergraduate computer science students that aims at exposing them to problem solving and software development through a series of three courses spanning a period of six months. The focus of this initiative is to teach problem solving skills and software development skills as an integrated skill-set and take advantage of the combined effect to address the challenge for students to connect computer science knowledge to real world problems, an issue apparent in our current curriculum. The curriculum starts with the first course on creativity development in which students propose solutions to a real-world problem through field-work and information gathering/analysis. The second course introduces project management and software development through a five-day software development team project. In the final course, student teams work on a software development request from customers. The program is in its first year of offering with a relatively small group of students. By the time of the SIGCSE Symposium, the authors expect to have results of program assessment to report. The poster will display our findings from student scores on individual performance tests and student perception on Likert scales.
Coding and Programming: What Do Italian Primary School Teachers Think?
ABSTRACT. The term "coding" is more and more used to talk about the diffusion of computer science in school. While computer scientists, computing professionals, and educators consider this term very close or even equivalent to "programming", media tend to use it to describe something new and different from the "old boring CS".
We provide here the main results of a large-scale investigation among primary school teachers (N=972) exploring their viewpoint on coding and its relation to programming. We asked to describe what coding is for them: only 40% of the relevant answers used terms explicitly mentioning programming. An additional 19%, while not directly mentioning programming, made reference to an information processing agent executing instructions. An additional small subset of teachers, while considering coding different from programming, described such difference using “tolerable” characterizations.
We also analyzed the (sometime conflicting) misconceptions of teachers trying to explain why coding and programming are different.
10:00
Zhen Zeng (Arizona State Univeristy, United States) Yuli Deng (Arizona State University, United States) Sharon Hsiao (Arizona State University, United States) Dijiang Huang (Arizona State University, United States) Chun-Jen Chung (Arizona State University, United States)
Conceptualizing student engagement in virtual hands-on lab: preliminary findings from a computer network security course
ABSTRACT. Engaged students are more likely to spend longer time on study, and obtain a better academic performance. Previous studies investigated the role of student engagement in virtual learning environments (e.g., online course, online discussion forum, and intelligent tutoring systems). However, it is still challenging to engage students on a virtual hands-on lab system. Comparing to other virtual learning environment, students have a unique learning model -- learning by doing in virtual hands-on lab. To successfully engage students in a large hands-on lab in cybersecurity education, instructors need to understand how students engage in a lab session, and how their engagement affect lab learning outcome in this specific educational setting. In this paper, we developed a conceptual model, especially for virtual hands-on lab education, to describe student engagement during learning processes in working on virtual hands-on lab tasks. This model adopts two existing educational models on engagement behavior. Preliminary data was collected from 109 students’ lab project in a computer network security course at Arizona State University in 2016 Fall semester. Pearson correlation coefficient analysis results reveal two statistically significant preliminary results: the longer time a student spends on reading lab instructional material, the more likely the student works longer time on lab tasks (p < 0.01); the longer time a student works on lab tasks, a better learning performance the student archives (p < 0.01).
POGIL activities for Computer Organization and Architecture
ABSTRACT. Research has shown that active learning can increase student performance and engagement, but access to materials is a notable barrier to using research-based instruction strategies in CS and Engineering. We present results of a project-in-progress that aims to create, pilot, revise, and disseminate POGIL activities for Computer Organization and Architecture. POGIL is a research-based instruction strategy that comprises self-managed teams, development of process skills, and activities designed based on a theory of instruction called learning cycles. The strategy has been shown to improve student performance and engagement in scientific disciplines and CS.
This poster will 1) give background on POGIL, 2) provide a rationale for creating POGIL activities for Computer Organization and Architecture, 3) summarize the methodology for designing POGIL activities for CS, 4) list the titles and learning objectives of the activities we've created, 6) highlight the components of one of the activities, and 7) discuss the results of 2-3 pilots of the activities with 36-70 students (specifically: timing of activities, lessons learned from activity authorship and facilitation, and the nature of the revisions).
Developing Interdisciplinary Programs - Challenges and Opportunities
ABSTRACT. We present our experience developing and managing new interdisciplinary programs in computer forensics and digital media informatics – the results of successful collaboration with social science faculty. The computer forensics minor is an interdisciplinary program that integrates criminal justice and computer science and combines both theoretical concepts and practical skills to prepare students for a career in the area of information security and digital forensics. The digital media informatics major is an interdisciplinary program run jointly by the computer science and communication studies departments. The program provides both broad and targeted perspectives on the field of informatics and helps students develop unique skills that can be adapted to the rapidly changing computer and media environment through four specialized concentrations: (1) audio-visual, (2) graphics, mobile, & web development, (3) gaming & artificial intelligence, and (4) digital writing. We describe the various stages in developing the interdisciplinary programs including an analysis of competitive academic programs, evaluation of current resources, qualifications and faculty considerations, the process of developing the program objectives and learning outcomes, and assessment strategies. We focus on common issues that arose during the development process such as the challenge of designing balanced curricula for interdisciplinary programs, the need for designing new courses and renovating existing courses. We also discuss the anticipated costs of the programs, required resources, recruitment strategies, and the administrative approval mechanism.
10:00
Sven Jatzlau (Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany) Ralf Romeike (Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany)
New Teaching Strategies for New Concepts – What is Different with Block-Based Programming?
ABSTRACT. Since the emergence of block-based visual programming languages as a new take on programming environments, they have served as a successful entry point into programming for novice learners. Over time, they have been developed and improved to become increasingly accessible, intuitive, and easy to use. In the course of this evolution, both uncommon and entirely new language concepts have been introduced, such as the cloning of objects, or nesting of sprites. However, the question of how to teach them has yet to be answered: the mostly visual representation of program flow, output and code, and the way a user interacts with these aspects can make traditional teaching practices inadequate. Instead, block-based languages require new practices, methods, and strategies, which will be developed in this research project. To this end, new concepts must be evaluated with regards to their strengths, weaknesses, and applications. Following this step, strategies with which to teach these concepts can be developed. Therefore, this poster presents the initial findings of a research project concerned with the theory of teaching block-based programming. In this preliminary study, we have identified new concepts found in Scratch, Snap! and GP, members of the most common block-based language family. In the next phase of the project, strategies for teaching these new concepts will be developed and assessed.
Charles Babbage, Ada Lovelace, and the Dawn of Computing
ABSTRACT. This poster summarizes the product of the author's 2016 ACM SIGCSE Special Projects grant. The author created a Reacting to the Past (RTTP) historical role-playing game entitled "Charles Babbage, Ada Lovelace, and the Dawn of Computing." According to the RTTP Web site, RTTP "...consists of elaborate games, set in the past, in which students are assigned roles informed by classic texts in the history of ideas. Class sessions are run entirely by students; instructors advise and guide students and grade their oral and written work. It seeks to draw students into the past, promote engagement with big ideas, and improve intellectual and academic skills." In the Babbage game, students take on the personae of the key figures in early Victorian science and engineering, and debate whether or not the British government should provide funding for the development of Babbage's Difference and Analytical Engines. Game sessions take place at Babbage's home, the London Mechanic's Institute, and the Royal Society. The game can be played in six, seven, or eight class sessions, and includes three optional labs. There are 28 playable characters in the game. The game can be used in history of science or history of computing courses, and also in general-audience first-year seminar courses, to encourage students to study computing. The poster covers the background of RTTP games in general; some of the specifics of the Babbage game in particular; and includes pictures and insights from the first playtesting of the game during the author's fall 2017 first-year seminar course.
The Ongoing Development of a Collaboration between a Software Project Management Course and an Introduction to Software Development Course
ABSTRACT. The ability to manage software development teams is an important skill in the computing professions. The Software Engineering Body of Knowledge devotes a separate knowledge area to this skill. It is difficult, however, to effectively teach software project management (SPM) in a traditional undergraduate setting, because it is logistically challenging to find software development teams that students can manage over a sufficiently long period. Thus, SPM students often cannot apply in practice the SPM theory they learn in class and, in particular, the soft-skill aspects of SPM.
To enhance student learning and experience of SPM, we have established a collaboration between a senior-level SPM course and a sophomore-level introduction to software development (ISD) course. In this collaboration, SPM students serve as managers of teams of ISD students during a semester-long project. We designed a methodology to evaluate the collaboration in terms of student learning and experience. This methodology is based on student surveys, reflections, meetings with students, and analysis of student artifacts (e.g., meeting minutes). We are in the third year of a longitudinal study in which we evaluate the collaboration after each semester it runs and evolve that collaboration based on the collected evidence. The proposed poster will describe the collaboration, the evaluation methodology, the continuous improvement process for evolving the collaboration, lessons learned on the educational benefits of the collaboration, and issues, such as the amount of managers' authority, nature of managers' tasks, logistics, and scheduling.
Rita Garcia (The University of Adelaide, Australia)
Parsons Problems usage within a MOOC Pedagogy
ABSTRACT. Parsons Problems is an effective Introductory Programming teaching tool that gets students to arrange code segments to form a functional program, reducing their cognitive load so they can focus on the programming concepts. This demonstration shows how Parsons Problems can be used as a pedagogical strategy in a Massive Open Online Course (MOOC) for introductory programming. A MOOC is a learning platform, where compilers and IDEs have already been embedded for students to immerse themselves in a single learning environment. The Parsons Problems package, js-parsons, available at https://github.com/js-parsons/js-parsons has been successfully integrated into the University of Adelaide’s edX’s MOOC platform as an XBlock component that can be potentially made available for other edX platforms. The demonstration presents the educators' interface to add new questions and receive students' results, along with the students' perspective, including subgoals. The demonstration prototypes new feedback models when students encounter Parsons Problems errors, opening discussion up to the audience for opinions and input. This demonstration is intended for anyone wanting to know how to use Parsons Problems within MOOCs as a pedagogical approach; those seeking to incorporate MOOCs into their coursework with focused exercises; and those wanting to contribute to future Parsons Problems enhancements.
10:00
Matthew Peveler (Rensselaer Polytechnic Institute, United States) Samuel Breese (Rensselaer Polytechnic Institute, United States) Evan Maicus (Rensselaer Polytechnic Institute, United States) Barbara Cutler (Rensselaer Polytechnic Institute, United States) Ana Milanova (Rensselaer Polytechnic Institute, United States) Buster Holzbauer (Rensselaer Polytechnic Institute, United States)
Supporting Team Submissions and Peer Grading within Submitty
ABSTRACT. Submitty is an open source programming assignment submission system from the Rensselaer Center for Open Source Software (RCOS) at Rensselaer Polytechnic Institute (RPI) accessed via an online interface. Submitty allows students to submit their code through file upload or version control, such as an internal Git/SVN server or Github, where it is then tested with a highly configurable and customizable automated grader. For each assignment, instructors can specify whether or not students can work in teams. For team assignments, the instructor can either assign teammates or allow the students to choose. In addition to the auto-grading for submissions, Submitty supports human grading. The human graded rubric is developed by the graders as they work, allowing reuse of common feedback messages and partial credit points. The rubric can be searched and modified during and after grading is complete for consistency. By default, grading is handled by instructors and TAs who are assigned to sections of students, which can be rotated through the semester. However, an instructor can choose to incorporate peer grading, which will allow students to anonymously view and submit grades for each other, receiving multiple peer grades per assignment. Submitty has been used at RPI for several years for a variety of courses, serving over 1500 students and 50 instructors and TAs each semester, and has recently been used by several other universities. We will present “case studies” of assignment configurations for autograding and manual grading and demonstrate the grading interface in support of team submissions and peer grading.
Strategies for basing the CS theory course on non-decision problems
ABSTRACT. Computational and complexity theory are core components of the computer science curriculum, and in the vast majority of cases are taught using decision problems as the main paradigm. For experienced practitioners, decision problems are the best tool. But for undergraduates encountering the material for the first time, we present evidence that non-decision problems (such as optimization problems and search problems) are preferable. In addition, we describe technical definitions and pedagogical strategies that have been used successfully for teaching the theory course using non-decision problems as the central concept.
11:10
Amruth Kumar (Ramapo College of New Jersey, United States)
Epplets: A Tool for Solving Parsons Puzzles
ABSTRACT. Performance on Parsons puzzles has been found to correlate with that on code-writing exercises. Parsons puzzles are preferred by students over alternative programming tasks. In order to make Parsons puzzles widely available to students in the introductory programming course, we developed a tool that administers the puzzles in C++, Java and C#. Our design of the tool improves upon the work done by earlier researchers in several ways: students rearrange lines of code rather than program fragments; they get credit based on the number of actions they take to reassemble the code; they get feedback that helps them fix their incorrect answer; and the tool adapts to the needs of the student. The tool runs as a Java Web application. We describe our experience using the tool for two years: how they benefited the students; the revisions made to address the feedback provided by the users; and our plans for future work.
11:35
Mark McCartin-Lim (University of Massachusetts at Amherst, United States)
Connect the Dots to Prove It: A Novel Way to Learn Proof Construction
ABSTRACT. This paper describes a new method for helping students improve their ability to develop proofs, a skill necessary for comprehending and appreciating the foundational topics of computer science. Our method transforms ordinary pen-and-paper homework problems into a puzzle-like game, where students connect dots to justify assertions, in a quest to reach a desired goal. We have implemented a software tutoring system using this method, for students to use at home as an optional study aid. Potentially, our system could one day become a full replacement for traditional hand-written homework, which has the additional benefit for course instructors of automating the grading of student work. Our system is also easy to adapt to any class that requires students to write proofs, and it is easy for instructors to create new problems to use with this system. This stands in contrast to many other educational tools for teaching proofs, which are limited to specific topic domains. We have demonstrated the versatility of our system by experimentally testing it in two computer science classes at a large public university. One was a Sophomore-level discrete mathematics course where the students were learning first-order prepositional logic, and the other was a Junior-level algorithms course where students were being first exposed to the concept of NP-completeness. Students from our experiments reported that they would like our system to be used in more of their classes.
Culturally-Centric Outreach and Engagement for Under-served Groups in STEM
ABSTRACT. The intersection of Science, Technology and the Arts is providing an insightful and rich playground for engaging historically underrepresented and under-served youth. This paper discusses an innovative and effective approach for learning Science, Technology, Engineering, Art and Mathematics (STEAM) with an emphasis on computing using expressive arts as a culturally-centered engagement tool. Our framework incorporates a multimodal model that considers unconventional learning styles that appeal to underrepresented and under-served students, the power of cultural cues and the presence of minority STEM professionals to shape students learning experiences. In addition to demonstrating the importance of holistic and culturally-centered learning approaches, we’ve identified methods of engaging students’ families and communities as a means of strengthening the pipeline to continued education and careers in STEAM.
11:10
Jennifer Blaney (University of California, Los Angeles, United States)
Looking Beyond Representation: How Women’s Perceptions of Leadership Change During the Introductory Computing Course
ABSTRACT. While the gender gap in undergraduate computing is often discussed in reference to the representation of women in the computing major, less is known about leadership and other affective outcomes for women and men in computing. This study examines how gender shapes (a) introductory computing students’ perceptions of their leadership, including measures of both general self-rated leadership ability and perceived capacity for leadership in computing, (b) how these perceptions change during the introductory computing course, and (c) the experiences that are related to change in leadership outcomes. Findings reveal gender differences in how incoming introductory course students report both their general leadership abilities and their perceived capacity for leadership in computing. Additionally, both women and men experienced a decline in their perceived capacity for leadership in computing during the introductory course. These and other findings are discussed, with attention given to the implications for both researchers and instructors seeking to broaden women’s participation in computing.
A Model for Increasing Gender Diversity in Technology [2nd BEST PAPER NEW CURRICULA, PROGRAMS, DEGREES AND POSITION PAPERS]
ABSTRACT. At our university, women are a minority in all computing and engineering
majors. This situation is mirrored at other universities nationwide,
as well as in technical industries. Stereotype threat, the risk of confirming,
as a self-characteristic, a negative stereotype about one’s
social group, results in women not performing as well as their male
counterparts in computing, mathematics, and engineering courses.
Often times the aftermath of these experiences cause women to
fear that they do not belong or are "smart enough" resulting in
women switching to a different major. In this
paper, we present the a Scholars model and an evaluation of
its impact on the retention and success of women in computing and
engineering majors in comparison to women with similar academic
credentials that enter into computing and engineering majors.
Joseph Chao (Bowling Green State University, United States)
Location: 320
10:45
Quinn Burke (College of Charleston, SC, United States) Cinamon Bailey (College of Charleston, SC, United States) Louise Ann Lyon (ETR Associates, United States) Emily Green (ETR Associates, United States)
Understanding the Software Development Industry’s Perspective on Coding Boot Camps versus Traditional 4-year Colleges
ABSTRACT. This paper presents findings related to the perceived capacity of coding boot camps to instill a range of skills among adult learners from an industry perspective. Data is based on a series of national focus groups and individual interviews with representatives from the software development industry, who spoke about their hiring procedures and preferences as well as how they perceived coding boot camp applicants in comparison to graduates from four-year Computer Science (CS) degree programs. Results indicate that hiring managers filling positions, such as web developers or user interface/user experience designers, generally have a favorable perspective of coding boot camp hires. Across the multiple focus groups, they stressed the importance of so-called “soft” skills, such as teamwork and persistence, among new hires; and they noted the strong presence of these skills in boot camp graduates. Industry representatives likewise indicate that the “hard” skills associated with programming are more readily discernible in the interview process through standardized assessments and portfolio evaluation. Multiple hiring managers pointed out that numerous coding boot camp applicants have more prior work experience than recent college graduates, which has helped these applicants develop such aforementioned “soft” skills, and that many coding boot camp applicants already have college degrees, albeit many not in CS. The Discussion section focuses on the future potential of coding boot camps as an alternative training ground. It also details next steps for the research study, with plans to add both undergraduate and coding boot camp student perspectives on their educational paths.
11:10
Yu-Cheng Tu (The University of Auckland, New Zealand) Gillian Dobbie (The University of Auckland, New Zealand) Ian Warren (The University of Auckland, New Zealand) Andrew Meads (The University of Auckland, New Zealand) Cameron Grout (University of Waikato, New Zealand)
An Experience Report on a Boot-Camp Style Programming Course
ABSTRACT. Recently, there has been a strong demand for talented ICT (Information and Communication Technology) graduates in the software industry in New Zealand. To meet this demand, in 2015, the government of New Zealand provided funding for three new ICT Graduate Schools. The challenge for the schools was twofold: to provide a qualification for students transitioning into ICT and to prepare those with an ICT education for the workforce. Each of the Schools offer different programmes. We offer two postgraduate programmes for growing talent and knowledge to support the New Zealand's ICT sector. In this paper, we describe our experience with delivering one of the postgraduate programmes, the Postgraduate Certificate in Information Technology. The programme consists of two courses, Programming for Industry and Programming with Web Technologies. The courses focus on providing industry-focused education to students with non-ICT backgrounds for a career in IT. The programme has been running for 2 years and runs over one semester (12 weeks) in a "boot-camp" style, which has proved to be successful. In this paper, we provide an overview of the features of the programme, which incorporates industry-focused activities for building students' knowledge relevant to the software industry. Finally, we discuss key challenges and identify directions for improvement.
11:35
Kulsoom Mansoor (University of Washington, United States) Riley Gaggero (University of Washington, United States) Karen Gourd (University of Washington, United States) Ann Mcmahon (University of Washington, United States) Kelvin Sung (University of Washington, United States)
A Collaborative Course for Learning How to Teach Summer Java Coding Camps
ABSTRACT. Summer coding or programming camps are popular. With sufficient organization, offering these camps at higher education institutions can facilitate outreach objectives including engaging underrepresented groups. However, the challenges involved in organizing and offering a camp are many, including: recruitment of instructors and campers, operations management (e.g., scheduling, camper behavior/safety issues, equipment maintenance), finances, and curriculum development. We addressed these challenges by engaging a non-profit summer camp provider, Pacific Science Center (PSC), to handle camp logistics; and offered a new course for students with backgrounds in computer science (CS) or education (ED) to learn how to teach Java programming while developing a curriculum appropriate for middle school aged campers. The university students would then work as paid camp instructors during the summer. Three professors, one each from CS, ED, and the Office of Research in charge of outreach, co-planned and co-facilitated the new course. Reflecting the hands-on active and collaborative learning philosophy of PSC summer camps, the new course grouped students into multidisciplinary teams and challenged the teams to learn to teach by developing and teaching the content to be taught during the camps. The end results from the course were teams of classroom-ready instructors with technical knowledge in both programming and learning theories and a customized curriculum ready for use during the camps. This paper details our project, including results from the offered summer camps. With all developed materials freely available, interested institutions can either adapt the camp curriculum or offer a similar course.
Lori Pollock (University of Delaware, United States Minor Outlying Islands) James Atlas (University of Delaware, United States Minor Outlying Islands) Tim Bell (University of Canterbury, New Zealand) Tracy Henderson (University of Canterbury, New Zealand)
A Computer Science Study Abroad with Service Learning: Design and Reflections
ABSTRACT. Study abroad offers students the opportunity to experience other cultures, languages, and environments while obtaining credits toward their degree. Students are also taught to appreciate the difference and diversity of people and culture, such that they may dismiss stereotypes and learn to communicate and collaborate cross-culturally in a global economy. Unfortunately, few universities offer study abroad programs directed specifically to computer science and particularly in combining student technical learning with service learning for broadening participation in computing throughout the world.
In this paper, we describe a service-learning-based model for computer science students and other university students with minimal prior computer science experience
to engage and inspire themselves and the next generation of computational thinkers through learning, teaching and creating web-based learning games along with local children and teachers in a foreign country.
We describe the model focusing on learning
objectives, curriculum, field component, planning, and partnership building.
We describe the
software products that undergraduates were
able to create in four weeks and their CS education service learning field experiences. Finally, we investigate
the impact of the study abroad model on
undergraduates’
content knowledge, and their career and personal development.
11:10
Spenser Robinson (University of Nebraska Omaha, United States) Margeret Hall (University of Nebraska Omaha, United States)
Combining Agile Software Development and Service Learning: A Case Study in Experiential IS Education
ABSTRACT. Experiential learning is ever-more popular with educators, industry, and with students themselves. Finding and delivering appropriate applied use cases can be challenging though, as on one hand industry partners may not willing to give insights to non-employees into their systems for creating truly meaningful case studies, and on the other hand the appropriate balance between instruction and application is ill-defined. Service learning projects are one solution for filling in the applied project gap. This case study takes place in the nexus between blended classrooms, applied software development, and service learning. Junior and senior level undergraduate students partnered with a community actor to develop deployable software applying the Agile methodology. The service learning project enabled students to engage in a full-cycle development project, from requirements gathering to hypercare. However, significant trade-offs in structure and classroom management must be made when the focus of the class is a full implementation. Blended technologies and course delivery were found to aid delivery and project management in a seamless manner. Drawing on feedback from stakeholders and students, we make a series of recommendations for implementing applied software development. Our contribution is the introduction and assessment of a method to marry applied information systems education with service learning.
Social Software Design to Facilitate Service-learning in Interdisciplinary Computer Science Courses
ABSTRACT. Service-learning continues to play an increasing role in higher education as instructors look to incorporate high impact practices that challenge students through active and experiential learning. Yet limitations in learning management systems (LMS) can be barriers to service-learning project success. In this paper, we present an experience report on the design and implementation of an interdisciplinary service-learning course for computer science. We also present on the design and implementation of specialized social networking software as a mechanism to support service-learning in interdisciplinary computer science courses. More specifically, this research introduces customized social software, consisting of blogging, wiki and discussion software as tools for facilitating the specialized needs of these courses. These needs range from the ability for project management and milestone tracking, which are supported through wiki technology and messaging, self-reflection, which is supported through blogging and information exchange and knowledge sharing, which are supported through online discussion boards, social bookmarking and file-sharing. Results were largely positive, with the majority of students indicating that the course learning environment supported learning, collaboration and course community.
Michael Oudshoorn (Northwest Missouri State University, United States) Stan Thomas (Wake Forest University, United States) Rajendra Raj (Rochester Institute of Technology, United States) Allen Parrish (United States Naval Academy, United States)
Understanding the New ABET Computer Science Criteria
ABSTRACT. The Computing Accreditation Commission of ABET accredits over 300 Computer Science programs worldwide under the Computer Science program criteria. In the past few years, the Commission has engaged the computing community to modify and update these criteria, and has now signed off on an updated set of program criteria that take into account factors such as the CS2013 curricular guidelines, impact on currently accredited programs, structural changes to clarify the criteria, and the reduction of the assessment burden. These recent changes to the Computer Science program criteria primarily impact student outcomes (what program graduates are expected to know and be able to do by graduation) and curriculum. Those changes will impact programs in a variety of ways and degrees-some programs will be impacted significantly while others will be affected in a relatively minor way. This paper examines the changes that will take effect in the 2019-20 accreditation cycle, covering the rationale for those changes and exploring the likely impact on programs that are currently accredited or seeking accreditation in the near future.
11:10
Cara Tang (Portland Community College, United States) Cindy Tucker (Bluegrass Community and Technical College, United States) Christian Servin (El Paso Community College, United States) Markus Geissler (Cosumnes River College, United States)
Computer Science Curricular Guidance for Associate-Degree Transfer Programs
ABSTRACT. After two years of intense curriculum development effort, the ACM CCECC (Committee for Computing Education in Community Colleges) published Computer Science Curricular Guidance for Associate-Degree Transfer Programs with Infused Cybersecurity, known as CSTransfer2017. Based on Computer Science Curricula 2013 (CS2013), this guidance was specially designed to aid in the smooth transfer from associate degrees to baccalaureate degrees. The curriculum contains 17 of CS2013’s 18 knowledge areas, and a variety of knowledge units appropriate in the first two years of a computer science degree. The guidance comprises over 200 learning outcomes, 64 of which are infused with cybersecurity, along with a three-tiered assessment rubric using measurable verbs from Bloom’s Revised Taxonomy. In addition to the CSTransfer2017 task group consisting of 20 community college educators, input from both two- and four-year educators was collected via surveys administered to a global audience, as well as two rounds of public review and comment on drafts of the guidance. Examples of degree and certificate programs that align with CSTransfer2017 are part of a growing repository hosted on the CCECC website, ccecc.acm.org. These program examples demonstrate the adaptability of this competency-based curriculum approach to a variety of computing programs. The CCECC invites institutions to highlight their computer science degree program by submitting a program example at ccecc.acm.org/correlations.
A Systematic Review of the Use of Bloom’s Taxonomy in Computer Science Education
ABSTRACT. Bloom’s taxonomy is a model that allows classifying students’ learning achievements. It is frequently used in the context of computer science education (CSE), but its use is not straightforward. We present a systematic review conducted to obtain an overview of the use of the taxonomy in CSE. Among other findings, we may remark it has mainly been used to learn programming and to assess students’ performance. We also present the difficulties that the authors report on the use of the taxonomy, being classification of assessment tasks into levels of the taxonomy the most often reported difficulty. In addition, we present authors’ hypothesis about possible causes and the solutions those authors adopted.
A Summer Program to Attract Potential Computer Science Majors
ABSTRACT. Computer Science (CS) is not taught in enough high schools thus
many students arrive at college or university knowing little about
it and often do not consider taking a CS course during their first
year. At the same time, we encounter many college or university
juniors and seniors who, while taking their first computer science
course, discover an aptitude and interest, at which point it is too
late. We describe an innovative one-week residential summer
program designed to educate non-computer science majors, before
their second year of college or university, about the field’s many
areas and long-term prospects. The program has succeeded at
encouraging undecided students to major or minor in computer
science and thus somewhat ameliorates the lack of computer
science in K-12 education and furthers the conference goal of “CS
For All”.
11:10
Pablo Frank-Bolton (The George Washington University, United States) Rahul Simha (The George Washington University, United States)
Docendo Discimus: Students Learn by Teaching Peers Through Video
ABSTRACT. This study presents and evaluates a scalable approach for improving learning outcomes by having students ``teach'' peers in the same course via video. The approach was tested in a standard upper-level undergraduate computer algorithms course with material commonly considered challenging to teach: combinatorial optimization and NP-complete problems. Recognizing the scarcity of instructional resources, we sought to create a video-production protocol that would incentivize students to learn materials normally perceived as dry and challenging without causing an additional burden to instructors. By design, it can be applied to large groups without many additional instructional resources, making it scalable. A learning assessment administered to two successive cohorts (N=89) shows statistically significant improvement in learning for students who make the videos compared to those who merely study the materials or view the videos. Students not only enjoyed applying their creativity to crafting videos but, in the process, also strengthened their conceptual learning. While much of the existing research on student-created videos has shown its effectiveness in motivating students, few studies exist that directly isolate learning gains in those who craft instructional videos.
11:35
Apeksha Awasthi (North Carolina State University, United States) Lina Battestilli (North Carolina State University, United States) Paul Cao (University of California San Diego, United States)
Two-Stage Programming Projects: Individual Work Followed by Peer Collaboration
ABSTRACT. Programming projects are widely used in CS1 classes to develop students' skills. To improve the learning impact of these projects, we propose and study a special project format named two-stage project in an introductory computer science course. At the first stage, students submit their programming projects individually followed by a second stage where they were paired to work on the same project in order to create an improved solution. Through peer collaborations, students review each other's work from the first stage, and write correctly-styled, well-documented, and better tested code during the second stage.
We used isomorphic assessments before and after the second stage of a project to measure students’ retention of the course material. Results indicate that two-stage projects tend to improve student understanding of the course learning objectives. We also studied students’ perceptions and experiences with two-stage projects, and their confidence toward computing. Students liked working on two-stage projects because they saw new ways to approach the same problem, and they liked discussions with their peers.
Longitudinal Data on Flipped Class Effects on Performance in CS1 and Retention after CS1
ABSTRACT. We present results of a college wide undergraduate retention study tracking student retention in computing, comparing students who experience a flipped, active learning version of CS1 against those who experience a traditional lecture and lab version of CS1. We ex- amine demographic subgroups to understand retention differences between sexes and racial/ethnic groups. Specifically, we examine which students exit computing majors in the semester immediately after taking CS1, and those who leave following one academic year. This allows us to focus on how the immediate experience of the CS1 teaching approach impacts desire to continue in computer science during the critical first year in CS. Our dataset includes 698 CS ma- jors who took CS1 in either the flipped or traditional style, between Fall 2013 and Fall 2016, at a large, comprehensive, urban research university in the US. Our results show that women were less likely to switch majors after taking the flipped version than after taking the traditional version. Conversely, male students were more likely to be retained following the traditional course, and less likely to be retained following the flipped course. Performance across all CS1 students (including non-majors), as measured by DFW rates, is statistically higher in the flipped classes than performance in the traditional classes. One-year retention in the major for under- represented groups (women and racial minorities) was higher in the flipped classes for new freshmen taking CS1, but not for transfer students.
Does Native Language Play a Role in Learning a Programming Language?
ABSTRACT. Computer Science (CS) is taught in India, using English as the medium of instruction, to students whose native language is not English. This places a high cognitive load on students who learn programming for the first time and who are not very proficient in English. The problems these students face become even harder since learning to program can be an incredibly difficult task. Our study aims to find out if a student's native language has any effect on the student's ability to learn programming. As a part of our study, we taught linked list, a basic concept in CS, to two groups of undergraduate students for a week in Tamil Nadu, India. We used English to teach one group of students and English and Tamil (the native language in Tamil Nadu) to teach the other group. Our intervention consisted of three lectures and one live-coding session. We collected quantitative and qualitative data using technical tests and open-ended feedback respectively. We found that although teaching programming using both English and Tamil is no different when compared to using only English with respect to student learning, students have expressed positive opinions about teaching and learning CS using 2 languages.
Tracing vs. Writing Code: Beyond the Learning Hierarchy
ABSTRACT. Much work has been done on the achievement gap between code tracing and code writing in CS1 students. The generally accepted explanation for this gap is that tracing and writing form separate steps in a learning scaffolding; students must first learn to trace code before they can be expected to write code. The expectation is that once students have mastered these skills, future grades will be driven by their ability to understand the deeper learning concepts, and so the gap between tracing and writing should disappear.
In this paper, we detail and evaluate a study on 384 CS2 students to evaluate whether a tracing-writing gap still exists, and assess whether anything can be deduced about students who continue to exhibit such a gap. We find that not only does the gap seem to have closed by CS2, students are equally likely to show a reverse gap in the writing-tracing direction. However, further analysis shows a strong correlation between students who do continue to have a gap (in either direction) and poor overall performance in the course.
Paul Tymann (RIT, United States) Dale Reed (University of Illinois at Chicago, United States) Chinma Uche (Academy of Aerospace and Engineering, United States) Carol Yarbrough (Alabama School of Fine Arts, United States)
The Impact of AP Computer Science Principles – Are You Ready to Change Your Undergraduate Courses?
ABSTRACT. In the last few years, there has been a groundswell of programs to support more and better computer science education in K-12. A large number of organizations and institutions including ACM, Code.org, CSTA and the National Science Foundation (NSF) have worked to make CS more available and engaging and in this way increase the CS into post-secondary CS programs. These initiatives are attracting a broad and diverse collection of students to computing and teaching them basic computational thinking skills. As these computationally literate students enter college they will expect the same relevant and meaningful educational experiences that they have had during their K-12 educational career. This new generation of students, who have a deeper understanding of computing, will require introductory courses that engage, excite, and retain them. The higher education community has a rare opportunity to change the content of introductory courses and the pedagogy used in these courses.
This panel will explore post-secondary CS education in a post-AP CS Principles world. It will examine the impact K-12 CS developments have had on student knowledge, skills, and expectations, focusing on ways in which incoming students are likely to change as CS becomes a staple in pre-college education. It will introduce participants to pedagogy being used in K-12 classrooms to teach the course and introduce strategies that higher education institutions are undertaking prepare for the students who have taken these courses. The session will conclude with a discussion session that will focus on strategies that participants can used at their institutions.
Richard Ladner (University of Washington, United States) Ramin Ayanzadah (University of Maryland, Baltimore County, United States) Kavita Krishnaswami (University of Maryland, Baltimore County, United States) Samsara N. Counts (George Washington University, United States) Kevin Wolfe (Gallaudet University, United States)
2018 Panel of Computing Students with Disabilities
ABSTRACT. A panel of students with disabilities who are pursuing computing degrees will describe their experiences both in and out of the classroom. The goal of the panel is to provide the audience with an opportunity to hear first-hand how their educational needs were met as non-traditional computing students. In addition to the panelists’ short presentations, the moderator will facilitate a dialog between the members of the audience and the panelists.
Eric Roberts (Stanford University, United States) Tracy Camp (Colorado School of Mines, United States) David Culler (University of California, Berkeley, United States) Charles Isbell (Georgia Institute of Technology, United States) Jodi Tims (Baldwin Wallace University, United States)
Rising CS Enrollments: Meeting the Challenges
ABSTRACT. In recent years, computing enrollments have increased rapidly throughout the United States, creating serious challenges for many institutions. The participants on this panel have been members of the National Academies Committee on the Growth of Computer Science Undergraduate Enrollments and will share the findings and conclusions of the committee’s report.
Michael Caspersen (Aarhus University, Denmark) Judith Gal-Ezer (The Open University of Israel, Israel) Enrico Nardelli (Univ. Roma Tor Vergata, Italy) Jan Vahrenhold (Department of Computer Science, Westfälische Wilhelms-Universität Münster, Germany) Mirko Westermeier (Department of Computer Science, Westfälische Wilhelms-Universität Münster, Germany)
The CECE Report: Creating a Map of Informatics in European Schools
ABSTRACT. Recent years have seen an increase in activities geared towards making Computer Science courses available to all K-12 students. However, due to administrative regulations, such activities and their implementation often need to be localized on a national or even local context; these constraints, often paired with subtle but important terminology differences, hinder those wanting to compare the status quo across the boundaries of administrative boundaries and to draw on experiences made elsewhere.
To address this, we plan to publicize the data, findings, and recommendations of the 2017 report "Informatics Education in Europe: Are We All In The Same Boat?'' and to engage the community in a discussion. This report was produced by the Committee on European Computing Education (CECE), a committee jointly established by ACM Europe and Informatics Europe in 2014. The report summarizes the status quo of teaching Computer Science (or, as Europeans would say: Informatics) and Digital Literacy in secondary school and the status quo of corresponding teacher training. Being similar in thrust to previous reports, its scope is widened to include a large number of different educational systems. In this, the report follows up on the earlier "boat report'' by Gander et al. and provides extensive data coverage across Europe (including Israel).
As part of the session, we will introduce the interactive web-map (http://cece-map.informatics-europe.org) designed during this project. This map can be used to visualize the data collected and to compare the status quo relative to a given region of interest.
How am I Going to Grade All These Assignments? Thinking About Rubrics in the Large
ABSTRACT. With the record growth in computing classes, it has been challenging for faculty to keep up with the logistics of the classroom, particularly in assessment. Automatic grading software and unit tests have been employed successfully in many settings to help ensure proper scoring of programming assignments. However, assignments that are not necessarily complete programs (in-class short quizzes, homework problems or worksheets, exams) present different challenges for scoring. In this session, we propose some tips and techniques for scoring such assessment items quickly and consistently, with the added benefit that grading criteria are clearer to the students.
Misty Decker, IBM Z Academic Initiative Program Manager
ABSTRACT
Hands-on labs are such an important of the learning process but they take so much of your time and effort to create, maintain and grade. There is an easy-button to giving your students hands-on experience that is so much fun and so motivating, you will be able to focus your time on deepening the learning. The answer is industry contests! In this session, I'll use Master the Mainframe as an example of a contest that hundreds of high school teachers and university professors use to supplement their classroom instruction. With a contest, getting the grade gets them started but your students are motivated to win the prizes and fame! We create the challenges, teach the material, fix technical problems and answer questions. We even provide a weekly report for you to use for grading! But there's many more options than just IBM. I'll also point you to other contests you may consider to use in a similar way to help teach other topics like blockchain or machine learning.
Come join us to learn about Microsoft MakeCode – a new approach to middle school computing education that utilizes physical computing devices to engage and interest girls and other nontraditional CS student populations through creative, personally meaningful projects. In this workshop, attendees can expect to get hands-on with the micro:bit and the Circuit Playground Express microcontroller boards. All attendees will need to bring a laptop/tablet with internet access and a USB port.
David Arnow, President, Turing's Craft/Brooklyn College (CUNY)
ABSTRACT
CodeLab is an online, automated, interactive learning tool for students in programming courses. The CodeLab service provides hundreds of very short, focused coding exercises that help students gain mastery over the syntax, semantics and common usage patterns of language constructs and programming ideas. Code submissions for each exercise are automatically checked for correctness and students are given relevant hints in case of incorrect code.
Building on this platform, Turing's Craft has introduced a highly flexible, comprehensive, easy-to use system that allows faculty to create their own auto-graded homework programming projects, with support for individualized grading and student-instructor communication. It's easier than ever for instructors to build, assign, establish due dates for, and optionally review any programming assignment. Projects may vary from fragments of code to full programs that involve both interactive and file i/o.
This session completely illustrates the process of creating, deploying, and grading homeworks projects.
Durga Suresh (Wentworth Institute of Technology, United States)
Location: 321
13:45
Devorah Kletenik (City University of New York, United States) Deborah Sturm (City University of New York, United States)
Game Development with a Serious Focus
ABSTRACT. We report our experience teaching elective game development courses at two institutions at public universities. Over the past nine years these courses have been taught in a variety of languages on several platforms. These include GameMaker, Scratch, Appinventor, XNA, Processing and Unity, on PCs, Xbox consoles and iPads. As the courses evolved we introduced serious games with game-based-learning as a focus for the projects and ultimately offered a special topics elective in serious game development. In this paper, we discuss the merits of using serious games as a focus in game programming, including the benefits for students without a strong interest in gaming.
We also describe the novel restructuring of one college's Computer Science elective sequence in response to recommendations from students, alumni, and an advisory board of computing professionals. By introducing 200-level electives, students are able to sample advanced topics including game development early in their academic sequence. This has led to involving more students in game-based undergraduate research which can result in increased interest and retention in Computer Science. We discuss our curriculum design and lessons learned including challenges and successes, and data from student surveys indicating student motivation and engagement.
Catch 'em early: internship and assistantship CS mentoring programs for underclassmen
ABSTRACT. Recruiting and retaining STEM majors has been an ongoing challenge for colleges and universities. This research paper describes two initiatives to recruit and retain Computer Science (CS) majors that were implemented at our institution starting in the fall of 2014. Both initiatives are directed at rising sophomores who have completed the first year CS sequence as an early strategy to encourage them to declare and complete the CS major. The first initiative is an early internship program directed at providing students an opportunity to apply those technical skills, extend their skill set, and introduce them to meaningful real-world projects between their freshman and sophomore years. The second initiative is a lab/classroom assistant program where sophomore or older students provide mentoring during lecture and lab sessions for the introductory CS courses. The paper provides preliminary findings, lessons learned, and directions for the future.
14:35
Jody Clarke-Midura (Utah State University, United States) Fred Poole (Utah State University, United States) Katarina Pantic (Utah State University, United States) Megan Hamilton (Utah State University, United States) Vincent Sun (Utah State University, United States) Vicki Allan (Utah State University, United States)
How Near Peer Mentoring Affects Middle School Mentees [2nd BEST PAPER CS EDUCATION RESEARCH]
ABSTRACT. To address the rising demand for computer scientists, and subsequently the lack of diversity in Computer Science (CS) related fields, researchers have explored a myriad of approaches for recruiting youth into CS. Such approaches have begun to target learners at a younger age due to research that has identified the middle school years as a prominent time for interest development. In addition, studies have identified self-efficacy and CS value beliefs as strong predictors of interest in CS. While we believe that past research has made commendable gains, we argue that it is equally beneficial to provide young learners with role models who are relatable and who resonate with the campers' identities. Such connections may help them envision their future selves and CS as a possible path. We developed a mentoring model in which we train high schoolers to be near-peer mentors for middle schoolers learning to program in summer camps. In this paper, we present results from a mixed-methods study where we examined the relationship between mentor relatability and middle school campers’ self-efficacy and interest in CS. Pre- and post-surveys were used to measure campers’ affective outcomes around computing and mentor relatability. In addition, interviews and observations were used to illustrate the mechanisms that led to change in affect. Our findings suggest that mentor relatability is a significant predictor of campers’ self-efficacy and interest in CS. Results from the qualitative data further exemplify how mentor relatability was perceived and manifested in the camps.
Andrew Ko (University of Washington, United States) Leanne Hwa (University of Washington, United States) Katie Davis (University of Washington, United States) Jason Yip (University of Washington, United States)
Informal Mentoring of Adolescents about Computing: Relationships, Roles, Qualities, and Impact
ABSTRACT. Influencing adolescent interest in computing is key to engaging diverse teens in computer science learning. Prior work suggests that informal mentorship may be a powerful way to trigger and maintain interest in computing, but we still know little about how mentoring relationships form, how mentors trigger and maintain interest, or what qualities adolescents value in informal mentors. In a 3-week career exploration class with 18 teens from underrepresented groups, we had students write extensively about their informal computing mentors. In analyzing their writing, we found that most teens had informal computing mentors, that mentors were typically teachers, friends, and older siblings (and not parents or school counselors), and that what teens desired most were informal mentors that were patient, helpful, inspiring, and knowledgeable. These findings suggest that computing mentors can come in many forms, that they must be patient, helpful, and inspiring, but that they also require content knowledge about computing to be meaningful. Future work might explore what knowledge of computing is sufficient to empower teachers, parents, peers, and family to be effective computing mentors.
A National Study of Undergraduate Research Experiences in Computing: Implications for Culturally Relevant Pedagogy
ABSTRACT. In this paper, we describe a large-scale, long-term study of a National Science Foundation undergraduate research program via the Computer and Information Science and Engineering (CISE) Research Experiences for Undergraduates (REU) Evaluation Toolkit project. The overarching research questions are: what impact does an undergraduate research experience have on student participants, and do experience perceptions differ based upon student demographics? Results across two cohort years showed statistically significant gains for several key program level outcomes. However, intent to go to graduate school decreased in both cohorts. Gender and ethnicity differences were observed. Women and underrepresented minority group students had significantly higher scores for several factors. These findings are discussed in context of culturally relevant pedagogy for undergraduate research programs. This study is unique in its scale and scope, providing a depiction of student outcomes across multiple cohorts of a national sample including over 58 computing research sites and more than 900 undergraduate students.
14:35
Heather Metcalf (Association for Women in Science, United States) Tanya Crenshaw (New Relic, United States) Erin Chambers (St. Louis University, United States) Cinda Heeren (The University of British Columbia, United States)
Diversity Across a Decade: A Case Study on Undergraduate Computing Culture at the University of Illinois
ABSTRACT. The dramatic increase in women's undergraduate enrollment at computer science programs around the country is cause for celebration. We want to see this enrollment surge translate into computer science degree attainment. As such, we cannot cannot ignore the gendered and racialized disparities in computing, particularly as they relate to a student's sense of belonging in computing departments. Especially in these times of high enrollments, fostering a sense of belonging in computing cannot occur solely through ad-hoc methods, the goodwill of a few faculty, or standalone mentoring programs. Policies and structures must be put into place to foster a sense of belonging in all aspects of departmental culture.
We report on a multi-phase, 10-year case study of undergraduate student experiences at the University of Illinois (2007, n=61; 2017, n=339). Our 2017 study explores the policies and structures enacted to foster a sense of belonging and how they manifested themselves in the departmental culture. Specifically, we report on undergraduate students' sense of belonging relative to three areas: i) Inclusive experiences in the classroom; ii) The quality of mentorship opportunities; iii) Student sense of identity. While there have been significant departmental improvements, there are some cultural, policy, and structural issues to be addressed in order to foster a sense of belonging and success for all students in the department.
Chris Piech (Stanford University, United States) Chris Gregg (Stanford University, United States)
BlueBook: A Computerized Replacement for Paper Tests in Computer Science
ABSTRACT. This paper presents BlueBook, a lightweight, cross-platform, computer-based, open source examination environment that overcomes traditional hurdles with computerized testing for computer science courses. As opposed to paper exam testing, BlueBook allows students to type coding problems on their laptops in an environment similar to their normal programming routine (e.g., with syntax highlighting), but purposefully does not provide them the ability to compile and/or run their code. We seamlessly transitioned from paper exams to BlueBook and found that students appreciated the ability to type their responses. Additionally, we are just beginning to harness the benefits to grading by having student answers in digital form. In the paper, we discuss the pedagogical benefits and trade-offs to using a computerized exam format, and we argue that both the students and the graders benefit from it.
14:10
Terence Nip (University of Illinois at Urbana-Champaign, United States) Elsa Gunter (University of Illinois at Urbana-Champaign, United States) Geoffrey Herman (University of Illinois at Urbana-Champaign, United States) Jason Morphew (University of Illinois at Urbana-Champaign, United States) Matthew West (University of Illinois at Urbana-Champaign, United States)
Using a computer-based testing facility to improve student learning in a programming languages and compilers course
ABSTRACT. While most efforts to improve students' learning in computer science education have focused on designing new pedagogies or tools, comparatively little research has focused on redesigning examinations to improve students' learning. Cognitive science research, however, has robustly demonstrated that getting students to practice using their knowledge in testing environments can significantly improve learning through a phenomenon known as the testing effect. The testing effect has been shown to improve learning more than rehearsal strategies such as re-reading a textbook or re-watching lectures. In this paper, we present a quasi-experimental study to examine the effect of using frequent, automated examinations in an advanced computer science course, "Programming Languages and Compilers". In Fall 2014, students were given traditional paper-based exams, but in Fall 2015 a computer-based testing facility enabled the course to offer more frequent examinations while other aspects of the course were held constant. A comparison of 292 student scores across the two semesters revealed a significant change in the distribution of students' grades with fewer students failing the final examination and proportionately more students now earning grades of B and C instead. This data suggests that focusing on redesigning the nature of examinations may indeed be a relatively untapped opportunity to improve students' learning.
14:35
Lisa Lacher (University of Houston - Clear Lake, United States) Albert Jiang (Trinity University, United States) Yu Zhang (Trinity University, United States) Mark Lewis (Trinity University, United States)
Including Coding Questions in Video Quizzes for a Flipped CS1
ABSTRACT. In an effort to improve student performance in a flipped classroom environment, this paper explores the impact of including auto-graded coding questions in gate-check quizzes associated with videos for a flipped CS1 course. Previous work showed that having students complete multiple choice questions that were intended to verify that they had done the preparation work did not have a statistically significant impact on outcomes as measured through written quizzes and exams. In an attempt to engage higher-level processing of learned information, this work builds on top of that work by adding questions that require students to write short segments of code for most of the quizzes in addition to doing some multiple choice questions. We found that students who were given these coding video quizzes performed better on written assessments, especially for the final exam.
ABSTRACT. Worked examples are step-by-step instructions that are used to demonstrate and teach problem-solving processes. Subgoal labels are used to group the steps of worked examples into cohesive units that may help the learner to identify key information about the process. We conducted a study on the applicability of subgoal labeled worked examples with 9 and 10-year-old pupils (n=43) who were learning the principles of programming using LightBot. Using a between groups design, pupils in three classes were working with LightBot. One of the groups had no additional instructional materials for the LightBot environment, one of the groups had a set of worked examples without subgoal labels, and the last group had the same set of worked examples with subgoal labels. We measured pupils' success in terms of how many LightBot levels they completed during the class. In addition, pupils' beliefs and attitudes towards programming were assessed before and after the experiment. Our results indicate that in a programming environment such as LightBot, simple worked examples provide no significant benefit over no examples, but worked examples with subgoal labels can help pupils complete more levels. At the same time, the instructional materials in the study had no significant influence on the pupils' beliefs towards computer use or programming.
“I Think We Should…”: Analyzing Elementary Students’ Collaborative Processes for Giving and Taking Suggestions
ABSTRACT. Collaboration plays an essential role in computer science. While there is growing recognition that learners of all ages can benefit from collaborative learning, very little is known about how elementary-age children engage in collaborative problem solving in computer science. This paper reports on the analysis of a rich dataset, including videos and screen recordings, captured as elementary students collaborated on a programming project. We annotated student suggestions and found that children tend to make several different types of suggestions, ranging from high-level to specific. In turn, their partners addressed those suggestions in different ways such as by implementing them directly in code or by replying through dialogue. We observe that students regularly accept or reject suggestions without explanation or explicit acknowledgement and that it is often unclear whether they understand the substance of the suggestion being made. These behaviors may inhibit the development of a shared understanding between the partners and limit the value of the collaborative process. These results can inform instructional practice and inspire the development of new adaptive tools that facilitate productive collaborative problem solving in computer science.
14:35
Michelle Friend (University of Nebraska Omaha, United States) Michael Matthews (University of Nebraska Omaha, United States) Betty Love (University of Nebraska Omaha, United States) Victor Winter (University of Nebraska Omaha, United States)
Bricklayer: Elementary students learn math through programming and art
ABSTRACT. As computer science becomes more prevalent in the K-12 world, elementary schools are increasingly adopting computing curricula. Computer scientists have recognized the connection between math and computer science, but little work has demonstrated how and whether computer science can support improved learning in math. This paper reports on a project in which elementary GATE students used Bricklayer, a functional programming environment that supports artistic and mathematical expression. A pre- and post-test design demonstrates significant learning gains in coordinate graphing and visual-spatial skills.
Brian Railing (Carnegie Mellon University, United States)
Location: 319
13:45
Brett Becker (University College Dublin, Ireland) Cormac Murray (University College Dublin, Ireland) Tianyi Tao (Fudan University, China) Changheng Song (Fudan University, China) Robert McCartney (Department of Computer Science and Engineering, University of Connecticut, United States) Kate Sanders (Rhode Island College, United States)
Fix the First, Ignore the Rest: Dealing with Multiple Compiler Error Messages
ABSTRACT. In order to help students learning to develop computer programs, several computing education researchers have analyzed the compiler error messages generated by novices' attempts to compile their programs. The goal is to help students diagnose the errors they make through the messages generated by the compiler. This paper builds on that previous work by applying a technique based on a heuristic well-known to programmers -
fix the first error and ignore the rest - to the analysis of over 21 million compiler error messages from the Blackbox dataset.
We find that the ranks and frequencies obtained by considering all error messages are generally consistent with previously published lists, but when we consider first messages only, these ranks and frequencies are different. These differences could have important implications for teaching, and can inform tool design and future research efforts.
The Effects of Enhanced Compiler Error Messages on a Syntax Error Debugging Test
ABSTRACT. There is an active strand of research in the literature exploring the effects of Enhanced Compiler Error Messages on student programming behavior, however many results seem conflicting. This is compounded by the fact that directly comparing these results is difficult as these studies utilize different metrics, and what metrics are best suited to measure the effects of enhanced compiler error messages is not known. Common to most studies to-date is that the metrics employed measure how many errors students produce, and/or rectify while writing programs.
This study takes a different approach by measuring how many pre-existing syntax errors are rectified by students while debugging programs. Specifically, we measured the effect of enhanced compiler error messages in an empirical control/intervention experiment where students were given the task of removing syntax errors from non-compiling source code they did not write. We find a significant positive effect on the overall number of errors rectified, as well as the number of certain specific error types, but no significant effect on the number of non-compiling submissions or student scores. These results (in different ways) support the findings of several recent studies and suggest that their results may not be as conflicting as they seem. This is evidence that enhanced error messages may be effective, but also that the signal of these effects are relatively weak, indicating that how and what is measured when attempting to observe these effects is important.
Novice programmers' reasoning about reversing conditional statements
ABSTRACT. We want undergraduate students to develop higher-order thinking skills that enable them to master program behaviour. Nonetheless, many students of both introductory and advanced programming courses appear to struggle with the abstraction required for this purpose. In particular, a recent think-aloud study showed a group of students were able to reason about and reverse the effect of assignments and vector updates, but most of them failed when asked to reverse a seemingly simple conditional statement.
We have extended that study by assigning a similar task to two cohorts of novice programmers as part of their final exam paper. Students' answers, including code and short explanations, have been analysed through the lens of the SOLO taxonomy: 28% of the solutions were correct (classified as relational); an additional 23% were partially correct but failed to identify the overlap between the two paths of the conditional statement (classified as multistructural). Furthermore, the concept of reversibility and related "low-ceiling" tasks, such as the one discussed in this study, could be useful resources for educators to assess and develop students' understanding of program behaviour.
Understanding computing in a hybrid world, on the undergraduate curricula Front-End Development
ABSTRACT. Computing is an interdisciplinary field that can be approached from different points of view. Each point of view has its goals, aims and fundamental assumptions. Computing is a complex discipline.
New computing disciplines appear regularly. With the trend that ICT-professionals should have non-ICT competences as well, and non-ICT-professionals should have ICT-competences, new computing curricula often are hybrid in nature.
We refer to Magnusson’s conceptualization of Pedagogical Content Knowledge to investigate (a) orientations towards lecturing computing, (b) knowledge and beliefs about computing curricula and (c) instructional strategies for teaching computing. Taking a historical perspective, we comment on the Joint Task Force on the Core of Computer Science’s aims and on the origins of the ACM/IEEE Curriculum Recommendation series. We discuss the three main cultural styles of computing: (1) the theoretical style, aiming at building a coherent abstract frameworks supporting understanding of notions as algorithms, complexity and data structures, (2) the scientific style, coping with the fundamental problem: “does an abstract model fit the world?” and (3) engineering, developing methods to make reliable (digital) artifacts.
We stress the importance for designers of computing curricula of understanding the complex nature of computing. As for the specific example of a hybrid curriculum (Front End Development) we recommend an engineering based approach to computing, focusing on scientific research methods, with some space for formal aspects of computing.
Curriculum-Aligned Work-Integrated Learning: A New Kind of Industry-Academic Degree Partnership
ABSTRACT. Work-integrated learning is a common approach to add practical, real-world work experience to academic settings. Traditional co-op programs in colleges and universities alternate courses with semesters spent as an intern at a relevant workplace. We have designed an academic-industry partnership that takes work-integrated learning further by deliberately aligning workplace experience to the academic curriculum. Our students earn a Bachelor of Computer Science from the university, and are paid employees of the industry partner throughout their degree. While advanced courses and electives are taken on campus as usual, some core computer science classes and practicum courses are delivered with the industry partner so as to integrate them with placements on site. Assessment remains the responsibility of the university. In this report, we describe the partnership from the perspective of the industry partner. We describe our goals, partnership design, and first two iterations of the implementation. We discuss the challenges we have faced with our first cohort, and share suggestions for others looking to create similar programs.
14:35
Ryan Rybarczyk (Indiana University-Purdue University Indianapolis, United States) Lingma Acheson (Indiana University-Purdue University Indianapolis, United States)
Integrating A Career Preparedness Module into CS2 Curricula Through The Teaching C++ and Java Side-by-Side
ABSTRACT. A key learning objective of the CS2 curriculum is for a student to obtain the necessary computer science skills to be proficient in the understanding and usage of software objects in an object-oriented programming language. In typical CS programs there are two prevalent object-oriented languages that are used to fulfill this requirement: Java and C++. In most instances, one language is selected as the primarily tool in which to teach these concepts. In other instances, both languages may be used, but not in a side-by-side fashion which can often leave the students confused or with an incomplete understanding of both languages. Each language has its documented trade-offs (benefits and drawbacks) when it comes to adequately preparing students. An aspect that is often overlooked as part of this traditional course structure is the ability to leverage a teaching component that allows the students to analyze trade-offs between languages and the Why/When/How to select a given language based upon their analysis. We provide an outline for how these two languages can be successfully taught in a side-by-side, or simultaneous, fashion that will still satisfy all of the existing expectations and requirements of a course. We describe how this component can be integrated into a career preparation module that will further augment the students’ overall learning experience and their academic preparation. Results of this trial demonstrate that student satisfaction, understanding, learning of concepts, and educational preparation can be improved while maintaining the necessary standards set forth as part of the CS2 curriculum.
ABSTRACT. The traditional functional formulation of quick-sort is simple and
elegant. But is it fast? Through a dialog, we observe that this
traditional formulation does not retain certain crucial properties of
the imperative version. We include a known derivation of a higher
performing functional implementation together with a graph that
illustrates the differences. Our pet peeve is that the faster
quick-sort is frequently left out of texts on functional programming.
Map-based Algorithm Visualization with METAL Highway Data
ABSTRACT. We present the algorithm visualization capabilities of the METAL project. Using METAL's graph data which represents highway systems, a selection of interactive algorithm visualizations are performed. Progress of the algorithm is shown by changing the colors of the graph's vertices and/or edges overlaid on Google Maps and in color-coded tabular form, including contents of important data structures. Advantages include the real-world data set and the variety of data sizes available, enhancing student engagement. While many visualizations and visualization tools exist for graph and related algorithms, most focus on small, synthetic graphs. We describe our algorithm visualization capabilities, which include implementations of sequential search, graph traversals, Dijkstra's algorithm, and convex hulls. These can be executed on graphs ranging in size from a few vertices and edges to hundreds. We also present results of a survey of students who have used METAL's algorithm visualizations.
ABSTRACT. Dynamic Programming (DP) is considered to be one of the most difficult topics for students to understand in theoretical CS. Many misconceptions arise even when students have completed a course in which a significant portion of the course is focused on learning how to solve DP problems. Through think-aloud interviews with students who have completed the DP portion of the Algorithms course at a top North American research university, three distinct themes emerged and are discussed in detail in this paper. Each theme expands to include a variety of misconceptions observed from different groups of student interviewees. The first theme delves into how to solve a DP problem, with emphasis on subproblem definition and identification. The second theme focuses on the understanding and usage of DP solution techniques compared to other algorithmic approaches. The third theme is composed of misconceptions related to defining and using recurrences. Analysis of each misconception provides insight into student thinking and offers ideas for improving the education of DP to university students.
Preparing, Visualizing, and Using Real-world Data in Introductory Courses
ABSTRACT. Working with real-world data has increasingly become a popular context for introductory computing courses[1, 5, 7, 9, 10]. As a valuable 21st century skill, preparing students to be able to divine meaning from data can be useful to their long-term careers[4]. Because Data Science aligns so closely with computing, many of the topics and problems it affords as a context can support the core learning objectives in introductory computing classes. In many instances, incorporating a real-world dataset to provide concrete context for an activity or assignment can improve student engagement and understanding of the abstract educational content being presented.
However, there are many problems inherent to bringing real-world data into introductory courses. How do instructors, with finite amounts of time and energy, find and prepare suitable datasets for their pedagogical needs? Once the datasets are ready, how can students conveniently interact with and draw meaning from the datasets, especially when they are used in complex projects that are typical of later introductory courses? On the other hand, how does an instructor balance the complexities of using real-world datasets in the classroom, making sure that students appreciate the meaningfulness of course activities and their connection to learning objectives?
Ursula Wolz (Bennington College, United States) Lina Battestilli (North Carolina State University, United States) Bruce Maxwell (Colby College, United States) Susan Rodger (Duke University, United States) Michelle Trim (University of Massachusetts, United States)
Best Practices in Academia To Remedy Gender Bias in Tech
ABSTRACT. The New York Times published an op-ed by Anita Hill suggesting that women in tech consider class action to remedy the gender bias that is increasingly being reported in the mass-media. This panel raises the question "what are we doing in undergraduate programs to reduce the ‘Mad Men’, “Brogrammer” culture she describes that is increasingly being reported in the popular press. Part of our mission as educators is to develop professional behavior so that our students entering the workforce not only understand what it means to act professionally, but understand that it is their responsibility to actively push back on the existing bias within the tech culture. As moderator Ursula Wolz brings a depth of insight from 40 years of industrial and academic experience, including a National Science Foundation project to broaden participation in computing. She does not believe this problem can be solved through quantitative data collection on who does well in computer science, but that SIGCSE needs to begin to collect good stories (ala Sally Fincher) on what constitute best practices to support diversity. The panelists present a range of perspectives that have the potential to establish new cultural norms in the single most influential industry in our economy.
Alternative Paths to Computing Careers and Their Role in Broadening Participation
ABSTRACT. Declaring a computer science (CS) major at the outset of college and going on to earn a computing degree may be the most direct route to a career in computing, but it is certainly not the only pathway. However, much of the work on pathways to computing careers focuses on those who have taken this traditional route, while less attention has been paid to those who pursue alternative pathways into computing. Understanding alternative pathways into computing may be particularly important to discussions about diversity in the field, as some research has shown that women and underrepresented minority (URM) students who enroll in CS courses are more likely than men and other majority students to be non-computing majors and to take computing courses later in their academic careers. This panel will provide perspectives from individuals with expertise in several alternative pathways into computing, such as through coding boot camps, undecided students, community colleges, and retrained end-user programmers.
Lucia Dettori (DePaul University, United States) Don Yanek (Chicago Public Schools, United States) Helen Hu (Westminster College, United States) Dennis Brylow (Marquette University, United States)
The role of Researcher-Practitioner Partnerships in CS4All: Lessons from the Field
ABSTRACT. Researcher Practitioner Partnerships (RPP) have proven to be a critical component for the success of CS for All initiatives aimed at providing all U.S. K-12 students access to Computer Science education.
The panelists represent three examples of mature RPPs that have successfully implemented CS4All programs in three regions (Chicago, Utah, and the Upper Midwest) working with school districts with different characteristics and at different scales. The three projects share similar approaches to the common goal of increasing equity in CS education by providing all high school students quality access to a rigorous and relevant CS course (Exploring Computer Science ). While the specifics of the implementation vary significantly, the three projects encountered similar challenges including: teacher capacity building, fidelity of implementation, leadership structure and buy-in, personnel turnover and continuity of funding. The open ended commitment of RPPs to work together on the specific problems that the educational partners face and grounding solutions on rigorous research has allowed these projects to flourish.
The discussion will focus on how the programs were able to organically build an RPP and leverage it to deploy, scale and sustain their initiatives. Nascent and more established partnerships will benefit from learning how these three RPPs build successes and overcame challenges so that they can leverage those lessons to accelerate their own implementation.
Rafi Santo (New York University, United States) Sara Vogel (City University of New York, United States) Leigh Ann Delyser (New York City Foundation for Computer Science Education, United States) June Ahn (New York University, United States)
Asking "CS4What?" as a Basis for CS4All: Workshop Tools to Support Sustainable K-12 CS Implementations
ABSTRACT. The rapid expansion of the CSforAll movement has catalyzed promising policies, tools, and pedagogies for K-12 universal CS education. It has also created significant challenges for schools and districts, namely, decision-making around the programs, curricula, and professional development that will best align to their communities’ broader visions around equitable computing education.
In this session, participants will be introduced to a set of research- based workshop tools designed to support schools and districts to surface their visions for CS education and make aligned implementation decisions. The tools do not presume use of specific curricula or languages, rather they support stakeholders to first articulate what their visions are for CS education implementations - the projected individual and societal impacts - that can then inform choices around CS curriculum, pedagogies and the instructional infrastructures they sit within.
We will support participants to take these activities back to their own institutions for local use. The target audience includes stakeholders working in K-12 CSforAll implementation at all levels, including district and school leaders and educators, as well as researchers and CS education faculty who are studying and supporting CS for All efforts. In addition, given that the workshop will provide practical tools for supporting vision-setting and decision-making around CS curriculum and pedagogy, this session will also benefit course designers and professors at postsecondary institutions who may be redesigning CS coursework or adding new programs to expand the kinds of purposes that CS courses might meet (for example, data science, cyber-security, or ethics in computing).
Jeff Forbes, Duke University (Moderator) Kamau Bobb, Senior Director, Constellations Center for Equity in Computing, Georgia Tech Lien Diaz, Director of Ed Innovation and Leadership, Constellations Center for Equity in Computing, Georgia Tech Kevin Wang, Founder, TEALS Nwannediya Ada Ibe, Regional Manager,TEALS
ABSTRACT
When seeking equity, diversity, and inclusion, we must be cognizant of the the relationship between equity for students in computing and the broader issues affecting, large educational systems, and the social and structural conditions that influence life that are particular to the US. Truly affecting change in equity will require engaging voices/perspectives from underrepresented communities in a meaningful way. The mission of the new Georgia Tech Constellations Center for Equity in Computing (http://constellations.gatech.edu/) is to ensure that all students—especially students of color, women and others underserved in K-12 and post-secondary institutions—have access to quality computer science education. TEALS works with US high schools to build and grow sustainable computer science programs through teaching partnerships between classroom teachers and volunteers who work in the tech industry. In 2017, TEALS initiated a Diversity, Equity, and Inclusion Working Group to holistically address the overall impact of the program on increasing diversity in CS. This panel will facilitate a discussion of the important issues facing efforts to broaden participation in computing in an equitable way.
High-performance computing (HPC) drives scientific breakthroughs. For example, the 2017 Nobel Prize in chemistry was awarded to the developers of cryo-electron microscopy (cryo-EM), a new technique to solve biomolecular structures. Cryo-EM is expected to surpass genomics as the primary data generator in life science. Processing this data is only possible because of advances in HPC. Likewise, deep neural networks have advanced the field of artificial intelligence, but only because HPC makes training these networks feasible. These are just two examples. Many recent scientific advances depend on HPC, and heterogeneous parallelism will enable further breakthroughs. Applications already routinely take advantage of CPUs and GPUs in the same system, and FPGAs will soon be a common component in the mix. However, heterogeneity adds another layer of complexity to software development and tuning. Developers will be expected to map computational kernels to the most appropriate processor architecture. Therefore, heterogeneity is likely to require an even greater separation of concerns between domain experts (those wanting to use computers to answer questions and solve problems) and tuning experts (those focused on application performance and power efficiency). The former will demand parallel programming models that hide architectural details by providing a higher level of abstraction. Both groups will need advanced programming tools to guide software optimization. Domain experts are unlikely to learn hardware description languages to directly program FPGAs, so leveraging optimized libraries and higher level design languages like OpenCL, C and C++ are becoming standard. Will today’s computer science students be expected to develop these IP cores? There are many unanswered questions as we approach the heterogeneous parallel computing future. This session will discuss some of these questions.
Sanjay Srivastava, CEO, Vocareum
Steven Shaffer, Pennsylvania State University
Grace Kitzmiller, Amazon Web Services Educate
ABSTRACT
In our global digital economy, the increasing use of data-driven decisions are leading to greater demand for computer scientists, data scientists and college graduates with a background in analytics. In this session, we discuss (1) strategies for teaching essential data computation skills to business, math, engineering and CS students, (2) how coding assignments can be integrated in coursework and deliver student assessments, and (3) how cloud labs provide a cost-effective computing hub for a diverse toolset that can be deployed to students globally.
Shuchi Grover (SRI International Center for Technology in Learning, United States) Satabdi Basu (SRI International, United States) Marie Bienkowski (SRI International, United States) Michael Eagle (Carnegie Mellon University, United States) Nick Diana (Carnegie Mellon University, United States) John Stamper (Carnegie Mellon University, United States)
A Framework for Using Hypothesis-Driven Approaches to Support Data-Driven Learning Analytics in Measuring Computational Thinking in Block-Based Programming Environments.
Yu Zhang (School of Computer Science and Technology, University of Science and Technology of China, China)
Compiler Practice System Integrated with Real Open Source Compiler
ABSTRACT. The rapidly growing scale of modern computer systems has been increasing the skill gaps between graduating students and industry expectations. The Compilers Course, as one of the core CS courses, is not only a course introducing the theory and practice of programming language translation, but also a comprehensive course for students' multidimensional competencies, such as programming, language design, software engineering, communication and collaboration, etc. Writing a compiler for a toy language is a common assignment in computer science. Yet our compiler practice system differs from most of its peers in several aspects: integrated with real open source LLVM compiler, practice of some modern compilation mechanisms, process control and version management (using git), team work, etc. We designed two kinds of projects to integrate the LLVM compiler, one is coding kind, e.g. developing an LLVM IR generator and a JIT-compiler on LLVM IR; the other is source code understanding kind, e.g. providing guidance and issues for understanding the mechanisms of Clang parser or static analyzer. We also designed some team projects to let students investigate some modern language features and their implementation mechanisms, to discuss within and among teams, and finally to give team presentation. The poster will describe the components of our compiler practice system, related practice support package and guidance. Some tradeoffs among difficulty, complexity, time and knowledge points will be discussed. So far we have been practiced and improved the practice system for 4 years, and lessons and experiences will be shared on the poster as well.
15:00
Ke Zhang (Institute of Computing Technology of Chinese Academy of Sciences, University of Chinese Academy of Sciences, China) Mingyu Chen (Institute of Computing Technology of Chinese Academy of Sciences, University of Chinese Academy of Sciences, China) Yungang Bao (Institute of Computing Technology of Chinese Academy of Sciences, University of Chinese Academy of Sciences, China)
ZyForce: An FPGA-based Cloud Platform for Experimental Curriculum of Computer System in University of Chinese Academy of Sciences
ABSTRACT. To cultivate students’ capability of computer system thinking and software/hardware programming, experimental curriculum of computer system is regarded as one of the most effective methods. Some universities have set up hardware labs equipped with several or dozens of FPGA (Field Programmable Gate Array) boards for these courses. However, these lab kits are always in a relatively low utilization rate and how the students’ capability is improved by these assets is not easy to be evaluated. Inspired by the merits of FPGA public cloud (e.g. Amazon AWS F1 instance), an in-house- designed FPGA-based online cloud platform (named ZyForce) is proposed to deploy in UCAS. This platform is equipped with 40 custom designed boards using Xilinx Zynq UltraScale+ MPSoC FPGAs and the utilization rate of these education resources is boosted by means of advanced cloud computing technology. With ZyForce, students remotely carry out lab assignments (e.g. MIPS, RISC-V or domain-specific architecture processor design with cache/memory, DMA, accelerator and performance counter) as using local FPGA boards; instructors can analyze the downloaded operation log file for each student and know how these kits are being used. It’s believed that this kind of online hardware lab appliances provides a novel pay-as- you-go service model for those universities in remote regions who cannot afford to set up their own hardware laboratories, and also facilitates our students, the future scientists and engineers, with this promising cloud development approach.
15:00
Juan Chen (College of Computer, National University of Defense Technology, China, China) Li Shen (College of Computer, National University of Defense Technology, China, China) Jianping Yin (College of Computer, National University of Defense Technology, China, China) Chunyuan Zhang (College of Computer, National University of Defense Technology, China, China)
Design of Practical Experiences to Improve Student Understanding of Efficiency and Scalability Issues in High Performance Computing
ABSTRACT. With the increasing demand of big data technology, there has been a growing interest of introducing high performance computing in computer science curriculum. One challenge in helping students understand the nature of efficiency and scalability issues in high performance computing is the lack of opportunities for them to be engaged in large-scale applications that run on supercomputer system architecture. This poster presents a collection of example projects that have been used in a parallel computing course in multiple universities in China, including National University of Defense Technology, Sun Yat-sen University and Hunan University. These projects were adopted from a wide range of scientific computing applications such as CFD, text mining of biomedical literature and so on. The large-scale computing resource for courses is supported by two National Supercomputing Centers, one in Guangzhou and the other in Changsha. The poster describes the background, objective, structure, task, practice process and outcome for each project. It also discusses the impact on student understanding all kinds of key topics and major challenges related to computational efficiency and scalability. Such projects build a positive practical environment to make students indulge in doing all kinds of interesting and helpful trials to validate their assumptions, especially when they have different perspectives or results for one problem. The poster presents our design evaluation rubric to reflect the effectiveness of our practice, as well as the statistics about the students’ achievements for the last three semesters.
15:00
Ana Milanova (Rensselaer Polytechnic Institute, United States) Barbara Cutler (Rensselaer Polytechnic Institute, United States) Buster Holzbauer (Rensselaer Polytechnic Institute, United States) Evan Maicus (Rensselaer Polytechnic Institute, United States) Samuel Breese (Rensselaer Polytechnic Institute, United States)
Stefan Seegerer (Friedrich-Alexander-University Erlangen-Nuernberg, Germany) Ralf Romeike (Friedrich-Alexander-University Erlangen-Nuernberg, Germany)
Goals, Topics and Tools of Computer Science for All University or College Courses
ABSTRACT. As the importance of Computer Science for all grows, questions about the foundation of CS related skills and knowledge everyone should be familiar with arise. Different education institutions or initiatives offer courses or other materials to provide CS knowledge and skills necessary to participate in future life, or any profession. Among these institutions are numerous universities and colleges which started to offer Computer Science courses explicitly aimed at non-CS majors. These course materials form an extensive data pool for determining crucial CS knowledge for non-majors. While the courses differ with regards to intention and topics, reflect a personal perception of the designer, or address specific local demands, they may still contain a foundation of CS for everyone. By examining multiple university and college courses, one can determine this foundation.
In this preliminary study, we analyzed an initial sample of thirty different international Computer Science for all courses offered at colleges and universities between 2010 and 2017. The materials - syllabi and schedules of these different courses - were examined using a qualitative content analysis as proposed by Mayring. Based on coding results from the content analysis we identified the types of learning objectives those courses aim at. We also list inductively derived topic categories (e.g., representation of data, security, and social implications) and present different programming languages or tools used within those courses. Afterwards, the frequencies of topics in proportion to the number of courses were reported and associated with the previously identified learning objectives.
15:00
Evan Maicus (Rensselaer Polytechnic Institute, United States) Samuel Breese (Rensselaer Polytechnic Institute, United States) Matthew Peveler (Rensselaer Polytechnic Institute, United States) Barbara Cutler (Rensselaer Polytechnic Institute, United States)
Fay Zhong (California State University East Bay, United States)
Designing Adaptive Learning Objects for Enhanced Student Engagement in Data Structures and Algorithms
ABSTRACT. How to actively engage students using a more personalized approach in both online and face-to-face classes is an important topic. Adaptive learning approach can be used to redesign a course and increase access to student support programs. In this poster, the Data Structures and Algorithms course has been redesigned using Smart Sparrow, engaging adaptive learning objects embedded right in the Blackboard LMS. Other tools like Open Educational Resources and zybook, as well as project-based group assignments can transform the classes and student learning at the same time. The author reports on some preliminary results of a collaborative NSF grant that is promoting the STEM education to a more diverse student body. Comparative results for control courses where adaptive learning were not used, and the redesigned course with adaptive learning modules used, will demonstrate our findings in a colorful fashion convenient for drawing informative conclusions, and confirm the effectiveness of adaptive learning.
ABSTRACT. “CS for All” has set computing on an unusual journey. The skills asked of us “all” are literacies. “CS for All” thus seeks to remake computing skills into a full-fledged human literacy. Computer Science departments are not necessarily nor uniformly ready to join an effort to support all students, and this poster shares an investigation of how different institutions have coped with the challenge. We share the results of a 50-institution curricular survey, tracking CS course offerings for a variety of cohorts outside of the CS major. We add additional detail to this big-picture snapshot with data from a ten-year experiment offering a biology-and-computing introductory course. The downstream outcomes are heartening in both computing skills (no difference at all in subsequent performance relative to a peer control-group) and in spurring overlapping interest. Finally, we share several new paths, termed “bridges” and “injections” created to help computing contribute to the academic identities of students in other disciplines.
Just as cogent writing, critical reading, and compelling speaking are today's hallmarks of literacy, the future may ask us to make computing part of our common goals and expectations. This poster uses local and national data to show how Computer Science, both as a discipline and as an academic department, can support this journey.
15:00
Zhiping Xiao (University of California, Berkeley, United States) Siqi Li (University of California, Berkeley, United States) Zachary Pardos (University of California, Berkeley, United States)
AutoQuiz: an individualized test-oriented tutoring system for students
ABSTRACT. Students often have trouble knowing how to prepare for high-stakes exams – even in the best cases where legacy problems and solutions are available, there are usually no indications of the difficulty of a particular question, or relevance to the material with which the student needs the most help. The problem is exacerbated with online education, where there’s no way a teacher could suggest a custom plan of study for every student, as they could in a small, face-to-face setting. The high-level user interaction is as follows: (1) a student is handed a multiple-choice question and given automated feedback on their answer; (2) the next question is either pulled from an archive or auto-generated (if possible) using a recommendation model with the goal of helping the student master all the skills they have requested.
In this poster, we report on the design and implementation of an online, personalized, adaptive test practice system called AutoQuiz, its current stage of implementation, as well as preliminary results after running the recommendation model on our datasets. We will evaluate the system qualitatively based on user feedback, as well as quantitatively by measuring how well it improves student performance. Our testbed will be UC Berkeley’s non-majors introduction to computing course, CS10: The Beauty and Joy of Computing (BJC).
A Middle-School Camp Experience Emphasizing Data Science for Social Good
ABSTRACT. The underrepresentation of women, students of color, and people from lower-SES (socio-economic-status) backgrounds within computer science remains a national issue. Recent studies demonstrate one reason: persistent stereotypes about "who does computer science" can cause minority groups to preclude interest in the field. Unfortunately, these stereotypes are not the only threat to diversifying the discipline. Engaging a diverse group of individuals in computer science is unlikely so long as computing curriculum is perceived as "irrelevant" and "asocial". Confronting the stigma of triviality applied to computer science, much like approaching student perceptions about who can do computer science, is a necessary step for increasing the perceived applicability of the discipline.
As a step in combating the perception that programming curriculum is irrelevant, we developed and ran a week-long summer coding camp for local middle school students that camp applied principles of computing for social good with data science techniques to encourage campers to consider how computing could help them explore societal issues. Throughout the week, campers learned how to extract meaning from their work and gained experience collaborating in pairs to solve problems.
In this poster, we discuss the camp curriculum and its emphasis on the applications of computing. We consider the effects of the camp on the self-efficacy of campers and their perceptions of computer science. We then present some recommendations for those intending to conduct similar camps.
15:00
Yifan Guo (North Carolina State University, United States) Yang Song (University of North Carolina Wilmington, United States) Edward F. Gehringer (North Carolina State University, United States)
Early Detection on Students Failing OSS-based Course Projects using Machine Learning Approaches.
ABSTRACT. It has become common to incorporate open-source software (OSS) projects into computer-science courses. These projects offer students a glimpse of real-world projects and opportunities to learn about architectural design and coding style. Students often have more difficulty with these projects than with “toy” projects in a course. This poster presents our newly launched work on predicting which projects are likely to fail at an early stage. We are using machine-learning approaches to help instructors identify potential failing projects in order to help students recover and salvage their works. We collected the metadata from 247 course projects in a graduate-level Object-Oriented Design and Development course over the past five years. We assume that that the working patterns of project teams are related to project acceptance, and have observed for long that most of the rejected projects are those begun relatively late during the project period. By contrast, accepted projects tend to deliver a volume of code that is neither very small nor very large, compared to rejected ones. Our results also suggest that setting milestone checkpoints or submission deadlines would enable more students to succeed and have their developed features merged by the core OSS team.
15:00
Mehmet Ergezer (Wentworth Institute of Technology, United States) Bryon Kucharski (Wentworth Institute of Technology, United States) Aaron Carpenter (Wentworth Institute of Technology, United States)
Curriculum Design for a Multidisciplinary Embedded Artificial Intelligence Course
ABSTRACT. Artificial intelligence (AI) and machine learning are rapidly developing fields, garnering increased attention from the public as well as academia and industry. Recent advances allow us to talk to our smart devices at home to control TVs, speakers, and lights. A smart speaker that is plugged into the wall can handle powerful processing that can service complex user requests. However, as we rely more and more on AI conveniences, we expect them to be at our disposal when we are moving around.
In this poster, we present preliminary work on the development of a new upper-level undergraduate course open to all computer science, electrical engineering and applied mathematics students at Wentworth Institute of Technology (WIT). The new course, titled Embedded AI (EAI), introduces topics from embedded systems, artificial intelligence, digital signal processing, linear algebra, and probabilities. The proposed course includes lectures introducing the theory behind each topic and laboratory assignments that provide the students with the hands-on experience. At the end of the semester, students develop an embedded AI project of their own.
An interdisciplinary academic team of computer scientists and electrical and computer engineers has been working on a curriculum and researching different platforms, datasets and sensors that will ultimately enable students at WIT to develop an embedded device that can support AI tasks as well as give the students the practical skills that employers seek.
15:00
Matthew Peveler (Rensselaer Polytechnic Institute, United States) Evan Maicus (Rennselaer Polytechnic Institute, United States) Buster Holzbauer (Rensselaer Polytechnic Institute, United States) Barbara Cutler (Rensselaer Polytechnic Institute, United States)
Analysis of Container Based vs. Jailed Sandbox Autograding Systems
ABSTRACT. Traditionally, automated testing and grading of student programming assignments has been done in either a jailed sandbox environment or within a virtual machine (VM). For a VM, each submission is given its own instantiation of a guest operating system (OS) running atop the host OS, with no ability for a given submission to affect anything outside the VM. However, using a VM is expensive in terms of system resource usages, especially for RAM and memory, making it less than ideal for solutions without unlimited resources. Jailed sandboxes on the other hand allow student submissions to run directly on the server. Sufficient security measures must be implemented to ensure that students cannot access each other’s submissions or the server at large, and must prevent runaway programs, over-utilization of system resources. Jailed sandboxes have a larger attack vector than VMs. Within the past several years, container systems have been gaining popularity and usage within the computer science industry, primarily through solutions such as Docker. These containers give similar security protections as a VM, but with better performance due to being able to utilize of resources installed within the host OS and other containers. However, containers do not have the full isolation of a VM, and thus implementing Docker for autograding ends up facing its own set of security concerns, as well as with the increased system resource usage. In this poster, we will analyze how well containers work, measuring system resources and throughput of submissions of containers against the traditional jailed environment.
15:00
Todd Lash (Creative Technologies Resource Lab, UIUC, United States) Maya Israel (Creative Technology Resource Lab, UIUC, United States)
Bridging the Research to Practice Gap with Project TACTICal Briefs
ABSTRACT. Now more than ever, students with disabilities are participating in computer science (CS) education. As CS increasingly becomes a part of the general curriculum in grades K-8, ensuring that these learning experiences are equitable and accessible to a wide range of learners may help broaden the diversity of individuals who choose to engage in computing experiences throughout their schooling and into their professional lives (Qualls & Sherrell, 2010). Therefore, it is essential to identify pedagogical approaches that lower barriers for students with disabilities and give teachers new tools to help those students succeed. The initial findings, focused on practitioners, from a National Science Foundation STEM+C project, and derived from a series of qualitative case studies about challenges faced by K-8 students with disabilities in CS education will be elucidated. These briefs, written in the form of vignettes, and grounded in our own research findings, as well as special education best practice, are being disseminated to practitioners and used for professional development and intervention work
Infusing Visual Programming and Interactive Learning to Teach an Introductory Programming Course with Positive Learning Outcomes
ABSTRACT. A core challenge in introductory programming courses during the freshmen year is getting students to understand how a static textual representation (source code) maps to a highly dynamic process (program execution). Most students nowadays are visual learners who learn programming concept better through web-based visual and interactive learning instead of learning from traditional black board lecturing styles. In this poster, we report our experience with positive learning outcomes in teaching an introductory programming course in Python by using a dynamic visual programming development environment based on flow-charts (RAPTOR) and active learning with an interactive eBook (zyBook). In this study, eleven sections of COSC 111 were included over three semesters as control and experimental groups. Analysis showed a marginally significant difference (F (1,5) = 5.87; p = 0.060) between sections taught via the traditional method and sections taught with the proposed pedagogical innovation. We also found that there are statistically significant positive correlations in between uses of the eBook and performances of students in tests. To add to our understanding of what students were experiencing, we also administered a survey to students at the end of the course. Regarding learning styles and tools, survey result showed that the eBook was helpful in understanding programming concepts (71.5%), that the instant feedback that the online book provided was helpful (82.9%), that the class discussion and interaction were helpful (85.7%). Overall, it seems that the proposed pedagogical approaches have made a positive difference by increasing student motivation and engagement, and reducing failure rates.
1 Grant + 2 Institutions + 3 Course Variations = Data Science 4 All
ABSTRACT. Data Science, often described at the intersection of computer science, statistical thinking and analysis, and subject matter expertise, has seen an exponential growth in the past few years. Courses (and entire programs) have been appearing at such a fast rate at most institutions of higher education, as well as some high schools, that comparisons between curricular and delivery models and rigorous discipline-based education research are often overlooked in order to gain competitive advantages. This study attempts to rectify that absence by evaluating, comparing, and discussing four different courses offered at two different institutions of higher education. Funded by NSF via a collaborative grant (DUE #1432438), faculty from Computer Science and Statistics departments collaborated on the development and evaluation of introductory courses in Data Science for all students, using a discipline-based education research approach. Data on students were gathered including demographics, curriculum, statistical knowledge, and attitudes towards Data Science. Post-course growth was measured, when available, and compared through formal statistical inference. End-of-course evaluations, with supplemental questions about student learning, were reviewed and will be summarized. Finally, reflections on successes, challenges, and lessons learned will be shared.
15:00
Zack Butler (Rochester Institute of Technology, United States) Ivona Bezakova (Rochester Institute of Technology, United States) Kimberly Fluet (University of Rochester, United States)
Qualitative Analysis of Open-ended Comments in Introductory CS Courses
ABSTRACT. End-of-course evaluations and other student surveys typically include the opportunity for students to provide free-form comments. These are rich sources of data but are often only subjectively taken into account to further improve course delivery or analyze the effectiveness of assignments. We designed several puzzle-based assignments for typical CS1/2 topics and surveyed students as part of our efforts to analyze the assignments' efficacy and improve them over time. The surveys included traditional measures such as demographic information, Likert-scaled questions about assignment perceptions, and open-ended comments. With thousands of survey responses, we wanted to see if the open-ended comments yield additional, statistically significant, insights on either the assignments or students' learning. We developed a coding scheme for the comments using grounded theory analysis to represent patterns among the data. After refining the coding scheme we statistically analyzed the comments and found some interesting relationships, not apparent from the Likert-scaled questions, among certain codes.
We also conducted extensive semi-structured interviews with instructors and student teaching and lab assistants, also using grounded theory analysis to develop a set of codes for these different perspectives. The coding processes themselves allowed for a deeper understanding of the concerns about and appreciation for the assignments from both groups of participants. This poster reports on how the statistical results and the coding schemes, including the overlap and dissonance between the two coding schemes, inform our continued efforts to improve both assignment development and future research on the teaching and learning of CS concepts.
Fostering a Sense of Belonging among Female CS Students with Affective Peer Tutoring
ABSTRACT. Increasing women's representation in computer science (CS) has become a national priority. One of the many reasons female students nationwide choose not to finish their study in CS is that they do not feel a deep sense of belonging in the major. To foster the sense of belonging among female CS students, the affective learning outcomes, which are adapted from Bloom's Taxonomy on human learning, are integrated into the context of peer tutoring as five successive stages. Through the five stages of affective peer tutoring, students gradually deepen their sense of belonging in CS by: (1) being aware of the tutoring services; (2) proactively seeking answers to their programming questions; (3) recognizing the value of self-efficacy; (4) discussing learning issues in a supportive environment; and (5) contributing to a peer-led learning program to help others. Our data indicate that affective peer tutoring has resulted in an increased level of peer-to-peer interaction outside of the classrooms, significantly better grade performance in introductory programming courses, and improved retention rate among female CS students. Therefore, this poster may be of interest to any CS educator who wishes to improve the interaction, performance, and retention among female CS students while sustaining a peer-led learning program at their institution.
15:00
Michael Dunn (Air Force Institute of Technology, United States) Laurence Merkle (Air Force Institute of Technology, United States) Robert Caruso (West Monroe Partners, Inc., United States) Ray Trygstad (Illinois Institute of Technology, United States)
Proposed Cybersecurity Merit Badge for the Boy Scouts of America
ABSTRACT. Cybersecurity is a significant challenge facing our society, and the industry is in desperate need of more talent. With a projected worker shortage of 1.8 million by 2022, it is imperative to recruit more young people to study and work in this critical field. One time-tested method of engaging young people to explore prospective careers is through Scouting’s advancement program. The Girl Scouts of the USA has recognized this need, and recently announced that they will be introducing a series of cybersecurity badges for their programs. This poster will outline a proposal for a Cybersecurity merit badge for the Boy Scouts of America (BSA). The authors have already submitted an initial proposal to the BSA, and are in the process of developing and submitting a more thorough and detailed proposal, including recommended requirements for earning the badge. This poster will report on the authors’ progress. A background on the merit badge program will be presented, including research supporting the idea that badges can be an effective method at engaging young people in experiential learning. A set of draft recommended requirements will be presented, and feedback solicited from conference attendees. Finally, the poster will report the status of the proposal and the authors’ efforts working with the BSA.
15:00
Godmar Back (Virginia Tech, United States) Lance Chao (Virginia Tech, United States) Pratik Anand (Virginia Tech, United States) Thomas Lux (Virginia Tech, United States) Bo Li (Virginia Tech, United States) Ali Butt (Virginia Tech, United States) Kirk Cameron (Virginia Tech, United States)
Teaching Variability in a Core Systems Course
ABSTRACT. Computer systems form the backbone of computing from very small devices to huge datacenters that power the digital economy. These systems often exhibit large degrees of variability in their performance that is little understood, but such variability threatens to diminish the effectiveness of critical systems upon which society relies. Funded by a large NSF grant, the VarSys project at Virginia Tech researches the sources of variability in computer systems and develops methods to overcome it. We believe it is crucial to raise awareness of the phenomena surrounding variability in computer systems at the undergraduate level. Towards this end, we are connecting the research techniques developed as part of this NSF award to ongoing classroom projects in a core systems course.
Our key insight is to expose students to the phenomenon as it occurs in the systems software modules (e.g. a memory allocator, a fork-join thread pool) they are themselves developing in the course. We have implemented a web-based system that allows students to submit their own systems-level code to a specialized cluster which then benchmarks it while systematically varying a number of ordinal and categorical variables. These variables reflect environmental factors that can influence the performance of complex systems. Students are then presented with a visual statistical analysis of the results and asked to interpret those results. We have successfully deployed this system in 2 semesters to over 250 students and collected student data about their experience with this system and are documenting our progress towards these important learning objectives.
Correcting Novice Programmers’ Misconceptions Through Personalized Quizzes
ABSTRACT. Introductory programming students unable to grasp and apply abstract concepts are known to become disengaged and drop out of the course. The large class sizes, increasing diversity and inadequate teaching support have exacerbated the problems leading to failure rates as high as 50% in exams. To address this issue, we employed a novel learning analytics technique named Personalized Prescriptive Quiz (PPQ). It comprises a set of questions that combine quiz data such as cognitive levels, concepts, topics and their dependencies, gathered from students’ previous pathways. Over 90% of surveyed students agreed that the PPQ has been effective in clarifying their misconceptions before the final exam. Following our experiments, the exam pass rate has gone up by over 40%.
An Interactive Tutorial for Learning to Manipulate References
ABSTRACT. Understanding basic manipulation of object references is a conceptual prerequisite to understanding many data structures, beginning with Linked Lists and Trees. Unfortunately, there is often a gap between introductory programming courses that introduce reference variables and creation of objects, and second semester programming courses that immediately skip to introducing linked lists. As a consequence, students begin using references extensively during Data Structures and Algorithms courses without having enough knowledge about how references work. To fill this gap we created a tutorial about basic use of references and the manipulation of objects using references. The tutorial, implemented as part of the OpenDSA eTextbook system, focuses on learning through visualizations and interactive exercises. Students work a series of small code-writing exercises, inspired by the JhavePOP system. These exercises use simple program visualization to let students see the result of running their program. Manipulative exercises test student proficiency at reading and understanding small sections of code that involves using references to link objects. All exercises are automatically assessed, providing immediate feedback. Our evaluation of the tutorial's effectiveness will focus on identifying and correcting student misconceptions. Optional sections of the tutorial introduce the program stack and the dynamic memory heap.
On Integrating Students in the Development and Review of IT Undergraduate Curriculum
ABSTRACT. In an ever changing and globalizing work environment, Educational institutions in the field of Information Technology (IT) face a constant challenge in developing relevant and competitive courses and curricula that stay up to date with changes in technology. Developing curriculum should go beyond the supply-centered educational approach where institutions and faculty alone are responsible for the design of curricula and instead, should be from end-to-end a collaborative effort from all stakeholders. However, the current collaborative efforts in developing curricula only involve industry and academia. Even though students are the raison d'être of the curriculum, they are still perceived as merely consumers of knowledge. Students are kept out of the curriculum development process and their expectations, perceptions, and opinions often are not taken into consideration. In this poster, the author proposes a distributed and collaborative curricula design framework that promotes a closer integration of all stakeholders namely academia, industry, and students. Similar to the PIECE (Partnering Industry and Education for Curricular Enhancement) model, the proposed framework prescribes a multi-stage curriculum design process from initial analysis to final assessment. In addition, the author reports the results of an anonymous survey given to CS/IT major students at WNEU and explores the benefits of integrating students in the curriculum development process. Results would demonstrate that the integration of students in the curriculum development process would improve students’ engagement in classes, and create an atmosphere of trust and a sense of ownership for students. Ultimately, this would enable institutions to create consumer-friendly curriculum and programs.
Building a Community of First Year Students Improves Student Retention and Performance in Computing Courses
ABSTRACT. First-year computing courses are gateway courses with low passing rates, resulting in student attrition and transfers out of computer science degrees. Learning Communities (LC) are a group of students who enroll in two or more courses, generally in different disciplines that are linked together by a common theme, in an academic semester. LCs capture and combine two important parts of college life: education and student cooperation. At our institution we have implemented a LC linking three first-year courses (Introduction to Computer Systems, CS0; Problem Solving with Computer Programming, CS1; and English Composition I) for over five years. In this poster, we empirically show the pedagogical impact of LCs on student academic retention and performance outcomes in first-year computing courses (CS0 and CS1). Our results show that when first-year students take computational courses as part of the LC, retention rates increase and students perform significantly better. We also found that LCs promote class attendance and that the nature of students’ relationships with classmates may play a critical role in the improvement of student performance observed in LC students.
15:00
Jian Zhang (Texas Woman's University, United States) Kimberly Huett (University of West Georgia, United States) Jonathan Gratch (University of West Georgia, United States)
Do I Need an IRB? - Computer Science Education Research and Institutional Review Board (IRB)
ABSTRACT. The importance of rigorous standards in computer science education research to include a description of hypotheses, research questions, methodologies, and results has been recognized in the computer science education community. The driving force for computer science education research is to understand the learning needs of our students who are human subjects. Therefore, some computer science education researchers may need to answer a critical question before they start their planned research: Do I need Institutional Review Board (IRB) approval to conduct this research using my students as research subjects? The key goal of the IRB is to protect human subjects from physical or psychological harm (“Code of Federal Regulations, Title 45, Public Welfare, Part 46, Protection of Human Subjects”). Although commonly used in the fields of health and social sciences, the role and purpose of IRB, the different categories of IRB reviews, the timeline from planning and submission of an IRB application, and the general rules for citing IRB in publications and grant proposals are not widely understood in the computer science education research community. In this poster, the authors describe the history, the purpose, review categories, and guidelines for reporting on the IRB. The authors will tailor the discussions on the different IRB review categories to computer science educators interested in conducting computer science education research with their students.
15:00
Sonal Dekhane (Georgia Gwinnett College, United States) Nannette Napier (Georgia Gwinnett College, United States)
Does Participation In A Programming Boot Camp Impact Retention of Women In Computing?
ABSTRACT. While many efforts exist to recruit underrepresented minorities in computing, retention of those that choose the field, still remains a challenge. To retain more women in computing at an open access, baccalaureate degree granting institution, the authors have been hosting a programming boot camp (PBC) for women IT and MIS majors at the institution since May 2014. PBC is a holistic program that focuses on academic preparation, professional development and mentoring. Freshman and sophomore women are invited to participate in this annual PBC each year. While some candidates accept the invitation to participate in the boot camp, some elect not to. The goal of this study is to investigate if participants progress and persist at a different rate than the invited candidates (non-participants) in their chosen field of study. This study compares the academic progression and retention data of candidates vs. participants over a period of three years (2014-2016). The authors look at measures such as current academic status, graduation rates, current (or graduation) major, and completion rates of programming sequence. Preliminary findings indicate that recruitment is a challenge without any incentives for participation. While participation in PBC alone cannot impact retention, this study investigates if students’ participation or non-participation can be an indicator of their persistence in their chosen program. This information can be further used to create targeted initiatives meeting students’ needs.
Development and Analysis of a Spiral Theory-based Cybersecurity Curriculum
ABSTRACT. The current emphasis on the cybersecurity topic worldwide, including organizations, such as National Science Foundation, National Security for Cybersecurity Education, and National Academy of Engineering, demonstrates the great importance of this topic. This poster describes a unique NSF funded project that aims to create cybersecurity education opportunities at Virginia Tech (VT). It is a collaborative effort among faculty and graduate students in the Engineering Education, Computer Science (CS), Electrical and Computer Engineering (includes two majors, Electrical Engineering (EE) and Computer Engineering (CPE)) Departments, and the Hume Center in the College of Engineering at VT. The goal is to integrate cybersecurity modules into eight required CS and CPE courses, from freshman to junior levels, utilizing Jeremy Bruner’s spiral-theory-based curriculum model. A spiraling theme of “handling threats to software for securing personal information” is chosen for the curriculum development. Cybersecurity goals of the CIA/AAA triad, as appropriate for various academic levels, are adopted to develop the cybersecurity modules. Each module engages students in an authentic activity that reinforces the cybersecurity concepts. The project includes an engineering education research component, which is focused on evaluating the effectiveness of the curriculum in enhancing students’ knowledge, skills, and motivation in cybersecurity concepts. The first year of the project has been completed by introducing cybersecurity modules into four courses (CS and CPE) impacting ~1600 students. The details of curriculum development and implementation and, the preliminary findings of the research will be presented.
What Vulnerability Assessment and Management Cybersecurity Professionals Think Their Future Colleagues Need to Know
ABSTRACT. There is a growing need for cybersecurity professionals with the knowledge, skills, and abilities (KSAs) necessary for risk and vulnerability analysis. Curricula developed to educate and train future cyber professionals should emphasize the KSAs most important in cyber work. To determine which KSAs should be prioritized in curricula, we interviewed 38 cyber professionals with a specialty in vulnerability assessment and management. Interviews took place at the premier hacking conferences Black Hat and DEF CON in the years 2016 and 2017. Participants rated the importance of 31 KSAs taken from the National Initiative for Cybersecurity Education’s Cybersecurity Workforce Framework. Of the 31 KSAs, 12 were rated as being significantly important to performing work related to vulnerability assessment and management. Half of these KSAs dealt with system and application vulnerabilities (e.g., Skills in conducting vulnerability scans and recognizing vulnerabilities). The other 6 most important KSAs concerned attacks (e.g., Knowledge of different classes of attacks), penetration testing (e.g., Skill in the use of penetration testing tools and techniques), and network protocols (e.g., Knowledge of network protocols). Overall, the results suggest that vulnerability assessment students should graduate with: 1) knowledge of and skills in identifying vulnerabilities and robustness of systems and applications; 2) conceptual familiarity with classes of attacks and attack stages; 3) skill in using penetration testing tools and knowledge of penetration testing principles, and 4) knowledge of network traffic and network protocols. Participants rated KSAs related to incident response and day-to-day system management as the least important to their job.
15:00
Yu Cai (Michigan Technological University, United States)
A Holistic and Case-Analysis Approach for Cybersecurity Education
ABSTRACT. There is a growing acceptance that a holistic cybersecurity approach incorporating technical, human, and business factors is needed to address the myriad cyber threats nowadays. This paper introduces a new holistic and case-analysis (HCA) teaching approach for cybersecurity education by dissecting recent high-profile cybersecurity breaches. The traditional way of teaching cybersecurity usually introduces a list of technical security topics in an isolated context with little or no effort to link these topics together. It is also not easy to find a good place to teach human and business factors in cybersecurity. The proposed HCA model starts with selected real-world cyber breaches including the Target Corporation breach, the Anthem Inc. breach, and selected Distributed Denial of Service (DDoS) attacks. Students look into the details of these attacks and learn how these attacks took place from the beginning to the end. During the process of case analysis, a list of security topics reflecting different aspects of these breaches is introduced. Through guided in-class discussion, selected readings and hands-on lab assignments, student learning in lecture are reinforced. Compared with the traditional ways of teaching cybersecurity, the proposed HCA model has a few advantages. First, the new model can easily draw students’ attention and interests with real-world cases. Second, the new model can improve student analytical skills by helping them obtain a whole picture of cybersecurity systems in an enterprise environment. Third, the new model can help the student gain a holistic view of cybersecurity by incorporating complicated socio-technical factors.
A Year of Living Actively: Hybrid PBL In A Community College CS Curriculum
ABSTRACT. In 2015, it became apparent that the traditional lecture/lab courses were not working for the Computer Science/Software Engineering students at our community college. The students wanted more out of the class, and the lecture model was, frankly, boring for all of us. This began a four-year long project to convert the three major programming courses from standard lecture to a variation on project based learning. In each course, the project would be slowly introduced and appropriately scaffolded, with each new skill tied to the text and lectures. At the end of the term, students presented their work, as a written and oral report, to faculty and staff they did not know. While this project started out as a grand experiment, students were overwhelmingly positive about not only the project, but how much they learned that wasn't in the text or lectures, and just as important, how much they learned about themselves. The growth in student confidence was clear. The poster will display information about two current projects, typical student artifacts, and an assortment of student comments from their final presentations. We will also discuss how the project idea was scaffolded to balance formal and informal student learning in the classroom.
GLIDE (Git-Learning IDE; integrated development environment): In-class collaboration in web engineering curriculum for youths
ABSTRACT. Despite software engineering’s inherently collaborative nature, collaboration with others hasn’t been the primary way for students to learn how to program. Although various collaboration frameworks, such as Git, are widely used in software engineering, they’ve been treated as separate skills to acquire in addition to learning programming languages, rather than ways of learning, working, and thinking while learning to program.
One collaborative software development task that students often want to engage in is building websites. However, the complexity of web syntax and architecture has been a hurdle in teaching and learning web design and development, especially for beginners without sufficient technical background. Specifically, syntactic barriers in several different languages for a webpage, inherent coupling of content and design in HTML, difficulty in understanding server-client model, and need for hosting resources for deployment contribute to a steep learning curve in building websites “from scratch”.
This work aims to address these issues by developing GLIDE (Git-Learning Integrated Development Environment) - a set of tools and curriculum that support in-class collaborative development in web engineering courses. GLIDE structures the website development process as a teacher-guided Git workflow for a team of students collaborating in groups in a Git repository. The application also provides a web programming model that separates content, from design, from implementation, allowing students to take on different roles and responsibilities during the development process.
This demo presents a tutorial on how a group of students can build websites collaboratively with teacher’s assistance based on the GLIDE software platform and curriculum.
SPINOZA -- in-class Python problem solving with classroom orchestration
ABSTRACT. Enrollments in Computer Science classes have been increasing at an exponential rate in many colleges and universities, which has resulted in a rapid increase in class size especially for the Introduction to Programming classes. The Spinoza system was developed as a way to add active learning to very large CS1 classes taught in Python. The main goals were to keep all students actively involved in learning how to code and how to debug. The key innovation of Spinoza is the Solve-Then-Debug activity in which students first solve a problem by getting their code to pass a suite of unit tests and then they debug the most common incorrect attempts of their classmates. The instructor has access to a wide variety of tools for viewing performance of the class and the individual students in real-time. In this demo, we will show you how to use Spinoza in your own classes. In particular, we show how to create a class, create a problem, and how to monitor the progress of the students in both the solving and the crowdsourced debugging phase, and how to use the other orchestration features to effectively explore the concepts exposed by that problem
Daniel Zingaro (University of Toronto, Canada) Michelle Craig (University of Toronto, Canada) Leo Porter (University of California San Diego, United States) Brett Becker (University College Dublin, Ireland) Yingjun Cao (University of California San Diego, United States) Phill Conrad (University of California, Santa Barbara, United States) Diana Cukierman (Simon Fraser University, Canada) Arto Hellas (University of Helsinki, Finland) Dastyni Loksa (University of Washington, United States) Neena Thota (University of Massachusetts Amherst, United States)
Achievement Goals in CS1: Replication and Extension
ABSTRACT. Replication research is rare in CS education. For this reason, it is often unclear to what extent our findings generalize beyond the context of their generation. The present paper is a replication and extension of Achievement Goal Theory research on CS1 students. Achievement goals are cognitive representations of desired competence (e.g., topic mastery, outperforming peers) in achievement settings, and can predict outcomes such as grades and interest. We study achievement goals and their effects on CS1 students at six institutions in four countries. Broad patterns are maintained --- mastery goals are beneficial while appearance goals are not --- but our data additionally admits fine-grained analyses that nuance these findings. In particular, students' motivations for goal pursuit can clarify relationships between performance goals and outcomes.
16:10
Jane Stout (Computing Research Association, United States) Burcin Tamer (Computing Research Association, United States) Christine Alvarado (University of California San Diego, United States)
Formal research experiences for first year students: A key to greater diversity in computing?
ABSTRACT. Underrepresented (women/minority) students in computing are known to feel a weaker sense of belonging than majority (Asian/White men) students. This is important because a low sense of belonging is known to lead to disengagement and attrition in education settings. In a longitudinal study, we assessed whether and how early formal research might narrow the gap in underrepresented versus majority students’ sense of belonging. The sample for this study derives from a longitudinal study on undergraduate students affiliated with computing departments across the United States. We used propensity scores to generate an appropriate sub-sample of students to compare against formal research participants (n = 110 formal research students, n = 110 students with no formal research experience). We found that formal research during students’ first year in college was associated with a strong sense of mentor support during their second year in college. Importantly, perceived mentor support predicted a strong sense of belonging for underrepresented students, but not majority students. Further, the typical gap in sense of belonging among underrepresented and majority students disappeared when students perceived high mentor support. This study contributes to existing research on the benefits of formal research experiences by studying its influence on lower division students. Our work also suggests that formal research, when introduced early, might promote greater diversity in computing in the long term. A model for early undergraduate research, currently taking place at the University of San Diego, is presented.
Models for Early Identification of Struggling Novice Programmers
ABSTRACT. There is much interest in predicting student performance in computer programming courses early in the semester to identify weak students who might benefit from targeted support. To this end, we analyzed detailed keystroke transcripts and outputs of compilation attempts during programming activities, both in and out of class. In linear regression models predicting grades, we identified multiple behavioral indicators and performance indicators that explained over 70% of the variation in final grades within the first 3 weeks. The indicators that predicted change in grade from the 3-week mark to the end of the semester suggests that these indicators have a compounding effect on performance. Because the indicators identify specific behaviors and are generated automatically, they may be used as the basis for interventions instructors may use when counseling weaker students concerning their performance early in the course before they fall too far behind. We provide examples of such interventions. In contrast with some other automated struggling-student detection models, our predictors are based on generic behaviors and generic performance metrics that can be extended to a wide range of introductory programming contexts. Our models also predict performance on a continuous scale rather than a binary "weak"/"not weak" classification, which allows it to offer interventions to marginal students who want to improve, or to promising students who want to excel.
Sathya Narayanan (California State University Monterey Bay, United States) Kathryn Cunningham (Georgia Institute of Technology, California State University Monterey Bay, United States) Sonia Arteaga (Hartnell College, United States) William J. Welch (Central Texas College, Hartnell College, United States) Leslie Maxwell (California State University Monterey Bay, United States) Zechariah Chawinga (California State University Monterey Bay, United States) Bude Su (California State University Monterey Bay, United States)
Upward Mobility for Underrepresented Students: A Model for a Cohort-Based Bachelor’s Degree in Computer Science [BEST PAPER NEW CURRICULA, PROGRAMS, DEGREES AND POSITION PAPERS]
ABSTRACT. CSin3 is a cohort-based, three-year computer science bachelor’s degree program that has increased graduation rates of traditionally underrepresented computer science students. A collaborative effort between a community college and a public university, CSin3 provides a clear pathway for upward socio-economic mobility into the high-paying technology industry. CSin3 students are 90% from traditionally underrepresented groups, 80% first-generation, 32% female, and have a three-year graduation rate of 71%, compared to a 22% four-year graduation rate for traditional computer science students. Upon graduation, CSin3 students score similarly on a standardized exam of computer science knowledge as compared to traditional students who graduate in 4 years or more. The first graduates had a job placement rate of 78% within two months of graduation, including positions at large technology companies like Apple, Salesforce, and Uber. By implementing a cohort-based learning community, a pre-defined course pathway, just-in-time academic and administrative support, comprehensive financial aid, and a focus on 21st century skills, the CSin3 program has demonstrated promising results in addressing the capacity, cost, quality, and diversity challenges present in the technology industry.
Recommendations of a Diversity, Equity, and Inclusion Working Group based on Student Data from a National CS Education Program [2nd BEST PAPER EXPERIENCE REPORTS AND TOOLS]
ABSTRACT. In the US, many groups of students are underrepresented in computer science (CS) classes at the K-12 level. These groups include female, African-American/Black, and Hispanic/Latinx students. In addition, students from these groups typically perform below the overall average on AP CS exams. Many of the activities of TEALS, a national computer science education program, impact the diversity of students enrolled in computer science classes, student performance on AP exams, and student attitudes towards CS careers. TEALS works with high schools to build and grow sustainable computer science programs through teaching partnerships between classroom teachers and volunteers who work in the tech industry. In 2017, TEALS initiated a Diversity, Equity, and Inclusion Working Group to holistically address the overall impact of the program on increasing diversity in CS, including TEALS’ approach to: selection of schools, student recruitment efforts into CS courses, recruitment and training of TEALS volunteers, curriculum design and resources, and instructional support of volunteers and teachers. The working group compared national, regional, and state-wide outcomes and demographics to those of TEALS partner schools, students, volunteers, and teachers to identify best practices and areas in need of investment. This paper presents these findings and offers strategies and recommendations to improve exposure to, and outcomes in, computer science for all students.
16:35
Stephanie Ludi (University of North Texas, United States) Matt Huenerfauth (Rochester Institute of Technology, United States) Vicki Hanson (Rochester Institute of Technology, United States) Nidhi Palan (Rochester Institute of Technology, United States) Paula Garcia (Rochester Institute of Technology, United States)
Teaching Inclusive Thinking to Undergraduate Students in Computing Programs
ABSTRACT. An increasing importance of accessibility awareness and knowledge emanates from a moral imperative and as an employment differentiator. It is important that educational programs have a demonstrated ability to teach these skills. In this paper, we focus on the role that educational courses can play in increasing accessibility awareness for undergraduate students. We review literature indicating that a number of accessibility teaching interventions have been reported; yet the evaluation of their effectiveness has not been conducted in a consistent manner. We report on our 3-semester evaluation of undergraduate students’ accessibility awareness and knowledge following a week of accessibility lectures as part of courses on Human-Computer Interaction (HCI), where a subset of students also interact with stakeholders with disabilities during the conduct of the course projects. Gains in awareness and knowledge occur when accessibility lectures were part of the course. These gains are compared across the teams who interacted with a person with a disability and teams with no such interaction. In addition, we provide the test battery developed to measure these skills, to enable other researchers to conduct evaluations of the effectiveness of interventions for teaching inclusive thinking in undergraduate computing at their own institutions.
Michele Roberts (Indiana University Bloomington, United States) Kiki Prottsman (Code.org, United States) Jeff Gray (University of Alabama, United States)
Priming the Pump: Reflections on Training K5 Teachers In Computer Science
ABSTRACT. Much well-deserved attention in K-12 Computer Science (CS) education has focused recently on the successful launch of the College Board’s new AP CS Principles course, which is breaking participation records and broadening CS education. To further leverage the national investment in a successful high school CS program, however, it is important to create, sustain and study a continuous CS pipeline that begins early and spans all grade levels. This experience report articulates the characteristics of Code.org’s K-5 CS Fundamentals (CSF) program and summarizes the experiences of adopting the CSF curriculum to support large-scale, university-driven K-5 Professional Development (PD) programs across two states in different geographical regions of the USA. An overview of Code.org’s CSF curriculum and PD survey data is provided, followed by a summary of each state’s experience. A set of lessons learned offers recommendations for those considering implementation of statewide PD programs in K-5 CS.
16:10
Cecily Heiner (Southern Utah University, United States)
A Robotics Experience for All the Students in an Elementary School
ABSTRACT. Robotics can be a meaningful and motivating application of computer science that helps make abstract concepts concrete and visible, but most elementary school robotics thus far has focused on design and after school extra-curricular activities with small groups of select students rather than in-school, school-wide robotics for all the students within a school. This paper describes our experience designing, implementing, and trying to evaluate a robotics curriculum and program for all the students within an elementary school; the primary focus of this paper is scale. We describe challenges and opportunities we experienced as part of this project and reflect on the degree to which they are unique to our relatively small, isolated rural town and the timing of our project. We present data points suggesting that robotics can be effectively and economically implemented in the elementary school curriculum.
Demonstrating the Ability of Elementary School Students to Reason about Programs
ABSTRACT. Over the last decade, CS Education researchers have developed different curricula, resources, and strategies to foster computer science learning in K-12 education. However, there is a lack of research about how elementary school students develop the ability to reason about programs. Reasoning about programs consists of a student’s ability to read, write, debug, trace, and predict program behavior. This paper presents results from a think-aloud study of fourth and fifth grade students learning to program in Kodu. The goal of this study was to track students’ understanding of how Kodu interprets and executes rules of a program. To understand students’ reasoning of program execution, we explicitly taught them the Laws of Kodu computation which govern the decision making and execution process of Kodu rules. We collected students’ responses on pre- and post-assessments, and we conducted think-aloud interviews with students where students explained their answers to assessment questions. We found that explicitly teaching students how Kodu rules are interpreted significantly improved their ability to understand the execution of programs and to explain program behavior. The results of this study provide insight into how elementary school students reason about simple programs, and how this ability can be scaffolded.
Shuchi Grover (ACTNext & Associate Editor, ACM TOCE, United States)
Location: 319
15:45
Karla Hamlen (Cleveland State University, United States) Nigamanth Sridhar (Cleveland State University, United States) Lisa Bievenue (University of Illinois at Urbana-Champaign, United States) Debbie Jackson (Cleveland State University, United States) Anil Lalwani (Cleveland State University, United States)
Effects of Teacher Training in a Computer Science Principles Curriculum on Teacher and Student Skills, Confidence, and Beliefs
ABSTRACT. Common barriers to broad-based adoption of Computer Science in secondary schools include 1) insufficient numbers of trained teachers who are capable of teaching CS courses in K-12 schools, and 2) a narrow base of students interested in taking CS courses which does not include a large number of females or students from traditionally underrepresented racial groups. To overcome these obstacles, researchers developed and employed a teacher professional development program to develop both content and pedagogical strategies to teach Computer Science Principles while also broadening and expanding participation in computer science. Teachers were selected for this program to understand the impact of the intervention with teachers of diverse backgrounds, who teach in a variety of schools and with diverse student populations, and with a range of previous CS content knowledge and teaching experience. Teacher content mastery, confidence and attitudes, as well as student content mastery and confidence were assessed at multiple times. Key goals of the program were to develop ability and confidence in programming skills among teachers and students, and to train and encourage teachers to use a peer teaching model, allowing for a great deal of interaction among students and engagement with the content facilitating the development of expertise among students. Significant findings showed that teachers improved in both knowledge and confidence after taking the workshop, and the gains were evident for their students as well. Their students also demonstrated improvement in both skills and confidence after taking the CS Principles course, regardless of gender, race, or ethnicity.
16:10
Rui Zhi (North Carolina State University, United States) Nicholas Lytle (North Carolina State University, United States) Thomas Price (North Carolina State University, United States)
Exploring Instructional Support in an Educational Game for K-12 Computing Education
ABSTRACT. Instructional supports (Supports) help students learn more effectively in intelligent tutoring systems and gamified educational environments. However, the implementation and success of Supports vary by environment. We explored Support design in an educational programming game, BOTS, implementing three different strategies: instructional text (Text), worked examples (Examples) and buggy code (Bugs). These strategies are adapted from promising Supports in other domains and motivated by established educational theory. We evaluated our Supports through a pilot study with middle school students. Our results suggest Bugs may be a promising strategy, as demonstrated by the lower completion time and solution code length in assessment puzzles. We end reflecting on our design decisions providing recommendations for future iterations. Our motivations, design process, and study's results provide insight into the design of Supports for programming games.
16:35
Amber Dryer (University of Wisconsin - Green Bay (UWGB), United States) Nicole Walia (University of Wisconsin - Green Bay (UWGB), United States) Ankur Chattopadhyay (University of Wisconsin - Green Bay (UWGB), United States)
A Middle-School Module for Introducing Data-Mining, Big-Data, Ethics and Privacy Using RapidMiner and a Hollywood Theme
ABSTRACT. Today's organizations, including online businesses, use the art of data-driven decision-making i.e. business-intelligence (BI) to benefit from all the data out in the open. Given the current market demand for BI skill-sets, including the knowledge of different sources and tools for data-collection plus processing, today’s youth need a basic understanding of data-driven intelligence, and an awareness of big-data related ethics and privacy. However, there has been limited research and development work towards designing an effective educational module in this regard at the K-12 level. We intend to address this particular limitation by presenting a uniquely engaging middle-school learning module based upon a combination of useful topics, like data-mining, predictive-analytics, data-visualization, big-data, ethics and privacy, using the free RapidMiner software-tool. The novelty of our module lies in the use of a GUI-based visual hands-on platform (RapidMiner), a Hollywood movie-theme based educational activity, as well as an added focus on big-data ethics and privacy, and its conceptual mapping to the NSA-GenCyber security-first principles. We discuss and analyze the survey data obtained from over hundred participants through several offerings of our module as an educational workshop through our Google-IgniteCS and NSA-GenCyber programs. The collected learning-analytics data indicate that our module can become a simple yet effective means for introducing data-mining, big-data, ethical and privacy issues, and GenCyber security-first principles at the middle-school level. Our results show prospects of motivating middle-school participants towards further learning of topics in data-science, data-ethics and data-security, which is necessary today in a variety of professions.
A Study of Pair Programming Enjoyment and Attendance using Study Motivation and Strategy Metrics
ABSTRACT. In this study, we explore educational pair programming in a university context with high student autonomy and individual responsibility. The data for this analysis comes from two separate introductory programming courses with optional pair programming assignments. We analyze lab attendance and course outcomes to determine whether students' previous programming experience or gender influence attendance. We further compare these statistics to self-reported data on study motivation, study strategies, and student enjoyment towards pair programming.
Our results suggest that gender and previous programming experience correlate with participation in pair programming labs. At the same time, there are no significant differences in self-reported enjoyment of pair programming between any of the groups, and the results from commonly used study motivation and strategy questionnaires provide little insight into students' actual behavior.
The Importance of Producing Shared Code through Pair Programming
ABSTRACT. Collaborative learning frameworks such as pair programming have been shown to be highly effective for computer science learning. Skeptics of this approach often refer to the risk of one student relying on a stronger partner to solve the problem. Lending weight to this skepticism, many theories emphasize the importance of learner autonomy. Therefore, it is reasonable to hypothesize that a hybrid pair programming paradigm--one in which partners work together side-by-side at two separate computers and produce their own versions of the code--may be even more effective than the traditional model of pair programming. To investigate this hypothesis, we conducted a study in which 200 introductory programming students were paired and then placed in either a pair-programming condition (two students at one computer) or a hybrid condition (two students at two computers). The results show that traditional pair programming fostered comparable learning gains as measured on an individual post-test, and significantly higher student satisfaction, than the hybrid approach. These findings highlight the importance of not just collaborating, but working together on shared code, for novice computer science learners.
Thematic Analysis of Students’ Reflections on Pair Programming in CS1
ABSTRACT. Pair programming is a successful approach for improving student performance, retention, and motivation toward computer science. A substantial body of previous research has focused on the advantages of pair programming over solo programming, comparing different pair programming approaches, and the impact of pair compatibility. However, not all students benefit equally from this approach. An important open challenge for researchers is to develop a deep qualitative understanding of the student experience in pair programming, particularly for novices. This paper reports on a study investigates of the cognitive, affective, and social experiences of students in an introductory programming course in which pair programming was utilized in weekly labs throughout the term. Students reported their experience through reflection essays written at the end of the semester. We analyzed 137 student reflection papers in a mixed-methods study. The quantitative results show that overall, students have a positive attitude toward pair programming. Looking more deeply at the reflection essays, thematic analysis revealed themes centered around cognitive, affective, and social dimensions. In the cognitive dimension, students expressed the importance of exposure to different ideas and developing deeper understanding. Affectively, students reported that working with a partner reduced their frustration and increased their confidence. Students also pointed out the social benefits of making forming new friendships and forming helpful connections. These results highlight the powerful benefits of pair programming for enhancing the student experience and point to ways in which this collaborative approach could be adapted to better meet the needs of some learners.
DIVAS: Outreach to the Natural Sciences through Image Processing [3rd BEST PAPER NEW CURRICULA, PROGRAMS, DEGREES AND POSITION PAPERS]
ABSTRACT. The DIVAS (Digital Imaging and Vision Applications in Science) project addresses workforce challenges in science, technology, engineering, and mathematics by creating a pedagogical and programmatic "on-ramp" that empowers natural science majors to engage in authentic computational problems as members of skilled, professional teams. We are developing and testing institutional practices and curricular innovations that engage and train STEM undergraduate students to use Python programming, and image processing in particular, in their undergraduate research projects. Students are recruited into the DIVAS program in the first semester of their first year. DIVAS scholars and other participating students can experience a variety of interventions including: 1) a one-credit DIVAS seminar exploring several imaging and computing topics; 2) image capture and analysis modules in introductory- or upper-level biology and chemistry courses; 3) a week-long, intensive coding bootcamp that introduces bash, git, Python programming, and the OpenCV image processing library; 4) pair programming exercises to solve genuine morphometric and colorimetric problems; 5) an extended summer research project involving image processing; and 6) weekly code reviews to check on progress and provide guidance. The DIVAS projects measures the impact of these interventions on students' self-reported efficacy in using computation to solve problems, their attitudes towards computation, and their computational thinking skills, using both established and newly developed instruments. Our first year results show that multiple interventions have had significant positive impact on students' self-efficacy and interest in using computing in their future careers, and certain computational thinking skills.
Diversity-focused Online Professional Development for Community college Computing Faculty: participant motivations and perceptions
ABSTRACT. Although computing occupations increasingly dominate the workforce, the computing discipline fails to attract sufficient and diverse students to meet workforce needs. Lighthouse is a collection of professional development efforts seeking to increase computing diversity through faculty education. Lighthouse CC provides an open online course extending a decade of successful face-to-face Tapestry workshops. Lighthouse CC targets community college computing faculty, building off of research suggesting that online professional development can be as effective as in-person professional development (Fishman et al., 2013). We believe it is one of the first attempts to validate that finding for community college computing faculty.
The paper examines participant motivations and perceptions of online and face-to-face diversity-focused professional development for community college computing educators. To meet the needs of the community college computing faculty, we conducted a needs assessment survey. This feedback and our experience with face-to-face workshops was integrated with several instructional design principles and theories to engage community college faculty, notably the ARCS motivational design model (Keller, 1987) and the Community of Practice model (Wenger, 1998). Our analyses involved surveys and focus group interviews with workshop participants and online course takers. The paper also provides directions for future improvements and suggestions for others considering producing online or diversity-focused professional development.
16:35
Beth Quinn (National Center for Women & IT, United States) Wendy Dubow (National Center for Women & IT, United States) Jamie Huber-Ward (National Center for Women & IT, United States)
Broadening Participation in Computing via Professional Development for Community College CS/IT Faculty
ABSTRACT. This paper describes the creation of a virtual, interactive professional development course intended to build the capacity of community college faculty to recruit and retain women and underrepresented minorities in their computing programs. The project was designed in response to community college faculty reporting frustration at their institutions’ general inability to support professional development, their consequent feelings of isolation from other like-minded faculty, and their need for practical methods to broaden participation in their programs. The 12-session prototype has been piloted with five community college faculty. Once completed, the PD will be available as standalone, interactive modules freely accessible on the web. The course includes instruction and readings on research-based practices for recruiting women and underrepresented minorities in computing and retaining them through inclusive pedagogical practices. Quantitative and qualitative evaluation mechanisms are being developed and piloted to assess the impacts of the PD on faculty attitudes and teaching practices, and the effect of changed practices on introductory computing students’ engagement and persistence. In addition, students’ educational pathways will be assessed in the final year of the project. In this paper, we report some preliminary findings from interviews. The project outputs will include polished online content modules, validated student survey instruments, a classroom observation protocol, and student and faculty interview instruments.
Sarah Heckman (North Carolina State University, United States) Jason King (North Carolina State University, United States)
Developing Software Engineering Skills using Real Tools for Automated Grading
ABSTRACT. Situated learning theory supports engaging students with materials and resources that reflect professional standards and best practices. Starting with our introductory courses, we incorporate situated learning to support student engagement in software engineering practices and processes through the use of industrial strength open-source tools in several classes throughout the undergraduate computer science curriculum at NC State University. Additionally, these tools support several logistical and educational needs in computer science classrooms, including assignment submission systems and automated grading. In this tools paper, we present our Canary Framework for supporting software engineering practices through the use of Eclipse for development; GitHub for submission and collaboration; and Jenkins for continuous integration and automated grading. These tools are used in five of ten core courses by more than 3000 students over ten semesters. While the use of these tools in education is not unique, we want to share our model of using professional tools in a classroom setting and our experiences on how this framework can support multiple courses throughout the curriculum and at scale.
16:10
Gene Fisher (California Polytechnic State University, San Luis Obispo, United States) Corrigan Johnson (California Polytechnic State University, San Luis Obispo, United States)
Evaluating the Use of Specification-Based Test Generation in Software Engineering Courses
ABSTRACT. In 2016 we introduced a student-oriented tool called "Spest" for the automated generation of software tests from formal specifications. That introductory presentation of Spest described its basic functionality and our initial results of using Spest in software engineering courses. Here we describe further experience of using Spest in classes, including qualitative and quantitative analyses of its effectiveness. The analysis consists of a qualitative survey of students' experience, a quantitative study of the readability of Spest-generated tests, and a quantitative analysis that compares the coverage quality of hand-written student tests compared to Spest-generated tests.
The results of the analyses are mixed. The experience survey finds that a majority of students did not enjoy using Spest nor fully understand how to use it effectively. The results of the readability study show that Spest-generated tests are not as readable for students as tests written by human experts, however the differences in readability are not extreme. Further, the study results indicate clearly how Spest can be improved to produce more readable code. Finally, the results of the coverage comparison are good, showing that Spest-generated tests achieve better code coverage than students' hand-written tests. Given these mixed results, the paper concludes with an in-depth analysis of what went wrong, what went right, and how we can move forward to make Spest a more usable and effective tool.
Integrating Project Based Learning and Project Management for Software Engineering Teaching: An Experience Report
ABSTRACT. Software Engineering (SE) is an important topic to be taught in Computer Science courses. However, teaching of theoretical concepts with no link to their practical applications or no examples in the student's context may discourage learning, justifying why teaching and learning are great challenges of education in universities. In attempt to bridge such gap, several approaches have been proposed and applied to improve teaching and learning SE such as project based learning (PBL), a well-known approach already applied to teach SE. Nevertheless, there’s a lack of understanding about how to better apply PBL and how to take advantage of this approach, for future use. There is also a lack of experience report describing how to use, its challenges and difficulties, what could be hampering to widely adopt it. We present our experience applying a PBL approach combined with project management to create an environment considering aspects such as dealing with managers and real stakeholders. The goal is to bring students closer to the reality of developing a software project in the business context. Our experience indicates positive results on the adoption of a PBL approach. In general, students were enthusiastic and positive about the use of this approach, the presence of a manager and the importance of using real-world problems with real stakeholders. We expect that this approach will bring students closer to the real context of software development and, consequently, that students will better understand the topics of the course as well as feel more motivated to study it.
ABSTRACT. The Raspberry Pi (R-Pi) is a single board computer priced at less than 40 USD – less than the cost of many textbooks. The current model (3B) includes a quad-core ARM 64-bit CPU, 1GB of RAM, a GPU, and numerous communication ports, including USB, HDMI, Ethernet, WiFi and Bluetooth. This combination of low cost and high functionality creates many new pedagogical possibilities for CS educators, ranging from using the R-Pi to teach assembly language to using it as a multiprocessor. Relatedly, mathematics educators have produced an extensive literature on the use of pedagogical tools known as “manipulatives” that have been shown to be effective at starting students through a “concrete, representational, abstract” progression of understanding of an abstract topic. We believe that by using the R-Pi as a manipulative, this same “concrete, representational, abstract” progression can be used to help CS students master many topics that are often taught as abstractions. By providing a “concrete” foundation on which to build, a single board computer like the R-Pi can provide the first step in helping students build mental models of such abstractions, and thus enhance student learning. Experience also indicates that many students find the R-Pi to be a fun and enjoyable way to learn about these abstractions. In this panel session, four CS educators will share their experiences using the R-Pi in their courses, followed by a Q&A conversation between the audience and the panelists.
ABSTRACT. With the launch of the new AP Computer Science Principles course many high school and higher education institutions are curious how these two courses will work together and what credit each course should be awarded. In this session, participants will be presented with a comparison of these two courses, an overview of existing credit and placement policies, and hear from two high school teachers who have successfully implemented both of these courses at their schools. Higher Ed faculty will have an opportunity to share how their individual schools are awarding credit or placement for these courses.
Connecting Evaluation and Computing Education Research: Why is it so Important?
ABSTRACT. With the growth of computing education research in the last decade, we have found a call for a strengthening of empiricism within the computing education research community. Computer science education researchers are being asked to focus not only the innovation that the research creates or the question it answers, but also on validating the claims we made about the work. In this session, we will explore the relationship between evaluation and computing education research and why it is so vital to the success of the many computing education initiatives underway. It will also help computing faculty engaged in computer science education research understand why it is essential to integrate evaluation and validation from the very first conceptual stages of their intervention programs.
Helen Hu (Westminster College, United States) Clifton Kussmaul (Muhlenberg College, United States) Lisa Olivieri (Chestnut Hill College, United States)
Special Session: Exploring and Discovering Concepts via POGIL
ABSTRACT. As a form of active learning, POGIL (Process Oriented Guided Inquiry Learning) engages students by grouping them in teams to work collaboratively through activities and construct their own understanding of computer science content. POGIL activities are carefully designed to foster student learning by guiding students through a learning cycle of exploration, concept invention and application. Computer science assignments typically emphasize application questions and problems, where students are expected to apply the new concept to different applications (e.g., writing multiple programs involving while-loops). In contrast, POGIL activities require students to first explore a model, possibly by asking critical thinking questions about some code and its output, before leading students to recognize patterns in the model, thereby helping them to form a better understanding of the new CS concept. Only after students have explored and developed an understanding of the concept, do the POGIL activities proceed to more traditional application questions.
Amardeep Kahlon (Austin Community College, United States) Deborah Boisvert (University of Massachusetts, Boston, United States) Louise Ann Lyon (Education, Training and Research, United States) Melanie Williamson (Bluegrass Community and Technical College System, United States)
The Authentic Inclusion and Role of Community Colleges in National Efforts to Broaden Participation in Computing
ABSTRACT. Between 2010 and 2020, employment opportunities for computer and mathematical scientist occupations are predicted to increase by 23.1%, the highest of all science and engineering jobs, and significantly higher than the expected 14.3% growth for all occupations. The computer science (CS) job sector is growing quickly and provides high wages, yet colleges have been unable to produce enough CS graduates to meet industry demand, with one analysis suggesting a shortage of nearly 100,000 CS graduates per year. The shortage is particularly severe among women and underrepresented minorities. Not only is this shortage worrisome, it significantly reduces the available workforce in a field already facing shortages. Bringing community colleges into the fold will enable us to confront this projected shortage. Most importantly, it will enable us to diversify one of the most important fields of our time, computer and information sciences.
Over half of community college students are non-white, and more than half of all Hispanic and Black undergraduates start at community college. Students from community colleges face many barriers and challenges when they transfer to four-year programs. This interactive panel will discuss strategies to bring the voice of community colleges into the national conversation on broadening the participation in computer science and information technology.
Jason Black, FAMU, Jean Muhammed, Hampton University, Thorna Humphries, Norfolk State University, Arlisha McQueen, FAMU, Kinnis Gosha, Morehouse College
ABSTRACT
Historically Black Colleges and Universities (HBCUs) face unique challenges and opportunities in Computer Science Education. This session first presents perspectives from industry and HBCUs (Florida A&M University, Hampton University, and Norfolk State University). Then, we will discuss how SIGCSE and HBCUs can work together to address challenges and leverage opportunities for African American and black students to engage in computer science education and careers. Jason Black, FAMU, and founding STARS Computing Corps leader, will moderate the discussion. Jean Muhammad, Chair of Computer Science, Hampton, also brings experience from AT&T Bell Labs and Lucent Technologies. Thorna Humphries, Norfolk State University, brings experience from working at Norfolk, FAMU, Xerox, and Wang. Arlisha McQueen is PhD candidate at Florida State University in Information Science, and is a Computing and Information Science instructor at FAMU. Kinnis Gosha is an Assistant Professor and Director of the Culturally Relevant Lab at Morehouse College. Participants will hear a brief overview of each panalist’s exeperience and background, and then will be led in an interactive group breakout activity designed to better understand the climate, challenges and future of HBCU CS Education. The results of this discussion will be shared and disseminated as a potential white paper.
Chair:
Jason Black (Florida A&M University, United States)
Vanessa Gennarelli, GitHub
Amy Dickens, University of Nottingham
Chris Cannon, North Carolina A&T
Elliot Whitehead, UC Boulder/Junior Developer Advocate, Github Education
John Pham, UC Riverside
ABSTRACT
As teachers, we all want to spark and sustain curiosity in our students. How can we connect students to other communities outside the classroom, to make the learning experiences authentic, and help them build a professional network? Three students will reflect on their experiences learning in community through leadership training, events, and working with staff members through internships at GitHub. This session is suitable for teachers who want to understand the learning opportunities open to students through GitHub Education, and hear from students themselves about the benefits for their campus.
Carol Goodgame (KISS Institute of Practical Robotics, United States)
Botball Robotics as a Way to Spark Interest in Computer Science
ABSTRACT. This session will showcase successful implementations used to spark an interest in Computer Science and light a fire in students by utilizing KIPR’s autonomous hands-on Robotics platform. Learn how educators are empowered with standards aligned curriculum, professional development and Botball’s task oriented challenges that they can use in-class, after school or in summer programs. This provides a real-life motivating application for students from head-start through high school. Examples of successful classroom integration, curriculum with CS and math activities and professional development strategies will be provided. Botball is an international program that provides professional development for teachers and students in pre-K through High School. Botball will be participating at Infosys Foundation USA’s teacher training initiative, Pathfinders Summer Institute, at IU Bloomington July 15-20, 2018.
16:10
Maya Israel (University of Illinois Urbana-Champaign, United States) Todd Lash (University of Illinois Urbana-Champaign, United States)
Everyday Computing: Integrating Computational Thinking into Elementary Mathematics
ABSTRACT. This presentation provides an overview of a National Science Foundation STEM+C project aimed at studying integration of computational thinking (CT) and computer science (CS) into elementary mathematics. This project is a collaborative effort between researchers and practitioners at the University of Illinois-Urbana Champaign and the UChicago STEM Education at the University of Chicago. We will provide insights into integrated lesson development, prototype learning progressions, and preliminary research findings related to teachers' experiences with implementing the integrated lessons. Lastly, we will share implications for teacher development and professional development. Everyday Computing will be participating at Infosys Foundation USA’s free teacher training initiative, Pathfinders Summer Institute, at IU Bloomington July 15-20, 2018.
MyCS: Making the Case for Middle School Computer Science
ABSTRACT. This session shares the motivation, content, and five-year development and deployment of MyCS, a classroom CS curriculum for “middle-years students,” roughly US grades 3-9. MyCS promotes positive individual identification with Computer Science through an accordion-style set of Scratch and screen-free experiences. A detailed assessment of students in MyCS reveals significant positive outcomes relative to a control group, as well as neutral (no-distinction) results. Feedback from many classroom deployments has refined and expanded stand-alone MyCS, e.g., it is now part of all of San Francisco USD's sixth-graders' experience. We also share how MyCS has been woven into a variety of existing curricula, across diverse student ages and cohorts.
You've probably heard a lot about machine learning but are worried that adding it to a course will be difficult, especially if you don't have an ML background. In this session, we'll present materials that can be used to incorporate ML in many different courses, including solutions that involve no coding at all.
Jamika Burge, Capital One, Jamika.Burge@capitalone.com
ABSTRACT
This paper examines the narratives of 11 Black women in Computer Science (CS) to explore and understand their intersectional experiences (academic, professional, familial, etc.) in the field of Computing. We video-recorded the participants as they engaged in semi-structured interviews to explore and understand their experiences as Black women in Computing. Four coders engaged in content analysis on the video-recordings as well as transcripts of the video data in two rounds. Overall, our analysis revealed that the women in our study experienced discrimination, expectations from others that are too high or too low, isolation, sexism, and racism; yet they still choose to stay in the discipline. Remaining true to their personal and professional goals, having effective mentors, and inspiration from their fathers all contributed to their successful pathways and strategies of resistance.
Michael Goldweber, Xavier University, goldweber@xavier.edu
ABSTRACT
CS educational activities for the social good (CSG-Ed) is an umbrella term meant to incorporate any educational activity, from small to large, that endeavors to convey and reinforce computing’s social relevance and potential for positive societal impact. This SIGCAS special session is an opportunity to learn the skills necessary to become a CSG-Ed practitioner. In addition to the presentation of current research highlighting the importance CSG-Ed for attracting and retaining a diverse student audience, attendees will be taken through a set of activities designed to increase one's ability to deploy CSG-Ed activities and assignments. The goal of this SIGCAS special session is to create a new CSG-Ed practitioners and to improve the skill-set of current practitioners.
Rajendra K.Raj, Rochester Institute of Technology, rkr@cs.rit.edu
Mihaela Sabin, University of New Hampshire, mihaela.sabin@unh.edu
ABSTRACT
With the recent release of the Information Technology Curricula 2017 (IT 2017) by the ACM and IEEE Computer Society, an effort has begun to revise the current IT program criteria used to accredit Information Technology (IT) programs by the Computing Accreditation Commission (CAC) of ABET. ABET accreditation helps to assure that graduates from IT programs meet quality standards set by industry and academia. Jointly sponsored by the ACM and IEEE Computer Society, CSAB is the lead professional society within ABET responsible for developing accreditation criteria for computing programs, including IT. The CSAB/CAC Joint Criteria Committee tasked the IT subcommittee to innovate and revise the IT program criteria based on the IT 2017 recommendations and produce a flexible yet durable accreditation criteria for accrediting IT programs for the next decade.
Representing academia and industry, the IT subcommittee members have embarked on a multi-year process in which drafts of the revised IT program criteria will be shared with the IT community, including academic programs, professionals, program evaluators, and CAC commissioners at events, such as SIGITE and SIGCSE conferences, ABET Symposium, and other appropriate events. In this session, three members of the IT subcommittee will present the process of revising the ABET IT program accreditation criteria and outline the IT subcommittee charge and work to date. The presentation will encourage discussion and elicit feedback on how the essence of the IT discipline and profession can be reflected in the IT program criteria.
Lori Pollock (University of Delaware, United States Minor Outlying Islands) Chrystalla Mouza (University of Delaware, United States Minor Outlying Islands) James Atlas (University of Delaware, United States Minor Outlying Islands) Terry Harvey (University of Delaware, United States Minor Outlying Islands)
Workshop 312: Customizing a Field Experience for CS Undergraduates in Teaching Computer Science
ABSTRACT. This workshop’s goal is to help faculty who want to establish a course (or alternate
vehicle) intended to mentor undergraduates, with some computer science background, interested
in teaching K-12 computer science in local schools. The workshop leverages the experiences
and lessons learned from a University course, Field Experience in Teaching Computing, which
has been offered by the organizers for ten consecutive semesters. The course meets once a week
on campus for mentoring to support the undergraduates’ field experience in local schools and
libraries and is aligned with service-learning expectations on campus.
The workshop will dive deep into logistics on how to establish and maintain strong teacher
partnerships, including student-teacher matches and weekly field experience schedules, weekly
in-class activities and assignments to support the field experience, weekly student reflective
journal prompts, and surveys for formative evaluation. Participants will actively reflect on their
own contexts with potential opportunities and challenges, and organizers will facilitate small
group discussions of how to address the challenges, different models for different contexts, and
how to get started. Participants would leave with a plan for next steps toward offering a
mentored undergraduate field experience in teaching computer science. They would also
establish access to a community of faculty who are working to help broaden participation in
computer science in K-12 while providing opportunities for undergraduates to hone their
communication and leadership skills, increase their self confidence, and participate in giving
back to the community using their technical skills.
Meghan Allen (The University of British Columbia, Canada) Steven A. Wolfman (The University of British Columbia, Canada) Anasazi Valair (The University of British Columbia, Canada)
Workshop 310: Playing to Your Strengths: Appreciative Inquiry as a Scholarly Tool for Your Computing Education Practice and Professional Development
ABSTRACT. Appreciative Inquiry is a qualitative research methodology that is commonly used in education and organizational research but is not yet commonly used in Computer Science. Its focus on strengths and positives complement more common qualitative techniques and make it an energizing and fulfilling approach to professional development and the scholarship of teaching and learning. In this workshop, you will participate in an Appreciative Inquiry into your own practice as a Computer Science educator. Through your participation, you will achieve two goals: 1) gain appreciation for your strengths as a Computer Science educator, with concrete plans for building on these strengths and 2) learn how to evaluate your educational practice via an appreciative lens that yields rich, deep feedback from students or other stakeholders. We will share our materials and key tips that to enable you to apply Appreciative Inquiry, whether you run Appreciative Inquiry workshops with students to evaluate your practice, run them with colleagues for professional development, or take smaller steps integrating the appreciative mindset into your teaching.
Ursula Wolz (Bennington College, United States) Gwen Charles (Textile Study Group of New York, United States) Laura Feire (RiverSound Solutions, LLC, United States) Eleanor Nicolson (Grinnell College, United States)
Workshop 304: Code Crafters Curriculum: A Textile Crafts Approach To Computer Science
ABSTRACT. Broadening participation in computing invites a diverse constituency into a traditional computing culture. This workshop provides a novel perspective: skills that are often labeled ‘women’s work’ are the foundational principles of computer science developed from textile crafts. The 'Code Crafters' curriculum, which expands Andrea Mayer’s Snap-based TurtleStitch embroidery programming project, is being successfully taught in 3 ways: as a full semester undergraduate course, as a weeklong summer workshop for middle and high school students, and as a half day event. The SIGCSE workshop will introduce participants to potential adaptations of this curriculum, report on its use as both a CS 0, and CS 1 course, and give participants hands-on experience in designing and rendering a machine embroidery pattern in TurtleStitch and Processing Stitch (Java). Key concepts from the full semester curriculum will be demonstrated: (1) crocheting as a vehicle for learning about primitive operations instruction codes for process control, and reading and writing patterns (algorithms); (2) programing machine embroidery provides exposure to agile design; (3) contrasting embroidery with quilting provides experience in abstraction and reuse; (4) weaving and tapestry provide concrete illustrations of manipulating two dimensional data structures; (5) studying embroidery machine file formats demonstrates how language translation takes place; (6) sharing a limited resource (a $500 programmable, single thread embroidery machine) provides concrete experience in scheduling, and product testing; (7) collaborative crochet and quilted projects provide experience in team dynamics. Participants in this workshop will be invited to join an online community of mutual support.
Denise M. Case (Northwest Missouri State University, United States) Douglas Hawley (Northwest Missouri State University, United States)
Workshop 302: Chrome Home: Six Fun Activities Introducing Basic Web Programming Techniques
ABSTRACT. This workshop will provide participants with several small, fun classroom activities culminating in a useful web-based application that allows individuals to fully customize the page resulting from opening a new tab in Google Chrome. Attendees will participate in, and receive Canvas lessons introducing popular web-based techniques including HTML, JSON, Cascading Style Sheets, JavaScript and Google Chrome extension creation and distribution. The workshop proceeds in six short lessons in which we will: (1) download and install all software required, (2) introduce basic concepts in HTML, (3) create and link cascading style sheets, (4) construct a JavaScript file implementing some basic, and fun logic constructs into our web page, (5) create a JSON manifest file that allows our application to run as a Google Chrome extension, and (6) make our extension available to the public in the chrome web store. With these lessons, participants will be able to create a universal “New Tab” page for their school with Google Chrome. This page can be re-customized and re-distributed by anyone taking these six lessons.
Colleen Lewis (Harvey Mudd College, United States) Eleanor Rackoff (Harvey Mudd College, United States) Emily Cao (Harvey Mudd College, United States) Saber Khan (The Browning School, United States) Cynthia Lee (Stanford University, United States) Saturnino Garcia (University of San Diego, United States)
Workshop 308: Integrating Social Justice Topics into CS1
ABSTRACT. Meaningful and engaging assignments are important to retention in CS. An interesting problem context may be able to make routine practice of programming basics more interesting for students. Problem contexts also provide the opportunity to bring in content related to social justice topics, which are important for providing students a well-rounded education. We have developed eight homework assignments that integrate social justice topics as the problem context for CS1 assignments. Workshop attendees will work in small groups to revise or adapt existing assignments, translate existing assignments into the language of their course, or develop a new assignment. Attendees will be encouraged to submit their work to Nifty Assignments for 2019 and NCWIT's peer-reviewed curriculum repository, Engage CS Edu (engage-csedu.org). All assignments will be posted on CSTeachingTips.org to be shared with the community.
Helen Hu (Westminster College, United States) Clifton Kussmaul (Muhlenberg College, United States) Chris Mayfield (James Madison University, United States)
Workshop 307: Guiding Students to Discover CS Concepts & Develop Process Skills Using POGIL
ABSTRACT. This workshop introduces Process-Oriented Guided Inquiry Learning (POGIL) to anyone who teaches CS or related subjects. In a POGIL classroom, teams of 3-4 learners work on activities with a particular structure based on learning cycles. Through scripted inquiry and investigation, learners discover concepts and construct their own knowledge. Using assigned team roles and other scaffolding, learners develop process skills and individual responsibility. The teacher is not a lecturer, but an active facilitator who helps all students to be engaged and achieve the learning objectives. POGIL is an evidence-based approach, and has been shown to significantly improve student performance [2,3]. Workshop participants will work through POGIL activities as students, and work through POGIL meta-activities that are designed to help teachers learn core POGIL concepts, practices, and benefits. We will share POGIL materials for a variety of CS courses and concepts. For more information, see http://cspogil.org and http://pogil.org, including activities for CS1, CS2, and other courses. Laptops optional.
Joe Chase (Radford University, United States) Prem Uppuluri (Radford University, United States)
Workshop 309: Building a Virtual Challenge-Based Learning Environment
ABSTRACT. Challenge-Based Learning (CBL) is an active learning approach using just-in-time
instruction where students are introduced to instructional material in the context of solving a
particular challenge. The CBL approach has proven very effective as an introductory
instructional strategy, especially when working with K-12 outreach. For example, in
Cybersecurity, many universities are reaching out to high school and community college students
using Capture the Flag contests with learning materials built in for each challenge. In this
workshop, we will explore building just such a virtual, challenge-based, contest environment.
Workshop participants will walk through the process of setting up the Mellivora contest
environment, be given the opportunity to create challenges of their own, and be provided with a
tutorial on the administrative tools available. Similarly, participants will be provided an
introduction to the installation and management of a virtual environment that will provide virtual
machines of various platforms (Windows, Linux, etc.) for the challenges. Participants will also
be provided a brief overview of the creation of short, high-impact instructional materials to
accompany challenges. Finally, participants will compete in a short Capture the Flag contest to
demonstrate the efficacy of the CBL approach.
Workshop 301: Teaching Parallel & Distributed Computing with MPI on Raspberry Pi Clusters
ABSTRACT. CS2013 brings parallel and distributed computing (PDC) into the CS curricular mainstream. The Message Passing Interface (MPI) is a platform independent, industry-standard library for parallel and distributed computing. The MPI standard includes support for C, C++, and Fortran; third parties have created implementations for Python and Java. This hands-on workshop introduces MPI basics in C/C++ using Raspberry Pi single-board computers, as an inexpensive and engaging hardware platform for studying PDC. Participants experience how to teach distributed computing essentials with MPI by means of reusable, effective “parallel patterns,” including single program multiple data (SPMD) execution, send-receive message passing, the master-worker pattern, parallel loop patterns, and other common patterns. No prior experience with MPI, PDC, or the Raspberry Pi is expected; participants will explore short programs designed to help students understand MPI basics, plus longer “exemplar” programs that use MPI to solve significant applied problems. The workshop includes: (i) personal experience with the Raspberry Pi (units provided) accessed via participant laptops; (ii) assembly of Beowulf clusters of Raspberry Pis quickly in the classroom; (iii) self-paced hands-on experimentation with the working MPI programs; and (iv) a discussion of how these may be used to achieve the goals of CS2013. All materials including the Raspberry Pi software system setup from this workshop will be freely available from CSinParallel.org.
ABSTRACT. This workshop is a hands-on exploration of Deep Learning techniques and topics for use in the classrooms of Computer Science and related fields. Deep Learning denotes the latest in a series of advances in neural network training algorithms and hardware that allow Artificial Neural Networks (ANNs) to learn quickly and effectively, even with many, stacked layers. These types of networks can be applied to almost any learning problem, such as driving a car, describing images, controlling a robot, or understanding language. This workshop will start with the mathematical and algorithmic foundations of Deep Learning, introduce an accessible Python-based library (called "conx") that demonstrates ideas through animation and visualizations, examine the path to advanced topics (using the Keras library) and explore ideas for incorporating Deep Learning topics into the classroom. The workshop is designed to allow participants to gain a foothold with these complex tools and topics, and to help them develop their own materials for teaching.
Workshop 311: CSforAll School District Implementation Facilitators Workshop: Just Follow the SCRIPT!
ABSTRACT. The SCRIPT, the School district CSforAll Resource & Implementation Planning Tool, is a new tool created by the CSforAll Consortium that will serve as a framework and platform to guide CSforAll advocates and district staff in the creation of CSforAll implementation plans that adhere to CSforAll values and reflect the unique needs and goals of any school district. The SCRIPT engages school districts in self reflection, review of examples, and goal setting for 6 areas designed from the literature supporting curriculum adoption and organizational change. These areas include: (1) Leadership, (2) Technology Infrastructure, (3) Teacher Capacity, (4) Curriculum and Materials Selection and Refinement, (5) Partners, and (6) Community. The goal of this workshop is to train any CSforAll advocate to be able to lead a school district in an implementation planning session to create a K-12 district wide computer science education plan, by following the SCRIPT.
Workshop 306: Organizing a High School Programming Contest
ABSTRACT. This workshop will teach participants how to host a programming contest aimed at high school students. These contests encourage high school students to major in computer science and can have a positive effect on the recruitment for the host institution. In addition, our anecdotal evidence has shown a high participation rate from under-represented groups at such contests. Running a successful contest, however, is a challenging endeavor. With potentially hundreds of people attending --- both students and coaches --- there are many logistical issues to address. Beyond that, generating a good problem set can be challenging, and ensuring that the software submission system works properly is critical. A poorly run contest can do more harm than good, as the participants will leave with a negative view of the contest, the institution, and possibly even the field. This workshop will show participants how to plan and execute a successful high school programming contest. We will cover problem generation and submission system usage, as well as provide handouts covering all the logistical aspects for hosting such a high school contest. Most of the concepts presented will also apply to collegiate level programming contests.
Sami Khuri (San Jose State University, United States)
Workshop 303: Introducing bioinformatics algorithms in computer science courses
ABSTRACT. The workshop is intended for CS educators who would like to get an overview of some of the major techniques used in bioinformatics and a hands-on experience with some of its most popular algorithms. Attendees will be exposed to topics, examples, and problems that can be added to their repertoire of projects for CS1/CS2, data structures and algorithms, and other CS courses, including bioinformatics. No prior knowledge of biology is needed. Whether in an elective bioinformatics course, or in introductory or data structures and algorithm classes, the attendees will be able to incorporate the topics presented in the workshop. The algorithm visualization packages demonstrated in the workshop will help their students understand the algorithms. The packages have user-friendly interfaces, help files, and allow the user to run the programs in a step by step mode. The visualization programs will be available to the attendees through our university's web page. The hands-on exercises using online publicly available tools will enhance the understanding of the common bioinformatics tasks.