Mitpress.Mit.Edu/Cs and Other Familiar Stories Illustrate the Raphy, Available for the first Time in One Volume

Total Page:16

File Type:pdf, Size:1020Kb

Mitpress.Mit.Edu/Cs and Other Familiar Stories Illustrate the Raphy, Available for the first Time in One Volume Perceptrons, Now in paperback Now in paperback Plato and the Nerd New Edition Programming For The Puzzled Now in paperback Making IT Work An Introduction to Computational Disaster Robotics The Machine Question The Creative Partnership of Humans How to Design Programs, Learn to Program While Solving Programmed Inequality A History of the Computer Services Geometry Robin R. Murphy Critical Perspectives on AI, Robots, and Technology Second Edition Problems How Britain Discarded Women Industry Marvin L. Minsky A comprehensive, authoritative, and and Ethics Edward Ashford Lee An Introduction to Programming Srini Devadas Technologists and Lost Its Edge Jeffrey R. Yost and Seymour A. Papert accessible reference for disaster robotics David J. Gunkel “In every decent bookstore, you find and Computing Learning programming with one of “the in Computing The evolution of the multi-billion-dollar Reissue of the 1988 Expanded that covers theory, specific deployments, “A formidable new book.... Provides a shelves full of volumes written by top Matthias Felleisen, Robert Bruce Findler, coolest applications around”: algorithmic Marie Hicks computer services industry, from con- and ground, air, and marine modalities. Edition with a new foreword galaxy of challenging thought.... Gunkel mathematicians, physicists, and biologists Matthew Flatt, and Shriram Krishnamurthi puzzles ranging from scheduling selfie How Britain lost its early dominance in sulting and programming to data analyt- by Léon Bottou 2017, 240 pp, $35/£27.00, 9780262534659 does a fine job of lucid and concise expo- explaining the state of the art in their field A completely revised edition, offering new time to verifying the six degrees of separa- computing by systematically discriminat- ics and cloud computing, with case Intelligent Robotics and Autonomous Agent sition.”—Peter Hankins, Machines Like Us and its impact on the human condition. tion hypothesis. ing against its most qualified workers: studies of important companies. The first systematic study of parallelism in Series design recipes for interactive programs and computation by two pioneers in the field. (review of cloth edition, 2012) This book is important because it is high support for images as plain values, test- 2017, 272 pp, $24/£18.99, 9780262534307 T women. 2017, 376 pp, $37/£29.00, 9780262036726 time for computer scientists and engi- 2017, 316 pp, $35/£27.00, 9780262534772 The Vestigial Heart 2017, 270 pp, $30/£24.00, 9780262534635 ing, event-driven programming, and even 2018, 352 pp, $20/£14.99, 9780262535182 neers to do the same.” distributed programming. Foolproof, and Other Now in paperback A Novel of the Robot Age —Thomas A. Henzinger, President, IST Now in paperback Applied State Estimation Robot-Proof Austria April 2018, 792 pp, $60/£47.95, 9780262534802 Mathematical Meditations ENIAC in Action Carme Torras T Recoding Gender and Association Higher Education in the Age 2017, 288pp., $29.95/£24.00, 9780262036481 Brian Hayes Making and Remaking the Modern “Richard Brautigan rejoiced that in future Chaw-Bing Chang and Keh-Ping Dunn of Artifcial Intelligence “Each of these essays brings unexpected Women’s Changing Participation Computer we’ll all be watched over by machines New Edition Joseph E. Aoun twists of perception and presentation; in Computing Thomas Haigh and Crispin Rope A rigorous introduction to both theory of loving grace—but 100 years ahead Lifelong Kindergarten The Reasoned Schemer, what a fine imagination Hayes has! I and application of state estimation and thirteen-year-old Celia wakes from cryo- How to educate the next generation of Cultivating Creativity through Janet Abbate The history of the first programmable Second Edition enjoyed the book enormously.” association. It takes a unified approach to genic suspension into a world where our college students to invent, to create, and The untold history of women and comput- electronic computer, from its conception, Projects, Passion, Peers, and Play Daniel P. Friedman, William E. Byrd, —Nick Trefethen FRS, Professor of problem formulation and solution develop- robot guardian angels may be cradling to discover—filling needs that even the ing: how pioneering women succeeded in construction, and use to its afterlife as a Mitchel Resnick Oleg Kiselyov, and Jason Hemann Numerical Analysis, University of Oxford; ment that helps students and junior engi- us toward extinction. It’s wonderful that most sophisticated robot cannot. a field shaped by gender biases. part of computing folklore. Foreword by Ken Robinson creator of Chebfun; author of Trefethen’s neers build a sound theoretical foundation this award-garlanded Catalan novel, full 2017, 216 pp, $24.95/£13.99, 9780262037280 Foreword by Guy Lewis Steele Jr. 2018, 360 pp, $25/£20.00, 9780262535175 Index Cards 2017, 264 pp, $25/£20.00, 9780262534536 for their work and develop skills and tools of insights, is now more widely available “This is the book I have been waiting for. and Gerald Jay Sussman HIstory of Computing series History of Computing Series for practical applications. in English.” —Ian Watson, author of the Now in paperback Lifelong Kindergarten is filled with gems— Afterword by Robert A. Kowalski 2017, 248 pp, $24.95/£20.00, 9780262036863 thoughts about what learning in the 21st 2016, 472 pp, $91/£70.00, 9780262034005 T screen story for Spielberg’s A.I. Artificial Thinking as Computation A new edition of a book, written in a For Fun and Profit Lincoln Laboratory Series, MIT century needs to be like, brought to life Intelligence humorous question-and-answer style, The Beauty of Numbers A First Course through evocative and nuanced examples A History of the Free and Open April 2018, 264 pp, $19.95/£14.99, that shows how to implement and use an In Nature Now in paperback Hector J. Levesque that fire up our own imaginations. Many Source Software Revolution 9780262037778 T elegant little programming language for Mathematical Patterns and of us have danced around this topic but Christopher Tozzi The Digital Mind 2017, 328 pp, $30/£24.00, 9780262534741 T logic programming. Principles from the Natural World Now in paperback no one has hit the bull¹s-eye like Mitch Forward by Jonathan Zittrain How Science Is Redefning Humanity Resnick has done.” —John Seely Brown, 2018, 208 pp, $30/£24.00, 9780262535519 T Ian Stewart Common Sense, The Turing The free and open source software move- Sign up to Arlindo Oliveira Former Chief Scientist of Xerox and Direc- From a zebra’s stripes to a spider’s web: ment, from its origins in hacker culture, Test, and The Quest for Real AI tor of Palo Alto Research Center (PARC) 2018, 344 pp, $19.95/£14.99, 9780262535236 Norbert Wiener — A Life an engaging examination of patterns in through the development of GNU and receive exclusive Hector J. Levesque 2017, 208 pp, $24.95/£20.95, 9780262037297 in Cybernetics nature and the mathematics that underlie Linux, to its commercial use today. 2018, 192 pp, $16.95/£14.99, 9780262535205 discounts, Ex-Prodigy: My Childhood and them. 2017, 336 pp, $30/£24.00, 9780262036474 Once Upon An Algorithm Youth and I Am a Mathematician: 2017, 224 pp, $24.95, 9780262534284 How Stories Explain Computing The Later Life of a Prodigy For Sale only in US and Canada notifications Martin Erwig Norbert Wiener about new books, How Hansel and Gretel, Sherlock Holmes, New Forward by Ronald R. Kline the movie Groundhog Day, Harry Potter, Norbert Wiener’s celebrated autobiog- and original mitpress.mit.edu/cs and other familiar stories illustrate the raphy, available for the first time in one volume. content: mitpress. T Examination copies are available for course adoption concepts of computing. consideration. visit mitpress.mit.edu/instructors 2017, 336pp, $27.95/£22.00, 9780262036634 T 2018, 592 pp, $40/£30.95, 9780262535441 mit.edu/newsletter The MIT Press MIT The Robotics Intelligent Systems Intelligent Computer Science Computer @mitpress mitpress.mit.edu/cs mitpress.mit.edu/cs Cloud Computing for Science Machine Learning for Data Using OpenMP—The Next Deep Learning and Engineering Streams Step Ian Goodfellow, Yoshua Bengio, and Ian Foster and Dennis B. Gannon with Practical Examples in MOA Aff nity, Accelerators, Tasking, and Aaron Courville A guide to cloud computing for students, Albert Bifet, Ricard Gavaldà, SIMD “Written by three experts in the fi eld, Deep scientists, and engineers, with advice and Geoffrey Holmes, and Bernhrd Pfahringer Ruud van der Pas, Eric Stotzer, and Learning is the only comprehensive book on the subject.” many hands-on examples. A hands-on approach to tasks and Christian Terboven 2017, 392 pp, $55/£43.00, 9780262037242 T techniques in data stream mining and A guide to the most recent, advanced fea- —Elon Musk, cochair of OpenAI; cofound- real-time analytics, with examples in MOA, tures of the widely used OpenMP parallel er and CEO of Tesla and SpaceX Cloud Computing for Machine a popular freely available open-source programming model, with coverage of 2016, 800 pp, $80/£62.95, 9780262035613 T Learning and Cognitive software framework. major features in OpenMP 4.5. Applications 2018, 280 pp, $55/£43.95, 9780262037792 T 2017, 392 pp, $50/£40.95, 9780262534789 T Mobile Microrobotics Adaptive Computation and Machine Learning Kai Hwang Series Metin Sitti The Deep Learning Revolution The fi rst textbook to teach students how The fi rst textbook on micron-scale mobile to build data analytic solutions on large New Edition Terrence J. Sejnowski robotics, introducing the fundamentals of data sets using cloud-based technologies. Distributed Algorithms
Recommended publications
  • Little Languages for Little Robots
    Little Languages for Little Robots Matthew C. Jadud Brooke N. Chenoweth Jacob Schleter University of Kent Canterbury Indiana University Gibson High School Canterbury, UK Bloomington Fort Branch, IN [email protected] Bloomington, IN [email protected] ABSTRACT where students learn by building personally meaningful With serendipity as our muse, we have created tools that artifacts in the world. allow students to author languages of their own design for robots of their own construction. In developing a Scheme 2. JACKLL: A NEW LANGUAGE compiler for the LEGO Mindstorm we realized that there In building up to the evolution of Jackll and the philoso- is great educational potential in the design and creation phies its creation embodies, we feel it is appropriate to of new languages for small robotics kits. As a side effect first introduce the LEGO Mindstorm, the target for our of bringing Scheme and the Mindstorm together in a cre- Scheme compiler, and situate Jackll with respect to other ative context, we have begun an exploration of teaching languages intended for beginner programmers. language design that is fundamentally different from the treatment of the subject in traditional literature. 2.1 What is the LEGO Mindstorm? The LEGO Mindstorm Robotics Invention System is a 1. INTRODUCTION commercial product from the LEGO Group that provides Jacob Schleter, a rising senior at Gibson High School, Fort an inexpensive, reconfigurable platform for exploring robotics. Branch, Indiana, took part in the Indiana University Col- It comes standard with two motors, two touch sensors, one lege of Arts and Sciences Summer Research Experience for light sensor, and hundreds of pieces for assembling all sorts six weeks during the summer of 2002.
    [Show full text]
  • 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]
  • 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 Education Column
    The Education Column by Juraj Hromkovicˇ Department of Computer Science ETH Zürich Universitätstrasse 6, 8092 Zürich, Switzerland [email protected] Learn to Program?Program to Learn! Matthias Hauswirth Università della Svizzera italiana [email protected] Abstract Learning to program may make students more employable, and it may make them better thinkers. However, the most important reason for learning to program may well be that it enables an entirely new way of learning.1 1 Why Everyone Should Learn to Program We are in a gold rush in computer science education. Countless school districts, states, countries, non-profits, and startups rush to offer computer science, or cod- ing, for all. The goal—or gold?—too often is seen in empowering students to get great future-proof jobs. This first goal—programming to earn—is fine, but it is much too limited. A broader goal looks at computer science education as general education that helps students to become critical thinkers. Like the headmaster of my school, who recommended I study Latin because it would make me a better thinker. It probably did. And so did studying computer science. This second goal—programming to think—is great. However, I claim that there is a third, even greater, goal for teaching computer science to each and every person on the planet. Read on! 2 Computer Language as a Medium In “Computer Science: Reflections on the Field, Reflections from the Field” [6], Gerald Jay Sussman (MIT) writes an essay called “The Legacy of Computer Sci- ence.” There he cites from his own landmark programming textbook “Structure and Interpretation of Computer Programs” (SCIP) [1]: 1 This article is based on a blog post previously published at https://medium.com/ @mathau/learning-to-program-programming-to-learn-c2c3d71d4d1d The computer revolution is a revolution in the way we think and in the way we express what we think.
    [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]
  • 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]
  • Co-Teaching Computer Science Across Borders
    Session 3 L@S ’20, August 12–14, 2020, Virtual Event, USA Co-Teaching Computer Science Across Borders: Human-Centric Learning at Scale Chris Piech Lisa Yan Lisa Einstein Stanford University Stanford University Stanford University Stanford, CA, USA Stanford, CA, USA Stanford, CA, USA [email protected] [email protected] [email protected] Ana Saavedra Baris Bozkurt Eliska Sestakova Stanford University Izmir Demokrasi Universitesi Czech Technical University Stanford, CA, USA Izmir, Turkey Prague, Czech Republic [email protected] [email protected] eliska.sestakova@fit.cvut.cz Ondrej Guth Nick McKeown Czech Technical University Stanford University Prague, Czech Republic Stanford, CA, USA ondrej.guth@fit.cvut.cz [email protected] ABSTRACT CCS Concepts Programming is fast becoming a required skill set for stu- •Social and professional topics ! Computing education; dents in every country. We present CS Bridge, a model for CS1; cross-border co-teaching of CS1, along with a correspond- ing open-source course-in-a-box curriculum made for easy INTRODUCTION localization. In the CS Bridge model, instructors and student- Computer science education has made substantial progress teachers from different countries come together to teach a towards the goal of CS for All in the United States, online, short, stand-alone CS1 course to hundreds of local high school and in some regions of the world. However, there is mounting students. The corresponding open-source curriculum has been evidence of a growing global digital divide, where access to specifically designed to be easily adapted to a wide variety of CS education is heavily dependant on which region you were local teaching practices, languages, and cultures.
    [Show full text]
  • Polish Python: a Short Report from a Short Experiment Jakub Swacha Department of IT in Management, University of Szczecin, Poland [email protected]
    Polish Python: A Short Report from a Short Experiment Jakub Swacha Department of IT in Management, University of Szczecin, Poland [email protected] Abstract Using a programming language based on English can pose an obstacle for learning programming, especially at its early stage, for students who do not understand English. In this paper, however, we report on an experiment in which higher-education students who have some knowledge of both Python and English were asked to solve programming exercises in a Polish-language-based version of Python. The results of the survey performed after the experiment indicate that even among the students who both know English and learned the original Python language, there is a group of students who appreciate the advantages of the translated version. 2012 ACM Subject Classification Social and professional topics → Computing education; Software and its engineering → General programming languages Keywords and phrases programming language education, programming language localization, pro- gramming language translation, programming language vocabulary Digital Object Identifier 10.4230/OASIcs.ICPEC.2020.25 1 Introduction As a result of the overwhelming contribution of English-speaking researchers to the conception and development of computer science, almost every popular programming language used nowadays has a vocabulary based on this language [15]. This can be seen as an obstacle for learning programming, especially at its early stage, for students whose native language is not English [11]. In their case, the difficulty of understanding programs is augmented by the fact that keywords and standard library function names mean nothing to them. Even in the case of students who speak English as learned language, they are additionally burdened with translating the words to the language in which they think.
    [Show full text]