USING GITHUB CLASSROOM IN TEACHING PROGRAMMING

USING GITHUB CLASSROOM IN TEACHING PROGRAMMING

J. Bennedsen, T. Böjttjer, D. Tola (2022).  USING GITHUB CLASSROOM IN TEACHING PROGRAMMING. 690-702.

Teaching students programming can be done in many different ways. One is to use Test-Driven Development (TDD) where the students can receive immediate feedback on their implementations, to correct them before submitting their assignments. The article describes a study performed on first-semester bachelor students in computer engineering in an introductory course on programming. Various tools were used to support the students learning, namely, GitHub Classroom, Visual Studio Code, and repl.it. The article discusses the pros and cons of using TDD together with the mentioned tools for an introductory course in programming. The results are based on a questionnaire filled in by the students to understand the outcome from the students’ perspective, and also based on the experience from the teachers’ point of view. The results were mainly positive from both the teachers’ and students’ points of view, with a few aspects where there were trade-offs and things that can be done differently.

Authors (New): 
Jens Bennedsen
Till Böjttjer
Daniella Tola
Pages: 
690-702
Affiliations: 
Aarhus University, Denmark
Keywords: 
Programming
GitHub
Professional skills
Test-Driven Development
Software Development
CDIO Standard 2
CDIO Standard 8
CDIO Standard 11
Year: 
2022
Reference: 
Aarhus University. (2022). Programming for computer engineering. Retrieved 2022- 01-10, from https://kursuskatalog.au.dk/en/course/107799/Programming-for -Computer-Engineering: 
Angulo, M. A., & Aktunc, O. (2019). Using github as a teaching tool for programming courses. In 2018 gulf southwest section conference.: 
Beck, K. (2000). Extreme programming explained: embrace change. addison-wesley professional.: 
Beck, K. (2003). Test-driven development: by example. Addison-Wesley Professional.: 
Brooks, F., & Kugler, H. (1987). No silver bullet. In J. P. Bowen & M. G. Hinchey (Eds.), High-integrity system specification and design (p. 11-27). Springer.: 
Cooper, S., Dann, W., & Pausch, R. (2003). Teaching objects-first in introductory computer science. In Proceedings of the 34th sigcse technical symposium on computer science education (p. 191–195). New York, NY, USA: Association for Computing Machinery.: 
10.1145/611892.611966
Corney, M. W., Teague, D. M., & Thomas, R. N. (2010). Engaging students in programming. In Conferences in research and practice in information technology, vol. 103. tony clear and john hamer, eds. (Vol. 103, pp. 63–72).: 
Diehl, P., & Brandt, S. R. (2020). Interactive c++ code development using c++ explorer and github classroom for educational purposes. Proceedings of Gateways, 5.: 
GitHub. (2022). Github classroom. Retrieved 2022-01-07, from https://classroom .github.com: 
Glassey, R. (2019). Adopting git/github within teaching: A survey of tool support. In Proceedings of the acm conference on global computing education (pp. 143–149).: 
Glazunova, O., Parhomenko, O., Korolchuk, V., & Voloshyna, T. (2021). The effectiveness of github cloud services for implementing a programming training project: students’ point of view. In Journal of physics: Conference series (Vol. 1840, p. 012030).: 
Guzdial, M. (2010). Why is it so hard to learn to program? In A. Oram & G. Wilson (Eds.), Making software: What really works, and why we believe it (p. 111-124). Sebastopol, CA, USA: O’Reilly.: 
Hsing, C., & Gennarelli, V. (2019). Using github in the classroom predicts student learning outcomes and classroom experiences: Findings from a survey of students and teachers. In Proceedings of the 50th acm technical symposium on computer science education (pp. 672– 678).: 
Istiyowati, L. S., Syahrial, Z., & Muslim, S. (2020). Programmer’s competencies between industry and education. Universal Journal of Educational Research, 8, 10-15.: 
Kaila, E. (2018). Utilizing educational technology in computer science and programming courses : theory and practice (Doctoral dissertation, University of Turku, Finland). Retrieved 2022-01-20, from https://www.utupub.fi/handle/10024/144535: 
Lee, I., Martin, F., Denner, J., Coulter, B., Allan, W., Erickson, J., . . . Werner, L. (2011). Computational thinking for youth in practice. Acm Inroads, 2(1), 32–37.: 
Martínez, C., & Muñoz, M. (2014). Adpt: An active learning method for a programming lab course. In Proceedings of the 10th international cdio conference.: 
Martínez, C., & Muñoz, M. (2014). Adpt: An active learning method for a programming lab course. In Proceedings of the 10th international cdio conference.: 
Matthíasdóttir, Á., & Loftsson, H. (2020). Improving the implementation of a first-semester programming course. In Proceedings of the 16th international cdio conference.: 
Muuli, E., Papli, K., Tõnisson, E., Lepp, M., Palts, T., Suviste, R., . . . Luik, P. (2017). Automatic assessment of programming assignments using image recognition. In European conference on technology enhanced learning (pp. 153–163).: 
Naps, T. L., Rößling, G., Almstrum, V., Dann,W., Fleischer, R., Hundhausen, C., . . . Velázquez- Iturbide, J. A. (2002). Exploring the role of visualization and engagement in computer science education. In Working group reports from iticse on innovation and technology in computer science education (p. 131–152). New York, NY, USA: Association for Computing Machinery.: 
10.1145/960568.782998
Replit. (2022). Replit. Retrieved 2022-01-11, from https://replit.com/: 
Sorva, J., Karavirta, V., & Malmi, L. (2013, November). A review of generic program visualization systems for introductory programming education. ACM Transactions on Computing Education, 13(4).: 
10.1145/2490822
Stack Overflow. (2022). Stack overflow developer survey 2021. Retrieved 2022- 01-11, from https://insights.stackoverflow.com/survey/2021#most-popular -technologies-new-collab-tools: 
Staugaard, J. T. (2020). Teaching object-oriented programming to novices by connecting reality and code using visualisation (Unpublished master’s thesis). IT University, Denmark.: 
Thangaraj, J. (2021). Automated assessment & feedback system for novice programmers. In Proceedings of the 26th acm conference on innovation and technology in computer science education v. 2 (p. 672–673). New York, NY, USA: Association for Computing Machinery.: 
10.1145/3456565.3460021
US News. (2021). 100 best jobs. https://money.usnews.com/careers/best-jobs/ rankings/the-100-best-jobs.: 
Visual Studio Code. (2022). Visual studio code. Retrieved 2022-01-11, from https://code .visualstudio.com/: 
Xu, D., Wolz, U., Kumar, D., & Greenburg, I. (2018). Updating introductory computer science with creative computation. In Proceedings of the 49th acm technical symposium on computer science education (p. 167–172). New York, NY, USA: Association for Computing Machinery.: 
10.1145/3159450.3159539
Zaw, K. K., Hnin, H. W., Kyaw, K. Y., & Funabiki, N. (2020). Software quality metrics calculations for java programming learning assistant system. In 2020 ieee conference on computer applications(icca) (p. 1-6).: 
10.1109/ICCA49400.2020.9022823
Go to top