Nominal Sets Pitts, Andrew M.
05/2013, Letnik:
v.Series Number 57
eBook
Nominal sets provide a promising new mathematical analysis of names in formal languages based upon symmetry, with many applications to the syntax and semantics of programming language constructs that ...involve binding, or localising names. Part I provides an introduction to the basic theory of nominal sets. In Part II, the author surveys some of the applications that have developed in programming language semantics (both operational and denotational), functional programming and logic programming. As the first book to give a detailed account of the theory of nominal sets, it will be welcomed by researchers and graduate students in theoretical computer science.
This study implemented an intervention using a visual programming language (VPL) to improve students' understanding of basic programming concepts. The VPL learning environment may reduce the ...difficulties in programming language learning and is suitable for teaching students who are not computer science majors. Meanwhile, the difference in learning performance of students with different levels of self-efficacy was explored. The basic programming concepts included sequence, condition, and loop. A quasi-experimental design was employed in this study. The participants consisted of 180 students taking general courses at a university in southern Taiwan. Instruments included the Test of Basic Programming Concept and a self-efficacy questionnaire. The results indicated that the VPL teaching improved learners' understanding of basic programming concepts in the experimental group. The effect on basic programming concepts was especially large in students with moderate and low self-efficacy. The implication is that the VPL has extensive potential for programming courses in the general education of universities.
•This study implemented an intervention using the visual programming language.•App Inventor 2 was used to improve students' basic programming concepts.•The design-based learning strategy was used to the better understanding of the effects.•The visual programming language teaching improved learners' concepts.•The effect was especially large in students with moderate and low self-efficacy.
Types are the central organizing principle of the theory of programming languages. In this innovative book, Professor Robert Harper offers a fresh perspective on the fundamentals of these languages ...through the use of type theory. Whereas most textbooks on the subject emphasize taxonomy, Harper instead emphasizes genetics, examining the building blocks from which all programming languages are constructed. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design – the absence of ill-defined programs – follows naturally. Professor Harper's presentation is simultaneously rigorous and intuitive, relying on elementary mathematics. The framework he outlines scales easily to a rich variety of language concepts and is directly applicable to their implementation. The result is a lucid introduction to programming theory that is both accessible and practical.
Array programming with NumPy Harris, Charles R; Millman, K Jarrod; van der Walt, Stéfan J ...
Nature (London),
09/2020, Letnik:
585, Številka:
7825
Journal Article
Recenzirano
Odprti dostop
Array programming provides a powerful, compact and expressive syntax for accessing, manipulating and operating on data in vectors, matrices and higher-dimensional arrays. NumPy is the primary array ...programming library for the Python language. It has an essential role in research analysis pipelines in fields as diverse as physics, chemistry, astronomy, geoscience, biology, psychology, materials science, engineering, finance and economics. For example, in astronomy, NumPy was an important part of the software stack used in the discovery of gravitational waves
and in the first imaging of a black hole
. Here we review how a few fundamental array concepts lead to a simple and powerful programming paradigm for organizing, exploring and analysing scientific data. NumPy is the foundation upon which the scientific Python ecosystem is constructed. It is so pervasive that several projects, targeting audiences with specialized needs, have developed their own NumPy-like interfaces and array objects. Owing to its central position in the ecosystem, NumPy increasingly acts as an interoperability layer between such array computation libraries and, together with its application programming interface (API), provides a flexible framework to support the next decade of scientific and industrial analysis.
En este libro se investigó los fundamentos de la programación web, así como las tecnologías esenciales para lograr crear aplicaciones web, tales como HTML y CSS. Se documentó los conceptos básicos de ...la programación Frontend utilizando el lenguaje de programación JavaScript, se documentó también los conceptos de la programación Backend utilizando el lenguaje de programación PHP. Este libro tiene como objetivo involucrarse en la programación web iniciando con el estudio del Frontend hasta el Backend con los conceptos básicos, códigos y ejemplos, utilizando tecnologías de programación gratuitas accesibles para cualquier estudiante, para llegar a crear aplicaciones dinámicas con acceso a base de datos. Como resultado se obtuvo que se puede llegar a crear aplicaciones web complejas utilizando tecnologías actuales gratuitas, con un diseño agradable, diseñándolo fácilmente con un Framework CSS como Bootstrap, y utilizando JQuery como una librería para crear rápidamente aplicaciones con JavaScript. Se utilizó además PHP por ser uno de los lenguajes más utilizados para crear aplicaciones conectadas a bases de datos MySQL.
A multitude of different probabilistic programming languages exists today, all extending a traditional programming language with primitives to support modeling of complex, structured probability ...distributions. Each of these languages employs its own probabilistic primitives, and comes with a particular syntax, semantics and inference procedure. This makes it hard to understand the underlying programming concepts and appreciate the differences between the different languages. To obtain a better understanding of probabilistic programming, we identify a number of core programming concepts underlying the primitives used by various probabilistic languages, discuss the execution mechanisms that they require and use these to position and survey state-of-the-art probabilistic languages and their implementation. While doing so, we focus on probabilistic extensions of
logic
programming languages such as Prolog, which have been considered for over 20 years.
DFCPP Runtime Library for Dataflow Programming Luo, Qiuming; Huang, Jinke; Li, Jinrong ...
Proceedings of the 52nd International Conference on Parallel Processing Workshops,
08/2023
Conference Proceeding
Odprti dostop
The Dataflow for C++(DFCPP) designed and implemented in this paper is a parallel programming library for dataflow computing on a general control flow hardware platform. Compared with existing ...dataflow programming libraries, DFCPP has an easy-to-use user interface and richer expression ability and can express different kinds of dataflow tasks. DFCPP designs a memory manager and task scheduler for the NUMA (Non-Uniform Memory Access) architecture and has filled the gap of existing dataflow runtime libraries in this field. The memory manager can allocate memory space on specific NUMA nodes according to the needs of tasks. As for the task scheduler, on the one hand, it places jobs at the location of their input data based on the idea, "The data is where it is; Move a thread to the data it needs most." On the other hand, the task scheduler uses an improved task-stealing algorithm to steal the most suitable task. Combined with the memory manager and task scheduler, DFCPP can decrease the times of remote NUMA node access, thereby improving execution efficiency.
Computational semantics is the art and science of computing meaning in natural language. The meaning of a sentence is derived from the meanings of the individual words in it, and this process can be ...made so precise that it can be implemented on a computer. Designed for students of linguistics, computer science, logic and philosophy, this comprehensive text shows how to compute meaning using the functional programming language Haskell. It deals with both denotational meaning (where meaning comes from knowing the conditions of truth in situations), and operational meaning (where meaning is an instruction for performing cognitive action). Including a discussion of recent developments in logic, it will be invaluable to linguistics students wanting to apply logic to their studies, logic students wishing to learn how their subject can be applied to linguistics, and functional programmers interested in natural language processing as a new application area.
Several authors and studies highlight the benefits of the integration of Computer Science into K-12 education. Applications such as Scratch have been demonstrated to be effective in educational ...environments. The aim of this study is to assess the use of a Visual Programming Language using Scratch in classroom practice, analyzing the outcomes and attitudes of 107 primary school students from 5th to 6th grade in five different schools in Spain. The intervention takes place in two academic years analyzing the practice of integrating coding and visual blocks programming in sciences and arts. The “Computational concepts and computational practices” dimension details a quasi-experimental approach, which showed significant improvement regarding learning programming concepts, logic, and computational practices with an active approach. The “Learning processes and coding in primary education” dimension analyzes the practice of the experimental group through questionnaires and structured observation. In this pedagogical design, students interact and create their own content related to curricular areas with several advantages, such as motivation, fun, commitment, and enthusiasm, showing improvements related to computational thinking and computational practices. Understanding of computational concepts through an active approach, Project Based Learning, usefulness, motivation, and commitment underline the importance and effectiveness of implementing a Visual Programming Language from active methodologies in primary education. Due to the aforementioned benefits and positive results obtained in this research, it is recommended to implement a Visual Programming Language in educational settings in 5th and 6th grade in primary education through a cross-curricular implementation.
Display omitted
•We analyze the use of “Scratch” through statistical inference and case study.•Pretest/posttest design (99%) Active approach and Computational Concepts.•Active Learning, contents in art and History, usefulness and fun.•Possibility of learning sequences, loops, parallelism and events.•Project Based Learning enables an active approach, obtaining high values.