
Computational thinking (CT) is a necessary skill that must be learned in today's tech-focused world, especially within K-12 education, where early learning of problem-solving skills and algorithmic thinking is beneficial in everyday life. Various ways have been used to cultivate this skill in these early education phases [6]. Our approach was to use an unplugged gamified coding activity that involved creating a learning environment that required hands-on participation and critical computational thinking. This study examines the impact of a gamified coding activity on computational thinking (CT) skills of K-12 students in a public stem event setting where each student has around 30 minutes of solving time. This study also observes the influence of the short-term intervention on algorithmic thinking and problem solving abilities by incorporating a before-and-after survey, in which students were asked to write down the steps to brush their teeth before and after the activity. This data was used to evaluate improvements in student procedural thinking and logical structure. The findings suggest that gamification enhances engagement and helps students develop clearer and more structured algorithms. These results contribute to research on effective teaching strategies for CT in K-12 education and to improving the learning environment.
Yacc and Lex provide a powerful tool to automate finding implicit structure hidden within a flat sequence of symbols. However, Yacc is fragile in that it can easily fail with obscure messages. We learn LR Parsing to fix these.
Teaching large classes, particularly in computer science (CS), presents notable challenges that can hinder student learning. Common issues include low student participation, often due to students feeling hesitant or uncomfortable speaking up in large groups, and difficulties in providing timely feedback. To address these challenges, this study introduces a straightforward and practical solution: a dual-component quiz system integrated into laboratory sessions. In this approach, students first complete a quiz individually, followed by a collaborative phase where they retake the same quiz in small groups. This structure promotes peer feedback and reinforces understanding. The grading scheme allocates 60% of the total score to individual performance and 40% to group performance, encouraging both personal accountability and collaborative engagement. To assess the effectiveness of this method, a comparative analysis was performed using course evaluations from five sections of CS 132 at Boston University. Two sections, serving as the baseline, did not include the quiz component, while three sections implemented the new system. The results of the Welch Statistical Test (WST) revealed that the collaborative quiz system significantly improved student participation, promptness of feedback, and quality of feedback to students.
In this paper, some common difficulties that students experience with proofs by induction are discussed. These are used to form design goals for a WebApp to help students understand induction better. A WebApp implementing those goals is presented. Finally, results from a self reflection survey of students rating their understanding of induction are presented.
Dr. Michael B. Flinn is Professor, Chair, and Disrupter-in-Residence (unofficial title, very official energy) in the Department of Computer Science and Information Technologies at Frostburg State University, where he also coordinates the Master of Applied Computer Science program. With nearly 25 years in computing education, Dr. Flinn challenges the status quo by asking one big question: How do we truly engage students in a world flooded with AI agents, infinite scroll, and attention-hacking algorithms?
Let Σ be an alphabet. For each letter in Σ a positive weight is assigned to it. The weight of a string S over Σ is defined as the sum of the weights of the letters in S. Let X and Y be two strings over an alphabet Σ. The heaviest common subsequence and substring problem for two strings X and Y is to find a string Z such that Z is a subsequence of X, a substring of Y, and the weight of it as large as possible. In this note, we propose an algorithm to solve the heaviest common subsequence and substring problem for two strings.
This paper presents the design and implementation of a rigorous undergraduate Deep Learning (aka Deep Neural Networks) course, developed as part of a newly approved interdisciplinary Data Science major jointly offered by the Computer Science and Mathematics departments at Missouri State University. The course is designed to provide students with a comprehensive understanding of deep learning models, their mathematical foundations, and their practical applications to real-world problems across diverse domains. Unlike approaches that either focus heavily on theoretical rigor or prioritize applied problem-solving, this course adopts a blended pedagogy that emphasizes both the mathematical intuition behind deep learning operations and the practical skills needed to select, implement, and optimize models for various applications.
Artificial intelligence (AI) is a technology intended to imitate human intelligence, enabling effective problem-solving abilities, and it has been recognized as a key area of computer science. AI-based applications have grown exponentially across various everyday domains over the last ten years, encompassing medicine and healthcare. The initial release of ChatGPT in the latter half of 2022 propelled AI to the center of public attention, leading to widespread recognition of its capabilities. The rapid integration of AI in healthcare applications has sparked major concerns regarding their ability to generate an interpretable and accurate model for clinical decisions. This requirement for transparency and trust in healthcare AI-based applications has led to the development of Explainable AI (XAI). XAI refers to a collection of techniques and approaches employed by AI applications to transparently explain how they arrived at their decisions and understand why they made that specific prognosis. Though there are numerous surveys conducted for the XAI applications in the healthcare field, the main aim of this study is to present a survey that summarizes various XAI methodologies and illustrates the techniques employed to enhance interpretability in machine learning (ML) models that apply to the disciplines of neuroscience and cardiology, with the intent of enhancing decision-making in clinical AI-based models. Following a comprehensive research study, we carefully filtered and reviewed 25 research articles that cover several XAI techniques that are applied in cardiology and neuroscience applications to enhance their interpretability. According to our analysis, the SHAP method appears to be the most popular method of explainability among the reviewed studies. In addition, we provide future research initiatives to tackle the major challenges and limitations of XAI applications.
Pointers, a way for indirect data addressing, can be a very challenging topic for programming students, especially for those who are in the beginning stage of their studies. Very often, students maintain misconceptions about pointer/reference variables regarding what information they hold and how that information is used. As a result, they often struggle to produce working code for various programming projects that require the use of pointers. It is the authors' belief that ad hoc drawings, as often used in our classrooms, are not adequate. Professors should adopt a standardized set of drawing symbols in the teaching of this topic and use more drawings in their instruction to provide a visual representation of the relationship between pointer/reference variables and the referenced data. These visual representations will help negate common misconceptions students develop regarding the data access through pointers. We propose a standard set of drawing symbols to be used in textbooks, videos, and classroom instruction. Through case studies, we will illustrate the use of these drawing symbols.
The dominance of English-based syntax and documentation of programming languages presents an additional challenge for non-native English speakers learning programming. Due to the lack of multilingual resources available, non-native English speakers must often learn English in tandem with the programming language to be able to effectively utilize instructional materials, documentation, and support forums [5]. To address this issue, we have created Esquemático, a collection in the functional programming language Racket, a dialect of Scheme, which enables the use of Spanish keywords and syntax within the DrRacket IDE. The collection utilizes Racket's advanced macro system to modify its underlying syntactic structure, directly enabling functional programming with Racket in Spanish. Through the use of this macro system, our collection generates detailed error messages in Spanish which directly point to errors in syntax and logic. To aid students who are interested in learning Scheme through our collection, we have deployed a documentation site which provides a tutorial to begin your first program as well as detailed examples, definitions, and syntax patterns of all Spanish procedures provided in the collection.
Teaching students to build automated data pipelines at the graduate level is becoming increasingly important for educators in preparing them for data engineering positions. Almost every data-driven organization needs software engineers with experience building data platforms in the cloud, such as Google Cloud Platform (GCP). As part of a graduate-level course, this paper illustrates how students apply the concepts from the course to build an automated data pipeline using a workflow manager like Apache Airflow and MongoDB within a cloud computing environment like GCP. The students demonstrate the use of minimal cloud resources to build a small end-to-end data pipeline that automatically pulls fresh data from different sources and feeds it to machine learning models. Such a data ingestion and integration pipeline enables students to continuously train their models with newer data and improve model efficiency. The sample data pipeline in this paper integrates movie-themed datasets to train and deploy a multiclass classification model based on RoBERTa. The project illustrates how continuously bringing in fresh data results in better recommendations for the latest movies, enhancing user selection and overall recommendation quality. This type of course-wide project allows students to apply and consolidate the skills they have learned across multiple data science and data engineering courses to solve real-world problems.
Computer science students face numerous challenges during the initial stages of their academic journey, particularly those from underrepresented groups. Establishing a sense of belonging and developing a computing identity are crucial factors in student retention and success. This study investigates how participation in the Early Research Scholar Program (ERSP), a year-long research apprenticeship for early undergraduate students, influences these critical aspects of student development. Through a qualitative thematic analysis of bi-weekly reflective surveys collected over one semester from 24 first-year computer science students, we examined the evolution of students' identity as computing researchers and their emotional responses to the research process. Our findings reveal that creating a supportive and inclusive environment led to transformative experiences that significantly impacted students' sense of belonging and identity formation as researchers. Specifically, early exposure to computer science research, dual-mentoring from faculty and graduate students, and peer support emerged as key factors positively influencing these transformations. By the program's conclusion, 85% of participants reported positive changes in their identity and confidence as computer scientists, while 87% indicated an increased sense of belonging in the field. This study contributes valuable insights into effective practices for fostering diversity, inclusion, and student success in computer science education through early undergraduate research experiences.
Autograders excel at providing immediate feedback, but are traditionally limited to input-processing-output type programs, limiting their use to introductory classes or unrealistic contexts. In addition, they lack the ability to differentiate between good solutions and mediocre ones, thus potentially reenforcing student misperceptions about code quality. In this workshop, you will learn tricks, existing tools, and scoring techniques, developed over twenty years, to allow you to expand the types and goals of automated feedback you provide your students.
The field of Edge Intelligence has arisen to address latency and data security issues inherent to the older paradigm of deploying machine learning algorithms via cloud computing. However, the most-used machine learning algorithms are ill-suited to computationally-constrained Edge devices. Weightless Neural Networks are a lesser-known type of Neural Network that shows great promise for Edge Intelligence applications. One particular recent Weightless Neural Network architecture, BTHOWeN, has open-source code, allowing for a deep analysis of their results. We report on our experiments conducted to replicate the original accuracy metrics for BTHOWeN's software implementation, as well as an extension where we performed an ablation study to determine the impact of several of the technical innovations used in the BTHOWeN architecture. Both were generally successful in confirming the original results presented, while revealing some deeper insights.
This paper discusses the redesign of the Mobile Programming course with the goal of fostering a student-centered, inclusive learning environment. This redesign emphasizes asset-based teaching and integrates generative AI tools to align with modern technological advancements. By encouraging students to propose and develop mobile applications inspired by their personal interests, cultural backgrounds, and societal concerns, the course seeks to enhance engagement, creativity, and innovation while fostering a sense of ownership and meaningful connection to the learning process. This approach not only aligns with our university's mission to promote inclusive education but also leverages the diversity of the student body to create a dynamic and transformative learning experience.
Role-playing has been utilized as a teaching method for introductory object-oriented programming for decades. In one instance, an instructor removed role-playing activities from an in-person second-level undergraduate introductory Java programming course due to a shortened lecture schedule caused by winter weather. Following a decline in average midterm performance, the instructor reinstated the activities. A comparison of midterm and final exam results with those from the previous year's course, taught by the same instructor, revealed that role-playing activities positively impacted student learning, particularly among low-performing students, while having a minimal effect on high-performing students.
This study presents a one-day outreach workshop designed for middle school students, where the focus was on teaching block-based programming using Scratch alongside LEGO® Education SPIKE™ kits. Using the inherent appeal of LEGO® construction, the workshop aimed to make programming fun and exciting through a hands-on project: building and programming a motorized LEGO® car. A key component of the session involved having students articulate, in their own words, how the car should move in a square—for example, describing that "the car moves 15 cm in the north direction, then makes a 90-degree turn to the east, followed by another 15 cm movement, a 90-degree turn to the south, and finally moves 15 cm before a 90-degree turn to the west." This verbal algorithm was then collaboratively translated into Scratch code that controlled sensor inputs, motor outputs, and sound effects. The experience provided valuable observations on the strengths and challenges of short-duration programming workshops and laid the foundation for future, more extensive outreach initiatives.
Gamification is a process of applying game-design elements (e.g., puzzle, storytelling, point scoring) into non-game areas such as education and health care, and several research projects utilized it to engage K-12 students in computing education where they can have playful experience while learning concepts regarding computer science. However, there was no report yet that summarized previous research projects to see what areas of computer science have been taught for K-12 students specifically via gamification, which can provide clear insight into what topics were less focused so far and need to be considered in the future. Therefore, in this paper, we review 23 published research articles and show which concepts and topics have been covered and how successfully they were taught through gamification. This report will help to see the trends of research in gamification for K-12 computing education and the possible future directions that can be pursued in this research field.
Quantum cryptography could be a solution to a challenge of a quantum computer being able to break RSA encryption potentially very soon. The BB84 protocol is elegant and simple, and yet not easy to grasp by students who lack background in probability, statistics or physics. In an undergraduate Fundamentals of Cybersecurity class, we provided students with hands-on practice of BB84 using the 3D printed laboratory kit that illustrates the algorithm in action. The exercise enabled students to roll binary dice and run their own experiments using lasers, light filters, and detectors, so they get empirical understanding how and why the stats work that make the encryption reliable. It also enabled students to work in pairs and exchange secret messages which contributed to active learning teaching practice. We collected students' self-reported learning benefits via survey. Most responded positively to the tool being useful, engaging, and increasing their understanding of the algorithm.
With growing interest in alternative approaches to computing education aimed at improving student outcomes, we focused on two key strategies: gamified learning and ungraded pedagogy. These methods promote student engagement and intrinsic motivation by creating flexible, student-centered environments---gamification through game-like elements and ungraded pedagogy through a focus on mastery rather than performance. To explore how these approaches align and can be integrated, we conducted a systematic literature review of interventions combining both strategies. Our findings highlight key themes---Reimagined Classroom Experience, Gamified Grades, and Platformized Class---and provide insights into current practices, trends, and future research directions.