
Maintaining course material, such as assignments and lecture notes, in a learning management system (LMS) differs significantly from modern software development practices. For example, there may be limited support for version control, automation, and monitoring (e.g., identifying broken links to third-party content) although various LMSs may provide aspects of this functionality. It is possible, though, to use software development tools to manage course material without abandoning an institution’s LMS. This work describes the use of GitHub Pages for a course website and provides a template for other faculty to use. Although such a website cannot replicate every feature of an LMS, it offers an alternative for computing faculty who want to integrate educational and professional practices and facilitates greater collaboration on course material.
This report examines the introduction of an AI-usage policy within a Software Engineering course, aiming to overcome the challenges of incorporating generative AI (genAI) tools in academic settings. As the debate around the impact of technologies like ChatGPT in education continues, this policy represents a proactive stance, addressing both the opportunities and risks associated with AI tool usage. With N=86 students, this course implemented a policy that promotes responsible AI use through guidelines and an "AI-usage disclosure" form for coursework submissions. This approach sought to improve AI literacy, ensure academic integrity, and mitigate potential academic misconduct cases. Despite challenges, including adherence to AI disclosures and the evolving definition of AI tools, the policy promoted a more inclusive learning environment and encouraged a deeper understanding of AI’s role and limitations in computer science education. The findings highlight the need for ongoing policy revisions to adapt to technological advancements, emphasizing the pilot as an essential step towards integrating AI responsibly in educational contexts.
This paper investigates gender disparity in the computer science (CS) program at the University of British Columbia Okanagan (UBC-O). Despite the national average of about 30% for women in CS programs, UBC-O shows a more severe gender imbalance (about 19%). Analyzing the experiences of CS students at UBC-O revealed that women in the program exhibit lower academic and career self-efficacy, resulting in a lower desire to pursue a career in CS. This occurs despite women having similar or higher academic standing compared to their male counterparts. These findings emphasize the need to invest further efforts to counteract the challenges faced by the women in their CS programs. This study contributes insights to create more inclusive and supportive environments, aiming to increase gender representation in CS programs not only at UBC-O but across other institutions facing similar challenges.
This nifty assignment requires students to construct a Recycling Items Sorting System using Java, focusing on object-oriented design, abstract data types (ADTs), and sorting algorithms to classify recyclables by type and properties. Targeted at intermediate students in a rigorous Object-Oriented Design course, the project emphasizes practical Java application, software design, and problem-solving skills. Provided in the fifth week of a sixteen-week program for postgraduates transitioning to tech, the task challenges students with ADTs, sorting algorithms, and unit testing. Interactive recitation sessions support learning, with an auto-grader on Gradescope facilitating immediate feedback and improvement.
This paper presents the pioneering implementation of a fully work-integrate learning (WIL) approach in Computing Science Education in Canada. This innovative approach aims to enhance inclusivity and diversity in computing education, inspired from successful WIL programs offered within the United Kingdom (UK). This paper offers a concise overview of the program’s development at York University, including its strategies for industry partnership, curriculum design, and mode of delivery. Overall, this work contributes to the advancement of educational practices in computing sciences and serves as a proposal for further implementation of WIL models in other university degree programs across Canada.
Randomized A/B comparisons of alternative pedagogical strategies or other course improvements could provide useful empirical evidence for instructor decision-making. However, traditional experiments do not provide a straightforward pathway to rapidly utilize data, increasing the chances that students in an experiment experience the best conditions. Drawing inspiration from the use of machine learning and experimentation in product development at leading technology companies, we explore how adaptive experimentation might aid continuous course improvement. In adaptive experiments, data is analyzed and utilized as different conditions are deployed to students. This can be achieved using machine learning algorithms to identify which actions are more beneficial in improving students’ learning experiences and outcomes. These algorithms can then dynamically deploy the most effective conditions in subsequent interactions with students, resulting in better support for students’ needs. We illustrate this approach with a case study that provides a side-by-side comparison of traditional and adaptive experiments on adding self-explanation prompts in online homework problems in a CS1 course. This work paves the way for exploring the importance of adaptive experiments in bridging research and practice to achieve continuous improvement in educational settings.
As cyberthreats become more commonplace, the teaching of cybersecurity concepts at an introductory level is becoming increasingly important. However, teaching this subject in an engaging manner is challenging. This work investigates the use of a game-based learning approach to teaching cybersecurity concepts in the form of a card game called Program Wars. Within the game, players use cards to create a representation of a computer program while launching cyberattacks at their opponents and defending their own program. As the initial version of the game presented cybersecurity concepts at only a high-level, Program Wars v.2.0 was created to introduce players to eight common cyberattacks and the tools used to defend against them. The results of a user study show that after playing Program Wars v.2.0 a player's knowledge of cybersecurity concepts is improved, showing that our game-based learning approach provides an effective means for introducing cybersecurity concepts to those with little or no prior knowledge. As Program Wars is a freely available web-based game, it can easily be integrated into classes to improve a student's knowledge of cybersecurity concepts.
In an effort to foster critical reflection on the usage of generative AI (genAI) during computer science writing assignments, this three-part assignment challenges students to predict whether their peers can detect which essays are generated using AI. Implemented as part of a third-year professional responsibility and technical writing course for N=200 students during Spring 2024, students individually generated two short persuasive essays, one using genAI and the other without. They then combined the two essays into a single document and submitted it for peer-review. Additionally, they formulated a guess on whether their peers would be able to detect which essay was generated as well as a rationale for their guess. Following the peer-review process, students reflected on their own experience trying to detect which essays were generated as well as the outcome of their guess about their peers abilities as well. Feedback indicates its effectiveness in engaging students in their understanding of the potentials and limitations of genAI. Recommended prerequisites include a clear course AI-usage policy and a brief overview of genAI prompt engineering.
Encouraging students to complete practice questions is challenging, especially with numerous distractions and the capabilities of generative AI. Although there are a variety of techniques and systems for synchronous question answering, these systems are limited in the types of questions that can be asked. Gamification has been applied to help motivate students to practice by using incentives such as badges, bonus marks, and competitions. This work developed an extension to the PrairieLearn system allowing for synchronous question and answer sessions with scoreboards and badge awards as student incentives. A key feature is the capability for automatic grading and including complex questions not easily done by other systems, while still making it fun for students to complete. Student feedback in an upper-year course was very positive with students reporting that it encouraged them to complete the questions.
In the dynamic realm of computing education, the demand for agile and versatile teaching strategies is paramount. This paper presents a pioneering blended learning approach termed the alternating-week model, which fluidly switches between online and in-person pedagogies on a weekly cycle. The EVEN/ODD structure of this model is uniquely adaptable, with the allocation of online and face-to-face instruction being modifiable based on specific program schedules and pedagogical goals. Whether online engagement is slated for EVEN or ODD weeks is determined by the course’s contextual requirements, ensuring a tailored fit for each educational program. We delve into the execution of this model within a computing curriculum, emphasizing the methods deployed to bolster student involvement in online sessions. Techniques such as gamified learning modules, project-driven tasks, and virtual consultations are evaluated for their efficacy in sustaining student engagement and performance. Moreover, the paper navigates through the hurdles experienced amidst the adoption of the model, including issues of technological access and the maintenance of academic community integrity, and the countermeasures taken. Initial observations indicate that the alternating-week framework not only promotes a balanced and dynamic educational environment but also yields considerable gains in the stewardship of educational resources. The study’s outcomes provide valuable perspectives for computing education practitioners, suggesting a versatile and replicable template for blended instruction that aligns with the fast-paced evolution of technology and the diversity of learner profiles.
Although CS educators have studied the potential of generative AI for years, the release of ChatGPT in late 2022 sparked a wave of uncertainty and anxiety. With students arriving at university already experienced with using ChatGPT for work across the academic spectrum, educators were under pressure to somehow address the presence of this new resource in their classroom. This article describes both the “climate of fear” surrounding ChatGPT’s impacts on education and an attempt by the authors to induct ChatGPT as a colleague instead of an adversary. While creating a video series where we used ChatGPT to generate practice exercises for CS1 and CS2, we found it to be patient, charismatic and friendly, but also sometimes obstinate, misinformed, stubborn and confused; in other words, it was surprisingly human.
It is widely accepted that the instruction of programming in assembly language is often a challenging and frustrating experience both to educators and undergraduate students. It is crucial to make sure that frustration does not compel students to abandon the subject. This can be addressed by enhancing delivery through various mechanisms such as employing game development, fun activities, and powerful visualizations. In this study, we take a step back trying to understand which topics pose challenges to students more than others. We analyzed six different submissions for 244 students to answer this question. These six submissions include five term assignments and one project in one semester.
While the challenges experienced by first-year computing students have been well studied, little work has explored the transitions in disciplinary participation and challenges experienced by upper-years. This study explores how students’ needs and challenges evolve through a computing degree. We collected the experiences of first to final-year undergraduate computing students through surveys and interviews. We organized these experiences into themes that we compare against previous literature and illustrate with quotes. Upper-year students perceive changes in (a) levels of support and (b) the kinds of challenges they experience as they progress through the program. Second-year students feel pressured by the increasing difficulty of courses. This pressure increases through the third year as students begin to perceive a need to find employment. The experiences of our students suggest the need to better support the middle years of academic programs. Students in the first year are well-supported in their university transition, but students in the middle are often left to find their way as they develop a deeper understanding of their desired place in the field.
The importance of cybersecurity education within a computer science program is greater than ever in today’s rapidly advancing technological landscape. In order to protect sensitive information and digital infrastructure from various threats, cybersecurity as part of a program curriculum or as a stand-alone education focus has become critical. The constant evolution of cyber threats, the shortage of qualified educators, and the need for practical, hands-on experience have created challenges. To overcome these challenges, the integration of gaming and artificial intelligence (AI) technologies has demonstrated notable progress by providing engaging and immersive learning experiences for students. Based on literature published since 2020, this paper reviews the issues, challenges, and considerations in the design, development, and delivery of a cybersecurity education program,
Discrete mathematics is crucial for a Computer Science major, yet often challenging. We describe how to integrate Digital Circuit labs with a Discrete Math course, employing active learning methods. Our approach, featuring a logic simulator application and a digital circuit lab kit, enhances comprehension of relevance of content, and student engagement. We describe the design of our course and discuss the latest changes made to improve lab engagement and better connect them to the theory seen in lecture.
Many university courses are moving from traditional paper-based assessments to computer-based tests with automated grading. This change could lead to increased student test anxiety but because the ease of grading facilitates frequent smaller-stakes assessments, it may reduce test anxiety particularly over the course of a semester as students become familiar with the test platform. This study examines the roles of test anxiety, self-efficacy, and academic performance, leveraging an in-person, supervised, computer-based testing approach. We measure each of these variables for 173 CS1 students over five unit quizzes and one final exam. We find no significant correlation between test anxiety and performance for the men or the women, while self-efficacy correlates moderately with performance for the men. Despite higher anxiety and lower self-efficacy, the women achieved comparable academic outcomes to the men. These results challenge traditional views on the impact of test anxiety on academic performance, highlighting the need for deeper investigation into these phenomena.
Game-based learning (GBL) provides an engaging way to introduce those with limited programming experience to fundamental programming concepts, Program Wars uses a GBL approach to teach fundamental programming concepts using cards that represent instructions, loops, variables and methods to create a programming language-independent program. This paper introduces Program Wars v.2.0, which improves the prior implementation in several ways. These changes include the approach to teaching methods, introducing players to the concepts of searching and sorting algorithms, and revisions to the gameplay and UI to improve engagement. A user study of Program Wars v.2.0 was conducted and shows that ProgramWars v.2.0 is more effective than ProgramWars v.1.0 in teaching the concepts of variables, loops and methods. Specifically, 60% of participants showed knowledge improvements of variables, 56% showed knowledge improvements for loops, and 44% showed knowledge improvements for methods. Qualitative results show that Program Wars's game-based approach results in an engaging experience for learners.
Students in introductory Computer Science (CS) courses sometimes struggle with learning course content, but feel these struggles are uniquely theirs. To foster a more inclusive CS culture and normalize challenges in the learning process, we designed a conversational agent (“chatbot”) that self-discloses information about the chatbot’s own imaginary struggles with learning course material. Inspired by previous work in the mental health domain where humans reciprocated disclosure when a chatbot disclosed sensitive information, our goal was to promote student self-disclosure of learning challenges and to help students feel less alone. To inform design, we first conducted three focus groups with CS students on themes of identity and belonging. Based on these findings, we designed a self-disclosing chatbot (“Mibi”) and deployed it in a pilot summer course (40 students) and a larger course (460 students) in the fall semester of 2023. Our work is the first real-world deployment of a chatbot in higher education for promoting student wellbeing, rather than assisting with practical course content. We highlight findings from this exploratory study, sharing how students engaged with Mibi, where it succeeded, where it has room to grow, and how that can inform future iterations of this promising new classroom companion for student mental health.
This nifty assignment is designed to introduce students to fundamental networking concepts, such as the client—server model, sockets, and network protocols, through hands-on experience with cross-language programming and code refactoring. The assignment targets students without a prior background in computer science. By engaging students with starter code in C, Python, and Java, the assignment facilitates the understanding of protocols across different programming languages and emphasizes the importance of code reusability and refactoring. Students are tasked with extending server functionality to include custom commands and are encouraged to use AI tools for code development. This approach aims to prepare students for the evolving pedagogical landscape where AI-assisted development plays a significant role in software engineering practices.
This brief report describes early work adapting the Four Rs (Respect, Relevance, Reciprocity, and Responsibility) to a computer science (CS) context as a way to incorporate Indigenous Ways of Knowing (IWoK) into a CS course. To mitigate the risk of marginalizing or appropriating Indigenous knowledge, a four step approach makes transparent the original context and content distilled out of the Four Rs as they are adapted to a CS context. In keeping with reconciliation, Indigenous voices are included in the process.