A Flipped Classroom Framework for Teaching and Learning of Programming

Rosnizam Eusoff, Abdullah Mohd Zin, Syahanim Mohd Salleh


Programming is a difficult subject that requires high analytical skills to comprehend students. Various strategies are introduced to improve difficulties in learning programming for students. This study examined four flipped classroom frameworks and was triangulated with the findings of document analysis from 44 articles related to flipped classrooms in programming. The articles were coded using five different codes emergent from the research questions. The coding produced 314 quotations related to the research questions. The purposes of the flipped classroom are to prepare students before class, give extra in-class time, and create an active learning environment in the classroom. The flipped classroom was implemented mostly in two phases: pre-class sessions and in-class sessions, with individual and collaborative work activities. Ensuring the participation of students in the activities outside the classroom is the biggest challenge in a flipped classroom, while preparing tools and activities is cumbersome to some lecturers. The pre-class activities focus on the introduction and theoretical topic. The implementation of flipped classrooms reported improving students' skills, competencies, and satisfaction in programming. The potential of exploring analysis and problem-solving activities in pre-class sessions while strengthening students' knowledge in post-class sessions seems to be assured. A flipped classroom framework for programming is proposed. The framework has three phases; pre-class, in-class, and post-class, with suggestions, activities, and motivational elements to complement the conceptual and technical needs in programming using flipped classroom approach.


Learning of programming; flipped classroom; active learning; collaborative learning.

Full Text:



V. Renumol, S. Jayaprakash, and D. Janakiram, “Classification of cognitive difficulties of students to learn computer programming,” Indian Inst. Technol. India, p. 12, 2009.

N. Bubica and I. Boljat, “Strategies for Teaching Programming to Meet New Challenges: State of the Art,” no. June 2014, 2015.

B. Du Boulay, “Some Difficulties of Learning to Program,” J. Educ. Comput. Res., vol. 2, no. 1, pp. 57–73, 1986, doi: 10.2190/3LFX-9RRF-67T8-UVK9.

H. Y. Durak, “Modeling Different Variables in Learning Basic Concepts of Programming in Flipped Classrooms,” J. Educ. Comput. Res., 2019, doi: 10.1177/0735633119827956.

M. Ichinco and C. Kelleher, “Exploring novice programmer example use,” Proc. IEEE Symp. Vis. Lang. Human-Centric Comput. VL/HCC, vol. 2015-Decem, pp. 63–71, 2015, doi: 10.1109/VLHCC.2015.7357199.

A. Robins, J. Rountree, and N. Rountree, “Learning and Teaching Programming: A Review and Discussion Learning and Teaching Programming: A Review,” vol. 3408, no. January, pp. 37–41, 2003.

N. Shi, W. Cui, P. Zhang, and X. Sun, “Evaluating the Effectiveness Roles of Variables in the Novice Programmers Learning,” J. Educ. Comput. Res., vol. 56, no. 2, pp. 181–201, 2018, doi: 10.1177/0735633117707312.

S. M. Shuhidan, M. Hamilton, and D. D’Souza, “Understanding novice programmer difficulties via guided learning,” Proc. 16th Annu. Jt. Conf. Innov. Technol. Comput. Sci. Educ. - ITiCSE ’11, p. 213, 2011, doi: 10.1145/1999747.1999808.

S. Mohorovičić and V. Strčić, “An Overview of Computer Programming Teaching Methods,” Proc. 22nd Cent. Eur. Conf. Inf. Intell. Syst., pp. 47–52, 2011.

A. Gomes and A. Mendes, “A teacher’s view about introductory programming teaching and learning: Difficulties, strategies and motivations,” Proc. - Front. Educ. Conf. FIE, vol. 2015-Febru, no. February, 2015, doi: 10.1109/FIE.2014.7044086.

S. I. Malik and J. Coldwell-Neilson, “A model for teaching an introductory programming course using ADRI,” Educ. Inf. Technol., vol. 22, no. 3, pp. 1089–1120, 2017, doi: 10.1007/s10639-016-9474-0.

E. Lahtinen, K. Ala-mutka, and H.-M. Jarvinen, “A Study of the Difficulties of Novice Programmers,” ACM ITiCSE’05, pp. 14–18, 2005, doi: 10.1145/1151954.1067453.

A. Vihavainen, J. Airaksinen, and C. Watson, “A systematic review of approaches for teaching introductory programming and their influence on success,” Proc. tenth Annu. Conf. Int. Comput. Educ. Res. - ICER ’14, pp. 19–26, 2014, doi: 10.1145/2632320.2632349.

X.-M. Wang, G.-J. Hwang, Z.-Y. Liang, and H.-Y. Wang, “Enhancing Students’ Computer Programming Performances, Critical Thinking Awareness and Attitudes towards Programming: An Online Peer-Assessment Attempt,” Educ. Technol. Soc., vol. 20, no. 4, pp. 1176–3647, 2017.

S. Alhazbi, “Using flipped classroom approach to teach computer programming,” Proc. 2016 IEEE Int. Conf. Teaching, Assess. Learn. Eng. TALE 2016, no. December, pp. 441–444, 2016, doi: 10.1109/TALE.2016.7851837.

Y. Qian and J. Lehman, “Students’ Misconceptions and Other Difficulties in Introductory Programming,” ACM Trans. Comput. Educ., vol. 18, no. 1, pp. 1–24, 2017, doi: 10.1145/3077618.

G. Akçayır and M. Akçayır, “The flipped classroom: A review of its advantages and challenges,” Comput. Educ., vol. 126, pp. 334–345, 2018, doi: 10.1016/j.compedu.2018.07.021.

D. Pawelczak, “Comparison of traditional lecture and flipped classroom for teaching programming,” Proc. 3rd Int. Conf. High. Educ. Adv., pp. 391–398, 2017, doi: 10.4995/HEAD17.2017.5226.

M. Lundin, A. Bergviken Rensfeldt, T. Hillman, A. Lantz-Andersson, and L. Peterson, “Higher education dominance and siloed knowledge: a systematic review of flipped classroom research,” Int. J. Educ. Technol. High. Educ., vol. 15, no. 1, 2018, doi: 10.1186/s41239-018-0101-6.

M. N. Giannakos, J. Krogstie, and D. Sampson, “Putting Flipped Classroom into Practice: A Comprehensive Review of Empirical Research,” Digit. Technol. Sustain. Innov. Improv. Teach. Learn., pp. 27–44, 2018, doi: 10.1007/978-3-319-73417-0_2.

W. Kelly, “Flipping the Classroom to Solve the Time Problem,” 2017. .

F. H. Wang, “An exploration of online behaviour engagement and achievement in flipped classroom supported by learning management system,” Comput. Educ., vol. 114, pp. 79–91, 2017, doi: 10.1016/j.compedu.2017.06.012.

S. R. MD Derus and A. Z. Mohamad Ali, “Integration of Visualization Techniques and Active Learning Strategy In Learning Computer Programming: A Proposed Framework,” Int. J. New Trends Educ. Their Implic., no. January, pp. 93–103, 2014.

C. Stöhr and T. Adawi, “Flipped Classroom Research: From ‘Black Box’ to ‘White Box’ Evaluation,” Educ. Sci., vol. 8, no. 1, p. 22, 2018, doi: 10.3390/educsci8010022.

L. R. Murillo-Zamorano, J. Á. López Sánchez, and A. L. Godoy-Caballero, “How the flipped classroom affects knowledge, skills, and engagement in higher education: Effects on students’ satisfaction,” Comput. Educ., vol. 141, no. October 2018, 2019, doi: 10.1016/j.compedu.2019.103608.

J. F. Strayer, “The Effects of The Classroom Flip on The Learning Environment: A Comparison of Learning Activity In a Traditional Classroom And a Flip Classroom That Used An Intelligent Tutoring System,” Ohio State University, 2007.

J. F. Strayer, “Designing Instruction for Flipped Classrooms,” in 322 - 349, New York: Routledge, 2017, pp. 322–349.

R. Talbert, Flipped Learning - A Guide for Higher Education Faculty. Sterling, Virginia: Stylus Publishing, LLC, 2017.

C. K. Lo and K. F. Hew, “A critical review of flipped classroom challenges in K-12 education: possible solutions and recommendations for future research,” Res. Pract. Technol. Enhanc. Learn., vol. 12, no. 1, p. 4, 2017, doi: 10.1186/s41039-016-0044-2.

R. Brewer and S. Movahedazarhouligh, “Successful stories and conflicts: A literature review on the effectiveness of flipped learning in higher education,” J. Comput. Assist. Learn., vol. 34, no. 4, pp. 409–416, 2018, doi: 10.1111/jcal.12250.

A. Karabulut-ilgu, N. J. Cherrez, and C. T. Jahren, “A systematic review of research on the flipped learning method in engineering education,” Br. J. Educ. Technol., vol. 00, no. 00, 2017, doi: 10.1111/bjet.12548.

J. W. Baker, “The Origins Of ‘The Classroom Flip,’” Proc. 1 St Annu. High. Educ. Flip. Learn. Conf., 2016.

M. J. Lage, G. J. Platt, and M. Treglia, “Inverting the {Classroom}: {A} {Gateway} to {Creating} an {Inclusive} {Learning} {Environment},” J. Econ. Educ., vol. 31, no. 1, pp. 30–43, 2000, doi: 10.1080/00220480009596759.

M. Eric, Peer Instruction A User’s Manual, vol. 11, no. 3. 2000.

B. Isong, “A Methodology for Teaching Computer Programming: first year students’ perspective,” Int. J. Mod. Educ. Comput. Sci., vol. 6, no. 9, pp. 15–21, 2014, doi: 10.5815/ijmecs.2014.09.03.

R. Yilmaz and H. Keser, “The Impact of Interactive Environment and Metacognitive Support on Academic Achievement and Transactional Distance in Online Learning,” J. Educ. Comput. Res., vol. 55, no. 1, pp. 95–122, 2016, doi: 10.1177/0735633116656453.

H. C. Lin and G. J. Hwang, “Research trends of flipped classroom studies for medical courses: a review of journal publications from 2008 to 2017 based on the technology-enhanced learning model,” Interact. Learn. Environ., vol. 0, no. 0, pp. 1–17, 2018, doi: 10.1080/10494820.2018.1467462.

W. J. Shyr and C. H. Chen, “Designing a technology-enhanced flipped learning system to facilitate students’ self-regulation and performance,” J. Comput. Assist. Learn., vol. 34, no. 1, pp. 53–62, 2017, doi: 10.1111/jcal.12213.

G. Hwang and P. Chen, “Effects of a collective problem-solving promotion- based flipped classroom on students’ learning performances and interactive patterns,” Interact. Learn. Environ., vol. 0, no. 0, pp. 1–16, 2019, doi: 10.1080/10494820.2019.1568263.

Z. Turan and B. Akdag-cimen, “Flipped classroom in English language teaching: a systematic review Flipped classroom in English language teaching : a systematic review,” Comput. Assist. Lang. Learn., vol. 0, no. 0, pp. 1–17, 2019, doi: 10.1080/09588221.2019.1584117.

T. Wang, “Overcoming barriers to ‘flip’: building teacher’s capacity for the adoption of flipped classroom in Hong Kong secondary schools,” Res. Pract. Technol. Enhanc. Learn., vol. 12, no. 1, 2017, doi: 10.1186/s41039-017-0047-7.

J. F. Strayer, “How learning in an inverted classroom influences cooperation, innovation and task orientation,” Learn. Environ. Res., vol. 15, no. 2, pp. 171–193, 2012, doi: 10.1007/s10984-012-9108-4.

A. Knutas, A. Herala, E. Vanhala, and J. Ikonen, “The Flipped Classroom Method: Lessons Learned from Flipping Two Programming Courses,” Proc. 17th Int. Conf. Comput. Syst. Technol. 2016, no. June, pp. 423–430, 2016, doi: 10.1145/2983468.2983524.

M. Lou Maher, C. Latulipe, H. Lipford, and A. Rorrer, “Flipped Classroom Strategies for CS Education,” Proc. 46th ACM Tech. Symp. Comput. Sci. Educ. - SIGCSE ’15, pp. 218–223, 2015, doi: 10.1145/2676723.2677252.

K. Krippendorff, Content Analysis An Introduction to Its Methodology, Second. London: SAGE Publications Inc, 2004.

G. A. Bowen, Document analysis as a qualitative research method, vol. 9, no. 2. 2009.

P. C. Sierra-Correa and J. R. Cantera Kintz, “Ecosystem-based adaptation for improving coastal planning for sea-level rise: A systematic review for mangrove coasts,” Mar. Policy, vol. 51, pp. 385–393, 2015, doi: 10.1016/j.marpol.2014.09.013.

P. Cronin, F. Ryan, and M. Coughlan, “Undertaking a literature review: a step-by-step approach,” Br. J. Nurs., vol. 17, no. 1, pp. 38–43, 2008, doi: 10.1177/107808747000500401.

D. Morris and N. Ecclesfield, “A new computer-aided technique for qualitative document analysis,” Int. J. Res. Method Educ., vol. 34, no. 3, pp. 241–254, 2011, doi: 10.1080/1743727X.2011.609547.

J. R. Landis and G. G. Koch, “The Measurement of Observer Agreement for Categorical Data,” Biometrics, vol. 33, no. 1, p. 159, 1977, doi: 10.2307/2529310.

O. S. Yan and G. Cheng, “Exploring the impact of flipped classroom on students’ acceptance of programming in secondary education,” Proc. 2017 IEEE Int. Conf. Teaching, Assess. Learn. Eng. TALE 2017, vol. 2018-Janua, no. December, pp. 246–249, 2017, doi: 10.1109/TALE.2017.8252341.

S. Nikolic, M. Ros, and D. B. Hastie, “Teaching programming in common first year engineering: discipline insights applying a flipped learning problem-solving approach,” Australas. J. Eng. Educ., vol. 00, no. 00, pp. 1–12, 2018, doi: 10.1080/22054952.2018.1507243.

A. E. Chis, A.-N. Moldovan, L. Murphy, P. Pathak, and C. H. Muntean, “Investigating Flipped Classroom and Problem-based Learning in a Programming Module for Computing Conversion Course,” J. Educ. Technol. Soc., vol. 21, pp. 232–247, 2018.

J. Elmaleh, “Improving Student Learning in an Introductory Programming Course Using Flipped Classroom and Competency Framework,” in IEEE Global Engineering Education Conference, EDUCON, 2017, no. April, pp. 49–55.

Y. Hayashi, K. Fukamachi, and H. Komatsugawa, “Collaborative Learning in Computer Programming Courses That Adopted The Flipped Classroom,” in 2015 International Conference on Learning and Teaching in Computing and Engineering Collaborative, 2015, pp. 209–212, doi: 10.1109/LaTiCE.2015.43.

T. B. Bati, H. Gelderblom, and J. van Biljon, “A blended learning approach for teaching computer programming: Design for large classes in Sub-Saharan Africa,” Comput. Sci. Educ., vol. 24, no. 1, pp. 71–99, 2014, doi: 10.1080/08993408.2014.897850.

B. J. Da Silva Estácio and R. Prikladnicki, “Distributed pair programming: A systematic literature review,” Inf. Softw. Technol., vol. 63, pp. 1–10, 2015, doi: 10.1016/j.infsof.2015.02.011.

J. Pattanaphanchai, “An Investigation of Students’ Learning Achievement and Perception using Flipped Classroom in an Introductory Programming course : A Case Study of Thailand Higher Education,” J. Univ. Teach. Learn. Pract., vol. 16, no. 5, 2019.

G. Akçayır and M. Akçayır, “The flipped classroom: A review of its advantages and challenges,” Comput. Educ., vol. 126, no. January, pp. 334–345, 2018, doi: 10.1016/j.compedu.2018.07.021.

K. Zeuch, S. Kaven, and V. Skwarek, “Evaluation of a re-designed introductory course” Programming in C ” with video support,” in 2019 18th International Conference on Information Technology Based Higher Education and Training (ITHET), 2019, pp. 1–6.

M. J. D’Souza and P. Rodrigues, “Investigating the effectiveness of the flipped classroom in an introductory programming course,” New Educ. Rev., vol. 40, no. 2, pp. 129–139, 2015, doi: 10.15804/tner.2015.40.2.11.

T. Ishak, R. Kurniawan, Z. Zainuddin, and C. M. Keumala, “The role of pre-class asynchronous online video lectures in flipped-class instruction: identifying students ’ perceived need satisfaction,” J. Pedagog. Res., pp. 1–11, 2019, doi: 10.33902/jpr. v4i1.145.

H. Jonsson, “Using flipped classroom, peer discussion, and just-in-time teaching to increase learning in a programming course,” Proc. - Front. Educ. Conf. FIE, vol. 2014, 2015, doi: 10.1109/FIE.2015.7344221.

R. M. Ryan and E. L. Deci, “Self-determination theory and the facilitation of intrinsic motivation, social development, and well-being.,” Am. Psychol., vol. 55, no. 1, pp. 68–78, 2000, doi: 10.1037/0003-066X.55.1.68.

J. Elmaleh and V. Shankararaman, “Improving student learning in an introductory programming course using flipped classroom and competency framework,” IEEE Glob. Eng. Educ. Conf. EDUCON, no. April, pp. 49–55, 2017, doi: 10.1109/EDUCON.2017.7942823.

L. Cao and M. Grabchak, “Interactive Preparatory Work in a Flipped Programming Course,” in ACM Global Computing Education Conference 2019, 2019, pp. 229–235.

C. Lih-shyang, C. Shu-Han, C. Chao-Cheng, and Y. Emily, “An e-learning system for programming language with semi-Automatic Grading,” 10th Int. Conf. Ubi-media Comput. Work., 2017.

I. Blau and T. Shamir-Inbal, Re-designed flipped learning model in an academic course: The role of co-creation and co-regulation, vol. 115. Elsevier Ltd, 2017.

Y.-H. Chang, A.-C. Song, and R.-J. Fang, “Integrating ARCS Model of Motivation and PBL in Flipped Classroom: a Case Study on a Programming Language,” EURASIA J. Math. Sci. Technol. Educ., vol. 14, no. 12, 2018.

M. Fetaji, B. Fetaji, C. Sukic, A. Gylcan, and M. Ebibi, “Case Study Analyses of the Impact of Flipped Learning in Teaching Programming Robots,” TEM J., vol. 5, no. 4, pp. 560–565, 2016, doi: 10.18421/TEM54-21.

K. Thongkoo, P. Panjaburee, and K. Daungcharone, “Integrating inquiry learning and knowledge management into a flipped classroom to improve students ’ web programming performance in higher education,” Knowl. Manag. E-Learning, vol. 11, no. 3, pp. 304–324, 2019.

L. Chen, S. Chang, C. Chen, and E. Yang, “An e-Learning system for programming languages with semi-automatic grading,” 10th Int. Conf. Ubi-media Comput. Work. An, 2017.

M. Hai and H. Li, “Research and Application of Project-based Teaching Reform Method Based on Flipped Classroom in the Teaching of Programming Design Courses,” in IInternational Conference on Mechanical and Energy Technologies 2019, 2019, pp. 49–53.

A. Mohamed, “Designing a CS1 Programming Course for a Mixed-Ability Class,” in WCCCE ’19, 2019, pp. 10–15.

Y. Chang, A. Song, and R. Fang, “The Study of Programming Language Learning by Applying Flipped Classroom,” 2018 1st IEEE Int. Conf. Knowl. Innov. Invent., no. 1, pp. 286–289, 2018.

O. S. Yan and G. Cheng, “Exploring the impact of flipped classroom on students’ acceptance of programming in secondary education,” Proc. 2017 IEEE Int. Conf. Teaching, Assess. Learn. Eng. TALE 2017, vol. 2018-Janua, no. December, pp. 246–249, 2018, doi: 10.1109/TALE.2017.8252341.

V. Gupta, “Blended SPOC Teaching and Learning Model for Computer Programming Course: Insights and Defeating Challenges,” IEEE TALE2020 - An Int. Conf. Eng. Technol. Educ., pp. 251–257, 2020.

H. Y. Durak, “Flipped learning readiness in teaching programming in middle schools: Modelling its relation to various variables,” J. Comput. Assist. Learn., no. July, pp. 939–959, 2018, doi: 10.1111/jcal.12302.

Z. Zainuddin, H. Haruna, X. Li, Y. Zhang, and S. K. W. Chu, “A systematic review of flipped classroom empirical evidence from different fields: what are the gaps and future trends?,” Emerald Insight- Horiz., p. OTH-09-2018-0027, 2019, doi: 10.1108/OTH-09-2018-0027.

S. Djenic, R. Krneta, and J. Mitic, “Blended learning of programming in the internet age,” IEEE Trans. Educ., vol. 54, no. 2, pp. 247–254, 2011, doi: 10.1109/TE.2010.2050066.

S. Mohorovic and E. Tijan, “Blended learning model of teaching programming in higher education,” Int. J. Knowl. Learn., vol. 7, no. 1/2, p. 86, 2011, doi: 10.1504/IJKL.2011.043893.

S. Alhazbi, “Active Blended Learning to Improve Students’ Motivation in Computer Programming Courses : A Case Study,” in Advances in Engineering Education in the Middle East and North Africa, 2016, pp. 187–204.

S. An, W. Li, J. Hu, L. Ma, and J. Xu, “Research on the Reform of Flipped Classroom in Computer Science of University Based on SPOC,” in The 12th International Conference on Computer Science & Education (ICCSE 2017), 2017, no. ICCSE, pp. 621–625.

A. Amresh, A. R. Carberry, and J. Femiani, “Evaluating the effectiveness of flipped classrooms for teaching CS1,” Proc. - Front. Educ. Conf. FIE, pp. 733–735, 2013, doi: 10.1109/FIE.2013.6684923.

B. A. Ali Aljaani and M. A. Yousuf, “Flipping Introductory Engineering Design Courses : Evaluating Their Effectiveness,” in IEEE Global Engineering Education Conference, 2016, no. April, pp. 234–239.

H. Özyurt and Ö. Özyurt, “Analyzing the effects of adapted flipped classroom approach on computer programming success, attitude toward programming, and programming self-efficacy,” Comput. Appl. Eng. Educ., vol. 26, no. 6, pp. 2036–2046, 2018, doi: 10.1002/cae.21973.

DOI: http://dx.doi.org/10.18517/ijaseit.12.2.14909


  • There are currently no refbacks.

Published by INSIGHT - Indonesian Society for Knowledge and Human Development