Computer Science Education

Published by Taylor & Francis (Routledge)
Online ISSN: 0899-3408
Publications
Chapter
Plan-driven methods are those that begin with the solicitation and documentation of a set of requirements that is as complete as possible. Based on these requirements, one can then formulate a plan of development. Usually, the more complete the requirements, the better the plan. Some examples of plandriven methods are various waterfall approaches and others such as the Personal Software Process (PSP) (2, 3) and the Rational Unified Process (RUP) (4, 5). An underlying assumption in plan-driven processes is that the requirements are relatively stable. On the other hand, iterative methods, such as spiral model-based approaches (6, 7), evolutionary processes described in Refs. (8, 11), and recently agile approaches (12) count on change and recognize that the only constant is change. The question is only of the degree and the impact of the change.
 
Walleye, the trash collecting mini-robot
The control strategy used by Walleye
An image of cups and cans. A cup is barely visible on the left side of the image, a dark can is in the center, and a lighter can on the right side.
The recycling symbol on a bin shown after thresholding. Since the symbol appears in the top half of the image, thresholding is done only on the top half of the image.
Article
The paper describes the organization and technical details of an undergraduate project that culminated at the IJCAI robot competition in August 1995. As part of the project, a team of five undergraduate students designed and built an autonomous minirobot that was able to detect cups and cans, pick them up, and bring them to the appropriate trash or recycling bin. The robot was named Walleye, the state fish of Minnesota that is known for its voracious appetite. The limited size of the memory and the limited speed of the microcontroller have dictated most of the design choices. Walleye was, by far, the cheapest of all the entries in the competition, and performed well obtaining the third place. More important, working on the project has been a tremendous educational experience for the students in the team. This project is part of a larger effort aimed at exposing undergraduate students to a variety of projects in robotics, computer vision, and 3D modeling. We have chosen these topics as the sources of projects because of their interdisciplinary nature and because they provide a wide variety of problems where system integration, communication, and cooperation are important, and where the ?fun? of building and programming a robot is a highly motivating force for the learning process.
 
The BlueJ main window
Object creation dialogue
The object menu
The object inspector
Article
Many teachers experience serious problems when teaching object orientation to beginners or professionals. Many of these problems could be overcome or reduced through the use of more appropriate tools. In this paper, we introduce BlueJ, an integrated development environment designed for teaching object orientation, and discuss how the use of this tool can change the approach to teaching. 1
 
Article
This paper describes our experiences in leading Lumberjack Summer Camp, a ten-week undergraduate research experience in compiler-based optimization techniques for functional programs, held during the summer of 2000. Like many undergraduate research experiences, Lumberjack Summer Camp was designed to provide an opportunity for students and faculty to work closely together toward a common research goal. But Lumberjack Summer Camp was designed around an additional aim as well: to bring together a critical mass of researchers from two small liberal arts colleges to pursue individual research projects situated within one overarching, collaborative, cutting-edge research endeavor. We explore some important consequences of this design choice, ultimately o#ering Lumberjack Summer Camp as an unusual, but very workable, model for undergraduate research experiences.
 
Article
An expert system was developed to use standardized tests (SATs, ACTs, Achievement Tests, Advanced Placement scores) and high school transcripts to place incoming students in mathematics classes (Precalculus, Calculus I or II, Linear Algebra and Differential Equations) . The system, based on about 70 rules, automates a process done previously by faculty, clarifies rules and informal practices, and allows letters, tailored to placement data and conclusions, to be sent to all incoming students and their advisors. The system also was extended easily to place students in computer science classes (Problem Solving and Computing, CS1, CS2). Results compared favorably with placement made by faculty. Statement of Problem For many years, the Department of Mathematics and Computer Science has placed incoming students tentatively in mathematics courses on the basis of standardized test scores (SATs, ACTs, Achievement Tests, Advanced Placement scores) and high school transcripts. Before new student...
 
Article
This paper describes the application of a pedagogical model called "learning as a research activity" [D. Gil-P'erez and J. Carrascosa-Alis, Science Education 78 (1994) 301--315] to the design and implementation of a two-semester course on compiler design for Computer Engineering students. In the new model, the classical pattern of classroom activity based mainly on one-way knowledge transmission/reception of pre-elaborated concepts is replaced by an active working environment that resembles that of a group of novice researchers under the supervision of an expert. The new model, rooted in the now commonly-accepted constructivist postulates, strives for meaningful acquisition of fundamental concepts through problem solving ---in close parallelism to the construction of scientific knowledge through history. 2 1 Introduction This paper describes the implementation of an adapted version of the learning as a research activity model ([1, 2, 3, 4, 5]) to the subject of compiler des...
 
A process model for user interface design 
Article
Most software development approaches and curricular guidelines seem to ignore the fact that in many software systems the user interface is a decisive factor for product quality. As a result, it is often designed rather independently of the system’s functionality. Chances are then that it does not get the attention it deserves. In the approach to software development we sketch, the design of the user interface and the design of the functionality go hand in hand. We give a number of examples of user interface problems, and illustrate how these can be caught early if a more integrated approach is taken. We conclude with an outline of a minimal course on humancomputer interaction that we feel should be part of everyone’s software engineering or computer science curriculum.
 
Article
Sociocultural theories of learning such as Wenger and Lave's situated learning have been suggested as alternatives to cognitive theories of learning like constructivism. This article examines situated learning within the context of computer science (CS) education. Situated learning accurately describes some CS communities like open-source software development, but it is not applicable to other CS communities, especially those that deal with non-CS application areas. I show how situated learning can inform CS education by analyzing debates on curriculum and pedagogy within this framework. CS educators should closely examine professional CS communities of practice and design educational activities to model the actual activities of those communities.
 
Cooperative Task Type Ratings
Article
This paper reports the results of studying the use of peer learning in the introductory computer science curriculum. The project involves educators from a variety of institutions who participated in two summer workshops and either introduced or continued their use of peer learning at their institutions as part of this project. The results of the collective work include much experience with different types of peer learning in different settings. Overall, the results indicate that peer learning is a valuable technique that should be used as one pedagogical approach in teaching the introductory computer science curriculum. KEYWORDS: peer learning, cooperative learning, introductory computer science, computer science education Abbreviated Title: "Peer Learning in Intro Computer Science" This work is partially funded by the National Science Foundation Undergraduate Faculty Enhancement Grant DUE955406. y Computer Science Department, Worcester Polytechnic Institute, Worcester, MA, cew@cs....
 
Article
This is a report on an effort to simulate the practices of the Extreme Programming methodology in a Software Design course. Two teams of 11 members followed many of those practices in developing their semester projects. Included is a description of which practices were required of the development teams, which encouraged, and which were not easily simulated. Near the end of the semester the students were asked to answer a number of questions about how well each practice had served the process. Summaries and examples of their responses along with the instructor's observations are presented as an evaluation of this approach. Suggestions for what might be done differently to better simulate the Extreme Programming methodology are included.
 
Article
The recent ACM/IEEE Computing Curricula '91 report identifies important and recurring concepts that pervade computer science. These include complexity of large programs, the concept of binding, abstract data types, evolution of requirements, levels of abstraction, and the importance of software reuse. We present an improved curriculum for the software oriented courses that better addresses these concepts. The major objective of the proposed curriculum is the introduction of the concept of components as building blocks for creating solutions to software design problems. Component-based software engineering is currently best facilitated by the object-oriented approach through reuse of available class libraries and application frameworks. Based on our experience in the use of the object-oriented approach for the introductory programming courses as compared to past instruction using a predominantly proceduraloriented point of view, we feel that our approach can be successfully integrated i...
 
Article
Formal methods, the application of mathematical tools to software development, are underrepresented in the typical Computer Science curriculum. This is due in part to the difficulty of teaching this material to students in an engaging and meaningful way. We offered an experimental course on derivational programming, one approach to formal methods, using a primarily non lecture-oriented pedagogy. The teaching technique, known as the Moore method, requires students to discover the subject matter being taught for themselves. In our specific case, the students learned the underlying mathematics of program derivation and learned to apply it, by presenting proofs and derivations on a daily basis. Professorial intervention in the classroom was minimal. Our experience has been that students learn otherwise difficult material better, and are better able to put it into practice, with this teaching technique than they would have been able to do in the typical classroom. 1 INTRODUCTION...
 
Article
In operating systems classes, students study the theory, concepts, and mechanisms of operating systems: system calls, layered design, the client-server model, processes, interprocess communication, CPU scheduling, deadlock, input and output, device drivers, memory management, file systems, protection, etc. Their understanding of these concepts will be enhanced if they are given the opportunity to examine the internal operation and source code of an actual operating system and see how the various concepts and features studied are implemented. By modifying the source code to change the behavior of the operating system or introduce new features, students can further enhance their understanding and gain valuable practical experience. This paper describes the use of the Apple Macintosh version of MINIX, a UNIX look-alike operating system available in source form, in an operating systems workshop course. The use of the Macintosh version is compared to the IBM PC version. What the students le...
 
Article
SR is a language for concurrent programming. This paper describes the SR language, presents some examples of SR programs in the context of an undergraduate operating systems course, and provides some programming assignments that can be used in an open laboratory. The SR language can be used by instructors of operating systems courses to give students experience in writing concurrent programs that use multiple processes, semaphores, message passing, and the rendezvous. These examples and programming assignments have been used successfully in undergraduate operating systems courses at Drexel University in Philadelphia and Trinity University in San Antonio. 1 Introduction SR, which stands for Synchronizing Resources, is a high-level language for writing concurrent or parallel programs. Free and in the public domain, SR is available by anonymous ftp from the University of Arizona at cs.arizona.edu. It runs on many different UNIX platforms, such as Sun 3, Sun 4, Sequent Symmetry, DECst...
 
Article
The aim of the study was to survey the needs for HIV/AIDS educational interventions and attitudes and beliefs concerning HIV infection, including sexual relationships, among 17-year-old Polish adolescents. A total of 761 students who attended schools located in urban and rural areas was surveyed. The study, based on the voluntary, self-completed, anonymous questionnaire designed by World Health Organization (WHO), was also aimed at identifying their sources of information about HIV and AIDS. The findings suggest that the main sources of such information were television, newspapers and doctors/nurses (in that order), with the preferred sources being medical personnel, television, school and newspapers (in that order). The great majority of respondents felt they required more information. Responses indicated that previous information on HIV/AIDS had not been integrated into students' plans for situations involving relationships and sexual activity. About 60% of girls and 44% of boys stated that sex without love is not satisfying. About 40% of girls and 20% of boys stated that for the rest of their life they intended to have only one partner. Only about 10% of boys and girls believed that they should avoid sexual relationships because of AIDS. Adolescents declared that their attitudes towards HIV-infected persons were ones of acceptance. The mechanisms through which young people in Poland are not getting enough HIV/AIDS information and are not changing their sexual behaviour in order to avoid HIV infection are discussed. Areas that require future educational intervention are addressed.
 
Article
This article discusses a curriculum project whose purpose is to design and implement a sequence of four introductory courses that will constitute a breadth‐first curriculum. At issue is the strategy that the authors and their colleagues are using to introduce object‐orientedness into this curriculum. This article describes the original strategy that was class‐tested during the spring of 1992, and concludes with a description of a more ambitious strategy that has been implemented and is currently being class‐tested. Both strategies were quite ambitious in their coverage of concepts relating to object‐oriented programming. Perhaps the most important concepts are encapsulation, the power of polymorphism that derives from the use of virtual functions and generic data structures.
 
Article
The object-oriented model has become exceedingly attractive as the best answer to the increasingly complex needs of the software development community. The initial boasts regarding quality, reuse, concurrency, and scalability are now being substantiated by documented software development experience. It is certainly appropriate, then, for educators who teach computer science (the current preparation for emerging software developers) to examine where object-oriented development best fits into the computer science curriculum. How much of the paradigm—language, analysis, design, management—ought to be addressed? At what level in an undergradute program are object-oriented techniques appropriate? What are the risks involved? How is the object-oriented approach effectively taught?
 
Conference Paper
In this paper we suggest a framework for teaching software development methods (SDMs). Specifically, based on our accumulative research and in-practice experience of teaching SDMs, a set of principles, that guides our teaching of SDMs in different settings and teaching experiences, has been formulated. The teaching framework consists of 14 principles that their actual implementation is varied and adjusted in different teaching environments. This paper outlines the principles and addresses their contribution to learners' understanding of the said software development method.
 
Article
Orgasm is often seen as the most sensational aspect of sex, and, seemingly, it never ceases to fascinate. The female and the male orgasm hold different positions in research as well as in public debate, and the orgasm has been object of discussion within the feminist movement. This article is about sex and especially the female orgasm related to difference and power issues that feminism has raised over the last 30 years. In an attempt to bring new arguments and perspectives into account, empirical material, mainly consisting of interviews with lesbians, is analysed. This article discusses power issues in lesbian sex, and the main focus is on differences and power connected to the production of orgasmic sex. By extension of the analysis the author raises questions to be discussed in a heterosexual context.
 
Article
This article describes an approach whereby patterns are used to describe management issues and solutions to be used during the project management of team-based software development. The work describes how web 2.0 technologies have been employed to support the use and development of such patterns. To evaluate the success of patterns and the technologies supporting their dissemination the work of 12 software development teams over 2 years is explored. The results of the research describe how students find access to the experiences of their predecessors useful to guide their actions and how they find patterns particularly useful as a way of expressing social issues concerned with the management of student groups.
 
Article
This paper explores student teachers' understandings of child sexual abuse and strategies to deal with it that are appropriate for the primary school classroom. Evidence of surface and deep learning were obtained from a content analysis of student teachers' responses to an essay-type exam question, using Bloom's taxonomy of educational objectives. The results show that participants were most likely to be rated as having achieved at intermediate levels, and less likely to be at either the lowest or highest levels. The data suggest that greater provision should be made for addressing child sexual abuse during the training of such professionals to enhance their deeper thinking about child sexual abuse and strategies to deal with it. Since pre-service teacher education plays a significant role in enhancing the quality of future teachers, it is important that they are helped to achieve the highest levels associated with understanding universals, principles, generalizations and abstractions. The implications of these results for teaching in primary schools strongly suggest the importance of comprehensive, enhanced, longer, and on-going programmes on child sexual abuse across pre-service education.
 
Article
The Open University in the UK delivers distance learning to its students. Traditionally, the students study independently of one another. With the aim of enhancing interactions and collaborations amongst students, two post-graduate courses introduced authentic, collaborative activities. This is easier to achieve now because of the availability of the wiki tool: a lightweight, web-based collaborative authoring environment. This article examines the effect of the wikis' functionality on the students' use of the tool, and the consequences of their engagement with one another and with the activities, and the learning opportunities offered by the use of wiki. This is a relatively large-scale study involving 56 wikis produced by over 250 students. The data were drawn from the two courses using a variety of research methods. A qualitative inductive analysis of the interview data was conducted to look for emergent themes in the data. The emergent themes were validated by cross-referencing the recorded comments in the wikis and course forums. We found that the limited functionality of wikis influenced how students engaged with the collaborative activities. Although all groups were able to author collaboratively the documents required for assessment, they did not always perceive the learning benefits intended by the course teams. This article expands upon our earlier research which highlighted the role of a dedicated discussion tool to complement a wiki when used in collaborative activities. This article will be of interest to academics aspiring to employ wikis on their courses and to practitioners who wish to realise the potential of wikis in facilitating information sharing and fostering collaboration within teams.
 
Article
In this paper, we present the results from a two-part study. We analyze 60 programs written by novice programmers aged 16 19 after their first programming course, in either Java or Python. The aim is to find difficulties independent of the language used, and such originating from the language. Second, we analyze the transition from a ``simple'' language to a more ``advanced'' one, by following up on eight students, who learned programming in Python before moving on to Java.Our results suggest that a simple language gives rise to fewer syntax errors as well as logic errors. The qualitative part of our study did not reveal any disadvantages from having learned to program in a simple language when moving on to a more complex one. This suggests that not only can a simple language be used when introducing programming as a general skill, but also when providing basic skills to future professionals in the field.
 
Article
The rationale behind using medical students as sexual health educators in light of current UK governmental policy agenda and research on effective interventions is described in this paper, which also examines the results of a cross-sectional survey of the sexual health knowledge and attitude of 14-15 year-olds in some South Wales schools. Major current sources of sexual health information include school, magazines and other young people. Young people are generally well informed about contraception but ill informed of contraceptive services while tending to have a negative attitude towards their utilisation. Reasons for this include insufficient information and education on services, inaccurate perceptions of the levels of confidentiality of services and embarrassment towards general practitioners. The implications of these results are discussed in the context of the development of an effective sexual health education programme using medical students as educators in South Wales secondary schools
 
Article
This article presents an investigation into the usage of shareable feedback tags as a way of delivering feedback to three different cohorts of programming students. A series of research questions are examined; these include investigating any perceived benefit from students using feedback tags and exploring how students interact with their feedback. Results indicate that students with both the lower and higher marks in a cohort are more likely to opt to share their feedback and programming work than students with mid-ranged marks. A variety of reasons, both for and against sharing, given by students are discussed. Six categories of student behaviour exhibited during interaction with their feedback have been identified in this article. This article has shown that feedback tags can be used successfully as a form of shareable feedback and that a number of future research possibilities exist that can extend this topic.
 
Article
Teachers have come to rely on a variety of approaches in order to elicit and sustain student interest in the classroom. One particular approach, known as gamification, seeks to improve student engagement by transforming the traditional classroom experience into a competitive multiplayer game. Initial attempts at classroom gamification relied on the teacher manually tracking student progress. At the US Air Force Academy, we wanted to experiment with a software gamification tool. Our client/server suite, dubbed Classroom Live, streamlines the gamification process for the teacher by simplifying common tasks. Simultaneously, the tool provides students with an esthetically pleasing user interface that offers in game rewards in exchange for their participation. Classroom Live is still in development, but our initial experience using the tool has been extremely positive and confirms our belief that students respond positively to gamification, even at the undergraduate level.
 
Article
The purpose of this study was twofold: to investigate students’ concept images about class, object, and their relationship and to help them enhance their learning of these notions with a visualization tool. Fifty-six second-year university students participated in the study. To investigate his/her concept images, the researcher developed a survey including open-ended questions, which was administered to the participants. Follow-up interviews with 12 randomly selected students were conducted to explore their answers to the survey in depth. The results of the first part of the research were utilized to construct visualization scenarios. The students used these scenarios to develop animations using Flash software. The study found that most of the students experienced difficulties in learning object-oriented notions. Overdependence on code-writing practice and examples and incorrectly learned analogies were determined to be the sources of their difficulties. Moreover, visualization was found to be a promising approach in facilitating students’ concept images of basic object-oriented notions. The results of this study have implications for researchers and practitioners when designing programming instruction.
 
Article
Computer game development has been shown to be an effective hook for motivating students to learn both introductory and advanced computer science topics. While games can be made from scratch, to simplify the programming required game development often uses game engines that handle complicated or frequently used components of the game. These game engines present the opportunity to strengthen programming skills and expose students to a range of fundamental computer science topics. While educational efforts have been effective in using game engines to improve computer science education, there have been no published papers describing and evaluating students building a game engine from scratch as part of their course work. This paper presents the Dragonfly-approach in which students build a fully functional game engine from scratch and make a game using their engine as part of a junior-level course. Details on the programming projects are presented, as well as an evaluation of the results from two offerings that used Dragonfly. Student performance on the projects as well as student assessments demonstrates the efficacy of having students build a game engine from scratch in strengthening their programming skills.
 
Article
Human sexuality is a significant issue for educators to understand and teach about, and for young people to learn about. The development of interactive multimedia technologies has added a range of new dimensions associated with designing pedagogies for sex education on Interactive Multimedia (IMM). Here, a module on CD-Rom on Sexuality and Human Relationships designed for student teachers is presented as an example of a resource, and analysed for the pedagogical considerations that accompany it. The paper concludes that the conceptualisation and design of IMM on CD-Rom on sexuality is able to address a range of commonly used pedagogies. The most significant pedagogical renegotiation appears to lie in the transposing of human-to-human interaction, as in discussion, real life scenarios, simulation, role analysis, values and attitude clarification, to human-to-screen interaction. This may be addressed principally by using camera phones where human-to-human interaction occurs visually and in real time, whilst email and discussion groups can cater for delayed, typed text human-to-human interactions. For some learners, using IMM on CD-Rom for sex education may be less effective, but for others it may be ideal as it provides for privacy, solo contemplation, self-dialogue, and negates embarrassment in front of peers or teachers.
 
Article
Recent studies in learning programming have largely focused on high school and college students; less is known about how young children learn to program. From video data of 20 students using a graphical programming interface, we identified ideas that were shared and evolved through an elementary school classroom. In mapping these ideas and their resulting changes in programs and outputs, we were able to identify the contextual features which contributed to how ideas moved through the classroom as students learned. We suggest this process of idea mapping in visual programming environments as a viable method for understanding collaborative, constructivist learning as well as a context under which experiences can be developed to improve student learning.
 
The Social Construction model. The learner gradually becomes closer to the community of the adept, through encountering phenomena, and building them into their own model, through reflection. The cognitive aspect, though still a component of learning, has to be seen in the context in which it is developed.
Action Learning Cycle (Bunning, 2001).
Article
Computer science education research has mostly focused on cognitive approaches to learning. Cognitive approaches to understanding learning do not account for all the phenomena observed in teaching and learning. A number of apparently successful educational approaches, such as peer assessment, apprentice-based learning and action learning, have aspects that are not satisfactorily explained by purely cognitive models. On the other hand, these approaches are stratagems rather than comprehensive theories, in that they do not apply in all cases. Education theories which explore learning beyond the cognitive domain, such as social construction, may provide additional insights into matters such as teaching style, curriculum design and assessment practices. This paper proposes a start towards introducing social construction into computer science education, and proposes new directions for research, curriculum development and educational practice.
 
Article
In this paper we present the results of a phenomenographic study revealing the conceptions of successful and unsuccessful teaching among information and communication technology, information technology (IT), and computer science academics. We examine ways in which the understandings of IT teachers are similar to or differ from other teachers in domain-specific ways. Our categorizations of successful teaching (feeling successful, good delivery, developing student thinking) correspond to similar findings in the literature. However, our categorizations of unsuccessful teaching are more revealing. Undergraduate IT teachers understand unsuccessful teaching in five ways: teacher lacks skills, teacher lacks organizational support, students do not take responsibility, domain complexity, and students do not demonstrate understanding. These conceptualizations do not directly correspond to the ways in which teachers perceive successful teaching, revealing a gap between idealized notions of teaching and actual teaching in practice. Of specific interest, lack of administrative support in the form of insufficient funding, overloaded lecture hours, and inexperienced teaching assistants emerged as barriers to effective teaching. Equally important, difficulties in dealing with abstraction and complexity specific to IT disciplines have consequences for the way in which IT should be taught. These phenomenographic categories of description are intended to serve as a framework for IT teachers to engage in a process of self-reflection leading to improved teaching practices. We present ways in which the understandings of successful and unsuccessful teaching can aid in this process.
 
Article
Our study gathered data to serve as a benchmark of demographics of undergraduate students in game degree programs. Due to the high number of programs that are cross-disciplinary with computer science programs or that are housed in computer science departments, the data is presented in comparison to data from computing students (where available) and the US population. Participants included students studying games at four nationally recognized postsecondary institutions. The results of the study indicate that there is no significant difference between the ratio of men to women studying in computing programs or in game degree programs, with women being severely underrepresented in both. Women, blacks, Hispanics/Latinos, and heterosexuals are underrepresented compared to the US population. Those with moderate and conservative political views and with religious affiliations are underrepresented in the game student population. Participants agree that workforce diversity is important and that their programs are adequately diverse, but only one-half of the participants indicated that diversity has been discussed in any of their courses.
 
Article
The gap between enrollments in higher education computing programs and the high-tech industry’s demands is widely reported, and is especially prominent for women. Increasing the availability of computer science education in high school is one of the strategies suggested in order to address this gap. We look at the connection between exposure to computer science in high school and pursuing computing in higher education. We also examine the gender gap, in the context of high school computer science education. We show that in Israel, students who took the high-level computer science matriculation exam were more likely to pursue computing in higher education. Regarding the issue of gender, we will show that, in general, in Israel the difference between males and females who take computer science in high school is relatively small, and a larger, though still not very large difference exists only for the highest exam level. In addition, exposing females to high-level computer science in high school has more relative impact on pursuing higher education in computing.
 
(Continued).
Predictors of future CS grades.
Article
This study addresses why women are underrepresented in Computer Science (CS). Data from 1319 American first-year college students (872 female and 447 male) indicate that gender differences in computer self-efficacy, stereotypes, interests, values, interpersonal orientation, and personality exist. If students had had a positive experience in their first CS course, they had a stronger intention to take another CS course. A subset of 128 students (68 females and 60 males) took a CS course up to one year later. Students who were interested in CS, had high computer self-efficacy, were low in family orientation, low in conscientiousness, and low in openness to experiences were more likely to take CS courses. Furthermore, individuals who were highly conscientious and low in relational-interdependent self-construal earned the highest CS grades. Efforts to improve women’s representation in CS should bear these results in mind.
 
Article
Computer games have been accepted as an engaging and motivating tool in the CS curriculum. However, designing and implementing a playable game is challenging and is best done in advanced courses. Games for mobile devices, on the other hand, offer the advantage of being simpler and, thus, easier to program for lower-level students. Learning context of mobile game development can be used to reinforce many core programming topics, such as loops, classes and arrays. Furthermore, it can also be used to expose students in introductory computing courses to a wide range of advanced topics in order to illustrate that CS can be much more than coding. This paper describes the author’s experience with using mobile game development projects in CS I and II, how these projects were integrated into existing courses at several universities, and the lessons learned from this experience.
 
Article
Programming education is a widely researched and intensely discussed topic. The literature proposes a broad variety of pedagogical viewpoints, practical approaches, learning theories, motivational vehicles, and other elements of the learning situation. However, little effort has been put on understanding cultural and contextual differences in pedagogy of programming. Pedagogical literature shows that educational design should account for differences in the ways of learning and teaching between industrialized and developing countries. However, the nature and implications of those differences are hitherto unclear. Using group interviews and quantitative surveys, we identified several crucial elements for contextualizing programming education. Our results reveal that students are facing many similar challenges to students in the west: they often lack deep level learning skills and problem-solving skills, which are required for learning computer programming, and, secondly, that from the students’ viewpoint the standard learning environment does not offer enough support for gaining the requisite development. With inadequate support students may resort to surface learning and may adopt extrinsic sources of motivation. Learning is also hindered by many contextually unique factors, such as unfamiliar pedagogical approaches, language problems, and cultural differences. Our analysis suggests that challenges can be minimized by increasing the number of practical exercises, by carefully selecting between guided and minimally guided environments, by rigorously monitoring student progress, and by providing students timely help, repetitive exercises, clear guidelines, and emotional support.
 
Article
Debugging is often difficult and frustrating for novices. Yet because students typically debug outside the classroom and often in isolation, instructors rarely have the opportunity to closely observe students while they debug. This paper describes the details of an exploratory study of the debugging skills and behaviors of contemporary novice Java programmers. Based on a modified replication of Katz and Anderson's study of novices, we sought to broadly survey the modern landscape of novice debugging abilities. As such, this study reports general quantitative results and fills in the picture with qualitative detail from a relatively small, but varied sample. Comprehensive interviews involving both a programming and a debugging task, followed by a semi-structured interview and a questionnaire, were conducted with 21 CS2 students at seven colleges and universities. While many subjects successfully debugged a representative set of typical CS1 bugs, there was a great deal of variation in their success at the programming and debugging tasks. Most of the students who were good debuggers were good novice programmers, although not all of the good programmers were successful at debugging. Students employed a variety of strategies to find 70% of all bugs and of the bugs they found they were able to fix 97% of them. They had the most difficulty with malformed statements, such as arithmetic errors and incorrect loop conditions. Our results confirm many findings from previous studies (some quite old) - most notably that once students find bugs, they can fix them. However, the results also suggest that some changes have occurred in the student population, particularly an increased use of debugging tools and online resources, as well as the use of pattern matching, which has not previously been reported.
 
Article
This paper reviews the literature related to the learning and teaching of debugging computer programs. Debugging is an important skill that continues to be both difficult for novice programmers to learn and challenging for computer science educators to teach. These challenges persist despite a wealth of important research on the subject dating back as far as the mid 1970s. Although the tools and languages novices use for writing programs today are notably different from those employed decades earlier, the basic problem-solving and pragmatic skills necessary to debug them effectively are largely similar. Hence, an understanding of the previous work on debugging can offer computer science educators insights into how to improve contemporary learning and teaching of debugging and may suggest directions for future research into this important area. This overview of the debugging literature is organized around four questions relevant to computer science educators and education researchers: What causes bugs to occur? What types of bugs occur? What is the debugging process? How can we improve the learning and teaching of debugging? We conclude with suggestions on using the existing literature both to facilitate pedagogical improvements to debugging education and to offer guidance for future research.
 
Article
This article provides a review of educational research literature focused on pair programming in the undergraduate computer science curriculum. Research suggests that the benefits of pair programming include increased success rates in introductory courses, increased retention in the major, higher quality software, higher student confidence in solutions, and improvement in learning outcomes. Moreover, there is some evidence that women, in particular, benefit from pair programming. The literature also provides evidence that the transition from paired to solo programming is easy for students. The greatest challenges for paired students appear to concern scheduling and partner compatibility. This review also considers practical issues such as assigning partners, teaching students to work in pairs, and assessing individual contributions, and concludes with a discussion of open research questions.
 
Annotated screenshot of the Kebot robot simulator.  
A screenshot of the 'Line Tracer' workshop task.  
The Kebot workshop format. 
Article
This work investigates the effectiveness of simulated robots as tools to support the learning of programming. After the completion of a systematic review and exploratory research, a multi-case case study was undertaken. A simulator, named Kebot, was developed and used to run four 10-hour programming workshops. Twenty-three student participants (aged 16–18) in addition to 23 pre-service, and 3 in-service, teachers took part. The effectiveness of this intervention was determined by considering opinions, attitudes, and motivation as well as by analysing students’ programming performance. Pre- and post-questionnaires, in- and post-workshop exercises, and interviews were used. Participants enjoyed learning using the simulator and believed the approach to be valuable and engaging. The performance of students indicates that the simulator aids learning as most completed tasks to a satisfactory standard. Evidence suggests robot simulators can offer an effective means of introducing programming. Recommendations to support the development of other simulators are provided.
 
Organization & Coordination activities
Functions relating to organization and coordination
Usage of SEGWorld functions during the phases of the software lifecycle
The 'onion' model of evaluation
Article
Software engineering tasks, during both development and maintenance, typically involve teamwork using computers. Team members rarely work on isolated computers. An underlying assumption of our research is that software engineering teams will work more effectively if adequately supported by network-based groupware technology. Experience of working with groupware and evaluating groupware systems will also give software engineering students a direct appreciation of the requirements of engineering such systems. This research is investigating the provision of such network-based support for software engineering students and the impact these tools have on their groupwork. We will first describe our experiences gained through the introduction of an asynchronous virtual environment – SEGWorld to support groupwork during the Software Engineering Group (SEG) project undertaken by all second year undergraduates within the Department of Computer Science. Secondly we will describe our Computer Supported Cooperative Work (CSCW) module which has been introduced into the students’ final year of study as a direct result of our experience with SEG, and in particular its role within Software Engineering. Within this CSCW module the students have had the opportunity to evaluate various groupware tools. This has enabled them to take a retrospective view of their experience of SEGWorld and its underlying system, BSCW, one year on. We report our findings for SEG in the form of a discussion of the hypotheses we formulated on how the SEGs would use SEGWorld, and present an initial qualitative assessment of student feedback from the CSCW module. Published (author's copy) Peer Reviewed
 
Article
Research was undertaken to assess the role of primary school teachers with regard to the prevention and control of HIV/AIDS in Nigeria. Structured and semi-structured questionnaires were responded to by 210 teachers drawn from primary schools in Eastern Nigeria (with pupils aged 6–15 years). These were supplemented by focus group discussions and key informant interviews. The findings show that the teachers have a reasonably high knowledge of the modes of HIV transmission, the behavioural risk factors and modes of prevention. The teachers, however, are reluctant to teach this because of socio-cultural and religious factors, lack of teacher training in delivery of sex education as well as poor motivation. The motivation and participation of primary school teachers in the prevention of HIV in Nigeria are very low. This calls for serious and urgent policy intervention to remedy the situation and increase the role of primary school teachers in combating the spread of HIV/AIDS in Nigeria.
 
Article
This article surveys the examination requirements for attaining degree candidate (candidacy) status in computer science doctoral programs at all of the computer science doctoral granting institutions in the United States. It presents a framework for program examination requirement categorization, and categorizes these programs by the type or types of candidacy examinations that are required. The performance of computer science departments, estimated via two common surrogate metrics, in these different categories of candidacy requirements are compared and contrasted and the correlation between candidacy requirements and program/department performance is assessed.
 
Article
There is a pressing need for gender inclusive approaches to engage young people in computer science. A recent popular approach has been to harness learners’ enthusiasm for computer games to motivate them to learn computer science concepts through game authoring. This article describes a study in which 992 learners across 13 schools took part in a game-making project. It provides evidence from 225 pre-test and post-test questionnaires on how learners’ attitudes to computing changed during the project, as well as qualitative reflections from the class teachers on how the project affected their learners. Results indicate that girls did not enjoy the experience as much as boys, and that in fact, the project may make pupils less inclined to study computing in the future. This has important implications for future efforts to engage young people in computing.
 
Article
Theories of mind are implicitly embedded in educational research. The predominant theory of mind during the latter half of the twentieth century has focused primarily on the individual mind in isolation, context-free problem-solving and mental representations and reasoning, what we refer to as cognitivism. Over the last two decades, CS Education researchers have begun to incorporate recent research that extends, elaborates and sometimes challenges cognitivism. These theories, which we refer to collectively as sociocultural cognition theory, view minds as cultural products, biologically evolved to be extended by tools, social interaction and embodied interaction in the world. Learning, under this perspective, is viewed as tool-mediated participation in the ongoing practices of cultural communities. In this paper, we pursue three goals. First, we provide a summary of the key principles in sociocultural cognition theory, placing this theory within a historical context with respect to the cognitive theories that it extends and challenges. Second, we integrate across different but related research efforts that all fall under the sociocultural cognition umbrella, using a uniform terminology for describing ideas represented within different discourse communities. And third, we reference a number of canonical sources in sociocultural cognition theory so as to serve as an index into this diverse literature for those wanting to explore further.
 
Top-cited authors
Mordechai Ben-Ari
  • Weizmann Institute of Science
Michal Armoni
  • Weizmann Institute of Science
Orni Meerbaum-Salant
  • Weizmann Institute of Science
Michael Kölling
  • King's College London
Beth Simon
  • University of California, San Diego