Enhancing Student Engagement in Large-Scale Capstone Courses: An Experience Report

2404.03120

YC

0

Reddit

0

Published 4/5/2024 by Asma Shakil, Paul Denny

🏋️

Abstract

Computer science (CS) capstone courses offer students a valuable opportunity to gain hands-on experience in software development, practice essential soft skills, and enhance their employability prospects. They are a core component in many CS undergraduate degrees and address the ACM curricula requirements of inculcating professional dispositions in students and making them aware of the broader societal implications of computing. However, coordinating a capstone course, especially for a large student cohort, can be a daunting task for academic staff. It demands considerable time and energy for planning and coordinating activities between students, academic staff, and any external stakeholders. In this experience report, we outline the iterative development and refinement of our capstone course as it grew substantially in size over a span of six consecutive sessions. We outline the pedagogies that helped us to enhance student engagement and motivation in the course as assessed by end-of-course surveys and students' written reflections. We share the lessons that we have learnt and provide recommendations to educators who are designing new capstone courses or looking to scale existing ones.

Create account to get full access

or

If you already have an account, we'll log you in

Overview

  • Computer science (CS) capstone courses provide students with hands-on software development experience and opportunities to practice essential soft skills.
  • Capstone courses are a core component of many CS undergraduate degrees, helping to meet curriculum requirements around professional dispositions and societal implications of computing.
  • Coordinating a capstone course, especially for a large student cohort, can be challenging for academic staff due to the significant planning and coordination required.

Plain English Explanation

Capstone courses are an important part of many computer science degree programs. They give students the chance to put their skills to the test in a real-world software development project. This allows them to gain practical experience and develop crucial "soft" skills like teamwork and communication, which are highly valued by employers.

These capstone courses also help ensure students understand the broader impact of computing on society - an important consideration for future technology professionals. However, running a successful capstone course, particularly for a large group of students, can be quite demanding for the academic staff responsible. A lot of time and effort is required to plan and coordinate all the various moving parts, from managing the students to liaising with any external partners involved.

Technical Explanation

The paper describes the authors' experiences in iteratively developing and refining a computer science capstone course over the span of six consecutive sessions. As the size of the student cohort grew substantially, the authors had to adapt their pedagogical approaches to enhance student engagement and motivation.

The paper outlines the key pedagogical strategies employed, which were assessed based on end-of-course student surveys and written reflections. The authors also share the lessons they learned and provide recommendations for educators designing new capstone courses or looking to scale up existing ones.

Critical Analysis

The paper provides a valuable case study on the challenges and best practices for running effective capstone courses in computer science. However, it does not delve deeply into the specific pedagogical techniques used or provide a rigorous evaluation of their impact on student learning outcomes.

Additionally, the paper focuses primarily on the instructor's perspective, and could be strengthened by incorporating more direct feedback and insights from the students themselves. Further research may be needed to understand the long-term benefits of capstone courses and how they influence students' professional development and career trajectories.

Conclusion

Overall, this paper highlights the important role that capstone courses play in computer science education, equipping students with essential technical and soft skills while also fostering an awareness of the societal implications of computing. While coordinating such courses can be challenging, especially at scale, the authors provide valuable guidance for educators looking to establish or enhance their own capstone programs.



This summary was produced with help from an AI and may contain inaccuracies - check out the links to read the original source documents!

Related Papers

🤯

Lessons Learned: The Evolution of an Undergraduate Robotics Course in Computer Science

R. Pito Salas

YC

0

Reddit

0

Seven years ago (2016), we began integrating Robotics into our Computer Science curriculum. This paper explores the mission, initial goals and objectives, specific choices we made along the way, and why and outcomes. Of course, we were not the first to do so. Our contribution in this paper is to describe a seven-year experience in the hope that others going down this road will benefit, perhaps avoiding some missteps and dead-ends. We offer our answers to many questions that anyone undertaking bootstrapping a new robotics program may have to deal with. At the end of the paper, we discuss a set of lessons learned, including striking the right balance between depth and breadth in syllabus design and material organization, the significance of utilizing physical robots and criteria for selecting a suitable robotics platform, insights into the scope and design of a robotics lab, the necessity of standardizing hardware and software configurations, along with implementation methods, and strategies for preparing students for the steep learning curve.

Read more

4/30/2024

🤷

Socially Responsible Computing in an Introductory Course

Aakash Gautam, Anagha Kulkarni, Sarah Hug, Jane Lehr, Ilmi Yoon

YC

0

Reddit

0

Given the potential for technology to inflict harm and injustice on society, it is imperative that we cultivate a sense of social responsibility among our students as they progress through the Computer Science (CS) curriculum. Our students need to be able to examine the social complexities in which technology development and use are situated. Also, aligning students' personal goals and their ability to achieve them in their field of study is important for promoting motivation and a sense of belonging. Promoting communal goals while learning computing can help broaden participation, particularly among groups who have been historically marginalized in computing. Keeping these considerations in mind, we piloted an introductory Java programming course in which activities engaging students in ethical and socially responsible considerations were integrated across modules. Rather than adding social on top of the technical content, our curricular approach seeks to weave them together. The data from the class suggests that the students found the inclusion of the social context in the technical assignments to be more motivating and expressed greater agency in realizing social change. We share our approach to designing this new introductory socially responsible computing course and the students' reflections. We also highlight seven considerations for educators seeking to incorporate socially responsible computing.

Read more

6/11/2024

Opportunities for Adaptive Experiments to Enable Continuous Improvement in Computer Science Education

Opportunities for Adaptive Experiments to Enable Continuous Improvement in Computer Science Education

Ilya Musabirov, Angela Zavaleta-Bernuy, Pan Chen, Michael Liut, Joseph Jay Williams

YC

0

Reddit

0

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.

Read more

6/10/2024

Mobile user experience from the lens of project-based learning

Mobile user experience from the lens of project-based learning

Maria Spichkova

YC

0

Reddit

0

This paper presents an overview of mobile application projects conducted at the RMIT University as a part of the Learning and Teaching activities within Bachelor and Master programs, in collaboration with industrial partners. We discuss the lessons learned over eight years of teaching the corresponding courses and compare the results of our student project to the trends summarised in the recently published approached from other universities and countries.

Read more

4/4/2024