Gamifying Software Engineering Tools to Motivate Computer Science Students to Start and Finish Programming Assignments Earlier
<italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Contribution:</i> Research has shown that computer science (CS) students who start programming assignments (PAs) early generally receive higher grades. This article presents and evaluates a gamification approach that utilizes software engineering tools to motivate CS students to start and finish PAs earlier. <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Background:</i> CS can be difficult to learn because students often struggle with errors and how to properly test their code. For these reasons, it is essential that students start their PAs early. Furthermore, software engineering tools, such as version control and unit testing, are increasingly important for students to learn early in their career. <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Intended Outcomes:</i> This gamification approach aims to motivate CS students to start and complete PAs earlier, as well as instill software engineering best practices. <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Application Design:</i> To motivate students to start and finish assignments early, an open-source gamification system called the Leaderboard was developed. Using gamified points, the Leaderboard rewards students who pass PA unit tests well before the assignment is due. The system is fully automated using Github Classroom, a build server, and the Moodle learning management system. <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Findings:</i> Results indicate students who used the Leaderboard did not start assignments significantly earlier; however, they finished assignments earlier, committed code more frequently, and passed more unit tests. The students found the Leaderboard to be motivating and passing unit tests was exciting for them.
- Conference Article
16
- 10.1145/2526968.2526982
- Nov 14, 2013
While some students excel in introductory programming courses, others find the course to be significantly challenging and demanding. The way that students reason about the factors that contribute to success or failure may affect their self-efficacy, motivation, future success and whether or not they persist in Computer Science (CS). What factors do students' perceive to cause successful or unsuccessful learning outcomes in first-year programming assignments? Such findings can assist us in identifying reasoning that may be detrimental to future success and persistence. We use Attribution Theory (AT) as a framework to explore the causal that students apply to explain their causes for success or failure in introductory programming assignments, alluded to in their reflective essays about performance in a course. Our research demonstrates that reflective essays, integrated into learning tasks, can be one effective and efficient way to extract students' casual attributions. Our results indicate that the students raised a number of attributions in their essays that were specific to the CS-context and were attributed to both internal and external causes. We highlight problematic areas of casual reasoning and a need to correct misleading reasoning to ensure CS students understand their control over the success of their future programming assignments. This research offers opportunities for future research to develop activities that may encourage students to correctly identify causes of performance outcomes in programming assignments and to determine if such interventions can prevent students from leaving CS.
- Conference Article
1
- 10.1145/1188455.1188780
- Jan 1, 2006
New Voices and New Visions for Engaging Native Americans in Computer Science is a collaborative project between Boston University and University of New Mexico, funded through NSF's Broadening Participation in Computing program. This project combines Native American culture and art with a high-technology, computer-rich environment as a vehicle to engage Native American students in computer and computational science. The project employs the Access Grid (AG), virtual reality technologies and Boston University's stereoscopic Deep Vision Display Wall (DVD Wall) to create a culturally and technologically compelling educational experience.The curriculum will expose both college and high school students to the power and depth of computer science, hopefully inspiring many of them to obtain a degree in this discipline. We anticipate that this pilot project will provide a model based on an interdisciplinary framework which can be emulated by other institutions and adapted for other groups underrepresented in computer and computational sciences.
- Research Article
2
- 10.3897/rio.2.e8865
- Apr 20, 2016
- Research Ideas and Outcomes
Modern software methodologies, e.g., agile and continuous integration and deployment, rely on frequent feedback loops to respond to sudden changes. Improvements to feedback, development activities, and quality rely on information needs. We found a lack of understanding on the information needs of software engineers when the software quality is the main concern. I propose the term "software quality information needs" to refer to a software engineer’s eagerness to define, locate, obtain, and use information to satisfy a conscious or unconscious concern towards software quality. I want to understand what information about software quality does a developer need while performing code changes or designing new parts of a system. For understanding the broad research question, I propose three sub-questions, namely (1) How can we conceptualize information needs when dealing with software quality? (2) What information is needed when dealing with software quality? and (3) How can software quality information needs be detected unobtrusively through behavioral patterns? I propose a 24 months plan for a research fellowship comprising of three empirical studies, which will involve 120 students in computer science and the companies Daimler, Porsche, and Bosch. The studies will make use of multidisciplinary research in software engineering and behavioral science. The theoretical results of the execution of this proposal are the software quality information needs theory and instances, which will add to the body of knowledge in software engineering. The practical implications might be large. Providing a software developer with the right kind of information about the current state of and the effect of changes on software quality can prevent catastrophic software failures and avoid opening up security holes.
- Research Article
- 10.51889/2021-3.1728-7901.25
- Sep 15, 2021
- Bulletin Series of Physics & Mathematical Sciences
In the article, based on the criterion approach, the effectiveness of the system for assessing the functional literacy of students in computer science is proved by conducting a pedagogical experiment and conclusions are drawn about the results of practical work. The teaching experience consists of three stages. At the ascertaining stage, it was revealed to what extent the assessment tasks in computer science were compiled taking into account the directions of functional literacy of students. At the applicant stage, tasks and tasks were developed to assess the functional literacy of students based on a criteria-based approach in computer science. At the educational and control stage, the influence of the functional literacy assessment system, developed on the basis of a criterion approach in computer science, on the quality of knowledge and the methodology of teaching students in computer science was revealed. In addition, during the practice, the educational and methodological manual "tasks for assessing the functional literacy of students in computer science" was used. During the training in the control groups, the assessment of knowledge was carried out according to the traditional method, and in the experimental groups on tasks to assess the functional literacy of students based on the criteria approach.
- Research Article
16
- 10.1108/jarhe-07-2019-0194
- Feb 19, 2020
- Journal of Applied Research in Higher Education
PurposeThis study investigates computer science (CS) students' perceived needs for support in an array of academic and nonacademic areas prior to entering college and relates these findings to their subsequent performance in the core CS curriculum. This study specifically explored how students' perceived needs vary by gender and residency and how these perceived needs relate to students' academic performance in CS courses.Design/methodology/approachData included survey responses and academic performance measures from 718 CS students. Approximately 14 percent of the participants were female students, and 86 percent were male students. Also, 24 percent of students were international, 46 percent out-of-state, and 30 percent were in-state students. To address research questions, multiple regressions and analysis of covariance were conducted. For all analyses, students' ACT scores were used as covariates.FindingsResults show significant main effects for both gender and residency, but interaction is not significant. Female students, on average, selected more perceived needs compared to male students. Also, international students selected more needs compared to domestic students. Also, the number of perceived needs for different categories is unique across students of different residency and gender. Results also indicate that the perceived need for assistance with STEM content is associated with lower CS academic performance. In contrast, perceived needs for professional skills and support services are not related to CS performance. Finally, students' ACT score is a good predictor of their academic performance.Originality/valueThis study provides important contributions to higher education and CS education literature. This is the first study with CS students focusing on their perceived needs. Also, this study includes an almost complete data set (94.6 percent survey completion rate) from CS students.
- Research Article
8
- 10.1145/351440.351445
- May 1, 2000
- ACM SIGGRAPH Computer Graphics
Although it is a requisite skill for success in industry, visual literacy in graphics is intimidating to computer science and art students. Computer science majors are uneasy about using their eyes to examine images while art students may not have much background in the technical terminology. This column is the second in a two-part series that discusses an interdisciplinary teaching technique that overcomes these obstacles. Part one was published in Computer Graphics 34(1) February 2000, pp. 24-26. With this approach students become more familiar with the limits and possibilities of the medium of computer graphics, learn how to analyze and talk about what visual images might mean and develop a deeper understanding of time constraints. In addition, they gain confidence with technological terminology and the idea of suggesting alternative algorithms to create a desired visual "look." As a result both computer science and art students become more able to communicate effectively about and with visual imagery.
- Research Article
8
- 10.1145/101288.101301
- Jun 1, 1990
- ACM SIGCHI Bulletin
There is a critical need for timely and usable curriculum development materials for teaching user interface development to software engineering and computer science students. An updated version of the Software Engineering Institute's curriculum module on User Interface Development has been released. This paper provides an overview of the module, its history, and how it has been used.At the Software Engineering Institute (SEI) at Carnegie-Mellon University there is a Curriculum Development Project as part of the Education Program (Gibbs, 1989). A major goal of the curriculum development project is to devise model curricula and support-materials for teaching all topics in software engineering. For topics such as unit testing, software design, requirements analysis, and so on, there are curriculum modules to help teachers prepare courses. I have written, and recently revised, a module on User Interface Development (Perlman, 1989b), described in detail below. It has proven to be useful to all people interested in the teaching of user interface development to software engineers. Some of my experiences with the module are summarized in Perlman (1988).The module is not a book nor a course, but contains information to help others prepare short- or full-term courses on user interface development.
- Research Article
17
- 10.24191/ajue.v17i4.16194
- Nov 25, 2021
- Asian Journal of University Education
Abstract: The present new norm driven by the COVID-19 pandemic has taught us to remain at home and carry our everyday activities. This pandemic has seriously made a radical shift to the Malaysian education sector as well. Educators instantly begin to adopt Open and Distance Learning (ODL). However, issues arise in courses that need a conventional setting. In ODL, students and lecturers rely on digital tools, social media, pre-recorded video, and video conference to assist the learning process. Nonetheless, there are some concerns about how successful digital tools are among students in an online learning environment, particularly among computer science students. Thus, a study is being conducted to compare the acceptance of digital tools among computer science (CS) and non-computer science (NoNCS) students by adapting the Technology Acceptance Model (TAM). A quantitative research method of convenient sampling was undertaken. Questionnaires were distributed through an online survey among UiTM Terengganu students at three campuses in Dungun, Bukit Besi and Kuala Terengganu. A sample of 367 students who responded from different diploma and degree programs was collected. Findings of the study revealed that all relationships in TAM are significant for both CS and NoNCS students, where both acquire positive perceived usefulness, attitude, and use intention. Thus, the acceptance of digital tools in ODL are justified. However, it appears that NoNCS students had a more positive attitude than CS students, contradicting the study's initial general assumption. More study is needed to discover why NoNCS students have a better attitude than CS students in the acceptance of digital tools during ODL.
 
 Keywords: Computer Science, COVID-19, Digital Tools, ODL, TAM
- Conference Article
- 10.1145/2157136.2157369
- Feb 29, 2012
We asked all of the liberal arts faculty who advise undergraduates on course selection at the 14 colleges in the Associated Colleges of the Midwest a series of questions regarding their perceptions of the personality traits of Computer Science (CS) students, topics they think are covered in CS classes, and their overall impressions of CS. Our goal was to test empirically the hypothesis that many non-CS faculty are unaware of the differences between CS and Information Technology (IT). We received over 200 survey responses, which revealed that, among non-CS faculty, 10% disagree or are neutral that CS should even be part of a liberal arts curriculum, 9% think that CS students are taught to fix printers and other peripherals, and 35% believe that CS students are taught to use Microsoft Word and Excel in their courses. Our results also revealed that 60% of CS faculty believe that men are more interested in CS than are women (although we did not ask why they believe this to be the case). Overall, while we found statistically significant differences between the answers given by CS and non-CS faculty, the overall evidence suggests that the majority of non-CS faculty in the Associated Colleges of the Midwest have a good understanding of CS.
- Conference Article
15
- 10.1145/2915970.2915996
- Jun 1, 2016
Background: Test-driven development (TDD) is an iterative software development technique where unit tests are defined before production code. Previous studies fail to analyze the values, beliefs, and assumptions that inform and shape TDD.Aim: We designed and conducted a qualitative study to understand the values, beliefs, and assumptions of TDD. In particular, we sought to understand how novice and professional software developers, arranged in pairs (a driver and a pointer), perceive and apply TDD.Method: 14 novice software developers, i.e., graduate students in Computer Science at the University of Basilicata, and six professional software developers (with one to 10 years work experience) participated in our ethnographically informed study. We asked the participants to implement a new feature for an existing software written in Java. We immersed ourselves in the context of the study, and collected data by means of contemporaneous field notes, audio recordings, and other artifacts.Results: A number of insights emerge from our analysis of the collected data, the main ones being: (i) refactoring (one of the phases of TDD) is not performed as often as the process requires and it is considered less important than other phases, (ii) the most important phase is implementation, (iii) unit tests are almost never up-to-date, (iv) participants first build a sort of mental model of the source code to be implemented and only then write test cases on the basis of this model; and (v) apart from minor differences, professional developers and students applied TDD in a similar fashion. Conclusions: Developers write quick-and-dirty production code to pass the tests and ignore refactoring.
- Research Article
22
- 10.1016/j.infsof.2017.03.010
- Mar 27, 2017
- Information and Software Technology
Findings from a multi-method study on test-driven development
- Research Article
30
- 10.1016/s0360-1315(03)00048-4
- Jul 11, 2003
- Computers & Education
Multimedia learning system and its effect on self-efficacy in database modeling and design: an exploratory study
- Conference Article
4
- 10.1109/icse-seet52601.2021.00020
- May 1, 2021
We live in exceptional times in which the entire world is witnessing the exponential spread of a pandemic, which requires to adopt new habits of mind and behaviors. In this paper, I introduce the term exponential competence, which encompasses these cognitive and social skills, and describe a course for computer science and software engineering students in which emphasis is placed on exponential competence. I argue that exponential competence is especially important for computer science and software engineering students, since many of them will, most likely, be required to deal with exponential phenomena in their future professional development.
- Supplementary Content
- 10.5281/zenodo.4641741
- Mar 27, 2021
- Zenodo (CERN European Organization for Nuclear Research)
We live in exceptional times in which the entire world is witnessing the exponential spread of a pandemic, which requires to adopt new habits of mind and behaviors. In this paper, I introduce the term exponential competence, which encompasses these cognitive and social skills, and describe a course for computer science and software engineering students in which emphasis is placed on exponential competence. I argue that exponential competence is especially important for computer science and software engineering students, since many of them will, most likely, be required to deal with exponential phenomena in their future professional development.
- Book Chapter
1
- 10.1007/978-1-4842-9651-6_26
- Jan 1, 2024
Nowshin Nawar Arony, Kezia Devathasan, Ze Shi Li, and Daniela Damian