ITiCSE 2018
23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2018)
Powered by
Conference Publishing Consulting

23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2018), July 2–4, 2018, Larnaca, Cyprus

ITiCSE 2018 – Proceedings

Contents - Abstracts - Authors


Title Page

Message from the Chairs
Καλώς ορίσατε στην Λάρνακα – welcome to ITiCSE 2018 in Larnaca! This is the first time that ITiCSE is hosted in Larnaca, and generally in Cyprus, a country famous for its exceptional hospitality, blue flag beaches, and outstanding Mediterranean cuisine. Situated at the crossroads of three continents – Europe, Asia, and Africa – the island’s unique geographic position played an integral part in the development of its long history and rich culture that spans 10,000 years, making it one of the oldest civilizations in the Mediterranean.

ITiCSE 2018 Conference Organization

ITiCSE 2018 Sponsors and Supporters


Dancing Rainbots: Computing Education with Girl Guiding
Judy Robertson
(University of Edinburgh, UK)
We want women and girls to participate, thrive, and succeed in computer science. This talk will explore the dismal state of the landscape just now, and offer some explanations from the research literature as to the nature of the barriers which women face: masculine cultures, lack of insufficient early expertise, gender gaps in self efficacy, stereotype threat and the lurking shark of unconscious bias. We'll look at the positive results from interventions which have successfully addressed these problems and how CS educators can learn from these. By way of illustration, new educational materials from a collaboration between University of Edinburgh and Girl Guiding in the UK will be presented, along with a discussion of the design principles behind them.

Publisher's Version Article Search
A New Era towards More Engaging and Human-Like Computer-Based Learning by Combining Personalisation and Artificial Intelligence Techniques
Maria Virvou
(University of Piraeus, Greece)
Engagement of learners in computer-based tutoring constitutes an important feature that is sought by learning applications to maximise the educational effectiveness. Moreover, the recognition of human emotions in interactive computer-based learning applications has also been considered important although it had been overlooked for many years in the past. In view of these, dynamic personalisation and a variety of artificial intelligence techniques offer new perspectives, insights and realistic results in rendering computer-based learning more human-like and engaging than it has ever been before. This talk will present and discuss research challenges and effective approaches towards a new era of personalisation and human-like behaviour of computer-based learning software. I will review the research advancements on this topic that have been achieved in the software engineering lab of our department. In particular, the talk will focus on the automatic analysis of computer observations in computer-based learning that are collected, taking input from at least three modalities of interaction, namely the keyboard, camera and microphone in conjunction with contextual information and are then used to draw inferences about the users' cognitive status, reasoning, social classmate behaviour, preferences and emotions. In return, the tutoring content and the user interface is automatically adapted accordingly to address the individual user's needs by making appropriate recommendations and presenting adaptive guidance. Contextual information differs depending on the kind of computer- based learning applications. As such, a diversity of paradigms of fully developed and evaluated computer-based learning systems, in our lab, will be presented and discussed to exemplify the above research in the context of virtual reality educational games, social network learning, mobile learning and multi-modal stand-alone learning, based on the combination of cognitive theories about human reasoning and emotions, machine learning algorithms, decision making theories and fuzzy logic. The talk will conclude by highlighting open research areas for further research.

Publisher's Version Article Search

Session 1A: CS1/CS2

Improving Complex Task Performance using a Sequence of Simple Practice Tasks
Paul Denny, Andrew Luxton-Reilly, Michelle Craig, and Andrew Petersen
(University of Auckland, New Zealand; University of Toronto, Canada)
Online coding tools are an increasingly common feature of programming courses, providing students with rapid feedback and flexible practice opportunities and providing instructors with useful analytics. However, little research has explored the complexity of online exercises provided to students and the order in which students are exposed to new ideas. In this paper, we investigate the benefits of using a short sequence of practice exercises, each targeting a distinct topic, prior to having students solve a goal task that combines the concepts. As expected, we find students solve the goal task with fewer errors and in less time after completing the practice tasks. However, we also find that the practice tasks reduce the likelihood of students delaying work on the goal task, and these effects are particularly large for less-experienced students.

Publisher's Version Article Search
Syntax Error Based Quantification of the Learning Progress of the Novice Programmer
Alireza Ahadi, Raymond Lister, and Luke Mathieson
(University of Technology Sydney, Australia)
Recent data-driven research has produced metrics for quantifying a novice programmer's error profile, such as Jadud's error quotient. However, these metrics tend to be context dependent and contain free parameters. This paper reviews the caveats of such metrics and proposes a more general approach to developing a metric. The online implementation of the proposed metric is publicly available at

Publisher's Version Article Search
Programming: Predicting Student Success Early in CS1. A Re-validation and Replication Study
Keith Quille and Susan Bergin
(Institute of Technology Tallaght, Ireland; Maynooth University, Ireland)
This paper describes a large, multi-institutional revalidation study conducted in the academic year 2015-16. Six hundred and ninety-two students participated in this study, from 11 institutions (ten institutions in Ireland and one in Denmark). The primary goal was to validate and further develop an existing computational prediction model called Predict Student Success (PreSS). In doing so, this study addressed a call from the 2015 ITiCSE working group (the second ”Grand Challenge”), to ”systematically analyse and verify previous studies using data from multiple contexts to tease out tacit factors that contribute to previously observed outcomes”.
PreSS was developed and validated in a longitudinal study conducted over a three year period (twelve years previous from 2004-06). PreSS could predict with near 80% accuracy, how a student would likely perform on an introductory programming module. Notably this could be achieved at a very early stage in the module. This paper describes a revalidation of the original PreSS model on a significantly larger multi-institutional data set twelve years after its initial development and looks at recent research on additional factors that may improve the model. The work involved the development of a fully automated end-to-end tool, which can predict student success early in CS1, with an accuracy of 71%. This paper describes, in detail the PreSS model, recent research, pilot studies and the re-validation and replication study of the PreSS model.

Publisher's Version Article Search

Session 1B: Artificial Intelligence

The Pedagogical Model of SIAL: An Adaptive and Open-Ended Intelligent Tutoring System for First Order Logic
Jose A. Maestro-Prieto and Arancha Simon-Hurtado
(University of Valladolid, Spain)
This paper describes the Pedagogical Model of an Intelligent Tutoring System (ITS) for learning Computational Logic: SIAL. This ITS teaches classical refutation by resolution concepts. SIAL is a Model-Based System as its Domain Model is an Automated Theorem Prover (ATP) for First Order Logic (FOL). This allows SIAL to perform an accurate error diagnosis process while, at the same time, accepting several equivalent valid solutions to the same problem. This feature adds a general open-ended solution capability to SIAL which facilitates the adaptation to the students' way of thinking and allows them to explore and take their own decisions (and make their own mistakes). The Pedagogical Model of SIAL takes advantage of the error diagnosis capabilities of the Domain Model to offer a learner-adaptive tutorial action, according to the user cognitive profile. An example of the knowledge involved in the assessment of the next tutorial action based on the student model, and how SIAL adapts its behaviour to the student's assessed cognitive capabilities, is included. Some data obtained after a period of use of SIAL is also presented.

Publisher's Version Article Search
Collateral Learning of Mobile Computing: An Experience Report
Amruth N. Kumar
(Ramapo College of New Jersey, USA)
We wanted to cover mobile computing in our curriculum without incurring the costs of adding a new course to the curriculum or hiring a new instructor to the faculty roster. We did so through collateral learning, by incorporating mobile computing into the projects of two existing upper-level Computer Science courses: Organization of Programming Languages and Artificial Intelligence. We recount our experience using collateral learning of mobile computing over the last four years: motivation, logistics, course-specific details, reception by students, results of course evaluations, challenges faced and solutions devised. Our experience affirms that collateral learning is an excellent option for incorporating emerging topics such as drone programming, cybersecurity and parallel computing into the curriculum at resource-strapped Computer Science departments.

Publisher's Version Article Search
Botzone: An Online Multi-agent Competitive Platform for AI Education
Haoyu Zhou, Haifeng Zhang, Yushan Zhou, Xinchao Wang, and Wenxin Li
(Peking University, China)
This paper presents Botzone, a competitive platform for game AI education and research. It aims to simplify the teaching process of game AI courses, inspire learners to self-study, and acting as a dataset for game AI research. This platform is a universal online multi-agent game AI platform, designed to evaluate different implementations of game AI by applying them to agents in a variety of games and compete with each other, featuring an ELO ranking system and a contest system for users to evaluate their AI programs. It has been successfully used in various AI competitions and courses in practice, and has the extensibility to support more games and languages, as well as further usages such as studying machine learning on game AI. In this paper, we firstly describe the structure and features of Botzone, then focus on our experience in utilizing Botzone for a programming course.

Publisher's Version Article Search Info

Session 2A: Assessment for CS1

Where Exactly Are the Difficulties in Reasoning Logically about Code? Experimentation with an Online System
Michelle Cook, Megan Fowler, Jason O. Hallstrom, Joseph E. Hollingsworth, Tim Schwab, Yu-Shan Sun, and Murali Sitaraman
(Clemson University, USA; Florida Atlantic University, USA; Indiana University Southeast, USA)
CS students can typically reason about what a piece of code does on specific inputs. While this is a useful starting point, graduates must also be able to logically analyze, comprehend, and predict the behavior of their code in more general terms, no matter what the inputs are. Results of data collection and analysis from an online educational system show it can help to pinpoint the difficulties in doing this for individual students and groups, and to partition the groups in terms of their difficulties so that instructional interventions may be better targeted. Unlike traditional debugging, this online system helps reveal difficulties in reasoning in more general terms because it is equipped with a verification engine.

Publisher's Version Article Search Info
Giving Hints Is Complicated: Understanding the Challenges of an Automated Hint System Based on Frequent Wrong Answers
Kristin Stephens-Martinez and Armando Fox
(Duke University, USA; University of California at Berkeley, USA)
Formative feedback is important for learning. Code-tracing is a vital skill in computer science learning. We set out to deliver formative feedback to students on code-tracing, constructed-response assessments by building a student error model using insights gained from inspecting the assessment's frequent wrong answers. Moreover, we compared two different kinds of hints: reteaching and knowledge integration. We found wrong answer co-occurrence provides useful information for our model. However, we were unable to find evidence in our intervention experiment that our hints improved student outcomes on post-test questions. Therefore, we also report here our results on a retrospective, exploratory analysis to understand potential reasons why our results are null.

Publisher's Version Article Search
Adaptive Remediation for Novice Programmers through Personalized Prescriptive Quizzes
Reza Soltanpoor, Charles Thevathayan, and Daryl D'Souza
(RMIT University, Australia)
Learning to program is a cognitively demanding activity. Students need to combine mental models of various concepts and constructs to solve problems. Many students new to IT and CS programs have little or no prior experience with abstract reasoning and problem-solving. Instructors attempt to present the core concepts early to allow adequate time for students to complete their programming assignments. However, misconceptions of basic concepts formed in the early stages often get propagated blocking any further progress. Such students often begin to form poor opinions about their capability leading to low self-esteem and performance.
This paper proposes a framework to help individual students to overcome their misconceptions through personalized prescriptive quizzes. These quizzes are generated by combining the rich meta-data captured by each quiz question with analysis of past responses to class quizzes. The personalized prescriptive quizzes generated helped to improve student engagement and performance substantially. Over 91% of the students surveyed indicated that personalized quizzes helped them to clarify their own misconceptions and made them more confident of their progress. Students using the prescriptive quizzes performed significantly better than others in subsequent class assessments and the final exam.

Publisher's Version Article Search

Session 2B: K-12

The Impact of Exploring Computer Science in Wisconsin: Where Disadvantage Is an Advantage
Heather Bort, Shion Guha, and Dennis Brylow
(Marquette University, USA)
Assessing the impact of regional or statewide interventions in primary and secondary school (K-12) computer science (CS) education is difficult for a variety of reasons. Qualitative survey data provide only a limited view of impacts, but quantitative data can be notoriously difficult to acquire at scale from large numbers of classrooms, schools, or local educational authorities. In this paper, we use several publicly available data sources to glean insights into public high school CS enrollments across an entire U.S. state. Course enrollments with NCES course codes and local descriptors, school-level demographic data, and school geographic attendance boundaries can be combined to highlight where CS offerings persist and thrive, how CS enrollments change over time, and the ultimate quantitative impact of a statewide intervention. We propose a more appropriate level of data aggregation for these types of quantitative studies than has been undertaken in previous work while demonstrating the importance of a contextual aggregation process. The results of our disparate impact analysis for the first time quantify the impact of a statewide Exploring Computer Science (ECS) program rollout on economic groups across the region. Our blueprint for this analysis can serve as a template to guide and assess large-scale K-12 CS interventions wherever detailed project evaluation methods cannot scale to encompass the entire study area, especially in cases where attribute heterogeneity is a significant issue.

Publisher's Version Article Search
Creation and Validation of Low-Stakes Rubrics for K-12 Computer Science
Veronica Cateté, Nicholas Lytle, and Tiffany Barnes
(North Carolina State University, USA)
With increased numbers of K-12 computing courses, we also see an increase in teachers new to the subject, making it difficult for them to properly assess student programming assignments. Many of these teachers require project-specific rubrics to help assess student learning. Researchers have attempted to create systematic, validated, and reliable rubrics for these courses with only minor success. In this research, we make an argument for the validity of our low-stakes computing rubrics. In doing so, we establish a validated method for creating a full-suite of project-based rubrics for K-12 computing courses, helping teachers, researchers, and practitioners make much-needed course materials. Evaluating these rubrics, we see grader consistency as well as heatmaps of where teachers are looking for computational thinking concepts in code.

Publisher's Version Article Search
Teaching How to Teach Computational Thinking
Anna Lamprou and Alexander Repenning
(FHNW, Switzerland)
Computational Thinking is argued to be an essential skill for the workforce of the 21st century. As a skill, Computational Thinking should be taught in all schools, employing computational ideas integrated into other disciplines. Up until now, questions about how Computational Thinking can be effectively taught have been underexplored preventing efforts to cross the large gap between early adopters and the early majority, conceptualized as the Computer Science Education chasm. A promising strategy to cross the chasm is underway in Switzerland. Switzerland recently introduced a national curriculum, called Lehrplan 21, mandating Computer Science Education. This mandate requires the Computer Science education of elementary and middle school students. In 2017, the School of Education of Northwestern Switzerland (PH FHNW), introduced a mandatory pre-service teacher Computer Science Education course, to satisfy this mandate. All the PH FHNW students who study to become elementary school teachers must pass this two-semester course. The first part of this course was taught for the first time in fall of 2017. This paper presents the philosophy of this course and an initial analysis of both qualitative data capturing the students’ perceptions of Computational Thinking and quantitative data describing shifts in students’ skills and attitudes as effect sizes. The data suggest that it is possible to teach a basic understanding of programming to non-self-selected pre-service elementary school teachers.

Publisher's Version Article Search

Session 3A: Assessment

In-Class Coding-Based Summative Assessments: Tools, Challenges, and Experience
An Ju, Ben Mehne, Andrew Halle, and Armando Fox
(University of California at Berkeley, USA)
Pencil-and-paper coding questions on computer science exams are unrealistic: real developers work at a keyboard with extensive resources at hand, rather than on paper with few or no notes. We address the challenge of administering a proctored exam in which students must write code that passes instructor-provided test cases as well as writing test cases of their own. The exam environment allows students broad access to Internet resources they would use for take-home programming assignments, while blocking their ability to use that facility for direct communication with colluders. Our system supports cumulative questions (in which later parts depend on correctly answering earlier parts) by allowing the test-taker to reveal one or more hints by sacrificing partial credit for the question. Autograders built into the exam environment provide immediate feedback to the student on their exam grade. In case of grade disputes, a virtual machine image reflecting all of the student's work is preserved for later inspection. While elements of our scheme have appeared in the literature (autograding, semi-locked-down computer environments for exam-taking, hint "purchasing"), we believe we are the first to combine them into a system that enables realistic in-class coding-based exams with broad Internet access. We report on lessons and experience creating and administering such an exam, including autograding-related pitfalls for high-stakes exams, and invite others to use and improve on our tools and methods.

Publisher's Version Article Search
Automatic Assessment of OpenGL Computer Graphics Assignments
Burkhard C. Wünsche, Zhen Chen, Lindsay Shaw, Thomas Suselo, Kai-Cheung Leung, Davis Dimalen, Wannes van der Mark, Andrew Luxton-Reilly, and Richard Lobb
(University of Auckland, New Zealand; University of Canterbury, New Zealand)
Teaching and learning computer graphics is often considered challenging due to it requiring a diverse range of skills such as mathematics, programming, problem solving, and art and design. Assignments are a popular tool to support learning and to assess students' understanding. The value of such assignments depends on the ability to give fast (and ideally formative) feedback, and enabling students to interactively explore the solution space. This is often a problem, in particular for large classes, where assignment marking can take many days or even weeks. By the time feedback is received students often don't remember details, and there is usually no opportunity to resubmit and hence little motivation to reflect on and correct mistakes.
Previous work on assessing Computer Graphics assignments is rare and restricted to evaluating the quality of 3D models produced by students - usually using some form of image or mesh comparison, which only considers the final result, but not how it was obtained. In this paper we describe how to adapt CodeRunner, a free open-source question-type plug-in for Moodle, to OpenGL assignments, and our experience of using it with a class of about 300 students. Results were overwhelmingly positive and students perceived the tool as having significantly improved their learning.

Publisher's Version Article Search
SQL Tester: An Online SQL Assessment Tool and Its Impact
Anthony Kleerekoper and Andrew Schofield
(Manchester Metropolitan University, UK)
Learning SQL can be surprisingly difficult, given the relative simplicity of its syntax. Automated tools for teaching and assessing SQL have existed for over two decades. Early tools were only designed for teaching and offered increased feedback and personalised learning, but not summative assessment. More recently, however, the trend has turned towards automated assessment, with learning as a side-effect. These tools offer more limited feedback and are not personalised.
In this paper, we present SQL Tester, an online assessment tool and an assessment of its impact. We show that students engaged with SQL Tester as a learning tool, taking an average of 10 practice tests each and spending over 4 hours actively engaged in those tests. A student survey also found that over 90% of students agreed that they wanted to keep trying practice tests until they got a “good” mark. Finally, we present some evidence that taking practice tests increased student achievement, with a strong correlation between the number of practice tests a student took and their score on the assessed test.

Publisher's Version Article Search

Session 3B: K-12: Outreach

Is Drawing Video Game Characters in an Hour of Code Activity a Waste of Time?
Ashok Basawapatna, Alexander Repenning, Mark Savignano, Josiane Manera, Nora Escherle, and Lorenzo Repenning
(SUNY Old Westbury, USA; FHNW, Switzerland; Minnesota State University at Mankato, USA; AgentSheets, USA)
Broadening participation in computer science necessitates balancing motivational and educational concerns. Without fully understanding potential trade-offs, Hour of Code-like tutorials may actually backfire by initially attracting students to participate, but gradually reinforcing the notion that programming is hard and boring. Previously, we analyzed and compared two Hour of Code tutorials: a tutorial that walks students through the creation and programming of a 3D-Frogger game, including the drawing of their own 3D characters, to a programming puzzle where students solve discrete coding challenges. Using an analysis based on retention, the comparison indicated higher levels of perseverance in the game creation activity. However, does the ability to draw characters really motivate students to program? Conflicting theories of positive and negative effects of drawing onto perseverance include that drawing might increase levels of participant ownership or that drawing may just be wasting time better spent programming, especially in the time constrained Hour of Code context. To gain insight, this study uses draw times of over 8,000 projects from a game creation Hour of Code activity in 2016. Initial results indicate that higher average draw time per character corresponds to increased program lengths and students with the highest average draw times per character continued to program beyond the end of the activity

Publisher's Version Article Search
A Community Model of CSforALL: Analysis of Community Commitments for CS Education
Leigh Ann DeLyser
Computer science education is expanding rapidly across the globe. With increased community awareness and engagement in computer science education efforts, universities and researchers no longer make up a clear majority of the landscape of efforts to reach students and teachers. In this paper I use the commitments made to the CSforALL Consortium in the fall of 2017 to infer a participatory landscape of computer science education efforts, and to highlight the benefits of the commitment making model as a case study for international CS education efforts. This paper analyzes both the types of commitments and the potential impact of the commitments on the CS education landscape in the United States using a document analysis approach. Overall, the analysis indicates a growing landscape with a focus on serving students or teachers, and a focus on formal education for implementation.

Publisher's Version Article Search
An Experience Report on the Effectiveness of Five Themed Workshops at Inspiring High School Students to Learn Coding
Nearchos Paspallis, Irene Polycarpou, Panayiotis Andreou, Josephina Antoniou, Paris Kaimakis, Marios Raspopoulos, and Maria Terzi
(UCLan Cyprus, Cyprus)
Today there is a high demand for computing programmers, and at the same time a shortage of skilled professionals. This has triggered the creation of many initiatives in the past few years, with the aim of reversing the phenomenon. To achieve this, such events are designed to promote a more appealing image for programming, both as a profession and as a skill. This paper describes one such initiative, which uses a unique blend of differently themed, parallel workshops to motivate high school students to learn programming. With the use of questionnaires, we survey the participants and present our findings concerning the effectiveness of these workshops to engage the participants, to promote the value of coding, and to encourage the participants to consider a career in the field. We evaluate our results both at a general level, as well as by comparison among five individually themed workshops.

Publisher's Version Article Search

Session 3C: Project-Based Learning

Experience in Learning Test-Driven Development: Space Invaders Project-Driven
Isabelle Blasquez and Hervé Leblanc
(University of Limoges, France; IRIT, France)
From Kent Beck's point of view, Test-Driven Development (TDD) really encourages simple design and inspires confidence. This agile software engineering practice suggests a different programming way that requires writing tests before writing the code in short cycles to reduce feedbacks loops. To help novice programmers discover and appreciate it, this paper describes an experience based on a laboratory course for learning TDD by developping a Space Invaders game through a step-by-step project-driven approach. To improve student engagement, a game development is chosen. All concepts are taught within the context of this project and students learn by doing. Applied in the context of a basis of object-oriented design course, this experience should raise student awareness of design's and programming's good practices as testing, refactoring, simple design and short releases. The evaluation shows that this experience helps students to engage in the learning process, to reflect on the importance of testing in a software development, to make aware of code quality and to understand the benefits of TDD.

Publisher's Version Article Search
How Students Get Going: Triggers for Students' Learning in Project-Based Education
Ville Isomöttönen and Aletta Nylén
(University of Jyväskylä, Finland; Uppsala University, Sweden)
Repeatedly documented positive student responses to project-based learning during its decades-long tradition in CS attest to the effectiveness of learning by doing. Support for reflective learning nevertheless continues to be a topic worth studying because the intensity of project work together with a high technical orientation among CS students often complicate reflective practice. A critical incident-inspired assignment was added to a project-based course to support reflective practice in spring 2017. In a previous study, the authors analyzed how students approached the assignment and whether they found it supportive for learning. The present study content-analyses the situations that triggered experiences of learning, as indicated by student-written incident reports during the projects. The results show that students' experience of needing to do something for the project, hands-on experience, problems they encounter during the work, interaction, and receiving new information are all triggers for learning during the project. Students' internal processing and external demands were also identified as triggers, but do not seem to be effective as often as the other triggers in this data. The results provide a detailed view on the students' learning ``triggers,'' and hence complement the general, favorable assumption of learning by doing.

Publisher's Version Article Search
TEAMSCOPE: Measuring Software Engineering Processes with Teamwork Telemetry
An Ju and Armando Fox
(University of California at Berkeley, USA)
Project-based learning is an important teaching method in software engineering education. However, it is unclear how student projects can be evaluated objectively and systematically in classrooms. Measurements used in industry, such as quality of the codebase, are not the only expected outcomes in classrooms; informative assessments in project-based learning require more details about how students behave as individuals and as a team. In this paper, we establish the importance of measuring processes in project-based software engineering courses and present metrics mined from software development tools for monitoring and observing processes to facilitate teaching. A case study at a US university confirms that 1) teams with better conformance to software development processes achieve better outcomes, and 2) our approach can be used to design metrics that serve as early detectors of violations to software development processes. Our results suggest that instructors for software engineering courses can use our approach to design process metrics for systematic, targeted, and automatic evaluation of team projects. Furthermore, metrics designed using our approach can be used as building blocks for automated systems, and thus increase the scalability of project-based software engineering courses.

Publisher's Version Article Search

Session 4A: Discrete Structures

The Educational Insights and Opportunities Afforded by the Nuances of Prim's and Kruskal's MST Algorithms
Ali Erkan
(Ithaca College, USA)
The computation of a minimum spanning tree (MST) is a fundamental topic in any algorithms course. In this paper, we outline a series of projects based on a thorough exploration of the performances of two well-known MST algorithms: Prim’s and Kruskal’s. For a graph of n nodes and e edges, both run in O(e lgn) time but these results are based on picking the right data structures. Prim’s relies on a priority queue that supports priority modification in O(lgn) time while Kruskal’s relies on a disjoint-set that supports find/union operations in O(lgn) time. The performance ramifications of using simpler data structures allow students to thoroughly understand the operations of these two algorithms, get a deeper comprehension of asymptotic complexity analysis, negotiate empirical results with analytical predictions, and illustrate the value of “programming to the interface”. Our study also includes the performance consequences of the qualities of the graphs on which MSTs are computed: structure (random vs scale-free), density (sparse vs dense), and edge cost distribution. Finally, as an additional inquiry to engage students in a somewhat unexplored direction, we focus on the average pairwise-distance of the MSTs produced by Prim’s vs Kruskal’s.

Publisher's Version Article Search
Lab Exercises for a Discrete Structures Course: Exploring Logic and Relational Algebra with Alloy
Laura E. Brown, Adam Feltz, and Charles Wallace
(Michigan Technological University, USA)
Students in computing disciplines need a strong basis in the fundamentals of discrete mathematics, but traditional offline approaches to teaching this material provide limited opportunities for the kind of interactive learning that computing students experience in their programming assignments. We have been using the Alloy language and analyzer to teach concepts in discrete structures (relational algebra, logic, and graphs) in an exploratory, programming-oriented way. Alloy, however, constitutes a new programming paradigm for introductory students, and careful mediation is needed to keep students on track. We use the familiar programming lab format, where students work on small-scope problems co-located with instructors, to provide guidance as students wrestle with the languages of relational algebra and predicate logic through Alloy. We describe selected lab exercises, and report on initial findings based on our experiences with students.

Publisher's Version Article Search
Introduction to Iltis: An Interactive, Web-Based System for Teaching Logic
Gaetano Geck, Artur Ljulin, Sebastian Peter, Jonas Schmidt, Fabian Vehlken, and Thomas Zeume
(TU Dortmund, Germany)
Logic is a foundation for many modern areas of computer science. In artificial intelligence, as a basis of database query languages, as well as in formal software and hardware verification — modelling scenarios using logical formalisms and inferring new knowledge are important skills for going-to-be computer scientists.
The Iltis project aims at providing a web-based, interactive system that supports teaching logical methods. In particular the system shall (a) support to learn to model knowledge and to infer new knowledge using propositional logic, modal logic and first-order logic, and (b) provide immediate feedback and support to students.
This article presents a prototypical system that currently supports the above tasks for propositional logic. First impressions on its use in a second year logic course for computer science students are reported.

Publisher's Version Article Search

Session 4B: Teaching Programming

Instruction of Introductory Programming Course using Multiple Contexts
David W. Brown, Sheikh K. Ghafoor, and Stephen Canfield
(Tennessee Technological University, USA)
This paper describes the experience of redesigning a traditional CS1 programming course, utilizing traditional coding practices as well as microcontroller units (MCU) based coding, to provide multiple programming environments. The objective of this redesign is to improve the programming skills for engineering students by 1) providing them with program development experience in multiple contexts and 2) relating the initial programming experience to the typical notion of engineering through significant hardware experience. Typical CS1 courses are designed with an instructor led lecture focusing on the introduction of specific computer skills and languages while programming assignments and laboratories help strengthen these skills in the students. For this remodeling, in addition to the typical programming exercises, supplementary MCU based lab exercises were used to provide an additional, different programming target for increased learning and highlighting the complementary relationship between hardware and software. The outcomes of this effort demonstrate that the addition of a MCU to an introductory programming course can work as an effective motivator, providing the students with a secondary context to reinforce programming skills developed during the course, and that providing multiple contexts (traditional desktop programming and hardware-based programming) together can aid in learning and the transfer of knowledge.

Publisher's Version Article Search
Code4Brownies: An Active Learning Solution for Teaching Programming and Problem Solving in the Classroom
Vinhthuy Phan and Eric Hicks
(University of Memphis, USA)
Code4Brownies is a software solution designed to foster active learning, coding, and problem solving in the classroom. Through this active learning style and platform, teachers can instantly provide guided instruction that gradually assists and leads students through various steps of solving a problem before reaching a correct solution. Teachers can even provide individualized instruction that addresses different needs of students with different levels of preparation. Two different delivery modes of guided instruction (teacher controlled and on-demand at student request) support various classroom scenarios and teaching pedagogies. Our experience of using Code4Brownies over a period of several semesters suggests that this tool helped students become more engaged, perform better, and ultimately be more successful.

Publisher's Version Article Search Info
Ladebug: An Online Tool to Help Novice Programmers Improve Their Debugging Skills
Andrew Luxton-Reilly, Emma McMillan, Elizabeth Stevenson, Ewan Tempero, and Paul Denny
(University of Auckland, New Zealand)
Debugging software is challenging, particularly for novices. Despite the importance of debugging, most novice programmers are not formally taught any debugging skills. This paper describes an online tool, Ladebug, that is designed to scaffold the learning of debugging skills. In this environment, students follow a structured debugging process to find and fix errors in predefined exercises. Overall, we find that students are positive about the tool, and report the exercises to be engaging and helpful.

Publisher's Version Article Search

Session 4C: Educational Tools

Teaching Network Protocol Concepts in an Open-Source Simulation Environment
J. Mark Pullen
(George Mason University, USA)
This paper describes a new-generation open source tool for computer networking education called the Java Network Workbench 2 (JNW2), along with the successful teaching practices associated with that tool. JNW2 applies the constructivist educational philosophy, where students learn by doing, in this case by creating a software solution to an abstracted problem. The packaging of JNW2 is therefore different from production network simulators such as OPNET and ns3. The paper describes the philosophy and software design of JNW2 and relates these to the educational theory of constructivism. Experience and objective outcomes relating to teaching with JNW2 are described. Students are enthusiastic about using it and analysis shows a clear improvement in exam performance for concepts reinforced via JNW2 exercises.

Publisher's Version Article Search
DBSnap++: Creating Data-Driven Programs by Snapping Blocks
Yasin N. Silva, Anthony Nieuwenhuyse, Thomas G. Schenk, and Alaura Symons
(Arizona State University, USA)
A key development in Computer Science Education has been the introduction of block-based programming environments where programs are created by connecting blocks and the focus is on the program's logic instead of its syntax. Most of these environments support conventional (imperative) programming instructions. More recently, some systems have been proposed to enable the specification of database queries. While these two types of environments have been independently studied, there is significantly less work on the development and study of integrated environments that allow the creation of complete data-driven programs (real-world like programs that integrate conventional instructions and database queries). This paper introduces DBSnap++, a web-based environment that enables the specification of dynamic data-driven programs. DBSnap++ supports the specification of intuitive database query trees, a new type of list that dynamically gets its content executing a database query, and programs that generate different results when the underlying data changes. This paper presents DBSnap++'s design and implementation details, an array of programs to demonstrate how it can be effectively used as a learning tool, and a thorough comparison with other environments. DBSnap++ is publicly available and aims to enable learners to fully understand and utilize the capabilities of data-driven programs.

Publisher's Version Article Search Info
CLaDS: A Cloud-Based Virtual Lab for the Delivery of Scalable Hands-On Assignments for Practical Data Science Education
Chase Geigle, Ismini Lourentzou, Hari Sundaram, and ChengXiang Zhai
(University of Illinois at Urbana-Champaign, USA)
The rise of the ``big data'' era has created a pressing demand for educating many data scientists and engineers quickly at low cost. It is essential they learn by working on assignments that involve real world data sets to develop the skills needed to be successful in the workplace. However, enabling instructors to flexibly deliver all kinds of data science assignments using real world data sets to large numbers of learners (both on-campus and off-campus) at low cost is a significant open challenge. To address this emerging challenge generally, we develop and deploy a novel Cloud-based Lab for Data Science (CLaDS) to enable many learners around the world to work on real-world data science problems without having to move or otherwise distribute prohibitively large data sets. Leveraging version control and continuous integration, CLaDS provides a general infrastructure to enable any instructor to conveniently deliver any hands-on data science assignment that uses large real world data sets to as many learners as our cloud-computing infrastructure allows at very low cost. In this paper, we present the design and implementation of CLaDS and discuss our experience with using CLaDS to deploy seven major text data assignments for students in both an on-campus course and an online course to work on for learning about text data retrieval and mining techniques; this shows that CLaDS is a very promising novel general infrastructure for efficiently delivering a wide range of hands-on data science assignments to a large number of learners at very low cost.

Publisher's Version Article Search Info

Session 5A: Cyber-Security

Cybersecurity in Liberal Arts General Education Curriculum
Xenia Mountrouidou, Xiangyang Li, and Quinn Burke
(College of Charleston, USA; Johns Hopkins University, USA)
Cybersecurity learning has been explored through different analytical lenses, across a range of grade levels and academic institutions. From attempts to standardize learning with accreditation to refining curricula and labs, there is currently considerable effort to create more programs in this discipline to address a million-job gap within the cybersecurity workforce. One primary challenge in cybersecurity education on the post-secondary level is offering experiential coursework to undergraduate students at liberal arts institutions. While such experiential coursework is already prevalent at research universities, smaller liberal arts institutions are still trying to gain a foothold into offering cybersecurity as a course of study. We address this issue with the design of an undergraduate course and cybersecurity learning modules that fit into the liberal arts education. First, we present the design of a general education course situated in a new educational paradigm, project CyberPaths, aiming at helping primarily undergraduate institutions with limited resources to introduce experiential cybersecurity learning. It takes advantage of experiential learning through a cloud infrastructure called Global Environment for Network Innovations (GENI). Then we describe our experience teaching this First Year Experience (FYE) course that exposed freshmen of different majors to cybersecurity. We present the design of pre- and post-course surveys, as well as focus group interviews that were used to evaluate students’ learning experience. Student feedback and direct observation suggest that incorporating flexible cybersecurity modules into general education coursework can be an effective vehicle to demonstrate importance and key concepts of cybersecurity to a diverse student population.

Publisher's Version Article Search Info
Exercises for Teaching Reverse Engineering
John Aycock, Andrew Groeneveldt, Hayden Kroepfl, and Tara Copplestone
(University of Calgary, Canada; University of York, UK)
The ability to reverse engineer binary code is a skill of critical importance within computer security: deciding if an unknown piece of binary code is malicious and, if so, what it does. And yet, there is very little work in computer science education that considers how reverse engineering can be effectively taught. This is a timely area to examine, given that the demand for skilled security professionals continues to rise, while emphasis on low-level topics diminishes. How can we teach students the skills and thought processes underlying reverse engineering?
We present a set of exercises designed to help teach reverse engineering in a graduated fashion to students, along with our experience using them in a computer security course. In addition to some specifically constructed exercises, we have developed two tools that can be used to generate an arbitrary number of examples. And, to highlight learning the thought processes for reverse engineering, one of our exercises is a physical board game that we have designed, built, and used in the classroom. We report on our experience and some results from a formal evaluation of our exercises, and look at areas beyond computer security where reverse engineering training is useful.

Publisher's Version Article Search
Enhancing Cybersecurity Skills by Creating Serious Games
Valdemar Švábenský, Jan Vykopal, Milan Cermak, and Martin Laštovička
(Masaryk University, Czechia)
Adversary thinking is an essential skill for cybersecurity experts, enabling them to understand cyber attacks and set up effective defenses. While this skill is commonly exercised by Capture the Flag games and hands-on activities, we complement these approaches with a key innovation: undergraduate students learn methods of network attack and defense by creating educational games in a cyber range. In this paper, we present the design of two courses, instruction and assessment techniques, as well as our observations over the last three semesters. The students report they had a unique opportunity to deeply understand the topic and practice their soft skills, as they presented their results at a faculty open day event. Their peers, who played the created games, rated the quality and educational value of the games overwhelmingly positively. Moreover, the open day raised awareness about cybersecurity and research and development in this field at our faculty. We believe that sharing our teaching experience will be valuable for instructors planning to introduce active learning of cybersecurity and adversary thinking.

Publisher's Version Article Search

Session 5B: Problem Solving

Problem Solving to Teach Advanced Algorithms in Heterogeneous Groups
Florent Bouchez-Tichadou
(Grenoble Alpes University, France)
It is notoriously difficult to teach heterogeneous groups. In this article I describe my experience in teaching high-level algorithms to a class of international master students coming from very different backgrounds, how the course evolved in a period spanning five years from a very classical course to a course that focuses highly on solving algorithmic problems in groups, and how that helped in better choosing the themes covered in the course, structuring it using a more definite direction, and better engaging almost all students by making them work on problems they can relate to.
This article presents the various axes I chose to follow as well as what was discarded from the initial course. It shows that students are more engaged in learning and more motivated to work, as there is the possibility for everyone to contribute and students can help one another; The course has then become a favorite amongst the other courses of the curriculum. Moreover, the teachers themselves are also more engaged, feel closer to the students, but are also under more pressure as the position changes dramatically from that of a lecturer. This article shows that it takes a lot of time to stabilize to satisfaction and presents recommendations for teachers interested in modifying their courses.

Publisher's Version Article Search
Relationship between Computational Thinking and a Measure of Intelligence as a General Problem-Solving Ability
Kay-Dennis Boom, Matt Bower, Amaël Arguel, Jens Siemon, and Antonia Scholkmann
(University of Hamburg, Germany; Macquarie University, Australia)
Computational thinking – the ability to solve problems using concepts from computer science – has been widely discussed in the computer science education field. However, the relationship of computational thinking to intelligence – seen as the general ability to understand and solve complex problems – is contestable and has not been extensively explored. The present study addressed the question of how computational thinking is related to intelligence. To find an answer to this question, 71 pre-service teacher students completed a survey with 20 Bebras tasks as a measure of computational thinking and a non-verbal intelligence test (TONI-3) to assess their general problem-solving ability. The large and significant correlation of r(70) = .53, p < .001, indicates that both concepts are highly related. Implications of the findings are discussed, including the meaning of the relationship between computational thinking and intelligence during teaching and assessment, and the possibility of more holistic measures of computational thinking that incorporate procedural aspects.

Publisher's Version Article Search
Analyzing Rich Qualitative Data to Study Pencil-Puzzle-Based Assignments in CS1 and CS2
Zack Butler, Ivona Bezáková, and Kimberly Fluet
(Rochester Institute of Technology, USA)
Pencil puzzles (puzzles such as sudoku and many others that are designed to be solved by humans, promoting computational thinking) provide a natural context for CS1/2 assignments. In a prior work we analyzed Likert-scaled student responses and assignment/course grades to show that not only are such assignments effective but are also largely independent of gender and prior computing experience. This paper focuses on open-ended student comments, both to see if they provide additional insights about the assignments and student perceptions not apparent from the Likert-scaled responses, and to see if these comments are consistent with the results from the prior work. We surveyed over 1000 students who had used pencil-puzzle-based assignments and invited them to make open-ended comments in their survey responses. We used grounded theory to develop codes for the large volume of student survey comments, as well as for semi-structured interviews with the instructors and focus groups with student TAs. Statistical analysis of the coded comments identified several interesting relationships, such as students being appreciative of their learning even when they perceived the assignments as difficult, which were not available from the Likert-scaled data. The analysis also confirmed that these assignments are largely gender- and experience-neutral. We conclude by discussing how these results and the coding process lead to improvements in assignment development and inform future research directions.

Publisher's Version Article Search

Session 6A: e-Learning and Distance Learning

How Seamless Are Technology-Rich Learning Environments? The Voice of IT Educators
Fui Chin Hiew, Judy Sheard, Rajendran Parthiban, and Esyin Chew
(Monash University Malaysia, Malaysia; Monash University, Australia; Cardiff Metropolitan University, UK)
Educational environments in higher education Information Technology (IT) courses typically involve the use of multiple technologies. Such technology-rich learning and teaching environments (TRLTEs) can enhance a student’s learning experiences and support learning in different settings (e.g., in-class and out-of-class, individual and group learning) and promote flexibility in learning in terms of time, space and access to learning resources. However, these can be complex teaching environments for educators to manage. A challenge for educators is to ensure that learning across multiple technologies and contexts happens seamlessly. Seamless learning is a notion whereby students transition smoothly from one learning setting to another, typically aided by technology. This paper reports the findings of an exploratory qualitative study of IT educators’ experiences of a TRLTE. Semi-structured interviews were used to elicit IT educators’ views of enablers and barriers to learning seamlessly. Data were analyzed using a thematic analysis technique. The findings revealed several issues in facilitating learning in a TRLTE and IT educators used various technologies to bridge the seams in their students’ learning. We discuss the findings and the implications for providing a seamless learning experience.

Publisher's Version Article Search
Summer of Code: Assisting Distance-Learning Students with Open-Ended Programming Tasks
Neil Smith, Mike Richards, and Daniel G. Cabrero
(Open University, UK)
A significant difficulty in teaching programming lies in the transition from novice to intermediate programmer, characterised by the assimilation and use of schemas of standard programming approaches. A significant factor assisting this transition is practice with tasks which develop this schema use. We describe the Summer of Code, a two-week activity for part-time, distance-learning students which gave them some additional programming practice. We analysed their submissions, forum postings, and results of a terminal survey. We found learners were keen to share and discuss their solutions and persevered with individual problems and the challenge overall. 93% respondents rated the activity 3 or better on a 5-point Likert scale (n=58). However, a quarter of participants, mainly those who described themselves as average or poor programmers, felt less confident in their abilities after the activity, though half of these students liked the activity overall. 54% of all participants said the greatest challenge was developing a general approach to the problems, such as selecting appropriate data structures. This is corroborated by forum comments, where students greatly appreciated “think aloud” presentations by faculty tackling the problems. These results strongly suggest that students would benefit from more open-ended practice, where they have to select and design their own solutions to a range of problems.

Publisher's Version Article Search

Session 7A: Gender, Diversity, and Societal Aspects

Gender, Confidence, and Mark Prediction in CS Examinations
Brian Harrington, Shichong Peng, Xiaomeng Jin, and Minhaz Khan
(University of Toronto at Scarborough, Canada; University of Toronto, Canada)
A common refrain heard by instructors of CS1 courses is ``I'm sure I did better than that" or ``I have no idea how I got that mark". Sometimes differences in a student's expected and reported marks may be due to a mistake on the part of the grader of the work, but more often than not this is an indicator that a student is not accurately assessing their own level of achievement on a piece of work. This may be an issue of capability (some students may lack the tools to assess what they have done correctly or incorrectly?) or one of confidence (some students are certain they are making mistakes even if they have done everything correctly). Regardless of the source of the gap between predicted and reported grades, it is an important skill for students to be able to accurately assess their own capabilities and performance.
In this work, we asked students in a CS1 course to predict their own grades on each question of their final examination. Analyzing the actual and predicted grades, and the differences between them leads to several interesting results. Poorer performing students are more likely to overestimate their grades, while better performing students are more likely to underestimate their grades. Furthermore, performance on the exam is strongly correlated with ability to correctly predict marks. Perhaps most interestingly, we found that while there was no difference in performance of male and female students on the exam, female students were more likely to under predict their performance than their male counterparts.

Publisher's Version Article Search
Promoting Diversity in Computing
Anagha Kulkarni, Ilmi Yoon, Pleuni S. Pennings, Kazunori Okada, and Carmen Domingo
(San Francisco State University, USA)
In this paper we present a pilot program at San Francisco State University, Promoting INclusivity in Computing (PINC), that is designed to achieve two goals simultaneously: (i) improving diversity in computing, and (ii) increasing computing literacy in data-intensive fields. To achieve these goals, the PINC program enrolls undergraduate students from non Computer Science (non-CS) fields, such as, Biology, that have become increasingly data-driven, and that traditionally attract diverse student population. PINC incorporates several well-established pedagogical practices, such as, cohort-based program structure, near-peer mentoring, and project-driven learning, to attract, retain, and successfully graduate a highly diverse and interdisciplinary student body. On successful completion of the program, students are awarded a minor in Computing Applications. Since its inception 18 months ago, 60 students have participated in this program. Of these 73% are women, and 51% are underrepresented minorities (URM). 74% of the participating students had nominal or no exposure to computer programming before PINC. Findings from student surveys show that majority of the PINC students now feel less intimidated about computer programming, and vividly see its utility and necessity. For several students, participation in the PINC program has already opened up career pathways (industry and academic summer internships) that were not available to them before.

Publisher's Version Article Search
Teaching the Societal Consequences of Computer Science: New Ideas for Increasing Student Involvement
Bill Cowan, Elodie Fourquet, and Marta Kryven
(University of Waterloo, Canada; Colgate University, USA; Massachusetts Institute of Technology, USA)
Almost every university has an upper year course in which students read, discuss and write about the implications for society of advances in computer science. This paper describes our experience updating Waterloo University's version over three offerings of a course that is two decades old. We discovered that students prefer to read material that is current, that overt marking achieves universal participation in discussion and that assignments stressing precise control of short prose improve writing. Most interestingly, we observed students working together to create new ways of learning. These innovations are the result of paying close attention to the strengths, tastes and interests of the students.

Publisher's Version Article Search

Session 7B: Alternative Approaches to CS Education

Hackathons in the Formal Learning Process
Kiev Gama, Breno Alencar Gonçalves, and Pedro Alessio
(Federal University of Pernambuco, Brazil)
Hackathons are short-lived events, typically lasting from 1 to 3 days, where participants gather into groups to tackle a challenge and present a proof of concept in the form of software or hardware prototype, motivated by a common theme. Studies show that learning is one of the primary motivations for people joining hackathons, where situated and collaborative learning take place. The acquisition of knowledge comes as a result of the practice itself and with participants learning from one another. By taking that into account, we considered bringing hackathons into the classroom. This paper presents a case study of an Internet of Things (IoT) undergraduate course where a hackathon is used as a learning instrument, leveraging on challenge-based learning to motivate students to find and develop a suitable semester project. We utilize a mixed-method approach where quantitative and qualitative data are used to analyze the perspective of students about the effectiveness of that approach.

Publisher's Version Article Search
An Authentic Student Research Experience: Fostering Research Skills and Boosting the Employability Profile of Students
Thanos Hatziapostolou, Dimitris Dranidis, Anna Sotiriadou, Petros Kefalas, and Ioannis Nikolakopoulos
(University of Sheffield at Thessaloniki, Greece; Technology College of Athens, Greece)
Involving students in research activities has been credited with many benefits, such as increased critical thinking and analysis skills, development of self-confidence and intellectual independence, and consolidating the ability to ``think like a scientist.'' Student research experiences at undergraduate level have been extensively investigated and disseminated. At postgraduate level, however, research is very scant and experience reports on practices used are scarce. This paper discusses an approach to provide an authentic research experience to master's level students in Advanced Software Engineering. We present the learning, teaching, and assessment methods, as well as, important parameters for success, such as techniques for creating a motivational and intellectual research climate and methods for maximizing the quality of results. We also demonstrate how through a research experience, students can not only advance their research skills, but also strengthen their employability profile. The paper includes an evaluation from six cohorts with the results indicating that students consider the experience very valuable. In 2014, our approach has been accredited by the British Computer Society (BCS) as an example of best practice for innovative approaches to assessment and how they enhance the student experience.

Publisher's Version Article Search
Fit-Breaks: Incorporating Physical Activity Breaks in Introductory CS Lectures
Alyona Koulanova, Ary Maharaj, Brian Harrington, and Jessica Dere
(University of Toronto at Scarborough, Canada)
University can be a difficult, stressful time for students. This stress causes problems ranging from academic difficulties and poor performance, to serious mental and physical health issues. Studies have shown that physical activity can help reduce stress, improve academic performance and contribute to a healthier campus atmosphere physically, mentally, and emotionally. Computer science is often considered among the most difficult and stressful programs offered at academic institutions. Yet the current stereotype of computer scientists includes unhealthy lifestyle choices and de-emphasizes physical activity.
This paper analyzes the effects of introducing short periods of physical activity into an introductory CS course, during the normal lecture break. Contrary to the stereotype of CS students, participation was high, and the students enjoyed these Fit-Breaks more than alternative break activities. This small injection of physical activity also had a measurable impact on the students' overall satisfaction with life, and may have had positive impacts on stress, retention, and academic performance as well as improved student perception, especially in areas that are traditionally problematic for female computer science students.
Fit-Breaks are low-cost, easy to replicate, and enjoyable exercises. Instead of sitting quietly for ten minutes staring at a phone; stretching, moving, and getting a short burst of physical activity has a positive benefit for students. And the good news is: they actually enjoy it.

Publisher's Version Article Search

Session 7C: Industry Engagement

Challenge Based Startup Learning: A Framework to Teach Software Startup
Rafael Chanin, Afonso Sales, Leandro Pompermaier, and Rafael Prikladnicki
(PUCRS, Brazil)
The advances in technology have enabled people to develop services and products that can reach millions of people around the world. Facebook and Google are examples of successful startups. However, most startups fail in their first years of life. From an education standpoint, even though universities are adapting their curriculums in order to embrace startup education content, the challenge still remains: how can we provide real world experiences for students to build relevant startups? In order to fill this gap, this paper introduces the Challenge Based Startup Learning, a framework that combines the Challenge Based Learning methodology with Lean Startup and Customer Development concepts, supported by software development techniques. We have applied and evaluated the framework in an undergraduate digital entrepreneurship course. Our preliminary results indicate that students not only understood what it takes to run a real startup, but they also felt engaged and empowered by delivering a useful and meaningful software.

Publisher's Version Article Search
A Two-Staged Capstone Project to Foster University-Business Dialogue
Tullio Vardanega and Monica Fedeli
(University of Padua, Italy)
Capstone projects improve the endowments of knowledge, ability and skills earned by higher-education students, and help intensify the university-business dialogue. While not solely suited for BSc curricula, capstones raise the employability of BSc graduates, whose market value is intrinsically inferior to their MSc correspondents, yet highly attractive thanks to shorter turn-around time. Designing a BSc curriculum in Computer Science after those premises requires balancing two forces. One is traditional content-centered teaching, which has many adepts and exerts higher pressure on the shorter duration of the study path. The other is learner-centered teaching, which promotes active teaching strategies, and makes room for capstone inserts. This paper discusses how the University of Padua went around that challenge designing its BSc curriculum in Computer Science in 2002, and critically assesses its outcome to date. 27 credit hours of the total 180 in the novel curriculum were devolved to a capstone project comprising an internship in business, whose critical review feeds the final exam. The capstone was organized as a two-staged progression: (a) the first leg being a preparatory, learning-for-work collaborative laboratory aimed at the acquisition of soft skills, and exposure to technology innovation challenges; and (b) the second leg promoting a learning-through-work individual internship. Evaluation of field data from 14 cohorts of graduates, from 07/2004 to 12/2017, shows that the BSc curriculum has met with the appreciation of students and employers, and it has served well the purpose of boosting the university-business dialogue.

Publisher's Version Article Search
Guidelines for Software Testing Education Objectives from Industry Practices with a Constructive Alignment Approach
Timo Hynninen, Jussi Kasurinen, Antti Knutas, and Ossi Taipale
(Lappeenranta University of Technology, Finland; South-Eastern Finland University of Applied Sciences, Finland; Lero, Ireland)
Testing and quality assurance are characterized as the most expensive tasks in the software life cycle. However, several studies also indicate that the industry could enhance product quality and reduce costs by investing in developing testing practices. Software engineering educators can bridge the gap between formal education and industry practices to produce more industry-ready graduates, by observing the industry in action. To find out the current state of industry, we conducted a study in software organizations to assess how they test their products and which process models they follow. According to the survey results, the organizations rely heavily on test automation and use sophisticated testing infrastructures, apply agile practices even when working with mission-critical software, and have reduced the use of formal process reference and assessment models. Based on the results, this paper identifies a number of key learning objectives in quality assurance and software testing disciplines that the industry expects from university graduates. The principles of constructive alignment are used to present learning goals, teaching methods, and assessment methods that align with the industry requirements.

Publisher's Version Article Search

Session 8A: Motivation, Engagement, and Retention

How CS Academics View Student Engagement
Michael Morgan, Matthew Butler, Neena Thota, and Jane Sinclair
(Monash University, Australia; University of Massachusetts, USA; University of Warwick, UK)
There are several national benchmarks used to measure student engagement, including the National Survey of Student Engagement (NSSE) in the USA and Canada, the Student Experience Survey (SES) in Australia, and the UK Engagement Survey (UKES). For a number of years, the world-wide performance of Computer Science (CS) on these benchmarks and across a range of instruments has been weak and shows little sign of improvement. The weakness of CS ratings is apparent especially when compared to related STEM disciplines that consistently rate more highly on many measures.
In order to understand the nature of the problems that result in our own students rating their engagement with their CS studies so poorly, it is essential to understand the perspectives of CS academics on student engagement in general, and how the nature of the CS discipline and CS students relate to engagement issues. Previous work has suggested that CS academics' views on student engagement differ significantly and that they attempt to address student engagement using a variety of strategies. In this paper, we carry out an in-depth analysis of CS academic perspectives regarding student engagement by analysing 16 interviews conducted with academics from several countries. Since student engagement measures are used by students to make course study decisions, it is important to understand why CS students rate CS courses so poorly and how the views of CS academics feed into this issue.

Publisher's Version Article Search
Considerations for Switching: Exploring Factors behind CS Students' Desire to Leave a CS Major
Amanpreet Kapoor and Christina Gardner-McCune
(University of Florida, USA)
Understanding undergraduate students’ academic, professional and social experiences in computer science (CS) degree programs is critical to retaining students in these programs. This paper presents findings from an exploratory study aimed at empirically investigating the academic, social, and professional experiences that influence CS students to consider switching out of their major. We surveyed 96 CS undergraduate students at the University of Florida and examined their experiences during their degree program. The data were categorically analyzed to identify factors that influenced students to consider switching out of a CS major. We found that students who considered switching out of a CS major experienced gender biases in the classroom, had negative or neutral satisfaction with computing courses, and felt that the assignments and projects were not relevant to the coursework. We also found that females were twice as likely to consider leaving a CS major as compared to males. Several factors significantly affected female students: perception of the presence of gender biases in the classroom, not receiving timely feedback, negative satisfaction in coursework, and negative team experiences. We conclude by discussing these findings in light of retention theories and literature.

Publisher's Version Article Search
The Impact of Placement in Introductory Computer Science Courses on Student Persistence in a Computing Major
Linda Ott, Briana Bettin, and Leo Ureel
(Michigan Technological University, USA)
Multiple studies have shown that when novice and experienced programmers are enrolled in the same introductory programming course, the novice programmers are negatively impacted. We have two entry points into our course sequence for majors. One course is intended for students with little or no programming experience, while the alternate course is intended for students who have had previous programming experience. In 2015 we discovered that many students with programming experience were enrolling in the course for novice programmers. A change in our placement strategy in 2016 resulted in a greater portion of the students with programming experience actually enrolled in the course intended for students with programming experience. Last year we reported on the impact this change had on the courses and the students enrolled in these introductory courses. Although student performance improved only slightly, many fewer students with little or no previous programming experience reported that their first programming course was unreasonably difficult in 2016. In this paper we examine how this change in placement strategy and resulting changes in the courses is impacting student persistence in the major. Initial indications are that a greater percentage of students with little or no previous programming experience are persisting in their computing major when these students begin in an introductory course that does not also include students who have substantial programming experience.

Publisher's Version Article Search

Session 8B: Instructional Approaches

Classroom Experience Report on Jigsaw Learning
Soohyun Nam Liao, William G. Griswold, and Leo Porter
(University of California at San Diego, USA)
Jigsaw learning is a cooperative learning technique enabling students to teach and learn from their peers. Although prior studies investigated the efficacy of Jigsaw learning in computing education by measuring student performance after Jigsaw activities, this work reports on student and instructor experiences with Jigsaw learning. Jigsaw activities were performed in lectures throughout the term and student experience data was collected through student surveys. The survey results reveal that 72% of survey respondents thought the Jigsaw activities helped their learning. Furthermore, 75% of respondents acknowledged their role in class as a more engaged learner and 44% of those students identified themselves as taking on the role of a teacher. The instructor found Jigsaw learning to be labor intensive but observed higher levels of student engagement.

Publisher's Version Article Search
A Multi-institution Exploration of Peer Instruction in Practice
Cynthia Taylor, Jaime Spacco, David P. Bunde, Andrew Petersen, Soohyun Nam Liao, and Leo Porter
(Oberlin College, USA; Knox College, USA; University of Toronto at Mississauga, Canada; University of California at San Diego, USA)
Peer Instruction (PI) 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. PI's key classroom mechanism is the PI question: a formative multiple choice question on which students vote, then discuss, then vote again. While research indicates that PI 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 PI data collected by researchers operating in a quasi-experimental setting. We examine data collected incidentally by multiple instructors using PI as a pedagogical technique in their classroom. We look at how many questions instructors use in their courses, the difficulty level of the questions, and normalized gain, a metric that looks at increases in student correctness between individual and group votes. We find normalized gain levels similar to those in existing literature, indicating that students are learning, and that most questions, even those developed by instructors new to PI, fall within recommended difficulty levels, indicating instructors can create good PI questions with little training. We also find that instructors add PI questions over the first several iterations of a new PI course, showing that they find PI questions valuable and suggesting that full development of PI materials for a course may take multiple semesters.

Publisher's Version Article Search
A Safety-Aware, Systems-Based Approach to Teaching Software Testing
Natalia Silvis-Cividjian
(VU University Amsterdam, Netherlands)
Although no one doubts that ubiquitous software should be tested thoroughly, a dedicated course on software testing (ST) does not commonly feature in most CS curricula. Even when this is the case, existing courses often fail to offer a real-world testing experience, essential for a successful software engineering career. In our opinion, the main underlying reasons are twofold. First, abstracting software from its socio-technical system context, creates the false impression that ST “equals” unit testing based on functional requirements. Second, practicing on small, anonymously pre-engineered artifacts, conveys a detached and truncated view of the whole testing process. This paper describes an original approach to teach ST that addresses these two limitations by adopting a system engineering paradigm, with an additional strong emphasis on safety. Targeting CS graduates, the course consists of two modules. In the core module, students build fundamental testing knowledge in a software engineering context, and put this knowledge to work in both roles of developer and tester. In the project module, students get hands-on experience in engineering, and in particular testing, of microcontroller-based, safety-critical systems. Software risk and test experts from industry are actively involved in both modules, for advising, guest lectures and project steering. Enthusiastic students’ evaluations throughout years demonstrate that cultivating safety- and hardware-awareness, although unusual for CS programs at non-engineering universities, creates a unique testing experience, while revealing remarkable technical and psychological trade-offs. All this brings more realism, and contributes to a meaningful and efficient learning in ST classrooms.

Publisher's Version Article Search

Session 8C: Collaborative Partnerships

Bringing Together Undergraduate and Postgraduate Students in Software Engineering Team Project: Experiences and Lessons
Georgia M. Kapitsaki and Styliani Kleanthous Loizou
(University of Cyprus, Cyprus)
Software Engineering education requires exposing students to real-world problems providing a framework to simulate real-world conditions. For this purpose, computer science students usually work in teams with each member undertaking a specific role. In this paper, we are discussing our experiences when adopting a different approach to teaching software engineering courses. In an attempt to provide students the possibility to develop different skills at each education level, we brought together undergraduate and postgraduate students in the same team with postgraduates adopting the role of a software project manager. Different roles were assigned to the undergraduate students in the team by the project manager, but all students worked towards the same goal. We present in this paper the approach followed and how we applied it, we discuss the exchange of skills among the team members, and finally, a discussion is provided on the lessons learned from our side and the students' point of view.

Publisher's Version Article Search
Crowdsourcing Programming Assignments with CrowdSorcerer
Nea Pirttinen, Vilma Kangas, Irene Nikkarinen, Henrik Nygren, Juho Leinonen, and Arto Hellas
(University of Helsinki, Finland)
Small automatically assessed programming assignments are an often used resource for learning programming. Creating sufficiently large amounts of such assignments is, however, time consuming. As a consequence, offering large quantities of practice assignments to students is not always possible. CrowdSorcerer is an embeddable open-source system that students and teachers alike can use for creating and evaluating small automatically assessed programming assignments. While creating programming assignments, the students also write simple input-output -tests, and are gently introduced to the basics of testing. Students can also evaluate the assignments of others and provide feedback on them, which exposes them to code written by others early in their education. In this article we both describe the CrowdSorcerer system and our experiences in using the system in a large undergraduate programming course. Moreover, we discuss the motivation for crowdsourcing course assignments and present some usage statistics.

Publisher's Version Article Search
ITiCSE Working Groups and Collaboration in the Computing Education Community
Robert McCartney and Kate Sanders
(University of Connecticut, USA; Rhode Island College, USA)
In this paper, we investigate the degree to which ITiCSE Working Groups have served to connect new researchers to the larger computing education community. Previous analysis of computing education research collaborations has concluded that computing education researchers collaborate with fewer people and that newcomers have a harder time integrating into the community, compared with other computer-science fields.
The ITiCSE Working Groups were explicitly omitted from this previous analysis, however. This paper presents an analysis over time of the collaboration network for the Working Groups and identifies the similarities and differences between it and networks previously reported. This analysis suggests that the ITiCSE Working Groups play an important role in building the computing education community.

Publisher's Version Article Search

Session 1C: Working Groups 1

Contrasting CS Student and Academic Perspectives and Experiences of Student Engagement
Michael Morgan, Matthew Butler, Jane Sinclair, Christabel Gonsalvez, and Neena Thota
(Monash University, Australia; University of Warwick, UK; University of Massachusetts, USA)
The performance of Computer Science (CS) on a range of international student engagement benchmarks, including the North American National Survey of Student Engagement (NSSE) in the USA and Canada, Student Experience Survey (SES) in Australia, and the Student Engagement Survey (SES) in the UK, has generally been poor over a number of years and unfortunately shows little sign of improvement. In this ITiCSE Working Group we propose to carry out an in-depth analysis of student perspectives and experiences regarding student engagement in their CS courses and to contrast these with the perspectives and experiences of CS academics. We hope this will allow us to better understand the alignment between CS student and CS academic perspectives on student engagement and obtain insight into possible reasons for the reported poor engagement performance.

Publisher's Version Article Search
Global Perspectives on Cybersecurity Education
Allen Parrish, John Impagliazzo, Rajendra K. Raj, Henrique Santos, Muhammad Rizwan Asghar, Audun Jøsang, Teresa Pereira, Vítor J. Sá, and Eliana Stavrou
(Mississippi State University, USA; Hofstra University, USA; Rochester Institute of Technology, USA; University of Minho, Portugal; University of Auckland, New Zealand; University of Oslo, Norway; Polytechnic Institute of Viana do Castelo, Portugal; Universidade Catolica Portugesa, Portugal; UCLan Cyprus, Cyprus)
Global cybersecurity crises have compelled universities to address the demand for educated cybersecurity professionals. As no shared framework for cybersecurity as an academic discipline exists, growthhas been unfocused and driven by training materials, which make it harder to create a common body of knowledge. An international perspective is still harder, as different nations use different criteria to define local needs. As a result, new programs entering this space are on their own to conceptualize, design, package and market their programs, as there is no globally accepted reference model for cybersecurity to allow employers or students to understand the extent of a given cybersecurity program.
Building on prior efforts at ITiCSE 2010 and 2011, other sources and participant experiences, this working group will develop a taxonomy of approaches to cybersecurity education, capture its dimensions, and develop a corresponding global reference model.

Publisher's Version Article Search
A Review of Introductory Programming Research 2003–2017
Andrew Luxton-Reilly, Simon, Ibrahim Albluwi, Brett A. Becker, Michail Giannakos, Amruth N. Kumar, Linda Ott, James Paterson, Michael James Scott, Judy Sheard, and Claudia Szabo
(University of Auckland, New Zealand; University of Newcastle, Australia; Princeton University, USA; University College Dublin, Ireland; NTNU, Norway; Ramapo College of New Jersey, USA; Michigan Technological University, USA; Glasgow Caledonian University, UK; Falmouth University, UK; Monash University, Australia; University of Adelaide, Australia)
A broad review of research on the teaching and learning of programming was conducted by Robins et al. in 2003. Since this work there have been several reviews of research concerned with the teaching and learning of programming, in particular introductory programming. However, these reviews have focused on highly specific aspects, such as student misconceptions, teaching approaches, program comprehension, potentially seminal papers, research methods applied, automated feedback for exercises, competency-enhancing games, and program visualisation. While these aspects encompass a wide range of issues, they do not cover the full scope of research into novice programming. Some notable areas that have not been reviewed are assessment, academic integrity, and novice student attitudes to programming. There does not appear to have been a comprehensive review of research into introductory programming since that of Robins et al. It is therefore timely to conduct and present such a review in order to gain an understanding of the research focuses, to highlight advances in knowledge since 2003, and to indicate possible future directions for research. The working group will conduct a systematic literature review based on the guidelines proposed by Kitchenham et al. This research project is well suited to an ITiCSE working group as the synthesis and discussion of the literature will benefit from input from a variety of researchers drawn from different backgrounds and countries.

Publisher's Version Article Search
An International Investigation into Student Concerns regarding Transition into Higher Education
Mark Zarb, Joseph A. Abandoh-Sam, Bedour Alshaigy, Dennis Bouvier, Richard Glassey, Janet Hughes, and Charles Riedesel
(Robert Gordon University, UK; Valley View University, Ghana; Oxford-Brookes University, UK; Southern Illinois University, USA; KTH, Sweden; Open University, UK; University of Nebraska-Lincoln, USA)
The experience of transitioning into and starting higher education is a very individual one, with some applicants viewing the prospect of higher education as an unknown entity; for those who are first in their family or community to consider higher education, this can seem an "alien environment". These are just some of the issues that lead to applicants experiencing levels of concern when considering a transition into higher education. This international working group proposes to consider concerns across a wide range of participants: namely students who are in the process of transitioning into a higher education environment, and students who have recently completed this transition.

Publisher's Version Article Search
Cloud Computing: Developing Contemporary Computer Science Curriculum for a Cloud-First Future
Derek Foster, Laurie White, Joshua Adams, D. Cenk Erdil, Harvey Hyman, Stan Kurkovsky, Majd Sakr, and Lee Stott
(University of Lincoln, UK; Google, USA; Saint Leo University, USA; Sacred Heart University, USA; University of South Florida, USA; Central Connecticut State University, USA; Carnegie Mellon University, USA; Microsoft, UK)
Cloud Computing has gained significant momentum in the last five years and is regarded as a paradigm shift away from traditional 'silo' based computing. It is no longer seen as a niche area of technology, offering a diverse range of scalable and redundant service deployment models, including Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), Software-as-a-Service (SaaS), and Containers-as-a-Service (CaaS). These models are applied to areas such as IoT, Cyber-Physical Systems, Social Media, Data Science, Media Streaming, Ecommerce, and Health Informatics. The growth in cloud presents challenges for companies to source expertise that securely supports their business when migrating/deploying services to the Cloud - particularly Small-Medium-Enterprises (SME) with limited resources. The UK Government recently published the Digital Skills Crisis report, identifying skill-set challenges facing industry, with a shortage in cloud skills negatively impacting business. While cloud technologies have evolved at significant pace, the development of contemporary Computer Science curriculum in the further and higher education (HE) sector has lagged behind. The challenges faced in the sector includes the training of educators, institutional gaps (software and hardware policies), regulatory constraints, and access to cloud platforms. Collectively these challenges are significant, but not insurmountable. By embedding fundamental cloud skills throughout the educator and student journey, both stakeholders will be better positioned to understand and practically apply the use of appropriate cloud services, and produce graduates that can support the needs of industry. This working group (WG) aims to: i) assess current cloud computing curricula in CS and similar programs, ii) document industry needs for in-demand cloud skills, iii) identify issues and gaps around cloud curriculum uptake, and iv) develop solutions to meet the skill demands on core Cloud Computing topics, technical skills exercises, and modules for integration with contemporary Computer Science curricula.

Publisher's Version Article Search
Modeling Global Competencies for Computing Education
Stephen Frezza, Arnold Pears, Mats Daniels, Viggo Kann, Amanpreet Kapoor, Roger McDermott, Anne-Kathrin Peters, Charles Wallace, Mihaela Sabin, and Åsa Cajander
(Gannon University, USA; KTH, Sweden; Uppsala University, Sweden; University of Florida, USA; Robert Gordon University, UK; Michigan Technological University, USA; University of New Hampshire, USA)
This working group contributes to formulating a framework for modeling competencies in the current and future disciplines that comprise computing education. We draw upon the innovative approach taken in the curricular document for information technology (IT2017), curricular competency frameworks, other related documents such as the software engineering competency model (SWECOM), the Skills Framework for the Information Age (SFIA), current research in competency models, and elicitation workshop results from other computing conferences. The outcomes contribute to the Computing Curricula 2020 (CC2020) project, and include the formulation and review of sets of disciplinary-relevant competencies for use in computing education. This work directly informs the CC2020 project sponsored by the Association for Computing Machinery (ACM) and the IEEE Computer Society.

Publisher's Version Article Search

Session 2C: Tips, Techniques, and Courseware 1

Stick to the Script: Lightweight Recording and Playback of Live Coding
John Aycock
(University of Calgary, Canada)
"Live coding" describes the creation of programs by the instructor during lecture, in front of a live student audience. But how can the performance be captured for later use by students? We present a simple and lightweight, yet remarkably effective system for recording and playback of live coding. It has been used since 2016 in two instances of CS1 and one other introductory programming course, and most importantly has been received well by students.

Publisher's Version Article Search
Board of Symbols: A Tool for Teaching Programming
Stephan Euler
(TH Mittelhessen University of Applied Sciences, Germany)
This paper describes a graphical user interface based on a rectangular board with symbols. A set of functions is provided to change the symbols in shape, color and size. The approach is used in courses for programming beginners.

Publisher's Version Article Search Info
Code Reviews in Large, First-Year Courses
Andrew Petersen and Daniel Zingaro
(University of Toronto at Mississauga, Canada)
Computing educators have used code review to provide opportunities for students to engage with code artifacts and to learn about aspects of programming, such as design and style, that are difficult to appreciate when working individually. However, most implementations of code review have been implemented in relatively small courses. For the past two years, we have asked students in our 500-950 person first year courses to engage in code reviews of submissions to course assignments. This short paper describes our approach for implementing code reviews that scale to large first-year courses and describes a few lessons we have learned from deploying these learning opportunities in our courses.

Publisher's Version Article Search
Improving Students' Engagement with Large-Team Software Development Projects
Mirela Gutica
(British Columbia Institute of Technology, Canada)
Computer science and technology education should provide not only a strong theoretical foundation, but also problem solving, and communication and teamwork skills to prepare the students for careers. Including projects in curricula is a norm in many disciplines. However, projects are generally individual or based on small teams (two to five members). This paper presents my approach to teaching a capstone undergraduate computer technology course at the British Columbia Institute of Technology (BCIT) in the Computer System Technology (CST) Program in which a large class of students (maximum 22), organized into small teams work together and apply Agile software development practices to design, implement, integrate and test a large project. This model provides students with unique learning opportunities and experiences, as well as improving their soft skills, engagement and motivation.

Publisher's Version Article Search
Reducing Students' Waiting Time for Assistance in Programming Laboratory Sessions by Using Electronic Queueing
Sahand Sadjadee
(Linköping University, Sweden)
Assisting students in computer programming lab sessions where students are expected to do pre-defined assignments is an important part of teaching in computer science education. The main challenge is to help all students who need assistance, with minimal waiting time. In courses with large number of students, where there is a limited number of available teachers, long waiting times can slow down students' progress and affect the overall learning process. This presentation describes the use of an electronic queueing system called Camedin to minimize the students' waiting time to an acceptable level. Further it shows how electronic queueing can improve the teaching experience.

Publisher's Version Article Search
A Guideline to Teach Agile Requirements
Isabelle Blasquez and Hervé Leblanc
(University of Limoges, France; IRIT, France)
This paper presents a specific sequence of collaborative workshops dedicated to build a first version of a product backlog. This backlog is composed by user stories refined from a first idea of the product to develop.

Publisher's Version Article Search

Session 5C: Panel

50 Years of Software Engineering: Challenges, Results, and Opportunities in Its Education
Stephan Krusche, Bruce Scharlau, Åsa Cajander, and Janet Hughes
(TU Munich, Germany; University of Aberdeen, UK; Uppsala University, Sweden; Open University, UK)
2018 marks the 50th anniversary of the first conference on software engineering, organized by NATO, which took place in 1968 in Garmisch, Germany. At that time, the terms “software crisis” and “software engineering” have been coined. Both terms have accompanied and shaped computer science in research, practice and education over the last 50 years. This anniversary is reason enough to look back, what has been achieved, but also to look forward. In this panel discussion, the challenges seen at the time will be reflected from today’s perspective, and successes and real progress over the last 50 years will be discussed, with an emphasis on the education of software engineering. How close are teaching and learning aligned with industry needs and the daily tasks of software developers? Future challenges and necessary further developments will be discussed together with the plenary. The panel uses the fishbowl approach with one open space so that people from the audience can join the discussion.

Publisher's Version Article Search

Session 6B: Working Groups 2

Taxonomizing Features and Methods for Identifying At-Risk Students in Computing Courses
Arto Hellas, Petri Ihantola, Andrew Petersen, Vangel V. Ajanovski, Mirela Gutica, Timo Hynninen, Antti Knutas, Juho Leinonen, Chris Messom, and Soohyun Nam Liao
(University of Helsinki, Finland; University of Toronto at Mississauga, Canada; Ss Cyril and Methodius University, Macedonia; British Columbia Institute of Technology, Canada; Lappeenranta University of Technology, Finland; Lero, Ireland; Monash University, Australia; University of California at San Diego, USA)
Since computing education began, we have sought to learn why students struggle in computer science and how to identify these at-risk students as early as possible. Due to the increasing availability of instrumented coding tools in introductory CS courses, the amount of direct observational data of student working patterns has increased significantly in the past decade, leading to a flurry of attempts to identify at-risk students using data mining techniques on code artifacts. The goal of this work is to produce a systematic literature review to describe the breadth of work being done on the identification of at-risk students in computing courses. In addition to the review itself, which will summarize key areas of work being completed in the field, we will present a taxonomy (based on data sources, methods, and contexts) to classify work in the area.

Publisher's Version Article Search
The Internet of Things in CS Education: Updating Curricula and Exploring Pedagogy
Barry Burd, Lecia Barker, Monica Divitini, Jorge Guerra Guerra, Felix Armando Fermin Perez, Ingrid Russell, Bill Siever, Liviana Tudor, Michael McCarthy, and Ian Pollock
(Drew University, USA; University of Colorado at Boulder, USA; NTNU, Norway; National University of San Marcos, Peru; University of Hartford, USA; Washington University at St. Louis, USA; Politehnica University of Bucharest, Romania; Carnegie Mellon University, USA; California State University Easy Bay, USA)
As the Internet of Things (IoT) continues its expansion into homes, businesses and industries, the impact for Computer Science educators is increasingly evident. In 2017, the ITiCSE IoT working group identified relevant content, tools for teaching, and four IoT course types. The resulting report provided an entry point for educators challenged with setting up a new IoT course. The 2018 working group will build on this prior work by addressing feedback on the 2017 report and by examining the rapidly changing state-of-the-art in IoT. In particular, the working group will extend educators' ability to integrate IoT into curriculum by investigating additional content areas and pedagogical approaches.

Publisher's Version Article Search
Promoting the Adoption of Educational Innovations
Cynthia Taylor, Jaime Spacco, David P. Bunde, Thomas Zeume, Zack Butler, Martina Barnas, Heather Bort, Francesco Maiorana, and Christopher Lynnly Hovey
(Oberlin College, USA; Knox College, USA; TU Dortmund, Germany; Rochester Institute of Technology, USA; Indiana University, USA; Marquette University, USA; University of Catania, Italy; University of Colorado at Boulder, USA)
Most projects that create innovations in Computer Science education, whether they be changes to content or pedagogy, focus on first developing materials and then proving effectiveness. For educational innovations to have impact, however, they must be adopted by other instructors. Getting instructors to use new educational strategies is a significant challenge, with most new techniques never obtaining widespread adoption. Researchers who do consider dissemination of their research frequently use techniques such as publications and workshops, which are known to be insufficient.
While there is a significant body of research on how to successfully propagate educational innovations, many CS education researchers are unfamiliar with it. Additionally, the majority of this work is from science education rather than CS education, and it is unclear how it will apply to CS. We bridge this gap by summarizing existing literature on educational innovation propagation.

Publisher's Version Article Search

Session 6C: Tips, Techniques, and Courseware 2

A Novel Introduction to File I/O using KML and Google Earth
Elizabeth Vidal and Ali Erkan
(La Salle Universitiy, Peru; Ithaca College, USA)
In this paper, we propose the use of simple KML files to increase student engagement when learning file I/O. We also report on our trial study where we had one group of students learn I/O functions using conventional exercises while we had another working with KML-based files that could trivially be viewed in Google Earth. Our assessment of student engagement indicated that students in the experiment group registered significantly higher in the usefulness and interest dimensions.

Publisher's Version Article Search
Using LEGO to Teach Software Interfaces and Integration
Stan Kurkovsky
(Central Connecticut State University, USA)
Software design is a complex endeavor because it requires mastery of engineering practices, insight into the domain knowledge, exploring of alternative ideas, and, most importantly, plenty of practice. Principles of good software design should be introduced early in the curriculum and practiced whenever possible. This work describes a LEGO-based activity for multiple teams to practice collaborative design, parallel development, and component integration to illustrate the advantages of well-designed component interfaces.

Publisher's Version Article Search
Introducing Big Data Analytics in High School and College
Raja Sooriamurthi
(Carnegie Mellon University, USA)
In this teaching tip and courseware note we describe a series of hands on activities and exercises that we've used to introduce the notion of big data analytics to a wide range of audience. These exercises range in complexity from a paper and pencil thought exercise, to using Google Trends for simple explorations, to using a spread sheet to simulate the iterative nature of Google's PageRank algorithm, to programming with a Python based map-reduce framework. These exercises have been used in courses to train high school teachers in data science, full semester university courses (undergraduate and graduate), and CS education outreach efforts. Feedback has been positive as to their efficacy.

Publisher's Version Article Search

Posters 1

A Technique for Translation from Problem to Code
Andrew D. Hilton, Genevieve M. Lipp, and Susan H. Rodger
(Duke University, USA)
Students in introductory programming courses struggle with how to turn a problem statement into code. We introduce a technique, ``The Seven Steps,'' that provides structure and guidance on how to approach a problem. The first four steps focus on devising an algorithm in words, then the remaining steps are to translate that algorithm to code, test the algorithm, and debug failed test cases. This approach not only gives students a way to solve problems, but also ideas for what to do if they get stuck during the process. Furthermore, it provides a way for instructors to work examples in class that focus on the process of devising the code---instructors can show how to come up with the code, rather than just showing an example. We have used this technique in several introductory programming courses---both in the classroom and online. We describe this technique and results from its use in fall 2017 courses.

Publisher's Version Article Search
Preparing First-Time CS Student Teaching Assistants
Guido Rößling and Jacqueline Gölz
(TU Darmstadt, Germany)
Undergraduate Student Teaching Assistants (TAs) are an important help, especially in large undergraduate courses. They act as role models and as agents between students and teachers. They also help guide the students’ learning process by supervising groups and grading homework. We prepare new undergraduate TAs by training their diagnostic and didactic skills.

Publisher's Version Article Search
An Interactive Online Course to Raise Awareness about Diversity
Guido Rößling and Felix Broj
(TU Darmstadt, Germany)
Diversity is sometimes understood narrowly, by focusing on only one or two categories, such as gender or race. Following the concept of intersectionality, there are far more aspects to diversity that can affect students’ success, in some cases only indirectly or subtly. We present a small self-contained online course for raising awareness of some additional aspects of diversity, without admonishing users or prescribing attitudes.

Publisher's Version Article Search
Pipelining Collaborative Test for Improving Student Performance in Introductory Programming Courses
Xinjian Luo, Qianni Deng, and Tao Liao
(Shanghai Jiao Tong University, China)
This study presents an innovative pipelining two-stage exam format, PipE2, to improve the first year students’ performance. Experiment results show that the impact on student performance during PipE2 was influenced by the difficulty of questions. More exposure to the topics before group discussion could improve the benefits and efficiency of PipE2.

Publisher's Version Article Search
Student Based Program Development
Viggo Kann and Örjan Ekeberg
(KTH, Sweden)
The aim of this work is to investigate a new method of involving all students in the continued development of an educational program. Using this method, we have obtained a list of well-scrutinized suggestions for improvement that have support among the students, and that we can start to implement. We have also saved a large pool of suggestions that could be used in the future.

Publisher's Version Article Search
Informatics Study Day: Helping CS Students Become Better Students
Madeleine Lorås and Trond Aalberg
(NTNU, Norway)
This poster will present the implementation and evaluation of an interdisciplinary study day for first year computer science students. The Informatics study day initiative was designed to improve the academic and social learning environment among a class of computer science students at the Norwegian University of Science and Technology. These findings suggest that this kind of initiative can help students improve their study habits by facilitating learning and interdisciplinary collaboration.

Publisher's Version Article Search
How Statistics Are Used in Computing Education Research
Kate Sanders, Sally Hamouda, Brett A. Becker, Anna Eckerdal, Robert McCartney, Judy Sheard, and Simon
(Rhode Island College, USA; University College Dublin, Ireland; Uppsala University, Sweden; University of Connecticut, USA; Monash University, Australia; University of Newcastle, Australia)
Conferences such as ITiCSE have recently seen an increase in the number of papers presenting empirical research in computing education. While empirical research need not be quantitative, there has been a corresponding increase in the number of papers that present some level of statistical analysis to support their arguments. This poster introduces a project that is exploring how -- and how well -- statistics are used and reported in computing education research.

Publisher's Version Article Search
Managing Assignment Feedback via Issue Tracking
Richard Glassey
(KTH, Sweden)
This poster provides insight into the use of an issue tracker for the management of assignment feedback within an introductory course in computer science (CS). Students have made use of Github for three successive years, and the issue tracker has become one of the key mechanisms for managing formative feedback. This approach has yielded three key benefits: increased student engagement in their own feedback; provided an early experience of an authentic and industry desirable communication skill; and created a means to oversee and learn from feedback discussions for the teaching team.

Publisher's Version Article Search
Experiences and New Alternatives for Teaching Formal Verification of Java Programs
Ana Romero and Jose Divasón
(Universidad de La Rioja, Spain)
Formal verification of algorithms is traditionally taught in Computer Science studies in a theoretical way by means of the Hoare logic axioms and doing (by hand) exercises of verification of small programs. This work shows our experience with Krakatoa, an automatic theorem prover which allows students to interactively visualize the steps required to prove the correctness of a program.

Publisher's Version Article Search
Towards Bespoke Creative Coding Curricula: Mapping Structure and Content in Tertiary Graphic Design Education Programming Courses
Stig Møller Hansen
(Aarhus University, Denmark)
This poster presents an analysis of structure and content in introductory programming courses taught at tertiary art and design schools. Part of a more extensive study, the analysis provides a foundation for critically discussing how teaching programming to graphic design students can be improved.

Publisher's Version Article Search

Posters 2

Lessons Learned from Developing Advanced Topics for Broad Use
Lillian Cassel, Don Goelman, Paula Matuszek, Mary Angela Papalaskari, Michael Posner, Thomas Way, Darina Dicheva, and Christo Dichev
(Villanova University, USA; Winston-Salem State University, USA)
Two faculty teams worked to develop significant content that could be presented in a variety of contexts to students with interests in many areas. This poster reports on the opportunities and the challenges encountered.

Publisher's Version Article Search
iScheduler: Intelligent Scheduling System for Academic Institutions
Raymond Alavo, Raman Adaikkalavan, and Hossein Hakimzadeh
(Indiana University at South Bend, USA)
Resource management and intelligent scheduling is a complex problem for university administrators and especially for smaller academic units. These units and institutions often are unable to accurately predict future scheduling needs, because they mainly rely on historical schedule and institutional memory as opposed to actionable data. This leads to a variety of issues. For example, when courses have to be cancelled at the last minute due to low enrollment the cascading effects impact student progress towards graduation, retention, faculty schedule, etc. In this poster, we present iScheduler, a web-based tool, to allow unit administrators to create data-informed course schedules, reducing the need for unplanned, last minute cancellation of courses. iScheduler was initiated as a class project and partially implemented as part of a graduate student project.

Publisher's Version Article Search
Data Jam: Introducing High School Students to Data Science
Saman Haqqi, Raja Sooriamurthi, Brian Macdonald, Cheryl Begandy, Judy Cameron, Berni Pirollo, Evan Becker, Jacqueline Choffo, Christopher Davis, Margaret Farrell, Jennifer Lundahl, Laura Marshall, Kyle Wyche, and Aaron Zheng
(IBM, USA; Carnegie Mellon University, USA; Teradata, USA; Pittsburgh Supercomputing Center, USA; University of Pittsburgh, USA; Pittsburgh Data Works, USA)
At the present, there is a significant lack of programs or resources at the high school level to prepare students for a data driven future. Data Jam is a high school outreach program, that introduces students to data science. The program is organized by members of academia (Carnegie Mellon University, University of Pittsburgh) and industry and research (IBM, Teradata, Pittsburgh Computing Center). Over a period of four months (Oct-Feb of the school year), teachers and students explore the concepts of data science and big data via workshops, exercises, a field trip, and a team project. Data Jam is currently in its fifth year. Participation has grown from an initial pool of seven teams to twenty-five teams last year. Based on teacher and student feedback, we are pleased with the program's success. This poster discusses the goals and structure of Data Jam, its execution, participant feedback, and lessons learned.

Publisher's Version Article Search
Cheat Me Not: Automated Proctoring of Digital Exams on Bring-Your-Own-Device
Gosia Migut, Dennis Koelma, Cees G. M. Snoek, and Natasa Brouwer
(University of Amsterdam, Netherlands)
Detecting fraud in digital assessment is currently done by human proctor, that observes recordings of the exam. This is costly, tedious and time consuming process. In this paper we present preliminary results on automated video proctoring, which has the potential to significantly reduce manual effort and scale-up digital assessment, while retaining good fraud detection.

Publisher's Version Article Search
Code-Sharing Networks of Non-STEM Students: The Case of Data Science Minor
Ilya Musabirov and Alina Bakhitova
(National Research University Higher School of Economics, Russia)
In this work-in-progress report, we outline the first results from our study of collaboration networks in a two-year Data Science minor for non-STEM students at the Higher School of Economics, St. Petersburg, Russia.

Publisher's Version Article Search
Inclusion of Blockchain in Course of Distributed Systems at the School of Computer Science
Jorge Guerra Guerra and Felix Armando Fermin Perez
(National University of San Marcos, Peru)
This poster shows the implementation of Blockchain's topics oriented to the use of Internet of Things in the Distributed Systems course of the School of Systems Engineering of the Universidad Nacional Mayor de San Marcos in Lima, Peru.

Publisher's Version Article Search
Implementing a Competency-Based Information Technology Curriculum: Challenges and Opportunities
Mihaela Sabin
(University of New Hampshire, USA)
ACM and IEEE Computer Society released new curriculum guidelines for baccalaureate degree programs in Information Technology, also known as the IT2017 report. Built on the foundation of the first ACM/IEEE IT2008 report, the new report, published in December 2017, stands out by its focus on employer-informed competencies that IT graduates should have in order to meet technological challenges of the workplace in the next decade. This poster highlights elements of the IT2017 curricular framework that help academic departments apply a competency-based approach to IT program development. Although competencies are prevalent in many areas of professional practice, placing competencies at the center of IT curriculum development requires rethinking of how we design learning environments in which students achieve IT competencies. In this poster I present some challenges with implementing the IT2017 curricular framework and discuss opportunities for turning the IT2017 report into a living document that learns from IT programs' implementation experiences.

Publisher's Version Article Search
Assessing Attention in Visual and Textual Programming using Neuroeducation Approaches
Spyridon Doukakis, Mary Angela Papalaskari, Panayiotis Vlamos, Antonia Plerou, and Panagiota Giannopoulou
(Ionian University, Greece; Villanova University, USA)
This poster will present results from an EEG study comparing visual and textual programming, carried out on informatics students. We observe brain rhythms as the subjects complete programming tasks using Python and Scratch. The present study belongs in the domain of Neuroeducation/Educational Neuroscience, which is an attempt to join cognitive science and education in order to create a sound grounding of education. Our goal is to gain a better understanding of different types of programming as one of the parameters that can impact professional involvement in software development, so as to help us formulate educational methodologies in software engineering education.

Publisher's Version Article Search
Psychometric Computational Thinking Test
Julio Santisteban and Jennifer Santisteban-Muñoz
(Universidad Católica San Pablo, Peru)
The recent widespread popularity of computational thinking (CT) has raised the need for a reliable method for assessing it. Recent CT tests focus on programming skills rather than the analytical ability and problem-solving processes in science, philosophy and other areas of knowledge.
This poster presents the results (Test design) of an ongoing project that has developed a Psychometric Computational Thinking Test (PCTT) which has three phases: test design, test implementation and applying the test. In regards to the PCTT design, the reliability and validity of the test were based on content and construct validity which also includes its rating scales for its application.
This work makes two contributions: (1) a standardized CT Test design incorporating psychometric techniques as well as computational techniques and (2) the inclusion of open-ended questions and their assessment with V of Aiken in order to validate responses.

Publisher's Version Article Search
Crafting Engaging Programming Experiences for Young People in GLAM Spaces: The iOi-Sphere
Alcwyn Parker and Michael James Scott
(Falmouth University, UK)
The renewed emphasis on computing at schools in the UK sheds light on challenges with programming pedagogy; for example, poor recruitment and retention. This poster introduces the physical programming education installation at the Institute of Imagination: the iOi-Sphere. It then outlines future research into a supporting development environment and curriculum for ages 5-16.

Publisher's Version Article Search

proc time: 16.64