Teaching Mathematics and Programming

Total Page:16

File Type:pdf, Size:1020Kb

Teaching Mathematics and Programming 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.
Recommended publications
  • Du Genie Logiciel Pour Deployer, Gerer Et Reconfigurer Les Logiciels Fabien Dagnat
    Du genie logiciel pour deployer, gerer et reconfigurer les logiciels Fabien Dagnat To cite this version: Fabien Dagnat. Du genie logiciel pour deployer, gerer et reconfigurer les logiciels. Interface homme- machine [cs.HC]. Télécom Bretagne; Institut Mines-Télécom, 2016. tel-01323059 HAL Id: tel-01323059 https://hal.archives-ouvertes.fr/tel-01323059 Submitted on 30 May 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Habilitation à Diriger les Recherches de l’Université de Rennes 1 Du génie logiciel pour déployer, gérer et reconfigurer les logiciels Fabien Dagnat IRISA, Équipe PASS Soutenue le 15 janvier 2016 à Télécom Bretagne, site de Brest devant le jury composé de Olivier Barais Professeur de l’Université de Rennes 1 Président Laurence Duchien Professeur de l’Université de Lille 1 Rapporteur Vincent Englebert Professeur de l’Université de Namur Rapporteur Daniel Le Berre Professeur de l’Université d’Artois Rapporteur Frédéric Boniol Maître de Recherche à l’ONERA et Professeur Membre de l’INP de Toulouse Antoine Beugnard Professeur à Télécom Bretagne Membre Remerciements Tous mes remerciements aux nombreuses personnes que j’ai croisée et avec qui j’ai travaillé.
    [Show full text]
  • Lecture Notes in Computer Science 5014 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan Van Leeuwen
    Lecture Notes in Computer Science 5014 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Alfred Kobsa University of California, Irvine, CA, USA Friedemann Mattern ETH Zurich, Switzerland John C. Mitchell Stanford University, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz University of Bern, Switzerland C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen University of Dortmund, Germany Madhu Sudan Massachusetts Institute of Technology, MA, USA Demetri Terzopoulos University of California, Los Angeles, CA, USA Doug Tygar University of California, Berkeley, CA, USA Gerhard Weikum Max-Planck Institute of Computer Science, Saarbruecken, Germany Jorge Cuellar Tom Maibaum Kaisa Sere (Eds.) FM 2008: Formal Methods 15th International Symposium on Formal Methods Turku, Finland, May 26-30, 2008 Proceedings 13 Volume Editors Jorge Cuellar Siemens Corporate Technology Otto-Hahn-Ring 6 81730 München, Germany E-mail: [email protected] Tom Maibaum McMaster University Software Quality Research Laboratory and Department of Computing and Software 1280 Main St West, Hamilton, ON L8S 4K1, Canada E-mail: [email protected] Kaisa Sere Åbo Akademi University Department of Information Technology 20520 Turku, Finland E-mail: kaisa.sere@abo.fi Library of Congress Control Number: 2008927062 CR Subject Classification (1998): D.2, F.3, D.3, D.1, J.1, K.6, F.4 LNCS Sublibrary: SL 2 – Programming and Software Engineering ISSN 0302-9743 ISBN-10 3-540-68235-X Springer Berlin Heidelberg New York ISBN-13 978-3-540-68235-6 Springer Berlin Heidelberg New York This work is subject to copyright.
    [Show full text]
  • Formal Model-Based Development of Network-On-Chip Systems
    Formal Model-Based Development of Network-on-Chip Systems Leonidas Tsiopoulos Åbo Akademi University Department of Information Technologies Joukahaisenkatu 3-5 A, 20520 Turku, Finland 2010 Supervised by Professor Kaisa Sere Department of Information Technologies Åbo Akademi University Joukahaisenkatu 3-5 A, FI-20520 Turku Finland Reviewed by Professor Jüri Vain Department of Computer Science Tallinn University of Technology Raja 15, 12618 Tallinn Estonia Senior Researcher, Ph.D. Pasi Liljeberg Department of Information Technology University of Turku FI-20014, Turku Finland Opponent Professor Jüri Vain Department of Computer Science Tallinn University of Technology Raja 15, 12618 Tallinn Estonia ISBN 978-952-12-2438-6 Painosalama Oy – Turku, Finland 2010 Abstract Advances in technology allow us to have thousands of computational and storage modules communicating with each other on a single electronic chip. Well defined intercommunication schemes for such Systems–on–Chip are fundamental for handling the increasing complexity. So called bus–based and bus matrix–based communication frameworks for Systems–on–Chip face immense pressure of the increasing size and complexity, unable to offer the scalability required. The Network–on–Chip communication paradigm for Systems–on–Chip has been introduced to answer the given challenges offering very high communication bandwidth and network scalability through its generally regular structure. The communication between the modules of a System–on–Chip is generally categorised as synchronous or asynchronous, with a recent shift towards Globally Asynchronous Locally Synchronous Systems–on–Chip. In such systems each module can be synchronised to a private local clock but their intercommunication is established asynchronously, relying on request and acknowledgement communication handshakes.
    [Show full text]
  • August 2014 FACS a C T S
    Issue 2014-1 August 2014 FACS A C T S The Newsletter of the Formal Aspects of Computing Science (FACS) Specialist Group ISSN 0950-1231 FACS FACTS Issue 2014-1 August 2014 About FACS FACTS FACS FACTS (ISSN: 0950-1231) is the newsletter of the BCS Specialist Group on Formal Aspects of Computing Science (FACS). FACS FACTS is distributed in electronic form to all FACS members. Submissions to FACS FACTS are always welcome. Please visit the newsletter area of the BCS FACS website for further details (see http://www.bcs.org/category/12461). Back issues of FACS FACTS are available for download from: http://www.bcs.org/content/conWebDoc/33135 The FACS FACTS Team Newsletter Editors Tim Denvir [email protected] Brian Monahan [email protected] Editorial Team Jonathan Bowen, Tim Denvir. Brian Monahan, Margaret West. Contributors to this Issue Jonathan Bowen, Tim Denvir, Eerke Boiten, Rob Heirons, Azalea Raad, Andrew Robinson. BCS-FACS websites BCS: http://www.bcs-facs.org LinkedIn: http://www.linkedin.com/groups?gid=2427579 Facebook: http://www.facebook.com/pages/BCS- FACS/120243984688255 Wikipedia: http://en.wikipedia.org/wiki/BCS-FACS If you have any questions about BCS-FACS, please send these to Paul Boca <[email protected]> 2 FACS FACTS Issue 2014-1 August 2014 Editorial Welcome to issue 2014-1 of FACS FACTS. This is the first issue produced by your new joint editors, Tim Denvir and Brian Monahan. One effect of the maturity of formal methods is that researchers in the topic regularly grow old and expire. Rather than fill the issue with Obituaries, we have taken the course of reporting on most of these sad events in brief, with references to fuller obituaries that can be found elsewhere, in particular in the FAC Journal.
    [Show full text]
  • Kaisa Sere: in Memoriam
    DOI 10.1007/s00165-013-0292-5 BCS © 2013 Formal Aspects Formal Aspects of Computing (2014) 26: 197–201 of Computing Kaisa Sere: In Memoriam Luigia Petre, Elena Troubitsyna, and Marina Waldén Department of Information Technologies, Åbo Akademi University, Joukahaisenkatu 3-5A, 20520, Turku, Finland Kaisa Sere, a wonderful person and scientist, passed away on December 5, 2012, after a long and devastating illness. Apart from her husband Thorbjörn Andersson and the rest of her family, Kaisa is going to be missed by so many colleagues in Finland and worldwide. Kaisa was born in 1954 in Kokkola, Finland. She graduated from Åbo Akademi University with a M.Sc. in Mathematics and received a Ph.D. in Computer Science from the same university in 1990. She was a lecturer at Ohio State University, US, during 1984 –1985 and a post-doctoral researcher in the Department of Computer Science, at Utrecht University, the Netherlands, during 1991–1992. She held an Associate Professorship at the University of Kuopio, in the Department of Com- puter Science and Applied Mathematics, during 1993–1998, she became a Docent of Computer Science at the same department in 1997, and held a senior research professorship from the Academy of Finland during 1998–1999. She became a full professor of Computer Science and Engineering at Åbo Akademi University on August 1st, 1998. During 2010– 2011, she also held a senior researcher position from the Academy of Finland and a vice-rectorship at Åbo Akademi University. One of the major contributions of Kaisa Sere’s career was made to the refinement research.
    [Show full text]
  • Computer Science Aalborg University Advisor: Prof
    Computer Science Research Evaluation 2001–2005 Department of Computer Science Fredrik Bajers Vej 7E DK 9220 Aalborg Ø Denmark Aalborg University Computer Science, Aalborg University—Research Evaluation 2001–2005 Edited by Josva Kleist Cover design by Jens Lindberg Printed by UNI.PRINT Copyright c 2006 by Department of Computer Science, Aalborg University. All rights reserved. Preface It is the policy of the Faculty of Engineering and Science at Aalborg University that its research units are to be evaluated every five years. Following that policy, the present report documents the fourth research evaluation of the Department of Computer Science and covers the period 2001–2005. According to the Faculty’s guidelines, the objectives of the evaluation are three- fold. The first is to assess whether there is a satisfactory agreement between allo- cated internal and external research resources and the research accomplished. The second is to determine whether the Department’s actual research efforts are consis- tent with its goals and plans for the period, as they are expressed in the long-term research plans of the Faculty of Engineering and Science. As the third objective, the evaluation is intended to aid the Department in planning its future research efforts. Realizing that a research evaluation itself is a learning experience that pro- vides an opportunity to rise above the daily routine and reflect upon research, we agreed upon an additional objective. Within the Department, the evaluation—the process as well as the final report—should constructively aid the staff members in evaluating and improving their effectiveness as researchers, as group leaders, and as administrators of research at the departmental level.
    [Show full text]
  • Towards Scalable Modeling of Biology in Event-B 3
    Towards Scalable Modeling of Biology in Event-B Usman Sanwal1, Thai Son Hoang2, Luigia Petre1, and Ion Petre3,4 1 Faculty of Science and Engineering, Åbo Akademi University, Finland 2 School of Electronics and Computer Science, University of Southampton, UK 3 Department of Mathematics and Statistics, University of Turku, Finland 4 National Institute for Research and Development in Biological Sciences, Romania Abstract. Biology offers many examples of large-scale, complex, con- current systems: many processes take place in parallel, compete on re- sources and influence each other’s behavior. The scalable modeling of biological systems continues to be a very active field of research. In this paper we introduce a new approach based on Event-B, a state-based for- mal method with refinement as its central ingredient, allowing us to check for model consistency step-by-step in an automated way. Our approach based on functions leads to an elegant and concise modeling method. We demonstrate this approach by constructing what is, to our knowledge, the largest ever built Event-B model, describing the ErbB signaling path- way, a key evolutionary pathway with a significant role in development and in many types of cancer. The Event-B model for the ErbB pathway describes 1320 molecular reactions through 242 events. 1 Introduction Biological systems are typically very large and complex, so much that it is re- markably difficult to capture all the necessary details in one modeling step. The concept of refinement – gradually adding details to a model while preserving its consistency – is thus instrumental and it has been shown before, in our [29] and related research [9,10,11,16], to bring value to biological modeling.
    [Show full text]
  • B5 EKOSKIVAARA Pmaanantai
    _______________________________________________________ Eija Koskivaara Artificial Neural Networks for Analytical Review in Auditing ______________________________________________________ Sarja / Series Ae-7:2004 (pdf) A-7:2004 (nid.) ISBN: 951-564-185-3 (pdf) 951-564-184-5 (nid.) ISSN: 1459-4870 (pdf) 0357-4652 (nid.) ACKNOWLEDGEMENTS Orienteering in the research world is challenging and sometimes lonely. For me this journey has been fun as well as educational. I have received a lot of support from various people and organisations. My supervisor, Professor Barbro Back has supported me in numerous ways. Her interests in my research and recommendations have been of critical importance to me. Furthermore, I acknowledge all the valuable advice on society of science and the encouragement she gave me, not only as a supervisor but also as a real friend. Rector, Professor Tapio Reponen has offered me a lot of tacit and explicit knowledge to find the right way whenever I got lost. It was an honour for me that he accepted the invitation to act as an esteemed custodian in the public examination of my thesis. I sincerely thank the official examiners of this study, Professor Teija Laitinen and Professor Ari Visa, for their time and excellent comments that helped me a lot. I specially want to thank the Director of Rutgers Accounting Research Center, Professor Miklos Vasarhelyi, who accepted the invitation to act as an esteemed opponent of my thesis. I thank the researchers and administrative staff of Information System Science at the Turku School of Economics and Business Administration for creating a positive and helpful working environment. Special thanks go to the Head of the Department of Management, Professor Hannu Salmela and Professor Reima Suomi for their continuous support to my research work and to Secretary Birgit Haanmäki for taking care of many practical things.
    [Show full text]
  • Model-Driven Software Development
    Model-Driven Software Development Stephen W. Liddle 1 Introduction Software development is a complex and difficult task that requires the in- vestment of significant resources and carries major risk of failure. According to its proponents, model-driven (MD) software development approaches are improving the way we build software. Model-driven approaches putatively increase developer productivity, decrease the cost (in time and money) of software construction, improve software reusability, and make software more maintainable. Likewise, model-driven techniques promise to aid in the early detection of defects such as design flaws, omissions, and misunderstandings between clients and developers. The promises of MD are rather lofty, and so it is only natural to find many skeptics. As Brooks famously described [Bro95], software engineering will not likely deliver the sort of productivity gains we experience in hardware engineering where we see \Moore's law"-styled doublings every 24 months [Moo10]. Thus, if we accept Brooks' premise, nobody should expect any innovative approach to software development to be a \magical silver bullet" that will increase productivity by an order of magnitude within a decade. Unfortunately, the amount of hyperbole surrounding the various flavors of MD sometimes makes it seem like advocates believe MD to be a silver bullet. Model-driven devel- opment is no panacea. However, we believe that model-driven is a superior approach to software construction. This chapter examines the current state of the art in model-driven software development. We begin by characterizing the various approaches to model-driven devel- opment (Section 2). Then we examine what modeling is and why we engage in modeling (Section 3).
    [Show full text]
  • About the Contributors
    500 About the Contributors Luigia Petre is a university lecturer at Åbo Akademi University, Department of Information Tech- nologies, Turku, Finland. She got her PhD in Computer Science in 2005 on modeling techniques in formal methods. Her research interests include energy modeling, network availability, integration of formal methods, and time and space dependent computing. She has co-organized major conferences in her field such as the Integrated Formal Methods (IFM) 2002 as well as Formal Methods (FM) 2008. She has been in the programme committee of IFM in 2002, 2004, 2005, and 2007. Currently, she is coordi- nating NODES - a Nordic Dependability Network, concerned with deploying a dependability curriculum for the Nordic countries. She is a researcher in the EC-funded project DEPLOY. She has about 30 ref- ereed publications. Kaisa Sere is a Professor of Computer Science and Engineering at Åbo Akademi University since 1997. She got her PhD in 1990 on the formal design of parallel algorithms from Åbo Akademi University. Between 1993-97, she was Associate Professor in Computer Science at University of Kuopio. She is the founder and leader of the Distributed Systems Laboratory that contains about 25 researchers. Her current research interests are within the design of dependable distributed systems, especially refinement-based approaches to the construction of systems ranging from pure software to hardware and digital circuits. Her research has been supported by the Academy of Finland as well as by the EU framework programmes 5 to 7 with several grants. She has organised several summer schools, conferences, and workshops within her research areas.
    [Show full text]
  • Stepwise Refinement of Heap-Manipulating Code in Chalice
    Stepwise Refinement of Heap-Manipulating Code in Chalice Manuscript KRML 211 – December 23, 2011 K. Rustan M. Leino0 and Kuat Yessenov1 ? 0 Microsoft Research, Redmond, CA, USA [email protected] 1 MIT Computer Science and Artificial Intelligence Lab, Cambridge, MA, USA [email protected] Abstract. Stepwise refinement is a well-studied technique for developing a pro- gram from an abstract description to a concrete implementation. This paper de- scribes a system with automated tool support for refinement, powered by a state- of-the-art verification engine that uses an SMT solver. Unlike previous refine- ment systems, users of the presented system interact only via declarations in the programming language. Another aspect of the system is that it accounts for dy- namically allocated objects in the heap, so that data representations in an abstract program can be refined into ones that use more objects. Finally, the system uses a language with familiar imperative features, including sequential composition, loops, and recursive calls, offers a syntax with skeletons for describing program changes between refinements, and provides a mechanism for supplying witnesses when refining non-deterministic programs. 0 Introduction The prevalent style of programming today uses low-level programming languages (like C or Java) into which programmers encode the high-level design or informal specifi- cations they have in mind. From a historical perspective, it makes sense that this style would have come from the view that what the programming language provides is a de- scription of the data structures and code that the executing program will use. However, upon reflection, the style seems far from ideal, for several reasons.
    [Show full text]
  • Workshop on Software Engineering Challenges for Ubiquitous Computing
    Workshop on Software Engineering Challenges for Ubiquitous Computing June 1st – 2nd 2006 Lancaster University Supported by Edited by Gerd Kortuem SEUC 2006 Workshop Programme Session 1 Engineering for real – The SECOAS project I. W. Marshall, A. E. Gonzalez, I. D. Henning, N. Boyd, C. M. Roadknight, J. Tateson, L. Sacks Analysing Infrastructure and Emergent System Character for Ubiquitous Computing Software Engineering Martin Randles, A. Taleb-Bendiab Software Considerations for Automotive Pervasive Systems Ross Shannon, Aaron Quigley, Paddy Nixon Session 2: Programming Ambient-Oriented Programming: Language Support to Program the Disappearing Computer Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, Wolfgang De Meuter, Theo D'Hondt A Top-Down Approach to Writing Software for Networked Ubiquitous Systems Urs Bischoff Context-Aware Error Recovery in Mobile Software Engineering Nelio Cacho, Sand Correa, Alessandro Garcia, Renato Cerqueira, Thais Batista Towards Effective Exception Handling Engineering in Ubiquitous Mobile Software Systems Nelio Cacho, Alessandro Garcia, Alexander Romanovsky, Alexei Iliasov Session 3: Formal Methods Towards Rigorous Engineering of Resilient Ubiquitous Systems Alexander Romanovsky, Kaisa Sere, Elena Troubitsyna Controlling Feature Interactions In Ubiquitous Computing Environments Tope Omitola Dependability Challenge in Ubiquitous Computing Kaisa Sere, Lu Yan, Mats Neovius Concurrency on and off the sensor network node Matthew C. Jadud, Christian L. Jacobsen, Damian J. Dimmich Session 4: Model-based Approaches
    [Show full text]