Learning to code in class with MOOCs: Process, factors and outcomes - Gomes, João Pedro Grangeia (2020)
Problem: Python became the most popular programming language in recent years, beating Java, the programming language still widely used as the main programming language in many undergraduate degrees on computer science related areas. Students from those degrees often do not get Python in their syllabus, but the job market is demanding it increasingly. Objective: To assess if learning a new programming language by following a MOOC is feasible in a fully dedicated mode and allows achieving a learning outcome comparable to the traditional in-class learning process. Proposal: Students from undergraduate degrees lacking Python skills followed a dedicated and intensive learning process on that language based on an in-class MOOC. The latter is suitable for students with some background in programming, as is the case, allowing a faster learning pace. Participants’ subjective perception of the corresponding workload was monitored. Validation: A programming contest, using an automatic judge, was used as a validation for this proposal. Two groups of students participated: those from three degrees lacking Python, which followed the proposed MOOC (experimental group), and those from the degree that includes Python programming, which had a traditional in-class learning process (control group). Conclusions: The experiment results were analysed and it was inferred that the proposed in-class MOOC learning approach is as effective as the traditional learning approach. Furthermore, it was identified that the students’ average grades obtained in the previous programming courses taken as part of their degree’s syllabus and the number of MOOC modules finished in the context of this experiment directly influence the number of points obtained in the contest.