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 – Advance Table of Contents

Contents - Abstracts - Authors

Frontmatter

Title Page

Message from the Chairs

Committees

Sponsors


Main Track

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)
Abstract: 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.


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.
Article Search
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.
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.


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


Article Search
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.
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.
Article Search Info
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.
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 ninetytwo 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 (approximately one tenth of the way through). Since then PreSS has been used on a small scale to identify students at risk of failing, but has never been revalidated to any great extent (e.g. across a multitude of institutions or academic levels). 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 and pilot studies (which laid the foundations for this study) and the re-validation and replication study of the PreSS model.
Article Search
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.
Article Search
Bringing Together Undergraduate and Postgraduate Students in Software Engineering Team Project: Experiences and Lessons
Georgia 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.
Article Search
Relationship between Computational Thinking and a Measure of Intelligence as a General Problem-Solving Ability
Kay-Dennis Boom, Matt Bower, Amael 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.
Article Search
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.
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.
Article Search
Measuring Software Engineering Processes with Teamwork Telemetry for Project Evaluation
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.


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.
Article Search
Analyzing Rich Qualitative Data to Study Pencil-Puzzle-Based Assignments in CS1 and CS2
Zack Butler, Ivona Bezakova, and Kimberly Fluet
(Rochester Institute of Technology, USA; University of Rochester, 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.
Article Search
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.
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.
Article Search
Automatic Assessment of OpenGL Computer Graphics Assignments
Burkhard Wuensche, 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.
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.
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.
Article Search Info
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.
Article Search
Gender, Confidence, and Mark Prediction in CS Examinations
Brian Harrington, Shichong Peng, Xiaomeng Jin, and Minhaz Khan
(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.
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.
Article Search
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.
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.


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.
Article Search
Syntax Error Based Quantification of the Learning Progress of the Novice Programmer
Alireza Ahadi, Luke Mathieson, and Raymond Lister
(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 http://online-analysis-demo.herokuapp.com/.
Article Search
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.
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.
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.


Article Search
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.
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.
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.
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.
Article Search Info
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.


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.
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.
Article Search
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.
Article Search
Where Exactly Are the Difficulties in Logical Code Reasoning? Experimentation with an Online System
Michelle Cook, Megan Fowler, Jason Hallstrom, Joseph 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.
Article Search Info
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.
Article Search
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.
Article Search Info
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
Article Search
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 categorically 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.
Article Search
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.
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.
Article Search
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.
Article Search
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.
Article Search
A Community Model of CSforALL: Analysis of Community Commitments for CS Education
Leigh Ann Delyser
(CSforALL, USA)
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.
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.
Article Search
A Multi-institution Exploration of Peer Instruction in Practice
Cynthia Taylor, David Bunde, Jaime Spacco, Leo Porter, Andrew Petersen, and Soohyun Nam Liao
(University of Illinois at Chicago, USA; Knox College, USA; University of California at San Diego, USA; University of Toronto, Canada)
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.
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.
Article Search
Teaching the Societal Consequences of Computer Science
Bill Cowan, Elodie Fourquet, and Marta Kryven
(University of Waterloo, Canada; Colgate University, USA; MIT, 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 our 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.
Article Search
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.
Article Search

Short Papers

A Technique for Translation from Problem to Code
Susan Rodger, Andrew Hilton, and Genevieve Lipp
(Duke University, USA)

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.
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.
Article Search
How Statistics Are Used in Computing Education Research
Kate Sanders, Sally Hamouda, Brett Becker, Anna Eckerdal, Robert McCartney, Judy Sheard, and Simon
(Rhode Island College, USA; University College Dublin, Ireland; Uppsala University, Sweden; Department of Computer Science and Engineering, University of Connecticut, USA; Monash University, Australia; University of Newcastle, Australia)

Article Search
Experiences and New Alternatives for Teaching Formal Verification of Java Programs
Ana Romero and Jose Divason
(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.


Article Search
Data Jam: Introducing High School Students to Data Science
Raja Sooriamurthi
(Carnegie Mellon University, USA)

Article Search
Cheat Me Not: Automated Proctoring of Digital Exams on Bring-Your-Own-Device
Gosia Migut, Dennis Koelma, Cees Snoek, and Natasa Brouwer
(University of Amsterdam, Netherlands)

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)

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)

Article Search
Real-World Case-Study Based Hands-on Learning for Secure Software Programming
Kai Qian, Dan Lo, Fan Wu, Prabir Bhattacharya, and Bei-Tseng Chu
(Kennesaw State University, USA; Tuskegee University, USA; Morgan State University, USA; UNC Charlotte, USA)

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.


Article Search
Student Based Program Development
Viggo Kann and Örjan Ekeberg
(KTH Royal Institute of Technology, Sweden)

Article Search
Managing Assignment Feedback via Issue Tracking
Richard Glassey
(KTH: Royal Institute of Technology, Sweden)

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)

Article Search
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)
Recognizing that formerly advanced topics, or topics depending on long lists of prerequisites, are increasingly important to students of many disciplines, 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.
Article Search
Inclusion of Blockchain in Course of Distributed Systems at the School of Computer Science
Jorge Guerra and Felix Armando Fermin Perez
(UNMSM, Peru; UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS, Peru)

Article Search
Psychometric Computational Thinking Test
Julio Santisteban Pablo and Jennifer Santisteban Munoz
(Universidad Católica San Pablo, Peru)

Article Search
iScheduler: Intelligent Scheduling System for Academic Institutions
Raymond Alavo, Raman Adaikkalavan, and Hossein Hakimzadeh
(Indiana University at South Bend, USA)

Article Search
Informatics Study Day: Helping CS Students Become Better Students
Madeleine Lorås and Trond Aalberg
(Norwegian University of Science and Technology, 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.
Article Search
Crafting Engaging Programming Experiences for Young People in GLAM Spaces: The iOi-Sphere
Alcwyn Parker and Michael Scott
(Falmouth University, UK)

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.
Article Search
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.
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.
Article Search
Code Reviews in Large, First-Year Courses
Andrew Petersen and Daniel Zingaro
(University of Toronto, Canada)

Article Search
Board of Symbols: A Tool for Teaching Programming
Stephan Euler
(TH Mittelhessen, 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.
Article Search Info
Introducing Big-Data Analytics in High School and College
Raja Sooriamurthi
(Carnegie Mellon University, USA)

Article Search
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.
Article Search
Improving Students’ Engagement with Large-Team Software Development Projects
Mirela Gutica
(British Columbia Institute of Technology, Canada)

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 and also simplify course planning.
Article Search
A Guideline to Teach Agile Requirements
Isabelle Blasquez and Hervé Leblanc
(Limoges University, 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.
Article Search
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)

There is widespread acceptance of the use of national benchmarks to measure student engagement, 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. The performance of Computer Science (CS) on these benchmarks has generally been poor over a number of years  []. In fact CS performance is consistently poor across a range of instruments and shows little sign of improvement  []. It is also difficult to argue that the inherent technical nature of the CS discipline is the reason for this poor performance as related STEM disciplines consistently rate more highly on many measures.

An understanding of the nature of the issues that result in our students rating their engagement with their CS studies as being poor across multiple survey instruments is needed. It is essential that we identify ways to enhance the student experience in CS courses in order to improve outcomes and retention. In addition, since student engagement measures are widely distributed and help students and parents to make decisions on which courses to study, it is important to understand why CS students rate CS courses as not meeting their expectations if we are to improve the performance of the computing discipline on these national benchmarks.

Previous work  [] has suggested that CS academics have a wide variety of views on the nature of student engagement, address student engagement with a wide variety of strategies, and generally lack an awareness of underpinning theories and measures related to student engagement. In addition CS academics have little knowledge of the specific national student engagement survey instruments used in their country or of the specific questions and measures they contain. The CS academic view of student engagement is an important aspect of understanding this issue, however it is not the only relevant perspective. What is missing is the student voice and a deeper understanding of why students rate their experience so poorly. We are also interested in how the views of CS academics on student engagement compare with the views of CS students. Therefore it is essential to seek the perspectives of both sides of the dialogue primarily responsible for creating the student experience, CS students and CS academics.

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. The main research question is:

What is the alignment between CS student and CS academic perspectives on student engagement?

In order to examine this question we seek to understand:

  1. How do CS students view student engagement in general?
  2. How do CS academics view student engagement in general?
  3. How do CS students describe their own engagement experience in their CS subjects?
  4. How do CS academics rate the student engagement experience in their own CS subjects?
  5. What is the nature of activities where CS students have experienced being highly engaged from both student and academic perspectives?
  6. What is the nature of activities where CS students have experienced being highly disengaged from both student and academic perspectives?
  7. How do CS students and academics respond to specific questions on student engagement extracted from national benchmarks?

The working group will facilitate international input to the following activities in order to address the research questions:

The Working Group aims to achieve a better understanding of any areas of misalignment between what CS students experience, expect and need in terms of student engagement in their courses and the views of CS academics. We hope to identify any specific issues that could be targeted to improve the student engagement experience for our students. This could lead to evidence-based recommendations to improved the performance of CS internationally, resulting in better learning outcomes, student retention and results in student engagement benchmarks.


Article Search
Global Perspectives on Cybersecurity Education
Allen Parrish, John Impagliazzo, Rajendra Raj, Henrique Santos, Muhammad Rizwan Asghar, Audun Josang, Teresa Pereira, Vitor Sa, 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; University of Central Lancashire Cyprus, Cyprus)

Article Search
A Review of Novice Programming Research 2003 -- 2017
Andrew Luxton-Reilly, Simon, Judy Sheard, Brett Becker, Michail Giannakos, James Paterson, Michael Scott, Ibrahim Albluwi, Amruth Kumar, Linda Ott, and Claudia Szabo
(University of Auckland, New Zealand; University of Newcastle, Australia; Monash University, Australia; University College Dublin, Ireland; Norwegian University of Science and Technology, Norway; Glasgow Caledonian University, UK; Falmouth University, UK; Princeton University, USA; Ramapo College of New Jersey, USA; Michigan Technological University, USA; University of Adelaide, Australia)
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.
Article Search
An International Investigation into Student Concerns Regarding Transition into Higher Education
Mark Zarb, Richard Glassey, Bedour Alshaigy, Janet Hughes, Dennis Bouvier, Charles Riedesel, and Joseph A. Abandoh-Sam
(Robert Gordon University, UK; KTH Royal Institute of Technology, Sweden; Oxford-Brookes University, UK; Open University, UK; Southern Illinois University, USA; University of Nebraska Lincoln, USA; Valley View University, Ghana)
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.
Article Search
Cloud Computing: Developing Contemporary Computer Science Curriculum for a Cloud-First Future
Derek Foster, Laurie White, Joshua Adams, Stanislav Kurkovsky, Cenk Erdil, Lee Stott, Harvey Hyman, and Majd Sakr
(University of Lincoln, UK; Google, USA; Saint Leo University, USA; Central Connecticut State University, USA; Sacred Heart University, USA; Microsoft, USA; University of South Florida, USA; Carnegie Mellon University, USA)

Article Search
Modeling Global Competencies for Computing Education
Stephen Frezza, Arnold Pears, Mats Daniels, Viggo Kann, Amanpreet Kapoor, Roger McDermott, Anne-Katherine Peters, Charles Wallace, Mihaela Sabin, and Åsa Cajander
(Gannon University, USA; KTH Royal Institute of Technology, Sweden; Uppsala University, Sweden; University of Florida, USA; Robert Gordon University, Aberdeen, UK; Michigan Tech, USA; University of New Hampshire, Manchester, USA)

Article Search
Taxonomizing Features and Methods for Identifying At-risk Students in Computing Courses
Mirela Gutica, Arto Hellas, Petri Ihantola, Juho Leinonen, Chris Messom, Andrew Petersen, Vangel V. Ajanovski, Timo Hynninen, Antti Knutas, and Soohyun Nam Liao
(British Columbia Institute of Technology, Canada; University of Helsinki, Finland; Monash University, Australia; University of Toronto Mississauga, Canada; Ss Cyril and Methodius University, Macedonia; Lappeenranta University of Technology, Finland; Lero, the Irish Software Research Centre, Ireland; University of California San Diego, USA)

Article Search
The Internet of Things in CS Education: Updating Curricula and Exploring Pedagogy
Barry Burd, Lecia Barker, Monica Divitini, Felix Armando Fermin Perez, Ingrid Russell, Bill Siever, Liviana Tudor, Jorge Guerra, Michael McCarthy, and Ian Pollock
(Drew University, USA; University of Colorado Boulder, USA; Norwegian University of Science and Technology, Norway; National University of San Marcos, Peru; University of Hartford, USA; Washington University in St. Louis, USA; Petroleum-Gas University of Ploiesti University; Politehnica of Bucharest, Romania; Carnegie Mellon University, USA; California State University Easy Bay, USA)
Abstract: 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.

Article Search
Promoting the Adoption of Educational Innovations
David Bunde, Cynthia Taylor, Jaime Spacco, Francesco Maiorana, Heather Bort, Christopher Hovey, Zack Butler, Thomas Zeume, and Martina Barnas
(Knox College, USA; University of Illinois at Urbana-Champaign, USA; University of Catania, Italy; Marquette University, USA; University of Colorado, Boulder, USA; Rochester Institute of Technology, USA; Technische Universität Dortmund, Germany; Indiana University, USA)

Article Search
50 Years of Software Engineering
Bruce Scharlau, Åsa Cajander, Janet Hughes, and Stephan Krusche
(University of Aberdeen, UK; Uppsala University, Sweden; Open University, UK; TUM, Germany)

Article Search

proc time: 0.29