scispace - formally typeset
Search or ask a question

Showing papers in "ACM Transactions on Computing Education in 2015"


Journal ArticleDOI
TL;DR: It is found that the programming knowledge and experience of students who had learned Scratch greatly facilitated learning the more advanced material in secondary school: less time was needed to learn new topics, there were fewer learning difficulties, and they achieved higher cognitive levels of understanding of most concepts.
Abstract: Computer science (CS) activities for young students are widely used, particularly visual programming environments. We investigated the use of the Scratch environment for teaching CS concepts to middle school students. In a previous article [Meerbaum-Salant et al. 2013], we reported on the extent to which the CS concepts were successfully learned. In this article, we look at the transition from studying CS with the visual Scratch environment in middle school to studying CS with a professional textual programming language (Cn or Java) in secondary school. We found that the programming knowledge and experience of students who had learned Scratch greatly facilitated learning the more advanced material in secondary school: less time was needed to learn new topics, there were fewer learning difficulties, and they achieved higher cognitive levels of understanding of most concepts (although at the end of the teaching process, there were no significant differences in achievements compared to students who had not studied Scratch). Furthermore, there was increased enrollment in CS classes, and students were observed to display higher levels of motivation and self-efficacy. This research justifies teaching CS in general and visual programming in particular in middle schools.

188 citations


Journal ArticleDOI
TL;DR: The Scalable Game Design curriculum is developed based on a strategy to integrate CS education into the regular school curriculum and an approach called Computational Thinking Pattern Analysis has been developed to measure and correlate computational thinking skills relevant to game design and simulations.
Abstract: An educated citizenry that participates in and contributes to science technology engineering and mathematics innovation in the 21st century will require broad literacy and skills in computer science (CS). School systems will need to give increased attention to opportunities for students to engage in computational thinking and ways to promote a deeper understanding of how technologies and software are used as design tools. However, K-12 students in the United States are facing a broken pipeline for CS education. In response to this problem, we have developed the Scalable Game Design curriculum based on a strategy to integrate CS education into the regular school curriculum. This strategy includes opportunities for students to design and program games and science technology engineering and mathematics simulations. An approach called Computational Thinking Pattern Analysis has been developed to measure and correlate computational thinking skills relevant to game design and simulations. Results from a study with more than 10,000 students demonstrate rapid adoption of this curriculum by teachers from multiple disciplines, high student motivation, high levels of participation by women, and interest regardless of demographic background.

148 citations


Journal ArticleDOI
TL;DR: The introduction of Rugby and Tornado significantly increased students’ technical skills, especially with respect to software engineering, usability engineering, and configuration management, as well as their nontechnical skills such as communication with the client, teamwork, presentation, and demo management.
Abstract: There is an acknowledged need for teaching realistic software development in project courses. The design space for such courses is wide, ranging from single-semester to two-semester courses, from single-client to multicustomer courses, from local to globally distributed courses, and from toy projects to projects with real clients. The challenge for a nontrivial project course is how to make the project complex enough to enrich students’ software engineering experience, yet realistic enough to have a teaching environment that does not unduly burden students or the instructor. We describe a methodology for project courses that is realizable for instructors, improves students’ skills, and leads to viable results for industry partners.In particular, recent advances in release management and collaboration workflows reduce the effort of students and instructors during delivery and increase the quality of the deliverables. To enable release and feedback management, we introduce Rugby, an agile process model based on Scrum that allows reacting to changing requirements. To improve early communication, we use Tornado, a scenario-based design approach that emphasizes the use of informal models for the interaction between clients and students. The combination of Rugby and Tornado allows students to deal with changing requirements, produce multiple releases, and obtain client feedback through the duration of the course.We describe our experience with more than 300 students working on 40 projects with external clients over a 4-year period. In the latest instance of our course, the students have produced more than 7000 builds with 600 releases for eleven clients. In an evaluation of the courses, we found that the introduction of Rugby and Tornado significantly increased students’ technical skills, especially with respect to software engineering, usability engineering, and configuration management, as well as their nontechnical skills such as communication with the client, teamwork, presentation, and demo management. Finally, we discuss how other instructors can adapt the course concept.

115 citations


Journal ArticleDOI
TL;DR: Results indicate that working on an HFOSS project increases interest in computing and students perceive that they are gaining experience in developing software in a distributed environment with the attendant skills of communication, distributed teamwork, and more.
Abstract: Providing students with the professional, communication, and technical skills necessary to contribute to an ongoing software project is critical, yet often difficult in higher education. Involving student teams in real-world projects developed by professional software engineers for actual users is invaluable. Free and Open Source Software (FOSS) has emerged as an important approach to creating, managing, and distributing software products. Involvement in a FOSS project provides students with experience developing within a professional environment, with a professional community, and has the additional benefit that all communication and artifacts are publicly accessible. Humanitarian Free and Open Source Software (HFOSS) projects benefit the human condition in some manner. They can range from disaster management to microfinance to election-monitoring applications. This article discusses the benefits and challenges of students participating in HFOSS projects within the context of undergraduate computing degree programs. This article reports on a 6-year study of students' self-reported attitudes and learning from participation in an HFOSS project. Results indicate that working on an HFOSS project increases interest in computing. In addition, students perceive that they are gaining experience in developing software in a distributed environment with the attendant skills of communication, distributed teamwork, and more.

66 citations


Journal ArticleDOI
TL;DR: Investigating how the pedagogical approach of the course in combination with student achievement goals relates to exam grades, interest in the subject matter, and course enjoyment suggests that PI may improve the level of subject-matter interest for some students.
Abstract: Computer Science 1 (CS1), the first course taken by college-level computer science (CS) majors, has traditionally suffered from high failure rates. Efforts to understand this phenomenon have considered a wide range of predictors of CS success, such as prior programming experience, math ability, learning style, and gender, with findings that are suggestive but inconclusive. The current quasiexperimental study extends this research by exploring how the pedagogical approach of the course (traditional lecture vs. Peer Instruction (PI) and clickers) in combination with student achievement goals (mastery goals vs. performance goals) relates to exam grades, interest in the subject matter, and course enjoyment. The research revealed that students with performance goals scored significantly lower on final exams in both the lecture and PI conditions. However, students with performance goals reported higher levels of subject matter interest when taught through PI. Students with mastery goals, in both conditions, scored significantly higher on the final exam, had higher levels of interest, and reported higher levels of course enjoyment than their performance-oriented counterparts. The results suggest that PI may improve the level of subject-matter interest for some students, thereby indicating the importance of studying pedagogical approach as we seek to understand student outcomes in CS1.

63 citations


Journal ArticleDOI
TL;DR: A set of case studies from different countries that would describe all relevant aspects of specific implementations of Computer Science Education in K-12 schools and a short summary of the Darmstadt Model, which was suggested to serve as a structuring principle of the case studies are given.
Abstract: Aiming to collect various concepts, approaches, and strategies for improving computer science education in K-12 schools, we edited this second special issue of the ACM TOCE journal. Our intention was to collect a set of case studies from different countries that would describe all relevant aspects of specific implementations of Computer Science Education in K-12 schools. By this, we want to deliver well-founded arguments and rich material to the critical discussion about the state and the goals of K-12 computer science education, and also provide visions for the future of this research area. In this editorial, we explain our intention and report some details about the genesis of these special issues. Following, we give a short summary of the Darmstadt Model, which was suggested to serve as a structuring principle of the case studies. The next part of the editorial presents a short description of the five extended case studies from India, Korea, NRWsGermany, Finland, and USA that are selected to be included in this second issue. In order to give some perspectives for the future, we propose a set of open research questions of the field, partly derived from the Darmstadt Model, partly stimulated by a look on large-scale investigations like PISA.

61 citations


Journal ArticleDOI
TL;DR: The results of a long-term investigation on the subject are presented, focusing on a study exploring undergraduate students’ conceptions on “ objects” and “classes,” with implications for achieving a deep conceptual understanding of text, action, and modeling aspects of these fundamental concepts.
Abstract: The Object-Oriented Programming (OOP) technique is nowadays the most popular programming technique among tertiary education institutions. However, learning OOP is a cognitively demanding task for undergraduate students. Several difficulties and misconceptions have been recorded in the literature for both OOP concepts and languages, mainly Java. This article focuses on reviewing and advancing research on the most fundamental OOP concepts, namely, the concepts of “object” and “class” and their role during program execution. The results of a long-term investigation on the subject are presented, focusing on a study exploring undergraduate students’ conceptions on “objects” and “classes.” The study advances related research on categories of conceptions on “objects” and “classes” by providing quantitative results, in addition to qualitative results, regarding the frequency of the recorded conceptions. Nearly half the students seem to comprehend the modeling and staticsdynamic aspects of the concepts “object” and “class.” Implications for achieving a deep conceptual understanding of text, action, and modeling aspects of these fundamental concepts are also discussed. Information regarding the programming environments utilized in the course and key features of the applied teaching approach are presented, in order to facilitate both a better understanding of the context and a better employment of the results of the presented study. Finally, proposals for enhancing the contribution of this and similar studies are made.

49 citations


Journal ArticleDOI
TL;DR: An overview of the past and current situation of CS education in North-Rhine Westphalia, including lessons learned through efforts to introduce and to maintain CS in secondary education, focuses on the differential school system and the educational landscape ofCS education.
Abstract: In North-Rhine Westphalia, the most populated state in Germany, Computer Science (CS) has been taught in secondary schools since the early 1970s. This article provides an overview of the past and current situation of CS education in North-Rhine Westphalia, including lessons learned through efforts to introduce and to maintain CS in secondary education. In particular, we focus on the differential school system and the educational landscape of CS education, the different facets of CS teacher education, and CS education research programs and directions that are directly connected with these aspects. In addition, this report offers a rationale for including CS education in general education, which includes the educational value of CS for students in today’s information and knowledge society. Through this article, we ultimately provide an overview of the significant elements that are crucial for the successful integration of CS as a compulsory subject within secondary schools.

43 citations


Journal ArticleDOI
TL;DR: Relationships between media, mood, and communication in teams, and how they are related to project success are investigated, and a number of recommendations for course organizers are made.
Abstract: This article investigates relationships between media, mood, and communication in teams, and studies how they are related to project success. Team projects are an essential part of the software engineering curriculum. Student teams carry out full software projects, including requirements elicitation, project management, implementation, and testing. This requires various technical skills, but non-technical and psychological aspects are of utmost importance as well, just as in professional software teams. Modern software is often developed by distributed teams. In many cases, team members feel isolated and distant from each other. Indirect communication and inappropriate media create a similar feeling of distance as geographical location. This perceived distance could have an impact on their individual and group moods, and eventually on project success. Therefore, these factors should be considered in educational software engineering team projects.In a longitudinal study at Leibniz Universitat Hannover, 20 student teams were observed over a period of 4 months. They were free to schedule team meetings when and where they wanted; and they could use any communication media they chose. Statistical correlations and non-parametric test are used for quantitative empirical analysis. Furthermore, we used analyses of variance for repeated measures to investigate conflicts over time. Results led to a number of recommendations for course organizers. They are interesting for software engineering in general.

32 citations


Journal ArticleDOI
TL;DR: This special issue takes a step towards improving web development representation in computing curricula and computing education research with three articles on web development education.
Abstract: Despite its prevalence in computing, web development is underrepresented in computing curricula and computing education research. This special issue takes a step towards improving its representation with three articles on web development education. Drawing upon diverse methods from a variety of contexts, the articles address challenges of teaching web development and common difficulties students encounter when learning particular concepts. All three articles identify web development as a promising avenue for motivating students in their study of computing.

29 citations


Journal ArticleDOI
TL;DR: A study of undergraduate students enrolled in an introductory web development course taken by both computing majors and general education students is described, revealing that nearly all students made syntax errors that remained unresolved in their assessments, and that these errors continued weeks into the course.
Abstract: Many people are first exposed to code through web development, yet little is known about the barriers beginners face in these formative experiences. In this article, we describe a study of undergraduate students enrolled in an introductory web development course taken by both computing majors and general education students. Using data collected during the initial weeks of the course, we investigate the nature of the syntax errors they make when learning HTML and CSS, and how they resolve them. This is accomplished through the deployment of openHTML, a lightweight web-based code editor that logs user activity. Our analysis reveals that nearly all students made syntax errors that remained unresolved in their assessments, and that these errors continued weeks into the course. Approximately 20p of these errors related to the relatively complex system of rules that dictates when it is valid for HTML elements to be nested in one another. On the other hand, 35p of errors related to the relatively simple tag syntax determining how HTML elements are nested. We also find that validation played a key role in resolving errors: While the majority of unresolved errors were present in untested code, nearly all of the errors that were detected through validation were eventually corrected. We conclude with a discussion of our findings and their implications for computing education.

Journal ArticleDOI
TL;DR: After two spring semesters of operation, the Department of Computer Science at the University of Helsinki has observed that there are school students dispersed around Finland who are ready and willing to take on a challenging programming course online, and bridging the MOOC to a full study right makes a strong incentive to keep working on the programming assignments, even without traditional teaching.
Abstract: The Finnish national school curriculum, effective from 2004, does not include any topics related to Computer Science (CS). To alleviate the problem that school students are not able to study CS-related topics, the Department of Computer Science at the University of Helsinki prepared a completely online course that is open to pupils and students in all schools in Finland. The course is a Massive Open Online Course (MOOC), as the attendance scales without an upper bound. Schools in Finland have offered the MOOC as an elective CS course for their students and granted formal school credits for completing (parts of) it. Since our MOOC is exactly the same programming course as our university-level CS1 course, we are able to use the MOOC also as a long-lasting entrance exam to the CS BSc and MSc degrees. After two spring semesters of operation, we have observed that there are school students dispersed around Finland who are ready and willing to take on a challenging programming course online, and bridging the MOOC to a full study right makes a strong incentive to keep working on the programming assignments, even without traditional teaching.

Journal ArticleDOI
TL;DR: A pedagogical framework for innovation attributes that can significantly predict-adoption of the CS subject among potential-adopter students and teachers is proposed and it is concluded that there is a very positive response for CS among educators and students in India.
Abstract: Computer science (CS) and its enabling technologies are at the heart of this information age, yet its adoption as a core subject by senior secondary students in Indian schools is low and has not reached critical mass. Though there have been efforts to create core curriculum standards for subjects like Physics, Chemistry, Biology, and Math, CS seems to have been kept outside the purview of such efforts leading to its marginalization. As a first step, using the Darmstadt model from the ITiCSE working group that provides a systematic categorization approach to CS education in schools, we coded and analyzed the CS situation for the Indian schools. Next, we focused on the motivation category of the Darmstadt model and investigated behavioral intentions of secondary school students and teachers from 332 schools in India. Considering the CS subject as an educational innovation, using Rogers’ Theory of Diffusion of Innovations, we propose a pedagogical framework for innovation attributes that can significantly predict-adoption of the CS subject among potential-adopter students and teachers. Data was analyzed to answer research questions about student and teacher intentions, influence of gender, school management, and school location in adopting CS. Interestingly, girls, urban students, teachers, and private schools were seen favoring the adoption of CS. An important issue that needed to be addressed, however, was the interchangeable use of terms like CS, Informatics, ICT, and digital literacy. Through our article, we offer a promising picture of the educational policy directives and the academic environment in India that is rapidly growing and embracing CS as a core subject of study in schools. We also analyze the factors that influence the adoption of CS by school students and teachers and conclude that there is a very positive response for CS among educators and students in India.

Journal ArticleDOI
TL;DR: The major causes of failure are found to be the absence of policy and a comprehensive evaluation method, which have led to a reduction in the selection ratio of computer-related subjects and in the number of students taking computer classes in Korean schools.
Abstract: Computer education has been provided for a long period of time in Korea. Starting as a vocational program, the content of computer education for students evolved to include content on computer literacy, Information Communication Technology (ICT) literacy, and brand-new computer science. While a new curriculum related to computer science was established in 2007, the range of computer education being provided in Korean schools has been repeatedly reduced. To identify the cause of this recent phenomenon, we review the computer education environment using the Darmstadt model, including educational systems, curricula, and teaching environments. Then we examine what factors affected the decline of computer education. The major causes of failure are found to be the absence of policy and a comprehensive evaluation method. These causes have led to a reduction in the selection ratio of computer-related subjects and in the number of students taking computer classes. Based on this understanding, we bring some fundamental message for establishing robust computer science education.

Journal ArticleDOI
TL;DR: The article summarizes how learning outcomes motivated by the inventory of reasoning principles lead to questions that in turn form the basis for a careful analysis of student understanding and for fine-tuning teaching interventions that together facilitate continuous improvements to instruction.
Abstract: Undergraduate computer science students need to learn analytical reasoning skills to develop high-quality software and to understand why the software they develop works as specified. To accomplish this central educational objective, this article describes a systematic process of introducing reasoning skills into the curriculum and assessing how well students have learned those skills. To facilitate assessment, a comprehensive inventory of principles for reasoning about correctness that captures the finer details of basic skills that students need to learn has been defined and used. The principles can be taught at various levels of depth across the curriculum in a variety of courses.The use of a particular instructional process is illustrated to inculcate reasoning principles across several iterations of a sophomore-level development foundations course and a junior-level software engineering course. The article summarizes how learning outcomes motivated by the inventory of reasoning principles lead to questions that in turn form the basis for a careful analysis of student understanding and for fine-tuning teaching interventions that together facilitate continuous improvements to instruction.

Journal ArticleDOI
TL;DR: The aim of this special issue is to collect and share evidence about the state-of-practice of team projects in computing education and to help educators in designing and running team projects.
Abstract: Team projects are a way to expose students to conflicting project objectives, and “ltrhere should be a strong real-world element … to ensure that the experience is realistic” [ACM/IEEE-CS 2015b]. Team projects provide students an opportunity to put their education into practice and prepare them for their professional careers. The aim of this special issue is to collect and share evidence about the state-of-practice of team projects in computing education and to help educators in designing and running team projects. From a record number of 69 submitted abstracts, 19 were invited to submit a full paper. Finally, nine papers were accepted for publication in this and a subsequent issue. The articles presented in the present issue cover the following topics: real projects for real clients, open source projects, multidisciplinary team projects, student and team assessment, and cognitive and psychological aspects of team projects.

Journal ArticleDOI
TL;DR: This article presents an assessment model that consists of a collection of assessment activities, each covering different aspects, that has been applied, developed, and improved during a 7yr period.
Abstract: In a modern computing curriculum, large-project courses are essential to give students hands-on experience of working in a realistic software engineering project. Assessing such projects is, however, extremely challenging. There are various aspects and trade-offs of assessments that can affect course quality. Individual assessments may fairly grade individuals, but may lose focus of the project as a group activity. Extensive teacher involvement is necessary for objective assessment, but may affect the way that students work. Continuous feedback to students can enhance learning, but may be hard to combine with fair assessment. Most previous work focuses on some specific assessment aspect; in this article, we present an assessment model that consists of a collection of assessment activities, each covering different aspects. We have applied, developed, and improved these activities during a 7yr period. To evaluate the usefulness of the model, we perform questionnaire-based surveys over a 2yr period. Furthermore, we design and execute an experiment that studies to what extent students can perform fair peer assessment and to what degree the assessments of students and teachers agree. We analyze the results, discuss findings, and summarize lessons learned.

Journal ArticleDOI
TL;DR: The evolution and results of collaborations among three courses about user interface design and implementation, an undergraduate CS course about usability and instructions writing, and a graduate CS/Human Factors course about user-interface evaluation and usability testing are described.
Abstract: Experience working in multidisciplinary teams is important both to prepare Computer Science (CS) students for industry and to improve their communication with teammates from disciplines other than their own. This article describes the evolution and results of collaborations among three courses: an undergraduate CS course about user interface design and implementation, an undergraduate Scientific and Technical Communication (STC) course about usability and instructions writing, and a graduate CS/Human Factors course about user-interface evaluation and usability testing. Students from all three courses work with scientists to complete the scientist-sponsored citizen science Android applications (apps). Students from the undergraduate CS and STC courses form multidisciplinary teams to design and implement apps, while the graduate students consult with the teams by evaluating and user-testing the apps. The collaboration's effectiveness was assessed using student surveys, interviews, and evaluations of student work. This article compares the collaboration within the teams and the coordination with the scientists across two years of activities in order to determine the effectiveness of course modifications. The article concludes with recommendations for improving the collaboration within teams and the coordination with clients in multidisciplinary course projects.

Journal ArticleDOI
TL;DR: Analysis of four areas that were perceived as difficult for students to grasp when learning Web development suggests that threshold concepts do exist within the subject and two candidates for the field of Web development are offered: basic programming principles and decomposition and abstraction.
Abstract: The field of Web development has evolved and diversified significantly in recent years, and narrowing the gap between the requirements of academia and the demands of industry remains a challenge. Moreover, many faculty members often struggle with knowing “how much” of a particular subject they should teach to their students and at what level. This small-scale, exploratory study seeks to uncover the existence of “threshold concepts” within Web development. Threshold concepts are the fundamental concepts which, once mastered, allow a learner to progress to a deeper understanding of a subject. An online questionnaire was sent out to 24 instructors within UK higher education institutions who teach Web development subjects. Nine participants responded to the questionnaire and interviews were conducted with five to discuss and expand on the responses provided, resulting in the identification of four areas that were perceived as difficult for students to grasp when learning Web development. Analysis of these areas suggests that threshold concepts do exist within the subject and we offer up two candidates for the field of Web development: basic programming principles and decomposition and abstraction. Designing a curriculum based on threshold concepts and less on the latest methods, tools, and techniques can go a long way in helping students to become experts in their chosen discipline.

Journal ArticleDOI
TL;DR: It is shown that not only are these benchmarks easily adapted for the classroom, but also that in some cases, student assignments matched published state-of-the-art performance, which provides strong evidence to support the effectiveness of the proposed exercise design.
Abstract: This article concerns the design of effective computer vision programming exercises and presents a novel means of designing these assignments. We describe three recent case studies designed to evaluate the effectiveness of assigning graduate-level computer vision students with publicly available research benchmarks as competitive assignments. This was done rather than assigning more traditional exercises that require students to implement specific algorithms or applications. We allowed our students the freedom of designing or choosing their own methods, with the goal of obtaining the best performance on the benchmark chosen for each assignment. Students, therefore, competed against each other, as well as published state of the art. We detail the design, application, and results of these benchmark exercises. We show that not only are these benchmarks easily adapted for the classroom, but also that in some cases, student assignments matched published state-of-the-art performance. This observation provides strong evidence to support the effectiveness of the proposed exercise design. We conclude by discussing the benefits and drawbacks of these exercises compared to those traditionally employed in computer vision classrooms.

Journal ArticleDOI
TL;DR: This editorial marks the end of the founding co-editors-in-chief of the ACM Transactions on Computing Education (TOCE) with a retrospective on how it positioned TOCE, both in terms of how it embodies the authors' conception of Computing Education Research (CER) as a field, as well as the journal's role in the larger computing education community and theACM.
Abstract: This editorial marks the end of our tenure as founding co-editors-in-chief of the ACM Transactions on Computing Education (TOCE). We have three goals in this editorial. First, we provide a retrospective on how we positioned TOCE, both in terms of how it embodies our conception of Computing Education Research (CER) as a field, as well as the journal's role in the larger computing education community and the ACM. We focus on the process by which we determined what constitutes publishability for a manuscript submitted to TOCE, describing what is best understood as a living process negotiated among the authors, reviewers, associate editors, and editors-in-chief in interaction with manuscripts and one another. Second, having reviewed a bit of history, we look at some possible changes in TOCE's future, particularly in light of conversations that the ACM is engaged in at all levels regarding recent open publishing initiatives as well as the relationship between journal and conference publications. Finally, we thank the many people who have contributed to the success of TOCE for their significant effort in establishing TOCE as a publication venue for papers in computing education.

Journal ArticleDOI
TL;DR: Examination of factors that could influence students' perceptions of accomplishment and enjoyment and their intention to learn in the web development course indicated that both student-related and instructor-related factors could significantly influenceStudents' perceptions toward accomplishment and enjoying and their intend to learn web development.
Abstract: Web development is an important component in the curriculum of computer science and information systems areas. However, it is generally considered difficult to learn among students. In this study, we examined factors that could influence students' perceptions of accomplishment and enjoyment and their intention to learn in the web development course. Specifically, we investigated both student-related and instructor-related factors. A research model was developed. To empirically test the model and the hypotheses, the survey method was used and the structural equation modeling (SEM) technique was adopted for data analysis. Overall, the results indicated that both student-related factors (perceived web development efficacy and motivation) and instructor-related factors (instructor characteristics and teaching method) could significantly influence students' perceptions toward accomplishment and enjoyment and their intention to learn web development. We also summarized comments collected from students to gain a deeper understanding of their ideas toward learning web development techniques. We believe the research results can help provide better knowledge and insights to educators on teaching web development.