Second International Computer Programming Education Conference

Total Page:16

File Type:pdf, Size:1020Kb

Second International Computer Programming Education Conference Second International Computer Programming Education Conference ICPEC 2021, May 27–28, 2021, University of Minho, Braga, Portugal Edited by Pedro Rangel Henriques Filipe Portela Ricardo Queirós Alberto Simões OA S I c s – Vo l . 91 – ICPEC 2021 www.dagstuhl.de/oasics Editors Pedro Rangel Henriques Universidade do Minho, Portugal [email protected] Filipe Portela Universidade do Minho, Portugal [email protected] Ricardo Queirós Politécnico do Porto, Portugal [email protected] Alberto Simões Politécnico do Cávado e Ave, Portugal [email protected] ACM Classifcation 2012 Applied computing → Education ISBN 978-3-95977-194-8 Published online and open access by Schloss Dagstuhl – Leibniz-Zentrum für Informatik GmbH, Dagstuhl Publishing, Saarbrücken/Wadern, Germany. Online available at https://www.dagstuhl.de/dagpub/978-3-95977-194-8. Publication date July, 2021 Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografe; detailed bibliographic data are available in the Internet at https://portal.dnb.de. License This work is licensed under a Creative Commons Attribution 4.0 International license (CC-BY 4.0): https://creativecommons.org/licenses/by/4.0/legalcode. In brief, this license authorizes each and everybody to share (to copy, distribute and transmit) the work under the following conditions, without impairing or restricting the authors’ moral rights: Attribution: The work must be attributed to its authors. The copyright is retained by the corresponding authors. Digital Object Identifer: 10.4230/OASIcs.ICPEC.2021.0 ISBN 978-3-95977-194-8 ISSN 1868-8969 https://www.dagstuhl.de/oasics 0:iii OASIcs – OpenAccess Series in Informatics OASIcs is a series of high-quality conference proceedings across all felds in informatics. OASIcs volumes are published according to the principle of Open Access, i.e., they are available online and free of charge. Editorial Board Daniel Cremers (TU München, Germany) Barbara Hammer (Universität Bielefeld, Germany) Marc Langheinrich (Università della Svizzera Italiana – Lugano, Switzerland) Dorothea Wagner (Editor-in-Chief, Karlsruher Institut für Technologie, Germany) ISSN 1868-8969 https://www.dagstuhl.de/oasics I C P E C 2 0 2 1 Alfred Aho and Jefrey Ullman Turing Award Winners for 2021 for their work on the theory of compilers, allowing us to use programming languages. Contents Preface Pedro Rangel Henriques, Filipe Portela, Ricardo Queirós, and Alberto Simões . 0:ix–0:x Committees . 0:xi–0:xii Authors . 0:xiii–0:xv Online-Teaching Environment with Gamifcation – A real Case Study Filipe Portela .................................................................... 1:1–1:13 Moving Classes in a Large Programming Course Online: An Experience Report Hrafn Loftsson and Ásrún Matthíasdóttir . 2:1–2:13 Programmers’ Afnity to Languages Alvaro Costa Neto, Cristiana Araújo, Maria João Varanda Pereira, and Pedro Rangel Henriques . 3:1–3:7 Melodic – Teaching Computational Thinking to Visually Impaired Kids Rui Costa, Cristiana Araújo, and Pedro Rangel Henriques . 4:1–4:14 An Open-Source Gamifed Programming Learning Environment José Carlos Paiva, Ricardo Queirós, José Paulo Leal, Jakub Swacha, and Filip Miernik .................................................................... 5:1–5:8 Integrating a Graph Builder into Python Tutor Diogo Soares, Maria João Varanda Pereira, and Pedro Rangel Henriques . 6:1–6:15 Matching User Interfaces to Assess Simple Web Applications Marco Primo and José Paulo Leal . 7:1–7:6 Active Methodologies in Incoming Programming Classes João Paulo Aires, Simone Bello Kaminski Aires, Maria João Varanda Pereira, and Luís M. Alves ................................................................... 8:1–8:9 Moopec: A Tool for Creating Programming Problems Rui C. Mendes .................................................................. 9:1–9:7 Automated Java Challenges’ Security Assessment for Training in Industry – Preliminary Results Luís Afonso Casqueiro, Tiago Espinha Gasiba, Maria Pinto-Albuquerque, and Ulrike Lechner . 10:1–10:11 Exploring a Board Game to Improve Cloud Security Training in Industry Tiange Zhao, Tiago Gasiba, Ulrike Lechner, and Maria Pinto-Albuquerque . 11:1–11:8 A System Architecture to Detect and Block Unwanted Wireless Signals in a Classroom Daniel Barros, Paulo Barros, Emanuel Lomba, Vítor Ferreira, and Pedro Pinto . 12:1–12:7 A Teaching Assistant for the C Language Rui C. Mendes and José João Almeida . 13:1–13:8 Second International Computer Programming Education Conference (ICPEC 2021). Editors: Pedro Rangel Henriques, Filipe Portela, Ricardo Queirós, and Alberto Simões OpenAccess Series in Informatics Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany 0:viii Contents SHREWS: A Game with Augmented Reality for Training Computational Thinking Francisco Saraiva, Lázaro V. O. Lima, Cristiana Araújo, Luis Gonzaga Magalhães, and Pedro Rangel Henriques . 14:1–14:10 Understanding Efects of the Algorithm Visualized with AR Techniques Lázaro V. O. Lima, Manuel Sousa, Luis Gonzaga Magalhães, and Pedro Rangel Henriques . 15:1–15:10 Experiments on PR-Based Gamifcation Alberto Simões and Ricardo Queirós . 16:1–16:10 User Experience Evaluation in a Code Playground Ricardo Queirós, Mário Pinto, and Teresa Terroso . 17:1–17:9 Can I Code? User Experience of an Assessment Platform for Programming Assignments Anne Münzner, Nadja Bruckmoser, and Alexander Meschtscherjakov . 18:1–18:12 Preface The success of the 2020 edition of the ’International Computer Programming Education Conference (ICPEC)’ impelled us to organize a new edition under the general topic of Computing at School. We actually believe that children shall be introduced to the computing world at primary school, and even younger people shall start earlier to train their skills to solve problems acquiring what is nowadays called Computational Thinking. Four speakers from UK, Brasil, and Portugal were invited to talk about their motivations and experiences leading in their countries the referred international movement Computing at School. Following the frst edition of ICPEC, the second edition was once again online. We all know that a remote conference is always restrictive in terms of networking that is usually built at events of this kind. However, the typology of the event did not limit the participation among researchers and teachers on the main topic of the ICEPC, which is, the discussion on methodologies, trends and tools to improve the teaching-learning process of computer programming. Inevitably, the papers in this second edition cover diferent approaches to overcome not only the complexity inherent to the feld of computer programming, but also to mitigate the disadvantages of this new teaching paradigm caused by the pandemic. Many approaches are discussed in this conference, ranging from psychological studies to computer-mediated teaching tools including resources to aid children with special needs. This book compiles 18 papers, accepted and revised for the 2.nd edition of ICPEC’2021, held virtually at Minho University, Braga, Portugal, from 27th to 28th of May. The introduction of specialized services to automate tasks traditionally done manually by teachers or the inclusion of visualization mechanisms, playful design and gamifcation to involve students are the most discussed topics. In the frst case, the tendency is to integrate digital assistants or services in order to alleviate all (or part) of the manual phases of the teaching-learning process of computer programming. In this context, works related to tasks that typically are naturally time- consuming and error-prone are presented, such as the creation of programming exercises, program evaluation and feedback generation. It should be noted that in these topics there is a common point that concerns researchers and that relates to interoperability, not only in terms of data representation but also in the way the data is communicated between systems. In the second case, several works related to game-based solutions are presented. To involve and motivate students in the computer programming domain, there are papers describing the use of visual feedback during the execution of programs, or the injection of gamifcation elements such as the use of leaderboards, achievements, badges and levels. To foster immersion, some authors propose the inclusion of virtual reality or the resort to serious games. Researchers consider that the use of approaches that inherit many concepts from games, should be applied sparingly so systems that use them do not transform into environments that are demotivating, unfair or that foster too many competitive facets which will hinder healthy and cooperative learning process. Regardless of the approach proposed, the main objective of all these works is similar: to motivate students to learn programming by promoting the practice supported by rich and immediate feedback. As ICPEC’2021 Chairs, we want to thank the many people without whom this event would never have been possible. Second International Computer Programming Education Conference (ICPEC 2021). Editors: Pedro Rangel Henriques, Filipe Portela, Ricardo Queirós, and Alberto Simões OpenAccess Series in Informatics Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl Publishing, Germany 0:x Preface The invited Speakers (Simon Peyton-Jones, Sue Sentance, Christian Puhlmann Brack- mann, and Anabela Jesus Gomes) that let us learn with their researches
Recommended publications
  • Computational Learning Theory: New Models and Algorithms
    Computational Learning Theory: New Models and Algorithms by Robert Hal Sloan S.M. EECS, Massachusetts Institute of Technology (1986) B.S. Mathematics, Yale University (1983) Submitted to the Department- of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 1989 @ Robert Hal Sloan, 1989. All rights reserved The author hereby grants to MIT permission to reproduce and to distribute copies of this thesis document in whole or in part. Signature of Author Department of Electrical Engineering and Computer Science May 23, 1989 Certified by Ronald L. Rivest Professor of Computer Science Thesis Supervisor Accepted by Arthur C. Smith Chairman, Departmental Committee on Graduate Students Abstract In the past several years, there has been a surge of interest in computational learning theory-the formal (as opposed to empirical) study of learning algorithms. One major cause for this interest was the model of probably approximately correct learning, or pac learning, introduced by Valiant in 1984. This thesis begins by presenting a new learning algorithm for a particular problem within that model: learning submodules of the free Z-module Zk. We prove that this algorithm achieves probable approximate correctness, and indeed, that it is within a log log factor of optimal in a related, but more stringent model of learning, on-line mistake bounded learning. We then proceed to examine the influence of noisy data on pac learning algorithms in general. Previously it has been shown that it is possible to tolerate large amounts of random classification noise, but only a very small amount of a very malicious sort of noise.
    [Show full text]
  • CRN What It Was Doing and Why It Was Cognitive Systems Vision Doing It, and to Recover from Mental Continued on Page 8 Expanding the Pipeline
    COMPUTING RESEARCH NEWS Computing Research Association, Celebrating 30 Years of Service to the Computing Research Community November 2002 Vol. 14/No. 5 DARPA’s New Cognitive Systems Vision By Ron Brachman and IPTO’s goal is to create a new to cope with systems both keep Zachary Lemnios generation of cognitive systems. growing. In order to make our systems more reliable, more secure, The impact of the Defense Mired in Moore’s Law? and more understandable, and to Advanced Research Projects Agency One benefit of such cognitive continue making substantial contri- (DARPA) on computing over the systems would be their help in butions to society, we need to do past 40 years has been profound. Led extracting us from a corner into something dramatically different. by the visionary J.C.R. Licklider and which our success seems to have his innovative successors in the painted us. The research that has The Promise of Cognitive Information Processing Techniques helped the industry follow Moore’s Systems Office (IPTO), DARPA initiated “Law” has created processors that are IPTO is attacking this problem by work that ultimately put personal remarkably fast and small, and data driving a fundamental change in computers on millions of desktops storage capabilities that are vast and computing systems. By giving systems Ron Brachman and made the global Internet a cheap. Unfortunately, these incred- more cognitive capabilities, we reality. In fact, the original IPTO, ible developments have cut two ways. believe we can make them more which lasted from 1962 to 1985, was While today’s computers are more responsible for their own behavior in large part responsible for estab- powerful than ever, we have been and maintenance.
    [Show full text]
  • Security Analysis of Cryptographically Controlled Access to XML Documents
    Security Analysis of Cryptographically Controlled Access to XML Documents ¤ Mart´in Abadi Bogdan Warinschi Computer Science Department Computer Science Department University of California at Santa Cruz Stanford University [email protected] [email protected] ABSTRACT ments [4, 5, 7, 8, 14, 19, 23]. This line of research has led to Some promising recent schemes for XML access control em- e±cient and elegant publication techniques that avoid data ploy encryption for implementing security policies on pub- duplication by relying on cryptography. For instance, us- lished data, avoiding data duplication. In this paper we ing those techniques, medical records may be published as study one such scheme, due to Miklau and Suciu. That XML documents, with parts encrypted in such a way that scheme was introduced with some intuitive explanations and only the appropriate users (physicians, nurses, researchers, goals, but without precise de¯nitions and guarantees for the administrators, and patients) can see their contents. use of cryptography (speci¯cally, symmetric encryption and The work of Miklau and Suciu [19] is a crisp, compelling secret sharing). We bridge this gap in the present work. We example of this line of research. They develop a policy query analyze the scheme in the context of the rigorous models language for specifying ¯ne-grained access policies on XML of modern cryptography. We obtain formal results in sim- documents and a logical model based on the concept of \pro- ple, symbolic terms close to the vocabulary of Miklau and tection". They also show how to translate consistent poli- Suciu. We also obtain more detailed computational results cies into protections, and how to implement protections by that establish security against probabilistic polynomial-time XML encryption [10].
    [Show full text]
  • The AWK Programming Language
    The Programming ~" ·. Language PolyAWK- The Toolbox Language· Auru:o V. AHo BRIAN W.I<ERNIGHAN PETER J. WEINBERGER TheAWK4 Programming~ Language TheAWI(. Programming~ Language ALFRED V. AHo BRIAN w. KERNIGHAN PETER J. WEINBERGER AT& T Bell Laboratories Murray Hill, New Jersey A ADDISON-WESLEY•• PUBLISHING COMPANY Reading, Massachusetts • Menlo Park, California • New York Don Mills, Ontario • Wokingham, England • Amsterdam • Bonn Sydney • Singapore • Tokyo • Madrid • Bogota Santiago • San Juan This book is in the Addison-Wesley Series in Computer Science Michael A. Harrison Consulting Editor Library of Congress Cataloging-in-Publication Data Aho, Alfred V. The AWK programming language. Includes index. I. AWK (Computer program language) I. Kernighan, Brian W. II. Weinberger, Peter J. III. Title. QA76.73.A95A35 1988 005.13'3 87-17566 ISBN 0-201-07981-X This book was typeset in Times Roman and Courier by the authors, using an Autologic APS-5 phototypesetter and a DEC VAX 8550 running the 9th Edition of the UNIX~ operating system. -~- ATs.T Copyright c 1988 by Bell Telephone Laboratories, Incorporated. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopy­ ing, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Published simultaneously in Canada. UNIX is a registered trademark of AT&T. DEFGHIJ-AL-898 PREFACE Computer users spend a lot of time doing simple, mechanical data manipula­ tion - changing the format of data, checking its validity, finding items with some property, adding up numbers, printing reports, and the like.
    [Show full text]
  • ITERATIVE ALGOR ITHMS for GLOBAL FLOW ANALYSIS By
    ITERATIVE ALGOR ITHMS FOR GLOBAL FLOW ANALYSIS bY Robert Endre Tarjan STAN-CS-76-547 MARCH 1976 COMPUTER SCIENCE DEPARTMENT School of Humanities and Sciences STANFORD UN IVERS ITY Iterative Algorithms for Global Flow Analysis * Robert Endre Tarjan f Computer Science Department Stanford University Stanford, California 94305 February 1976 Abstract. This paper studies iterative methods for the global flow analysis of computer programs. We define a hierarchy of global flow problem classes, each solvable by an appropriate generalization of the "node listing" method of Kennedy. We show that each of these generalized methods is optimum, among all iterative algorithms, for solving problems within its class. We give lower bounds on the time required by iterative algorithms for each of the problem classes. Keywords: computational complexity, flow graph reducibility, global flow analysis, graph theory, iterative algorithm, lower time bound, node listing. * f Research partially supported by National Science Foundation grant MM 75-22870. 1 t 1. Introduction. A problem extensively studied in recent years [2,3,5,7,8,9,12,13,14, 15,2'7,28,29,30] is that of globally analyzing cmputer programs; that is, collecting information which is distributed throughout a computer program, generally for the purpose of optimizing the program. Roughly speaking, * global flow analysis requires the determination, for each program block f , of a property known to hold on entry to the block, independent of the path taken to reach the block. * A widely used amroach to global flow analysis is to model the set of possible properties by a semi-lattice (we desire the 'lmaximumtl property for each block), to model the control structure of the program by a directed graph with one vertex for each program block, and to specify, for each branch from block to block, the function by which that branch transforms the set of properties.
    [Show full text]
  • Sensory Information Processing (1 January 1976
    Im plem enting Functional Program s Using M utable Abstract Data Types Ganesh C. Gopalakrishnan, Department of Computer Science, Univ. of Utah, Salt Lake City, Utah 84112 and Mandayam K. Srivas, Department of Computer Science, SUNY, Stony Brook, N Y 11794 W e study the following problem in this paper. Suppose we have a purely functional program that uses a set of abstract data types by invoking their operations. Is there an order of evaluation of the operations in the program that preserves the applicative order of evaluation semantics of the program even when the abstract data types behave as mutable modules. An abstract data type is mutable if one of its operations destructively updates the object rather than returning a new object as a result. This problem is important for several reasons. It can help eliminate unnecessary copying of data structure states. It supports a methodology in which one can program in a purely functional notation for purposes of verification and clarity, and then automatically transform the program into one in an object oriented, imperative language, such as CLU, A D A , Smalltalk, etc., that supports abstract data types. It allows accruing both the benefits of using abstract data types in programming, and allows modularity and verifiability. Keywords: Functional Program Implementation, Mutable Modules, Abstract Data Types, Syntactic Conditions. C o n t e n t s 1 Introduction 1 1.1 Related W o r k ........................................................................................................................... 2 1.2 Terminology, Assumptions, and Problem Statement............................................... 2 2 Syntactic Characterization of In Situ Evaluability 3 2.1 Syntactic Conditions for Straight-line Expressions..................................................
    [Show full text]
  • Understanding Programming Languages
    Understanding Programming Languages M. Ben-Ari Weizmann Institute of Science Originally published by John Wiley & Sons, Chichester, 1996. Copyright °c 2006 by M. Ben-Ari. You may download, display and print one copy for your personal use in non-commercial academic research and teaching. Instructors in non-commerical academic institutions may make one copy for each student in his/her class. All other rights reserved. In particular, posting this document on web sites is prohibited without the express permission of the author. Contents Preface xi I Introduction to Programming Languages 1 1 What Are Programming Languages? 2 1.1 The wrong question . 2 1.2 Imperative languages . 4 1.3 Data-oriented languages . 7 1.4 Object-oriented languages . 11 1.5 Non-imperative languages . 12 1.6 Standardization . 13 1.7 Computer architecture . 13 1.8 * Computability . 16 1.9 Exercises . 17 2 Elements of Programming Languages 18 2.1 Syntax . 18 2.2 * Semantics . 20 2.3 Data . 21 2.4 The assignment statement . 22 2.5 Type checking . 23 2.6 Control statements . 24 2.7 Subprograms . 24 2.8 Modules . 25 2.9 Exercises . 26 v Contents vi 3 Programming Environments 27 3.1 Editor . 28 3.2 Compiler . 28 3.3 Librarian . 30 3.4 Linker . 31 3.5 Loader . 32 3.6 Debugger . 32 3.7 Profiler . 33 3.8 Testing tools . 33 3.9 Configuration tools . 34 3.10 Interpreters . 34 3.11 The Java model . 35 3.12 Exercises . 37 II Essential Concepts 38 4 Elementary Data Types 39 4.1 Integer types .
    [Show full text]
  • BRIDGE Linking Engin Ee Ring and Soci E T Y
    Summer 2009 ENERGY EFFICIENCY The BRIDGE LINKING ENGIN ee RING AND SOCI E TY The Potential of Energy Efficiency: An Overview Lester B. Lave Improving Energy Efficiency in the Chemical Industry Jeremy J. Patt and William F. Banholzer Energy Efficiency in Passenger Transportation Daniel Sperling and Nic Lutsey Building Materials, Energy Efficiency, and the American Recovery and Reinvestment Act Robin Roy and Brandon Tinianov Coming of Age in New York: The Maturation of Energy Efficiency as a Resource Paul A. DeCotis The Greening of the Middle Kingdom: The Story of Energy Efficiency in China Mark D. Levine, Nan Zhou, and Lynn Price Promoting the technological welfare of the nation by marshalling the knowledge and insights of eminent members of the engineering profession. The BRIDGE NationaL AcaDemy OF Engineering Irwin M. Jacobs, Chair Charles M. Vest, President Maxine L. Savitz, Vice President Thomas F. Budinger, Home Secretary George Bugliarello, Foreign Secretary William L. Friend, Treasurer Editor in Chief (interim): George Bugliarello Managing Editor: Carol R. Arenberg Production Assistant: Penelope Gibbs The Bridge (USPS 551-240) is published quarterly by the National Academy of Engineering, 2101 Constitution Avenue, N.W., Washington, DC 20418. Periodicals postage paid at Washington, DC. Vol. 39, No. 2, Summer 2009 Postmaster: Send address changes to The Bridge, 2101 Constitution Avenue, N.W., Washington, DC 20418. Papers are presented in The Bridge on the basis of general interest and time- liness. They reflect the views of the authors and not necessarily the position of the National Academy of Engineering. The Bridge is printed on recycled paper. © 2009 by the National Academy of Sciences.
    [Show full text]
  • A Auxiliary Definitions
    A Auxiliary Definitions This appendix contains auxiliary definitions omitted from the main text. Variables fun lvars :: com ⇒ vname set where lvars SKIP = {} lvars (x ::= e)={x} lvars (c1;; c2)=lvars c1 ∪ lvars c2 lvars (IF b THEN c1 ELSE c2)=lvars c1 ∪ lvars c2 lvars (WHILE b DO c)=lvars c fun rvars :: com ⇒ vname set where rvars SKIP = {} rvars (x ::= e)=vars e rvars (c1;; c2)=rvars c1 ∪ rvars c2 rvars (IF b THEN c1 ELSE c2)=vars b ∪ rvars c1 ∪ rvars c2 rvars (WHILE b DO c)=vars b ∪ rvars c definition vars :: com ⇒ vname set where vars c = lvars c ∪ rvars c Abstract Interpretation fun strip :: aacom⇒ com where strip (SKIP {P})=SKIP strip (x ::= e {P})=x ::= e © Springer International Publishing Switzerland 2014 281 T. Nipkow and G. Klein, Concrete Semantics, DOI 10.1007/978-3-319-10542-0 282 A Auxiliary Definitions strip (C 1;;C 2)=strip C 1;; strip C 2 strip (IF b THEN {P 1} C 1 ELSE {P 2} C 2 {P})= IF b THEN strip C 1 ELSE strip C 2 strip ({I } WHILE b DO {P} C {Q})=WHILE b DO strip C fun annos :: aacom⇒ a list where annos (SKIP {P})=[P] annos (x ::= e {P})=[P] annos (C 1;;C 2)=annos C 1 @ annos C 2 annos (IF b THEN {P 1} C 1 ELSE {P 2} C 2 {Q})= P 1 # annos C 1 @ P 2 # annos C 2 @ [Q] annos ({I } WHILE b DO {P} C {Q})=I # P # annos C @ [Q] fun asize :: com ⇒ nat where asize SKIP = 1 asize (x ::= e)=1 asize (C 1;;C 2)=asize C 1 + asize C 2 asize (IF b THEN C 1 ELSE C 2)=asize C 1 + asize C 2 + 3 asize (WHILE b DO C )=asize C + 3 definition shift :: (nat ⇒ a) ⇒ nat ⇒ nat ⇒ a where shift f n =(λp.
    [Show full text]
  • Statement on the Selection of Jeffrey Ullman for a Turing Award
    Statement on the Selection of Jeffrey Ullman for a Turing Award An Open Letter to Committee of the ACM A.M. Turing Award and ACM: Date: 04/16/2021 Professor Jeffrey D. Ullman of Stanford University has been chosen to receive the 2020 ACM A.M. Turing Award, generally regarded as the highest distinction in computing. While we agree that the technical and educational contributions of Professor Ullman could meet the bar for a “Nobel Prize of Computing”, we condemn the selection as one that directly goes against the Diversity and Inclusion (D & I) values that the Computer Science community, and the Association for Computing Machinery (ACM) in particular, aim to uphold. While we recognize Professor Ullman’s freedom of speech and freedom to hold and express his political views, we are concerned by his sustained discriminatory behavior against students and by ACM bestowing upon such a person an award named after Alan Turing, someone who suffered much discrimination in his tragic life [1]. ACM defines its mission as follows: “ACM is a global scientific and educational organization dedicated to advancing the art, science, engineering, and application of computing, serving both professional and public interests by fostering the open exchange of information and by promoting the highest professional and ethical standards.” Furthermore, ACM explicitly defines “Diversity and Inclusion” as one of its four core values [2]. We assert, based on documented evidence, that not only has Professor Ullman willfully violated the “highest professional and ethical standards” that ACM has the mission to uphold, but also that he has demonstrated a pattern of actively turning against the values of D & I for decades.
    [Show full text]
  • Awk Short Intro
    awk short intro Robert Kofler awk • scripng language for reformang text files or extracng informaon from text files • good performance with large text files ⇒ thus “awk” is like PCR for NGS data analysis Why awk: very powerful (you can answer a lot of NGS related quesons with a simple awk command) easy to learn good performance with large text files may be used with other Unix‐command (pipe) Our input file basics • Name: Alfred Aho, Peter Weinberger, Brian Kernighan • How to use awk awk ‘command’ input_file.txt or cat input_file.txt | awk ‘command’ Let’s start: awk ‘{print $1}’ sample.txt cat sample.txt| awk ‘{print $1}’ Structure of awk command full structure of a awk command: awk ‘BEGIN{command}condition{command}END{command}’ # BEGIN{command} => execute this command at the beginning # condition{command} => MOST IMPORTANT PART, will be executed for every line in the file! # END{command} => execute this command at the end example: awk ‘BEGIN{print “File start”}$1==“2L”{print $0}END{print “End of file”}’ sample.txt Most things are oponal shortest example possible awk ‘’ sample.txt => not doing anything awk ‘$1’ sample.txt => prints line if $1 is not empty # above, we are only using ‘condition{command}’ # we are not using ‘BEGIN{command}’ and ‘END{command}’ default for ‘condion{command}’ is the following ‘condion’ => ‘condion{print $0}’ awk ‘$1’ sample.txt # is per default using the following command: awk ‘$1{print $0}’ # {print $0} is the default for the loop!! # {print $0} just means print the line Now some more meaningful condions awk ‘$1==“2L”’
    [Show full text]
  • Assembling a Prehistory for Formal Methods: a Personal View Thomas Haigh [email protected]
    Assembling A Prehistory for Formal Methods: A Personal View Thomas Haigh [email protected] University of Wisconsin—Milwaukee & Siegen University www.tomandmaria.com This is a preprint copy. Please quote and cite the final version, which will appear in a special issue of Formal Aspects of Computing devoted to historical work. Thanks to Cliff Jones and the anonymous reviewers for their encouragement and feedback on earlier drafts of this paper. Preprint Draft Haigh – Assembling a History for Formal Methods 2 Although I was pleased to be asked to contribute something to this volume I have a confession to make: I have never studied the history of formal methods. So this is not going to be a history of formal methods as much as a reflection on how such a story might be written. My plan is to triangulate from my personal experiences as a computer science student a quarter century ago, my Ph.D. training as a historian of science and technology, and my subsequent career researching and writing about various aspects of the history of computing. The fact that, despite a general familiarity with the literature on the history of computing, I don’t have a better grasp of the history of formal methods tells us a lot about the need for this special issue. Most of the history is so far locked up in the heads of participants, which is not a convenient place for the rest of us to find it. Stories written by participants or people with a personal connection to the events described are not usually the last word on historical events, but they are a vital starting point.
    [Show full text]