This paper proposes a methodology for learning of languagesprogramming using open hardware tools. It has chosen as study case, the teaching of Python language due to versatility, structure and robustness that this la...
详细信息
ISBN:
(纸本)9781509015962
This paper proposes a methodology for learning of languagesprogramming using open hardware tools. It has chosen as study case, the teaching of Python language due to versatility, structure and robustness that this language provides in the design and construction of hardware and software elements in devices such as Arduino or Raspberry PI. However, this methodology can be employed in the teaching of other type of programming languages such as C, Java, or Dart. It has selected as educational framework of the methodology some sections of the model known as Stage Self Direct Learning (SSDL) which provides a conceptual base that serves as reference model allowing to build a methodology in which the students will be participant of their own educational process. In order to enhance the learning process in the students, in the structure of course, it has designed an e-learning course taking as platform to ILIAS (Integriertes Lern-, Informations-und Arbeitskooperations-System). It is an open source platform with some features such as Sharable Content Object Reference Model (SCORM) resources, forums, surveys, taxonomy services, exercises and assessment. During the development of course, different kinds of resources were created and shared through this platform, these were subject to discussion providing a space for the exchange of ideas and experiences associated with the main topics of this course. The methodology established allowed to encourage the interest of the students in the learning and use of programming languages as likewise using them in the design of projects that require the use of open hardware resources.
Cognitive psychology is a study of the brain, an organ that behaves as a complex computing system. The brain signals generate electrical signals, which can be interpreted meaningfully in line with the actions performe...
详细信息
Cognitive psychology is a study of the brain, an organ that behaves as a complex computing system. The brain signals generate electrical signals, which can be interpreted meaningfully in line with the actions performed by the brain using various computational devices and measures using electroencephalography methodology. In this thesis, the signals obtained from the brain are processed to quantitatively study and compare the brain activities of coders while programming in two different programming languages. In this research, we have chosen the structured programming language C and the scripting language Python for comparison. Previous empirical research comparing various programming languages in a controlled manner identified attributes such as correctness, robustness, syntax, efficiency, etc. as parameters that characterize those programming languages (see e. g., Nanz and Furia, 2015; Garcia Jarvi, Lumsdaine, Siek and Willcock, 2003). This thesis aims to build upon the previous findings and compare the psychological effects during programming tasks. Emotiv Epoc is a Brain Computer Interface device used for reading and analyzing brain signals in this study. Understanding the usage of the Emotiv device and the corresponding software tools is an essential part of this thesis work. Thus, in this thesis a pilot study is planned and a controlled experiment is conducted in order to collect and evaluate the data collected from the Emotiv Epoc device and self-reports to derive meaningful statistical results and interpret the emotional and cognitive activity of the participants. The pilot study aims to understand how emotions and/or cognitive load vary while coding in C and Python. Initial study involves understanding the EEG method, principles and complexities involved with the collection of data. The core part of the thesis consists of planning and conducting a lab experiment, which involves six participants performing predefined tasks in C and Python, and answering a ser
[Auto Generated] Preface Chapter 16 make Reference Chapter 17 SCCS Reference Chapter 18 awk Reference Chapter 19 lex Reference Chapter 20 yacc Reference Chapter 21 bc Reference Chapter 22 dc Reference Chapter 23 m4 Reference Chapter 24 curses Reference Chapter 25 Other programming Tools Appendix A Additional Reading Conventions Used in This Manual Throughout the NUX manuals, words that must be typed exactly as shown or that would actually appear on the screen are in Courier type. Words that you
[Auto Generated] CHAPTER I INTRODUCTION 2 CHAPTER II languages COVERED 4 CHAPTER III SPECIAL FEATURES COMMON TO THE NEW languages 7 A Data Types 7 B Control Structures 9 C Pattern Matching 13 D Deductive Mechanisms 14...
详细信息
[Auto Generated] CHAPTER I INTRODUCTION 2 CHAPTER II languages COVERED 4 CHAPTER III SPECIAL FEATURES COMMON TO THE NEW languages 7 A Data Types 7 B Control Structures 9 C Pattern Matching 13 D Deductive Mechanisms 14 CHAPTER IV DIFFERENCES BETWEEN THE NEW languages 16 A Data Types and Storage Meohanisms 16 1 SAIL 16 2 PLANNER/CONNIVER 18 3 QLISP/INTERLISP 20 4 POPLER 21 B Control Structures 22 1 SAIL 22 2 PLANNER/CONNIVER 23 3 INTERLISP/QLISP 25 4 POPLER/POP-2 28 C Pattern Matching 29 1 SAIL 29
This paper compares a large set of programming languages regarding their efficiency, including from an energetic point-of-view. Indeed, we seek to establish and analyze different rankings for programming languages bas...
详细信息
This paper compares a large set of programming languages regarding their efficiency, including from an energetic point-of-view. Indeed, we seek to establish and analyze different rankings for programming languages based on their energy efficiency. The goal of being able to rank programming languages based on their energy efficiency is both recent, and certainly deserves further studies. We have taken rigorous and strict solutions to 10 well defined programming problems, expressed in (up to) 27 programming languages, from the well known Computer Language Benchmark Game repository. This repository aims to compare programming languages based on a strict set of implementation rules and configurations for each benchmarking problem. We have also built a framework to automatically, and systematically, run, measure and compare the energy, time, and memory efficiency of such solutions. Ultimately, it is based on such comparisons that we propose a series of efficiency rankings, based on single and multiple criteria. Our results show interesting findings, such as how slower/faster languages can consume less/more energy, and how memory usage influences energy consumption. We also present a simple way to use our results to provide software engineers and practitioners support in deciding which language to use when energy efficiency is a concern. In addition, we further validate our results and rankings against implementations from a chrestomathy program repository, Rosetta Code., by reproducing our methodology and benchmarking system. This allows us to understand how the results and conclusions from our rigorously and well defined benchmarked programs compare to those based on more representative and real-world implementations. Indeed our results show that the rankings do not change apart from one programming language. (C) 2021 Elsevier B.V. All rights reserved.
Parsing programming languages using context-sensitive rather than context-free grammars is being considered here because a stronger formalism might be beneficial for dealing with increasingly complex programming langu...
详细信息
Parsing programming languages using context-sensitive rather than context-free grammars is being considered here because a stronger formalism might be beneficial for dealing with increasingly complex programming languages and their syntax, or is more appropriate in some applications. A new deterministic non-backtracking algorithm for parsing deterministic context-sensitive languages is described. It is a significant improvement of the algorithm built into WEAVE and CWEAVE tools for literate programming and requires that the language is described by a context-sensitive reduction system, namely a deterministic formalism similar to a context -sensitive grammar but with strict rules about how reductions are to be applied. The new algorithm uses a reduction automaton for finding the position of the next reduction at each step during parsing rather than a hardcoded trie that is build into the original algorithm of WEAVE and CWEAVE. The new algorithm performs at least twice as few operations per input symbol as the original one. Furthermore, it is shown that parsing a language described by a context-sensitive reduction system need not be limited to typesetting purposes as in literate programming but can be used as a general parsing approach.
暂无评论