
Linda Mannila (Grandell) Teaching Mathematics and Programming New Approaches with Empirical Evaluation Turku Centrefor Computer Science TUCS Dissertations No 124, November 2009 Teaching Mathematics and Programming - New Approaches with Empirical Evaluation Linda Mannila (Grandell) To be presented, with the permission of the Faculty of Technology of Åbo Akademi University, for public criticism in Auditorium Gamma, the ICT building, on November 27, 2009, at 12 noon. Åbo Akademi University Department of Information Technologies Joukahaisenkatu 3-5 A, 20520 Turku, Finland 2009 Supervisors Prof. Ralph-Johan Back Department of Information Technologies Åbo Akademi University Joukahaisenkatu 3-5, 20520 Turku Finland Reviewers Prof. Lauri Malmi Department of Computer Science and Engineering Helsinki University of Technology Konemiehentie 2, 02015 TKK Finland Doc. Juha Oikkonen Department of Mathematics University of Helsinki Yliopistonkatu 5, 00014 University of Helsinki Finland Opponents Prof. Lauri Malmi Department of Computer Science and Engineering Helsinki University of Technology Konemiehentie 2, 02015 TKK Finland Doc. Juha Oikkonen Department of Mathematics University of Helsinki Yliopistonkatu 5, 00014 University of Helsinki Finland ISBN 978-952-12-2364-8 ISSN 1239-1883 Abstract Programming and mathematics are core areas of computer science (CS) and consequently also important parts of CS education. Introductory instruction in these two topics is, however, not without problems. Studies show that CS students find programming diffi- cult to learn and that teaching mathematical topics to CS novices is challenging. One reason for the latter is the disconnection between mathematics and programming found in many CS curricula, which results in students not seeing the relevance of the subject for their studies. In addition, reports indicate that students’ mathematical capability and maturity levels are dropping. The challenges faced when teaching mathematics and programming at CS depart- ments can also be traced back to gaps in students’ prior education. In Finland the high school curriculum does not include CS as a subject; instead, focus is on learning to use the computer and its applications as tools. Similarly, many of the mathematics courses emphasize application of formulas, while logic, formalisms and proofs, which are impor- tant in CS, are avoided. Consequently, high school graduates are not well prepared for studies in CS. Motivated by these challenges, the goal of the present work is to describe new ap- proaches to teaching mathematics and programming aimed at addressing these issues: • Structured derivations is a logic-based approach to teaching mathematics, where formalisms and justifications are made explicit. The aim is to help students become better at communicating their reasoning using mathematical language and logical notation at the same time as they become more confident with formalisms. • The Python programming language was originally designed with education in mind, and has a simple syntax compared to many other popular languages. The aim of using it in instruction is to address algorithms and their implementation in a way that allows focus to be put on learning algorithmic thinking and programming instead of on learning a complex syntax. • Invariant based programming is a diagrammatic approach to developing programs that are correct by construction. The approach is based on elementary propositional and predicate logic, and makes explicit the underlying mathematical foundations of programming. The aim is also to show how mathematics in general, and logic in particular, can be used to create better programs. i In addition to describing how these approaches can be used in education, we have con- ducted empirical studies in authentic classroom settings at high school and university level to examine the suitability of the approaches in a teaching context. The findings in- dicate several benefits of introducing the approaches in novice education, and also point out places for improvement related to the approaches per se as well as to the way in which they are used in instruction. Keywords: introductory programming education, mathematics education, high school, secondary school education, novices, structured derivations, invariant based program- ming, Python ii Acknowledgements The road to finishing this thesis has had its ups and downs, and now, when the end is in sight, I am happy to have the opportunity to express my deepest gratitude to those who have guided and encouraged me on the way. First and foremost, I want to thank my supervisor, Professor Ralph-Johan Back, who has inspired my work since the very beginning. Ralph has given me valuable advice and helped me stay focused on the goal ahead, especially at times when the final destination was not easy for me to see. Knowing that you believed in me has made all the difference, and I am grateful to you for helping me come to the point where I get to write these lines. I also want to thank Professor Tapio Salakoski for keeping an eye on the progress of my work, and for being available when I needed his advice. I greatly appreciate that Professor Lauri Malmi at Helsinki University of Technology and Docent Juha Oikkonen at Helsinki University agreed to review this thesis and to function as opponents at the public defence. Thank you for your valuable comments. Being based on research conducted in many institutions over a time span of several years, the findings presented in this thesis are the result of team work rather than the accomplishment of one single person. Data collection and analysis have benefited from the dedicated work by a number of colleagues, including Mia Peltomäki, Solveig Wallin, Johannes Eriksson and Patrick Sibelius. It has been, and still is, a true pleasure to work with all of you. A special thanks to Mia – you have been a valuable discussion partner, colleague and, most of all, a very dear friend. I would like to thank the Department of Information Technologies at Åbo Akademi University for giving me the opportunity to pursue the doctoral degree by offering me a position as a PhD student. Each research leader at the department deserves a special thanks for contributing to the scientific and high quality research environment that I have had the pleasure to work in during my studies. In particular, I am grateful to Professor Barbro Back and Professor Kaisa Sere, who have been, and continue to be, strong role models of women in the IT field. I value your advice very much. I am grateful to the Academy of Finland, who has supported the Centre for Reliable Software Technology (CREST) within which my research has been conducted. I also want to thank Stiftelsens för Åbo Akademi forskningsinstitut and Turku Centre for Computer Science (TUCS) for supporting my travel to conferences and workshops. I also want to express my gratitude to to the Federation of Finnish Technology Industries, whose generous support made it possible for us to initiate the IMPEd resource center. iii I also want to thank all my other colleagues – past and present. The administrative personnel at the department – Britt-Marie Villstrand, Christel Engblom, Tiina Haanila, Pia-Maria Kallio, Minna Asplund, Görel Salomaa, and Stina Störling-Sarkkila – thank you for always being there to answer my questions and to give practical advice. Many thanks to Jockum Lillsund for helping me with just about anything related to the hard- ware and software I have been using. Many fellow researchers and colleagues both at home and abroad have had a positive impact on my work, including Petri Sallasmaa, Teemu Rajala, Viorel Preoteasa, Marina Waldén, Herman Norrgrann, Anders Berglund, Arnold Pears, Mats Daniels, Lars-Åke Larzon, Michael deRaadt, Angela Carbone, Raymond Lister, Sue Fitzgerald, Annamari Soini, Kerstin Fagerström, Tomi Mäntylä, Torbjörn Lundqvist, Mikko Laakso, Ragnar Wikman, Åke Gustavson, Mats Neovius, Kim Solin, Larissa Meinicke, Cristina Seceleanu, Päivi Kinnunen, and Essi Isohanni. Thank you all for fruitful discussions, joyful laughters and memorable moments. There is a countless number of persons outside the academic walls who I am forever grateful to for their continuous encouragement. Thanks to my parents-in-law, Gitta and Reino Mannila, as well as to all my relatives and friends, who have supported me although it was not always clear to them what I was doing at the university. Thank you all for being there and for giving me something else to think about. My parents, Rita and Stig Grandell – thank you for always believing in me, letting me choose my own paths in life and providing a place for me to charge my batteries. My brother, Ronnie Grandell – you have been a greater support than you can imagine. Our discussions and long walks have always helped me move forward with new insights and ideas. I owe you more than words can ever express. Above all, I want to thank my husband Petri and our precious daughter Nadja. You are the light of my life, and make my world a wonderful place to wake up to every morning. I love you. Turku, October 2009 Linda Mannila iv Preface To set the stage for the thesis, it seems appropriate to first consider why I would conduct research in this area, that is, mathematics and programming education. In summary, this work is the result of bringing together three underlying reasons. First, I have always been fascinated by computers and computer technology, but I never really understood what computer science as a discipline was about. We had some computer courses at school, but most of the time we students were the ones educating our teacher instead of the other way around. In addition, the courses were completely focused on using the computer as a tool to write documents, create spreadsheets and play games. I think it is safe to say that I did not actually have a clue about what computer science was when I enrolled for studies in the field. I hoped that it would have something to do with computers, but little did I know about the importance of abstraction, formalisms and mathematics.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages285 Page
-
File Size-