Programming projects are essential in computer science education for bridging theory with practice and introducing students to tools like Git, IDEs, and debuggers. However, designing and evaluating these projects (especially in MOOCs)can be challenging. We propose the Immersive Code Learning Framework (ICLF), a scalable Git-based organizational pipeline for managing and evaluating student programming project. Students begin with an existing code base, a practice that is crucial for mirroring real-world software development. Students then iteratively complete tasks that pass predefined tests. The instructor only manages a hidden parent repository containing solutions, which is used to generate an intermediate public repository with these solutions removed via a templating system. Students are invited collaborators on private forks of this intermediate repository, possibly updated throughout the semester whenever the teacher changes the parent repository. This approach reduces grading platform dependency, supports automated feedback, and allows the project to evolve without disrupting student work. Successfully tested over several years, including in an edX MOOC, this organizational pipeline provides transparent evaluation, plagiarism detection, and continuous progress tracking for each student.
翻译:编程项目在计算机科学教育中至关重要,它能够将理论与实践相结合,并引导学生熟悉Git、IDE和调试器等工具。然而,设计和评估这些项目(尤其是在大规模开放在线课程中)颇具挑战性。本文提出沉浸式代码学习框架(ICLF),这是一个基于Git的可扩展组织流程,用于管理和评估学生编程项目。学生从一个现有代码库开始工作,这种做法对于模拟真实软件开发环境至关重要。随后,学生通过迭代方式完成任务,这些任务需通过预定义的测试。教师仅需管理一个包含解决方案的隐藏父仓库,该仓库通过模板系统生成一个移除了这些解决方案的中间公共仓库。学生被邀请作为该中间仓库私有分支的协作者,这些分支在学期中可能随教师对父仓库的修改而更新。该方法降低了对评分平台的依赖,支持自动化反馈,并允许项目在演进时不干扰学生的工作。经过多年成功测试(包括在一门edX大规模开放在线课程中),该组织流程为每位学生提供了透明的评估、抄袭检测和持续进度跟踪功能。