Flipped Learning for an Introductory Programming Class in Higher Education
Author Name: Jinho Kim
1. Introduction
With the rise of big tech companies in today’s technology-driven world, interest in computer science education is growing exponentially. In line with this comes the popularity of introductory software programming courses in universities. Previously, such courses were targeted at students majoring in science. However, it has now expanded to become an elective class for all majors. Such popularity can be observed through course popularity in higher education. For example, Harvard’s Computer Science 50: “Introduction to Computer Science I” (CS50) was ranked as one of the most enrolled courses for some time until it finally reached the top in 2019 and 2020 with over 700 undergraduate enrollees (Rodman, 2015l Herwitz, 2017; D’arms & Jia, 2018; Isselbacher, 2019). CS50 is also offered to the public on edX, and the lecture videos can be found on YouTube(2021 HDR, 2021 SDR, 2020, 2019). The lecture playlist for 2021 has more than 300,000 views and the 2020 lecture with more than 1 million views.
With the growing popularity of such introductory software classes arose the question of which instructional methods would be best for effective instruction. In terms of structuring the lecture, there is the traditional method of covering the learning material in class and having the students solve problems. On the other hand, the flipped learning approach lets the students study the content prior to class and use class time for discussions and activities.
– Flipped Learning
The definition of flipped learning can be summed up as “school work at home and home work at school”. It is a learner-centered approach where the group learning space is used for engagement and application activities, and the individual learning space is used for direct instruction (FLN, 2014). Flipped learning consists of four pillars – flexible environment, learning culture, intentional content, and professional educator. The Flipped Learning Network(2014) has provided the 11 checking points to guide instructors in designing a course using flipped learning:
Flexible Environment
- I establish spaces and time frames that permit students to interact and reflect on their learning as needed.
- I continually observe and monitor students to make adjustments as appropriate.
- I provide students with different ways to learn content and demonstrate mastery.
Learning Culture
- I give students opportunities to engage in meaningful activities without the teacher being central.
- I scaffold these activities and make them accessible to all students through differentiation and feedback.
Intentional Content
- I prioritize concepts used in direct instruction for learners to access on their own.
- I create and/or curate relevant content (typically videos) for my students.
- I differentiate to make content accessible and relevant to all students.
Professional Educator
- I make myself available to all students for individual, small group, and class feedback in real-time as needed.
- I conduct ongoing formative assessments during class time through observation and by recording data to inform future instruction.
- I collaborate and reflect with other educators and take responsibility for transforming my practice.
Flipped learning has the potential to allow students to study depending on their understanding levels (Ottenbreit-Leftwich & Brush, 2017). However, there is the need to address the fact that not all learners may be able to have access to the technology needed for the self-study lecture videos, and teachers may feel the burden of creating such content (Ottenbreit-Leftwich & Brush, 2017).
In the context of software education in higher education, flipped learning has been explored to facilitate student learning by enabling the instructors and learners to focus more on the laboratory sessions. Through a review of 45 related articles, Sobral (2021) has found that a typical flipped introductory programming course out-of-class activities consisted of studying online materials and videos created/chosen by the instructor, and taking short quizzes as an assessment. In-class activities were usually in the order of objective identification, answering student questions, taking part in programming exercises, assessing the class, and previewing the next class. Collaborative learning strategies such as peer instruction, problem-based learning, and pair programming were used during the exercise.
Previous studies on flipped learning in programming courses have shown that it enables students to study at their self-pace (Herala, 2015; Rosiene & Rosiene, 2019; Sobral, 2021). Also, students’ active communication and collaboration could be fostered between the instructor and the student during class (Rosiene & Rosiene, 2019). However, students could perceive long static videos as overwhelming (Sobral, 2021), and there were disadvantages to addressing student questions about the lecture just in time(Rosiene & Rosiene, 2019). Furthermore, self-motivation was a big issue with problems arising when learners come unprepared to class, and preparation time for both learners and instructors tended to increase in flipped learning classes (Rosiene & Rosiene, 2019).
2. Overview of the Case
– Software Education in South Korea
Software education in South Korea has been greatly influenced by the Ministry of Education. With the 2015 revised national curriculum, it is now the case that software education is mandatory in K-12 education. In higher education, the National Program of Excellence in Software has been implemented in select institutions to expand software education and attract multidisciplinary talents.
Since 2015, a cumulative number of 49 higher education institutes have participated or am participating in the program. However, it is not that only such selected institutes are running such curriculums. Whether selected for the National Program of Excellence in Software or not, most institutes have implemented their own courses and study tracks to encourage computer science-related electives for students from all majors.
– Software Education at Yonsei University
Yonsei University, a private higher education institution located in Seoul, has made a new category in their elective courses named “Information and Technology” and offered computer science and software courses since 2016. Regardless of their majors, undergraduate students are required to take at least one class among Computational Thinking and SW Programming, SW Programming, and Understanding of AI.
Among the three courses, SW Programming is aimed to get learners to understand how programming can be used as a tool, be introduced to the thought processes of computer scientists, and learn techniques to integrate knowledge from their field with computer science to solve problems. The programming language used in SW Programming in Python. The course is aimed at freshmen, so the majority of learners are first-year students.
– Example SW Programming Case
Prior to the introduction of flipped learning, the course was delivered face-to-face. Students had two hours of lessons at the beginning of the week (usually Mondays), where they learned the theoretical portion from the instructor. Then, they attended laboratory sessions mid-week or at the end of the week (usually on Wednesdays or Thursdays). The laboratory sessions were usually attended by TA, and instead of providing any special instruction, it was usually used as a time where students could work on their homework individually. The class met as the computer laboratory and though attendance was mandatory, the learners were allowed to leave at any time if they were able to show that their homework had been submitted. Leaners who needed more assistance were allowed to say up to two hours.
There were limitations to such design as more emphasis was placed on the instructor’s lectures. The course was perceived as content-centered by the students. Though laboratory sessions existed, they were not implemented to facilitate active learning. Furthermore, with the Covid 19 pandemic from early 2020, it was impossible to have such face-to-face classes, and all classes had to be moved online. Thus, the need to modify the course arose.
3. Solutions Implemented
To address the problems of the previous SW Programming courses, flipped learning was decided to be used. It was hoped to be able to have learners center their attention on actual programming and problem-solving activities. Practical issues also influenced the decision. Just moving the previous structure online, in other words having online synchronous lectures and laboratory sessions, was aborted as there were doubts about how stable the connections would be. Missing a few seconds while participating in activities was thought not to be as crucial compared to missing the explanation of the content.
Specifically, the course was designed so that it was entirely online. Out-of-class activities consisted of lecture videos which were divided by topic and each approximately 30 minutes in length. The videos were about the basics of programming and the grammar of Python. For example, they would learn about data types in one week and different loops in another. The videos were made by the instructor and directly uploaded to the learning management system (LMS). To ensure that the students studied the material, keywords that were randomly embedded within the video had to be submitted as proof that they had watched the videos. This was reflected in their scores for the class. Additional materials, such as links to further reading materials or python documentation pages, were also provided on the LMS, and learners could go over them voluntarily.
The class was held synchronously through ZOOM on Wednesdays for two hours. After a brief review of the week’s key concepts, time was given for students to ask clarifying questions to ensure they fully understood the material. Then, the TA went through a worked example, and the rest of the time was allocated for students to try the practice questions and homework problems themselves and ask questions directly.
Messaging applications such as Slack, Discord, or KakaoTalk (a Korean messaging app) facilitated communication between the instructor, TA, and learners. Students were allowed to take part anonymously to promote participation. They could ask questions and have discussions in the general room where all members were present or were allowed to ask one-to-one questions through direct messages. This communication tool was encouraged to be used during the class and whenever learners wanted to inquire about something.
Regarding the four pillars of flipped learning, the case can be analyzed as follows.
Flexible Environment
– Learners were provided with lecture videos and external links, along with online textbooks with a period of three days to study at their convenience.
– Synchronous classes and communication applications were used for interactions.
– Learners were provided with a recording of the synchronous class so they could review the material if they wished.
– Anonymous surveys were used to ask for suggestions and any other feedback regarding how the class is conducted.
Learning Culture
– The class was designed to be student-centered, with students leading the progression and the instructor aiding and answering questions.
– Personalized feedback was provided for all assignments.
Intentional Content
– Videos made by the instructor specifically for this course were used.
– Additional videos for a more detailed explanation of challenging concepts were provided with external resources, and learners could use them accordingly.
Professional Educator
– Communication tools were promoted to be used to ask questions at any time.
– The instructor and TAs discussed how to improve the course based on student feedback and personal reflections.
4. Outcomes
The outcomes of this flipped learning case in higher education can be discussed in three main categories, out-of-class activities, class actives, and the messaging app.
In terms of the out-of-class activities, there were many opinions, both satisfactory and unsatisfactory. Learners were pleased that they could study the content at their own pace and rewatch parts that they had trouble understanding. Also, it was said that the external materials and supplementary videos were helpful. From the instructor’s point of view, video materials meant that he was not tied to a particular time length. He could adjust the time of the lectures according to the complexity of the week’s topics. On the other hand, learners expressed discomfort in being unable to directly ask questions while the lecture was taking place. With the primary learning material being videos, they felt that the instruction was one-sided, and they became passive learners. Also, there were complaints about the length of the materials being different each week. Students also expressed hardships in pacing themselves. Finally, there was the problem that some learners did not study the material before attending the class and therefore were not able to follow.
With the synchronous classes, many were pleased that they were able to do programming activities within the presence of the instructor/TAs. They expressed concern about having a hard time implementing the content on their own and were relieved that it wasn’t thrown at them as homework do be done on their own. The classes being recorded and shared were also cited as a perk.
The use of communication tools such as Slack, Discord, and KakaoTalk also resulted in interesting results. Many learners thought that it was convenient that they did not have to wait for question sessions and instead could solve their inquiries at any time. Also, they perceived that the communication with the instructor or TAs was much more active than in other courses and expressed satisfaction with their learning experience. However, there were a few complaints about using unfamiliar tools with suggestions to use more popular messenger applications. Some wanted more discussion and collaboration opportunities among the learners, as most interactions tended to be individual questions.
5. Implications
The outcome of this case gives insight into how flipped learning can be better used for an introductory programming course in higher education. Flipped learning showed its strengths in that learners could participate in the out-of-class activities in their own time and at their preferred pace. However, not all students are good at self-pacing themselves nor determined to finish the material beforehand. Hendrik & Hamzah (2021) mentioned that the learner’s “self-regulation, restraint ability, independence, and responsibility in learning” is vital for flipped learning to be successful. Thus, it is crucial to pay close attention to their motivation levels and provide assistance in completing the required material. Review quizzes or interactive tutorials could be a way to higher motivation among students (Hendrik & Hamzah, 2021). Providing time management strategies or example timelines could also be helpful.
When using communication tools in the class, the feedback from the students revealed that there has to be consideration of the familiarity and accessibility of the tool. Also, probes to foster participation within the communication tools need to be provided.
References
D’arms, C. R., & Jia, A. L. (2018, September 21). Computer Science, Greek Mythology Classes Surpass Intro to Economics in Top Fall Course Enrollment. The Harvard Crimson. Retrieved from https://www.thecrimson.com/article/2018/9/21/course-enrollment-fall-2018/
Flipped Learning Network (FLN). (2014) The Four Pillars of F-L-I-P™
Hendrik, H., & Hamzah, A. (2021). Flipped Classroom in programming course: A systematic literature review. International Journal of Emerging Technologies in Learning (IJET), 16(02), 220. doi:10.3991/ijet.v16i02.15229
Herala, A., Vanhala, E., Knutas, A., & Ikonen, J. (2015). Teaching programming with flipped classroom method: A study from two programming courses. Proceedings of the 15th Koli Calling Conference on Computing Education Research. New York, NY, USA: ACM.
Herwitz, E. M. (2017, September 11). Ec10, CS50 Once Again Top Course Enrollment. The Harvard Crimson. Retrieved from https://www.thecrimson.com/article/2017/9/11/course-enrollment-2017/
Isselbacher, J. E. (2019, September 11). CS50 Tops Course Enrollment While Popular Gen Eds Fall Short Due to Course Caps. The Harvard Crimson. Retrieved from https://www.thecrimson.com/article/2016/9/12/fall-2016-enrollment-figures/
Ottenbreit-Leftwich, A., & Brush, T. (2017). Integrating Technology into K–12 Education. In R. Reiser & J. Dempsey (Eds.), Trends and Issues in Instructional Design and Technology (4th ed., pp. 176–184). Upper Saddle River, NJ: Pearson.
Rodman, M. C. (2015, September 14). Ec 10 and CS50 Compete for Largest Enrollment Numbers. The Harvard Crimson. Retrieved from https://www.thecrimson.com/article/2015/9/14/ec10-cs50-largest-enrollments/
Rosiene, C. P., & Rosiene, J. A. (2019). To flip or not to flip: Experiences with a hybrid approach. 2019 IEEE Frontiers in Education Conference (FIE). IEEE.
Sobral, S. R. (2021). Flipped classrooms for introductory computer programming courses. International Journal of Information and Education Technology (IJIET), 11(4), 178–183. doi:10.18178/ijiet.2021.11.4.1508