본문 바로가기
KERD
논문KCI 등재

Creating a Standardized Environment for Efficient Learning Management using GitHub Codespaces and GitHub Classroom

1

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류과학기술학

초록

One challenge with teaching practical programming classes is the standardization of development tools on student computers. This is particularly true when a complicated setup process is required before beginning to code, or in remote classes, such as those necessitated by the COVID-19 pandemic, where the instructor cannot provide individual troubleshooting assistance. In such cases, students who encounter problems during the setup process may give up on the class altogether before even beginning to code. Therefore, this paper recommends using GitHub Codespaces as a tool for implementing standardized student development environments from day one. Codespaces provides Docker containers that an instructor can configure in such a way as to enable students to practice installing various coding tools within a controlled space, while also providing a language-specific, fully optimized development environment. In addition, Codespaces may be used more effectively in collaboration with GitHub Classroom, which helps instructors manage both the starter code and coding environment in which students work. In this paper, we compare two semesters of university Node.JS programming classes that utilized different development environments: one localized on student computers, the other containerized in Codespaces online. Then, we discuss how GitHub Codespaces and GitHub Classroom can be used to increase the effectiveness of practical programming classes while also increasing student engagement and programming confidence in class.

Abstract

One challenge with teaching practical programming classes is the standardization of development tools on student computers. This is particularly true when a complicated setup process is required before beginning to code, or in remote classes, such as those necessitated by the COVID-19 pandemic, where the instructor cannot provide individual troubleshooting assistance. In such cases, students who encounter problems during the setup process may give up on the class altogether before even beginning to code. Therefore, this paper recommends using GitHub Codespaces as a tool for implementing standardized student development environments from day one. Codespaces provides Docker containers that an instructor can configure in such a way as to enable students to practice installing various coding tools within a controlled space, while also providing a language-specific, fully optimized development environment. In addition, Codespaces may be used more effectively in collaboration with GitHub Classroom, which helps instructors manage both the starter code and coding environment in which students work. In this paper, we compare two semesters of university Node.JS programming classes that utilized different development environments: one localized on student computers, the other containerized in Codespaces online. Then, we discuss how GitHub Codespaces and GitHub Classroom can be used to increase the effectiveness of practical programming classes while also increasing student engagement and programming confidence in class.

참고문헌 (15)

  1. "GitHub Codespaces"[URL]
  2. "GitHub Classroom"[URL]
  3. O. Laadan, "Teaching operating systems using virtual appliances and distributed version control", Proceedings of the 41st ACM Technical Symposium on Computer Science Education, pp.480~484 (2010)
  4. D. Malan, "Moving CS50 into the cloud", 15th Annual Conference of the Northeast Region of the Consortium for Computing Sciences in Colleges (2010)
  5. D. Malan, "Reinventing CS50", Proceedings of the 41st ACM Technical Symposium on Computer Science Education, pp.152~156 (2010)
  6. D. Malan, "Containerizing CS50: Standardizing Students’Programming Environments", Proceedings of the 2024 Innovation and Technology in Computer Science Education, 1 (2024), ACM
  7. D. Malan, "Standardizing Students’ Programming Environments with Docker Containers : Using Visual Studio Code in the Cloud with GitHub Codespaces", Proceedings of the 27th ACM Conference on on Innovation and Technology in Computer Science Education, 2, pp.599~600 (2022)
  8. D. Malan, "Providing Students with Standardized, Cloud-Based Programming Environments at Term’s Start (for Free)", Proceedings of the 54th ACM Technical Symposium on Computer Science Education, 2, pp.1183~ (2023)
  9. A. Snowberger, "A workflow for practical programming class management using github pages and github classroom", Journal of Practical Engineering Education, 15(2), pp.331~339 (2023)[DOI]
  10. "GitHub Pages"[URL]
  11. "GitHub Desktop"[URL]
  12. "About Billing for GitHub Codespaces"[URL]
  13. "Using GitHub Codespaces with GitHub Classroom"[URL]
  14. "Understanding the Codespace Lifecycle"[URL]
  15. "MongoDB Atlas"[URL]

관련 논문AI추천

이 간행물의 다른 논문 (14건)