Algebraic Functions, Computer Programming, and the Challenge of Transfer

Total Page:16

File Type:pdf, Size:1020Kb

Algebraic Functions, Computer Programming, and the Challenge of Transfer Algebraic Functions, Computer Programming, and the Challenge of Transfer The Harvard community has made this article openly available. Please share how this access benefits you. Your story matters Citation Schanzer, Emmanuel Tanenbaum. 2015. Algebraic Functions, Computer Programming, and the Challenge of Transfer. Doctoral dissertation, Harvard Graduate School of Education. Citable link http://nrs.harvard.edu/urn-3:HUL.InstRepos:16461037 Terms of Use This article was downloaded from Harvard University’s DASH repository, and is made available under the terms and conditions applicable to Other Posted Material, as set forth at http:// nrs.harvard.edu/urn-3:HUL.InstRepos:dash.current.terms-of- use#LAA ! ! ! Algebraic Functions, Computer Programming, and the Challenge of Transfer Emmanuel Tanenbaum Schanzer Jon Star Karen Brennan Kathi Fisler A Thesis Presented to the Faculty of the Graduate School of Education of Harvard University in Partial Fulfillment of the Requirements for the Degree of Doctor of Education 2015 © 2015 Emmanuel Schanzer All Rights Reserved For Lakshyan and Shelley. For Toggle and Fritz. For Nori. Acknowledgements This work would not have been possible without the tireless support of Shriram Krishnamurthi, Kathi Fisler, and Matthias Felleisen. Thank you for believing in me all these years, and for always making sure I was thinking three steps ahead. Danny Yoo, thank you for pouring so much of your life into WeScheme. Special thanks go to Emma Youndtsmith and Rosanna Sobota, who took a chance after college to join me on this journey. It is a privilege to work with all of you. Many have contributed to the work that went into this thesis, and I want to acknowledge the efforts of the teachers and students in this study, as well as the hundreds who I have learned from over the years. I especially want to thank Mrs. Bidwell, Wrenn Goodrum, Mrs. Maybray, Herbert Woodel and Gregory Morrisett – the great teachers in my life, who taught me to see the world through the exacting, playful, and piercing eyes of an educator. I am grateful to David Perkins, Chris Dede, and Kurt Fischer each served on various committees along the way. You have all shaped so much of my thinking in this dissertation, and pointed me in the right direction. Above all else, I want to thank Jon Star. Thank you for keeping my feet on the ground, for poking holes in my thoughts until I truly understood them, and for your infinite patience with me. Table of Contents ACKNOWLEDGEMENTS........................................................................................................................................II! TABLE.OF.CONTENTS.........................................................................................................................................III! ABSTRACT................................................................................................................................................................V! CHAPTER.1:.INTRODUCTION.............................................................................................................................1! CHAPTER.2:.LITERATURE.REVIEW..................................................................................................................5! TRANSFER. 5! THE.ALGEBRAIC.DOMAIN. 21! RICH.TASKS.FOR.ALGEBRA. 26! THE.PROMISE.OF.TECHNOLOGY. 32! CHAPTER.3:.THE.BOOTSTRAP.CURRICULUM.............................................................................................55! THE.SHOULDERS.OF.GIANTS. 56! INTRODUCING.BOOTSTRAP. 59! CHAPTER.4:.CONCEPTUAL.FRAMEWORK....................................................................................................80! PROCEDURAL.KNOWLEDGE. 81! CONCEPTUAL.KNOWLEDGE. 81! ATTITUDINAL.FACTORS. 84! RESEARCH.QUESTIONS. 85! CHAPTER.5:.RESEARCH.METHODS................................................................................................................86! DESIGN. 86! DATA.SET. 86! MEASURES. 88! ANALYSIS. 91! CHAPTER.6:.RESULTS.........................................................................................................................................94! FIDELITY. 94! TEACHER.INTERVIEWS. 97! PREE.AND.POSTETESTS. 134! CHAPTER.7:.DISCUSSION................................................................................................................................143! RESEARCH.QUESTIONS. 144! LIMITATIONS. 156! IMPLICATIONS. 157! CONCLUSION. 166! APPENDICES.......................................................................................................................................................168! APPENDIX.A:.OBSERVATION.PROTOCOL. 168! APPENDIX.B:.EXAMPLES.OF.FORMATIVE.PROGRAMMING.ASSESSMENTS. 169! APPENDIX.C:.TRANSFER.OUTCOMES.(PRETEST). 170! APPENDIX.D:.INTERVIEW.PROTOCOL. 175! REFERENCES.......................................................................................................................................................178! VITA.......................................................................................................................................................................190! Abstract Students' struggles with algebra are well documented. Prior to the introduction of functions, mathematics is typically focused on applying a set of arithmetic operations to compute an answer. The introduction of functions, however, marks the point at which mathematics begins to focus on building up abstractions as a way to solve complex problems. A common refrain about word problems is that “the equations are easy to solve - the hard part is setting them up!” A student of algebra is asked to identify functional relationships in the world around them - to set up the equations that describe a system- and to reason about these relationships. Functions, in essence, mark the shift from computing answers to solving problems. Researchers have called for this shift to accompany a change in pedagogy, and have looked to computer programming and game design as a means to combine mathematical rigor with creative inquiry. Many studies have explored the impact of teaching students to program, with the goal of having them transfer what they have learned back into traditional mathematics. While some of these studies have shown positive outcomes for concepts like geometry and fractions, transfer between programming and algebra has remained elusive. The literature identifies a number of conditions that must be met to facilitate transfer, including careful attention to content, software, and pedagogy. This dissertation is a feasibility study of Bootstrap, a curricular intervention based on best practices from the transfer and math-education literature. Bootstrap teaches students to build a video game by applying algebraic concepts and a problem solving technique in the programming domain, with the goal of transferring what they learn back into traditional algebra tasks. The study employed a mixed-methods analysis of six Bootstrap classes taught by math and computer science teachers, pairing pre- and post-tests with classroom observations and teacher interviews. Despite the use of a CS-derived problem solving technique, a programming language and a series of programming challenges, students were able to transfer what they learned into traditional algebra tasks and math teachers were found to be more successful at facilitating this transfer than their CS counterparts. Chapter 1 Introduction Many disciplines rely on functions as a foundational concept for thinking about abstraction: a physicist uses functions to describe the movement of a projectile, a chemist to model reactions, and a biologist to reason about population growth. As a gateway concept for so many disciplines, it is no surprise that the course where students are first introduced to functions – algebra – is a key component of standardized tests across the United States. Algebra is a graduation requirement for high schools in many school districts (Loveless, 2008), and studies have found that student performance in algebra is the greatest predictor of future income out of all high school classes (Rose & Betts, 2004). For years, researchers have pointed to functions as an essential concept in math education (Breslich, 1928; Schaaf, 1930), and modern reforms have called functions a “unifying idea in mathematics” (National Council of Teachers of Mathematics, 1989, p. 154). If algebra is thought of as a gateway class, it is a gate students often struggle to pass through. Our collective fear of algebra is well known, with the phrase “a train leaves Chicago, traveling east at 60mph…” teasing uneasy laughter from most Americans. A recent study (Fong, Jaquet, & Finkelstein, 2014) of California students found that 44% repeated Algebra 1, and that percentage is even higher for traditionally underserved groups. With Algebra 1 being a graduation requirement, the students who finish high school are by definition more likely to be higher performing math students than their peers. Even among this group, however, a 2012 National Science Board report found that only 76% of graduating seniors even completed Algebra 2, despite graduation requirements in 32 states that mandate a third year of mathematics. Many people see math and computer programming as closely related, and researchers have long viewed programming as a promising domain in which to learn mathematical concepts (Feurzeig, 1969; Khan, 1996; Papert, 1972; Resnick, 2009). The approach taken by many of these studies relies on the achievement of transfer: a student’s understanding of a particular
Recommended publications
  • Compiler Error Messages Considered Unhelpful: the Landscape of Text-Based Programming Error Message Research
    Working Group Report ITiCSE-WGR ’19, July 15–17, 2019, Aberdeen, Scotland Uk Compiler Error Messages Considered Unhelpful: The Landscape of Text-Based Programming Error Message Research Brett A. Becker∗ Paul Denny∗ Raymond Pettit∗ University College Dublin University of Auckland University of Virginia Dublin, Ireland Auckland, New Zealand Charlottesville, Virginia, USA [email protected] [email protected] [email protected] Durell Bouchard Dennis J. Bouvier Brian Harrington Roanoke College Southern Illinois University Edwardsville University of Toronto Scarborough Roanoke, Virgina, USA Edwardsville, Illinois, USA Scarborough, Ontario, Canada [email protected] [email protected] [email protected] Amir Kamil Amey Karkare Chris McDonald University of Michigan Indian Institute of Technology Kanpur University of Western Australia Ann Arbor, Michigan, USA Kanpur, India Perth, Australia [email protected] [email protected] [email protected] Peter-Michael Osera Janice L. Pearce James Prather Grinnell College Berea College Abilene Christian University Grinnell, Iowa, USA Berea, Kentucky, USA Abilene, Texas, USA [email protected] [email protected] [email protected] ABSTRACT of evidence supporting each one (historical, anecdotal, and empiri- Diagnostic messages generated by compilers and interpreters such cal). This work can serve as a starting point for those who wish to as syntax error messages have been researched for over half of a conduct research on compiler error messages, runtime errors, and century. Unfortunately, these messages which include error, warn- warnings. We also make the bibtex file of our 300+ reference corpus ing, and run-time messages, present substantial difficulty and could publicly available.
    [Show full text]
  • How to Design Co-Programs
    JFP, 15 pages, 2021. c Cambridge University Press 2021 1 doi:10.1017/xxxxx EDUCATIONMATTERS How to Design Co-Programs JEREMY GIBBONS Department of Computer Science, University of Oxford e-mail: [email protected] Abstract The observation that program structure follows data structure is a key lesson in introductory pro- gramming: good hints for possible program designs can be found by considering the structure of the data concerned. In particular, this lesson is a core message of the influential textbook “How to Design Programs” by Felleisen, Findler, Flatt, and Krishnamurthi. However, that book discusses using only the structure of input data for guiding program design, typically leading towards structurally recur- sive programs. We argue that novice programmers should also be taught to consider the structure of output data, leading them also towards structurally corecursive programs. 1 Introduction Where do programs come from? This mystery can be an obstacle to novice programmers, who can become overwhelmed by the design choices presented by a blank sheet of paper, or an empty editor window— where does one start? A good place to start, we tell them, is by analyzing the structure of the data that the program is to consume. For example, if the program h is to process a list of values, one may start by analyzing the structure of that list. Either the list is empty ([]), or it is non-empty (a : x) with a head (a) and a tail (x). This provides a candidate program structure: h [ ] = ::: h (a : x) = ::: a ::: x ::: where for the empty list some result must simply be chosen, and for a non-empty list the result depends on the head a and tail x.
    [Show full text]
  • Panel: NSF-Sponsored Innovative Approaches to Undergraduate Computer Science
    Panel: NSF-Sponsored Innovative Approaches to Undergraduate Computer Science Stephen Bloch (Adelphi University) Amruth Kumar (Ramapo College) Stanislav Kurkovsky (Central CT State University) Clif Kussmaul (Muhlenberg College) Matt Dickerson (Middlebury College), moderator Project Web site(s) Intervention Delivery Supervision Program http://programbydesign.org curriculum with supporting in class; software normally active, but can be by Design http://picturingprograms.org IDE, libraries, & texts and textbook are done other ways Stephen Bloch http://www.ccs.neu.edu/home/ free downloads matthias/HtDP2e/ or web-based NSF awards 0010064 http://racket-lang.org & 0618543 http://wescheme.org Problets http://www.problets.org in- or after-class problem- applet in none - teacher not needed, Amruth Kumar solving exercises on a browser although some adopters use programming concepts it in active mode too NSF award 0817187 Mobile Game http://www.mgdcs.com/ in-class or take-home PC passive - teacher as Development programming projects facilitator to answer Qs Stan Kurkovsky NSF award DUE-0941348 POGIL http://pogil.org in-class activity paper or web passive - teacher as Clif Kussmaul http://cspogil.org facilitator to answer Qs NSF award TUES 1044679 Project Course(s) Language(s) Focus Program Middle school, Usually Scheme-like teaching problem-solving process, by pre-AP CS in HS, languages leading into Java; particularly test-driven DesignStephen CS0, CS1, CS2 has also been done in Python, development and use of data Bloch in college ML, Java, Scala, ... types to guide coding & testing Problets AP-CS, CS I, CS 2. C, C++, Java, C# code tracing, debugging, Amruth Kumar also as refresher or expression evaluation, to switch languages predicting program state in other courses Mobile Game AP-CS, CS1, CS2 Java core OO programming; DevelopmentSt intro to advanced subjects an Kurkovsky such as AI, networks, security POGILClif CS1, CS2, SE, etc.
    [Show full text]
  • The Comparability Between Modular and Non-Modular
    THE COMPARABILITY BETWEEN MODULAR AND NON-MODULAR EXAMINATIONS AT GCE ADVANCED LEVEL Elizabeth A Gray PhD INSTITUTE OF EDUCATION UNIVERSITY OF LONDON 1 ABSTRACT The prime concern of this thesis is the comparability of two types of assessment now prevalent in Advanced level GeE examinations. The more conventional linear scheme assesses all candidates terminally, and the only way to improve the grade awarded is to re-take the whole examination. In contrast, the relatively new modular schemes of assessment include testing opportunities throughout the course of study. This not only has formative effects but allows quantifiable improvements in syllabus results through the medium of the resit option. There are obvious differences between the two schemes, but this does not necessarily imply that they are not comparable in their grading standards. It is this standard which the thesis attempts to address by considering the different variabilities of each of the schemes, and how these might impinge upon the outcomes of the grading process as evidenced in the final grade distributions. A key issue is that of legitimate and illegitimate variabilities - the former perhaps allowing an improvement in performance while maintaining grading standards; the latter possibly affecting the grading standard because its effect was not fully taken into account in the awarding process. By looking at a linear and modular syllabus in mathematics, the differences between the two are investigated, and although not fully generalisable, it is clear that many of the worries which were advanced when modular schemes were first introduced are groundless. Most candidates are seen to use the testing flexibility to their advantage, but there is little evidence of over-testing.
    [Show full text]
  • Final Shift for Call/Cc: Direct Implementation of Shift and Reset
    Final Shift for Call/cc: Direct Implementation of Shift and Reset Martin Gasbichler Michael Sperber Universitat¨ Tubingen¨ fgasbichl,[email protected] Abstract JxKρ = λk:(k (ρ x)) 0 0 We present a direct implementation of the shift and reset con- Jλx:MKρ = λk:k (λv:λk :(JMK)(ρ[x 7! v]) k ) trol operators in the Scheme 48 system. The new implementation JE1 E2Kρ = λk:JE1Kρ (λ f :JE2Kρ (λa: f a k) improves upon the traditional technique of simulating shift and reset via call/cc. Typical applications of these operators exhibit Figure 1. Continuation semantics space savings and a significant overall performance gain. Our tech- nique is based upon the popular incremental stack/heap strategy for representing continuations. We present implementation details as well as some benchmark measurements for typical applications. this transformation has a direct counterpart as a semantic specifica- tion of the λ calculus; Figure 1 shows such a semantic specification for the bare λ calculus: each ρ is an environment mapping variables Categories and Subject Descriptors to values, and each k is a continuation—a function from values to values. An abstraction denotes a function from an environment to a D.3.3 [Programming Languages]: Language Constructs and Fea- function accepting an argument and a continuation. tures—Control structures In the context of the semantics, the rule for call/cc is this: General Terms Jcall=cc EKρ = λk:JEKρ (λ f : f (λv:λk0:k v) k) Languages, Performance Call=cc E evaluates E and calls the result f ; it then applies f to an Keywords escape function which discards the continuation k0 passed to it and replaces it by the continuation k of the call=cc expression.
    [Show full text]
  • Microworlds: Building Powerful Ideas in the Secondary School
    US-China Education Review A 9 (2012) 796-803 Earlier title: US-China Education Review, ISSN 1548-6613 D DAVID PUBLISHING Microworlds: Building Powerful Ideas in the Secondary School Craig William Jenkins University of Wales, Wales, UK In the 1960s, the MIT (Massachusetts Institute of Technology) developed a programming language called LOGO. Underpinning this invention was a profound new philosophy of how learners learn. This paper reviews research in the area and asks how one notion in particular, that of a microworld, may be used by secondary school educators to build powerful ideas in STEM (science, technology, engineering, and mathematics) subjects. Keywords: microworlds, programming, STEM (science, technology, engineering, and mathematics), constructionism, education Theories of Knowing This paper examines the microworld as a tool for acquiring powerful ideas in secondary education and explores their potential role in making relevant conceptual learning accessible through practical, constructionist approaches. In line with this aim, the paper is split into three main sections: The first section looks at the underlying educational theory behind microworlds in order to set up the rest of the paper; The second section critically examines the notion of a microworld in order to draw out the characteristics of a microworlds approach to learning; Finally, the paper ends with a real-world example of a microworld that is designed to build key, powerful ideas within a STEM (science, technology, engineering, and mathematics) domain of knowledge. To begin to understand the educational theory behind microworlds, a good starting point is to consider the ways in which learners interact with educational technology. In 1980, Robert Taylor (1980) provided a useful framework for understanding such interactions.
    [Show full text]
  • The Next 700 Semantics: a Research Challenge Shriram Krishnamurthi Brown University [email protected] Benjamin S
    The Next 700 Semantics: A Research Challenge Shriram Krishnamurthi Brown University [email protected] Benjamin S. Lerner Northeastern University [email protected] Liam Elberty Unaffiliated Abstract Modern systems consist of large numbers of languages, frameworks, libraries, APIs, and more. Each has characteristic behavior and data. Capturing these in semantics is valuable not only for understanding them but also essential for formal treatment (such as proofs). Unfortunately, most of these systems are defined primarily through implementations, which means the semantics needs to be learned. We describe the problem of learning a semantics, provide a structuring process that is of potential value, and also outline our failed attempts at achieving this so far. 2012 ACM Subject Classification Software and its engineering → General programming languages; Software and its engineering → Language features; Software and its engineering → Semantics; Software and its engineering → Formal language definitions Keywords and phrases Programming languages, desugaring, semantics, testing Digital Object Identifier 10.4230/LIPIcs.SNAPL.2019.9 Funding This work was partially supported by the US National Science Foundation and Brown University while all authors were at Brown University. Acknowledgements The authors thank Eugene Charniak and Kevin Knight for useful conversations. The reviewers provided useful feedback that improved the presentation. © Shriram Krishnamurthi and Benjamin S. Lerner and Liam Elberty; licensed under Creative Commons License CC-BY 3rd Summit on Advances in Programming Languages (SNAPL 2019). Editors: Benjamin S. Lerner, Rastislav Bodík, and Shriram Krishnamurthi; Article No. 9; pp. 9:1–9:14 Leibniz International Proceedings in Informatics Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany 9:2 The Next 700 Semantics: A Research Challenge 1 Motivation Semantics is central to the trade of programming language researchers and practitioners.
    [Show full text]
  • Proceedings of the 8Th European Lisp Symposium Goldsmiths, University of London, April 20-21, 2015 Julian Padget (Ed.) Sponsors
    Proceedings of the 8th European Lisp Symposium Goldsmiths, University of London, April 20-21, 2015 Julian Padget (ed.) Sponsors We gratefully acknowledge the support given to the 8th European Lisp Symposium by the following sponsors: WWWLISPWORKSCOM i Organization Programme Committee Julian Padget – University of Bath, UK (chair) Giuseppe Attardi — University of Pisa, Italy Sacha Chua — Toronto, Canada Stephen Eglen — University of Cambridge, UK Marc Feeley — University of Montreal, Canada Matthew Flatt — University of Utah, USA Rainer Joswig — Hamburg, Germany Nick Levine — RavenPack, Spain Henry Lieberman — MIT, USA Christian Queinnec — University Pierre et Marie Curie, Paris 6, France Robert Strandh — University of Bordeaux, France Edmund Weitz — University of Applied Sciences, Hamburg, Germany Local Organization Christophe Rhodes – Goldsmiths, University of London, UK (chair) Richard Lewis – Goldsmiths, University of London, UK Shivi Hotwani – Goldsmiths, University of London, UK Didier Verna – EPITA Research and Development Laboratory, France ii Contents Acknowledgments i Messages from the chairs v Invited contributions Quicklisp: On Beyond Beta 2 Zach Beane µKanren: Running the Little Things Backwards 3 Bodil Stokke Escaping the Heap 4 Ahmon Dancy Unwanted Memory Retention 5 Martin Cracauer Peer-reviewed papers Efficient Applicative Programming Environments for Computer Vision Applications 7 Benjamin Seppke and Leonie Dreschler-Fischer Keyboard? How quaint. Visual Dataflow Implemented in Lisp 15 Donald Fisk P2R: Implementation of
    [Show full text]
  • A Simplified Introduction to Virus Propagation Using Maple's Turtle Graphics Package
    E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package A simplified introduction to virus propagation using Maple's Turtle Graphics package Eugenio Roanes-Lozano Instituto de Matemática Interdisciplinar & Departamento de Didáctica de las Ciencias Experimentales, Sociales y Matemáticas Facultad de Educación, Universidad Complutense de Madrid, Spain Carmen Solano-Macías Departamento de Información y Comunicación Facultad de CC. de la Documentación y Comunicación, Universidad de Extremadura, Spain Eugenio Roanes-Macías Departamento de Álgebra, Universidad Complutense de Madrid, Spain [email protected] ; [email protected] ; [email protected] Partially funded by the research project PGC2018-096509-B-100 (Government of Spain) 1 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package 1. INTRODUCTION: TURTLE GEOMETRY AND LOGO • Logo language: developed at the end of the ‘60s • Characterized by the use of Turtle Geometry (a.k.a. as Turtle Graphics). • Oriented to introduce kids to programming (Papert, 1980). • Basic movements of the turtle (graphic cursor): FD, BK RT, LT. • It is not based on a Cartesian Coordinate system. 2 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package • Initially robots were used to plot the trail of the turtle. http://cyberneticzoo.com/cyberneticanimals/1969-the-logo-turtle-seymour-papert-marvin-minsky-et-al-american/ 3 E. Roanes-Lozano, C. Solano-Macías & E. Roanes-Macías.: A simplified introduction to virus propagation using Maple's Turtle Graphics package • IBM Logo / LCSI Logo (’80) 4 E.
    [Show full text]
  • Application and Interpretation
    Programming Languages: Application and Interpretation Shriram Krishnamurthi Brown University Copyright c 2003, Shriram Krishnamurthi This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License. If you create a derivative work, please include the version information below in your attribution. This book is available free-of-cost from the author’s Web site. This version was generated on 2007-04-26. ii Preface The book is the textbook for the programming languages course at Brown University, which is taken pri- marily by third and fourth year undergraduates and beginning graduate (both MS and PhD) students. It seems very accessible to smart second year students too, and indeed those are some of my most successful students. The book has been used at over a dozen other universities as a primary or secondary text. The book’s material is worth one undergraduate course worth of credit. This book is the fruit of a vision for teaching programming languages by integrating the “two cultures” that have evolved in its pedagogy. One culture is based on interpreters, while the other emphasizes a survey of languages. Each approach has significant advantages but also huge drawbacks. The interpreter method writes programs to learn concepts, and has its heart the fundamental belief that by teaching the computer to execute a concept we more thoroughly learn it ourselves. While this reasoning is internally consistent, it fails to recognize that understanding definitions does not imply we understand consequences of those definitions. For instance, the difference between strict and lazy evaluation, or between static and dynamic scope, is only a few lines of interpreter code, but the consequences of these choices is enormous.
    [Show full text]
  • Practical Ruby Projects: Practical Ruby Projects Ideas for the Eclectic Programmer
    CYAN YELLOW MAGENTA BLACK PANTONE 123 C BOOKS FOR PROFESSIONALS BY PROFESSIONALS® THE EXPERT’S VOICE® IN OPEN SOURCE Companion eBook Available Practical Ruby Projects: Projects Ruby Practical Ideas for the Eclectic Programmer Dear Reader, You’ve learned the basics of Ruby, and you’re ready to move on to the next level— trying out advanced techniques, mastering best practices, and exploring Ruby’s full potential. With this book you’ll learn by experience while you tackle an exciting series of varied but always practical programming projects. What is an eclectic programmer, you ask? He or she is an inquisitive thinker Practical who likes to play around with new concepts, a person who is project-oriented and enjoys coding, a person who doesn’t mind some technical depth folded in with creative excursions, and a person who is always looking for fresh ideas. This book is a little different from other computer books. It is meant to be entertaining, exciting, and intellectually challenging. Inside you’ll find a collec- tion of diverse projects, ranging from the creative to the practical, written as a nod to all the great Rubyists I’ve been privileged to know. Each chapter dives into Ruby Projects new topics and approaches meant to exercise your programming muscles. You’ll start by building a cross-platform music environment, progress to drawing animations using scalable vector graphics, and then move on to prac- tical problem solving using simulation. In addition, you’ll implement your own turn-based strategy game and build a Mac-native RubyCocoa interface to it.
    [Show full text]
  • From Legos and Logos to Lambda a Hypothetical Learning Trajectory for Computational Thinking
    Pia Niemelä From Legos and Logos to Lambda A Hypothetical Learning Trajectory for Computational Thinking Julkaisu 1565 • Publication 1565 Tampere 2018 Tampereen teknillinen yliopisto. Julkaisu 1565 Tampere University of Technology. Publication 1565 Pia Niemelä From Legos and Logos to Lambda A Hypothetical Learning Trajectory for Computational Thinking Thesis for the degree of Doctor of Science in Technology to be presented with due permission for public examination and criticism in Festia Building, Auditorium Pieni sali 1, at Tampere University of Technology, on the 14th of September 2018, at 12 noon. Tampereen teknillinen yliopisto - Tampere University of Technology Tampere 2018 Doctoral candidate: Pia Niemelä Pervasive Computing Computing and Electrical Engineering Tampere University of Technology Finland Supervisor: Professor Hannu-Matti Järvinen Pervasive Computing Computing and Electrical Engineering Tampere University of Technology Finland Instructors: Professor Petri Ihantola Big Data Learning Analytics Department of Education University of Helsinki Finland Professor Petri Nokelainen Industrial and Information Management Business and Built Environment Tampere University of Technology Finland Pre-examiners: Professor Mike Joy University of Warwick The United Kingdom Professor Arnold Pears KTH Royal Institute of Technology Sweden Opponent: Professor Erkki Sutinen Interaction Design Department of Information Technology University of Turku Finland ISBN 978-952-15-4183-4 (printed) ISBN 978-952-15-4187-2 (PDF) ISSN 1459-2045 Abstract This thesis utilizes design-based research to examine the integration of computational thinking and computer science into the Finnish elementary mathematics syllabus. Al- though its focus is on elementary mathematics, its scope includes the perspectives of students, teachers and curriculum planners at all levels of the Finnish school curriculum.
    [Show full text]