programming environments based on an iconic, flowchart-based notation have been widely used in the context of introducing novices to programming. These tools were initially heavily based on the technology of structure...
详细信息
ISBN:
(纸本)9781467361118
programming environments based on an iconic, flowchart-based notation have been widely used in the context of introducing novices to programming. These tools were initially heavily based on the technology of structure editing, with the aim of alleviating the burden of focusing on the syntactic details of programming languages and giving the chance to focus on acquiring problem solving skills. The technology of program animation was also utilized, in order to allow for a better comprehension of programming structures and flow of control. Furthermore, the ability of generating syntactically correct source code from the flowchart was integrated into these tools. Recently, several advanced features were added in flowchart-based programming environments, such as support for collaborative activities and distributed pair programming and usage in mobile devices. In this paper, a thorough review of programming environments based on an iconic notation is carried out with a focus on the support provided for introducing novices to programming, as well as other important software engineering issues in a simplified and straightforward manner. Proposals for research on this field and opportunities for a better teaching and learning of software engineering are presented.
This Research Full Paper presents our experience in analyzing and selecting block-based programming environments to support the teaching of algorithms for the students starting the introductory courses of a Computer S...
详细信息
ISBN:
(数字)9781728189611
ISBN:
(纸本)9781728189628
This Research Full Paper presents our experience in analyzing and selecting block-based programming environments to support the teaching of algorithms for the students starting the introductory courses of a Computer Science major. The teaching of algorithms and programming concepts to students of the first years of Computer Science and Engineering courses has been a major challenge because students often have difficulty understanding the logic and abstraction, leading to a high dropout rate. Some strategies have been conducted to further the mission of helping students understand better those basic concepts, but this topic still remains a major problem for students in the initial grades of those courses. In previous projects developed at our university, we have already proposed the use of learning objects and gamification, with very positive results. One of the questions that arise when we adopt new teaching approaches is to know how this new path will contribute to the student's learning. In this project, we conducted a study on eight block-based programming environments and sought to identify which aspects of those environments comply with the Computer Science reference curriculum. Our work was based on the joint task force on Computing Curricula conducted by the ACM and IEEE Computer Society CS2013 curriculum guidelines for undergraduate programs in Computer Science. We studied the virtual programming environments Alice, MIT App Inventor, Blockly Games, ***, Gameblox, Pencil Code, Microsoft MakeCode and Scratch. Then, we crossed the characteristics of each, identified the positive and negative points of each teaching environment in relation to the topics established by the guidelines. We have classified the main characteristics of those programming environments, establishing criteria such as: prior programming knowledge requirements; ease of interaction with users; programming language code; availability of documentation for learning; programming practices a
The paper identifies three fundamental learning activities in the development of literary skills-writing, reading, and watching and describes the potential benefits of supporting these activities when learning to prog...
详细信息
The paper identifies three fundamental learning activities in the development of literary skills-writing, reading, and watching and describes the potential benefits of supporting these activities when learning to program computers. We analyse the support for writing, reading and watching provided by current educational programming environments and show that no current systems offer comprehensive and integrated support for the three activities. In particular, support for watching the relationship between the program code and the resultant program behaviour is poor.
Domain-specific generators will increasingly rely on graphical specification languages-applets-for declarative specifications of target applications. Applets will provide front-ends to generators and related tools to ...
详细信息
Domain-specific generators will increasingly rely on graphical specification languages-applets-for declarative specifications of target applications. Applets will provide front-ends to generators and related tools to produce customized code on demand. Critical to the success of this approach will be domain-specific design wizards, tools that guide users in their selection of components for constructing particular applications. In this paper, we present the P3 ContainerStore applet, its generator and design wizard.
One of the key obstacles to the widespread adoption of massively parallel computers is the lack of programming environments to support the development of software that can achieve both portability and high performance...
详细信息
One of the key obstacles to the widespread adoption of massively parallel computers is the lack of programming environments to support the development of software that can achieve both portability and high performance. The paper discusses alternative methodologies to define static and dynamic tools of this environment. While the main problems posed by a static tool are input dependant behaviour and the definition of a formal and abstract representation of the user program, dynamic tools introduce overhead to collect data about the program behaviour to drive their policy. Proper integration between the two kinds of tools is fundamental to be able to select the most appropriate solution for a given program. The definition and the design of these tools can be largely simplified through the introduction of a virtual machine to be mapped onto different physical machines and that enables the development of software tools and applications that can be ported across different machines.< >
Benchmark tests of distributed/parallel software systems such as EXPRESS, ISIS, LINDA, PVM, and TCGMSG programming environments on a system of IBM/RS6000 520 workstations connected via a 16-Mb token ring network are p...
详细信息
Benchmark tests of distributed/parallel software systems such as EXPRESS, ISIS, LINDA, PVM, and TCGMSG programming environments on a system of IBM/RS6000 520 workstations connected via a 16-Mb token ring network are presented. The authors compare message passing times as a function of the size of a message, and execution times of two applications. The applications, the Monte Carlo simulation and Jacobi iterative algorithms, were selected from TCGMSG as test cases to compare the scalability and the overhead of each package in terms of the performance. The results indicate that packages using the TCP/IP network protocol enjoy better performance than those using the UDP/IP network protocol, although UDP/IP is faster than TCP/IP in terms of transfer rates. Also, those packages using indirect communication have more overhead than those using direct communication. The porting experiences strongly indicate that library support for global operations is very useful in a distributed/parallel environment.< >
During the last two decades, several fuzzy extensions of the pure logic language Prolog have been developed thus producing modern fuzzy logic languages which manage truth degrees beyond the simpler case of true, false...
详细信息
ISBN:
(纸本)9781479975617
During the last two decades, several fuzzy extensions of the pure logic language Prolog have been developed thus producing modern fuzzy logic languages which manage truth degrees beyond the simpler case of true, false. Such values are usually collected in lattices whose correct design require to take special care when deciding the top/bottom elements, establishing the ordering relation and so on. In this paper we describe a graphical tool devoted to assist the development of such structures. A crucial and distinguishing feature of the tool relies on its capability for generating code in form of Prolog clauses which can be directly imported by the fuzzy logic programming environment FLOPER developed too in our research group.
Modern programming environments foster the integration of automated, extensible, and reusable tools. New tools can thus leverage the available functionality and collect data from program and process. The synergy of bo...
详细信息
Modern programming environments foster the integration of automated, extensible, and reusable tools. New tools can thus leverage the available functionality and collect data from program and process. The synergy of both will allow the automation of current empirical approaches. This leads to automated assistance in all development decisions for programmers and managers alike: "For this task, you should collaborate with Joe, because it will likely require risky work on the mailbox class".
Previous research has revealed gender differences that impact females' willingness to adopt software features in end users' programming environments. Since these features have separately been shown to help end...
详细信息
Previous research has revealed gender differences that impact females' willingness to adopt software features in end users' programming environments. Since these features have separately been shown to help end users problem solve, it is important to female end users' productivity that we find ways to make these features more acceptable to females. In this paper, we draw from our ongoing work with users to help inform our design of theory-based methods for encouraging effective feature usage by both genders. This design effort is the first to begin addressing the gender differences in the ways that people go about problem solving in end-user programming situations.
programming environments and game environments share many of the same characteristics, such as requiring their users to understand strategies and solve difficult challenges. Yet, only game designers have been able to ...
详细信息
ISBN:
(纸本)9781509002535
programming environments and game environments share many of the same characteristics, such as requiring their users to understand strategies and solve difficult challenges. Yet, only game designers have been able to capitalize on methods that are consistently able to keep their users engaged. Consequently, software engineers have been increasingly interested in understanding how these game experiences can be transferred to programming experiences, a process termed gamification. In this perspective paper, we offer a formal argument that gamification as applied today is predominately narrow, placing emphasis on the reward aspects of game mechanics at the expense of other important game elements, such as framing. We argue that more authentic game experiences are possible when programming environments are re-conceptualized and assessed as holistic, serious games. This broad gamification enables us to more effectively apply and leverage the breadth of game elements to the construction and understanding of programming environments.
暂无评论