PYTHON IN A WEEK - CONCEPTUAL TESTS FOR LEARNING AND COURSE DEVELOPMENT

PYTHON IN A WEEK - CONCEPTUAL TESTS FOR LEARNING AND COURSE DEVELOPMENT

C. Blöcker, T. Mejtoft, N. Norgren (2023).  PYTHON IN A WEEK - CONCEPTUAL TESTS FOR LEARNING AND COURSE DEVELOPMENT. 470-480.

Programming has gradually become an essential skill for engineers and scientists across dis- ciplines and is an important part of the CDIO Syllabus covering fundamental knowledge and reasoning. Recently, there has been a shift away from introductory programming languages like C and Java towards Python, especially in programs where the focus lies on handling and analysing large quantities of data, such as energy technology, biotechnology, and bioinformat- ics. This paper illustrates the successful setup of a one-week-long introductory Python program- ming course with a hands-on approach. Given the limited time, a challenge is how to effectively teach students a meaningful set of skills that enables them to self-guide their future learning. Moreover, since the course does not include any summative assessment, we need other means of measuring students' learning and guiding course development. We address these challenges by coupling short lectures with short quizzes for formative assessment, adding another learning activity to the course. We find that, in the absence of summative assessment, short, frequent quizzes with immediate feedback are an excellent tool to track the learning of a class as a whole. Students report that the quizzes, albeit challenging, improved their understanding of program- ming concepts, made them aware of potential mistakes, and were a fun learning experience. Furthermore, the results from this paper illustrate how a new programming language can be taught to students without prior programming skills in a short period of time. We summarise our lessons learnt for designing and integrating quizzes in short-format programming courses.

Authors (New): 
Christopher Blöcker
Thomas Mejtoft
Nina Norgren
Pages: 
470-480
Affiliations: 
Umeå University, Sweden
Keywords: 
Python programming
conceptual test
Formative Assessment
CDIO Standard 2
CDIO standard 4
CDIO Standard 7
CDIO Standard 8
CDIO Standard 10
CDIO Standard 11
Year: 
2023
Reference: 
Ball, T., & Zorn, B. (2015). Teach Foundational Language Principles. Communications of the ACM, 58(5), 30-31.: 
Bogdanchikov, A., Zhaparov, M., & Suliyev, R. (2013, apr). Python to learn programming. Journal of Physics: Conference Series, 423(1), 012027.: 
Caleon, I. S., & Subramaniam, R. (2010). Do Students Know What They Know and What They Don't Know? Using a Four-Tier Diagnostic Test to Assess the Nature of Students' Alternative Conceptions. Research in Science Education, 40(3), 313-337.: 
Cheng, T. K., Jayasuriya, M., & Lim, J. (2010). Removing the fear factor in Programming. The Python Papers Monograph, 2, 1-9.: 
Crawley, E. F., Malmqvist, J., Ostlund, S., & Brodeur, D. R. (2007). Rethinking Engineering Education: The CDIO Approach. Boston, MA: Springer. : 
Goldman, K., Gross, P., Heeren, C., Herman, G. L., Kaczmarczyk, L., Loui, M. C., & Zilles, C. (2010, jun). Setting the Scope of Concept Inventories for Introductory Computing Subjects. ACM Trans. Comput. Educ., 10(2).: 
Hestenes, D., Wells, M., & Swackhamer, G. (1992). Force concept inventory. The Physics Teacher , 30(3), 141-158.: 
Jayal, A., Lauria, S., Tucker, A., & Swift, S. (2011). Python for Teaching Introductory Pro- gramming: A Quantitative Evaluation. Innovation in Teaching and Learning in Information and Computer Sciences, 10(1), 86-90.: 
Johnson, F., McQuistin, S., & O'Donnell, J. (2020). Analysis of Student Misconceptions Using Python as an Introductory Programming Language. In Proceedings of the 4th conference on computing education practice 2020. New York, NY, USA: Association for Computing Machinery.: 
Kaczmarczyk, L. C., Petrick, E. R., East, J. P., & Herman, G. L. (2010). Identifying Student Mis- conceptions of Programming. In Proceedings of the 41st acm technical symposium on computer science education (pp. 107-111). New York, NY, USA: Association for Computing Machinery.: 
Krathwohl, D. R. (2002). A Revision of Bloom's Taxonomy: An Overview. Theory Into Practice, 41(4), 212-218.: 
Leping, V., Lepp, M., Niitsoo, M., Tonisson, E., Vene, V., & Villems, A. (2009). Python Prevails. In Proceedings of the International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing. New York, NY, USA: Association for Computing Machinery.: 
Malmqvist, J., Lundqvist, U., Rosen, A., Edstrom, K., Gupta, R., Leong, H., . Spooner, D. (2022). The CDIO syllabus v3.0 - An updated statement of goals. In M. S. Gudjonsdottir et al. (Eds.), Proceedings of the 18th International CDIO Conference (pp. 18-36). Reykjavik Univer- sityICDIO Initiative.: 
Maloney, D. P., O'Kuma, T. L., Hieggelke, C. J., & Van Heuvelen, A. (2001). Surveying students' conceptual knowledge of electricity and magnetism. American Journal of Physics, 69(S1), S12- S23.: 
Mannila, L., Peltomaki, M., & Salakoski, T. (2006). What about a simple language? Analyzing the difficulties in learning to program. Computer Science Education, 16(3), 211-227.: 
Mironova, O., Amitan, I., Vendelin, J., Vilipold, J., & Saar, M. (2016). Teaching programming basics for first year non-IT students. In 2016 IEEE Global Engineering Education Conference (p. 15-19).: 
Mironova, O., Vendelin, J., Amitan, I., Vilipold, J., Saar, M., & Rtmann, T. (2015). Teaching computing for non-IT students experience of Tallinn University of Technology. In 2015 IEEE Global Engineering Education Conference (p. 305-309).: 
Qian, Y., & Lehman, J. (2017, oct). Students' Misconceptions and Other Difficulties in Introduc- tory Programming: A Literature Review. ACM Trans. Comput. Educ., 18(1).: 
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Comput. Sci. Educ., 13(2), 137-172.: 
Taylor, C., Zingaro, D., Porter, L., Webb, K., Lee, C., & Clancy, M. (2014). Computer science concept inventories: past and future. Computer Science Education, 24(4), 253-276.: 
Vial, G., & Negoita, B. (2018). Teaching Programming to Non-Programmers: The Case of Python and Jupyter Notebooks. In International conference on interaction sciences. : 
Go to top
randomness