In this article, we analyze the productive role of aesthetics in organizing technoscientific work. Specifically, we investigate how aesthetic judgments form and inform code-writing practices at a large web services co...
详细信息
In this article, we analyze the productive role of aesthetics in organizing technoscientific work. Specifically, we investigate how aesthetic judgments form and inform code-writing practices at a large web services company in Russia. We focus on how programmers express aesthetic judgments about code and software design in everyday practice and explore how language with positive and negative valences is deployed. We find that programmers label code as "beautiful" without defining or establishing agreement about the term and are thereby able to maintain different ideals of beauty within the same organization. However, by learning how to avoid what senior developers deem to be "ugly" code, developers become socialized into producing code with a similar style and logic that we describe as "not ugly." The fieldwork suggests that aesthetic language can function simultaneously as a mechanism that supports professional diversity within an organization and as a tool for producing consistencies in software design. Studying manifestations of both positive and negative aesthetic language in technoscientific work provides insight into professional practices and the various roles aesthetic language can play in organizational life.
Providing timely and meaningful feedback of programming assignments to students is very important to ensure a smooth learning curve. However, this can be a time-consuming task for teachers and instructors. There are s...
详细信息
ISBN:
(纸本)9781665443616
Providing timely and meaningful feedback of programming assignments to students is very important to ensure a smooth learning curve. However, this can be a time-consuming task for teachers and instructors. There are some tools that already provide support for grading programming assignments, and some are already integrated with learning management systems that allow teaching staff to manage all this information in a more effective way. In this work, an analysis of tools for automatic grading of programming assignments in Moodie is carried out. A comparison of these tools is presented and one of them is tested and recommended for its future implementation and deployment. Finally, some recommendations for further improvements are described.
Modern data centers are being transformed to meet the increased processing needs of specialized workloads with an advantageous total cost of ownership. To this end, the modular design of current microservers allows th...
详细信息
ISBN:
(纸本)9781538678794
Modern data centers are being transformed to meet the increased processing needs of specialized workloads with an advantageous total cost of ownership. To this end, the modular design of current microservers allows the inclusion of heterogeneous computing platforms and accelerators to enhance the performance of specific workloads, while improving the power consumption and maintenance costs of the whole system. One of the fundamental application domains for datacenters is represented by bulk data encryption and decryption, as it has to be performed on the data being stored as well as on data being transmitted or received. In this paper we investigate the OpenCL programming practices to realize high-performance FPGA accelerators, thus providing a viable and more versatile alternative to the use of ad-hoc cryptographic accelerators, which are currently available in high-end server CPUs only. We validate our analysis employing AES-128 as our case study, and report energy efficiency improvements of 22.78x with respect to pure software implementations of ISO standard block ciphers.
Modern data centers are being transformed to meet the increased processing needs of specialized workloads with an advantageous total cost of ownership. To this end, the modular design of current microservers allows th...
详细信息
ISBN:
(纸本)9781538678800
Modern data centers are being transformed to meet the increased processing needs of specialized workloads with an advantageous total cost of ownership. To this end, the modular design of current microservers allows the inclusion of heterogeneous computing platforms and accelerators to enhance the performance of specific workloads, while improving the power consumption and maintenance costs of the whole system. One of the fundamental application domains for datacenters is represented by bulk data encryption and decryption, as it has to be performed on the data being stored as well as on data being transmitted or received. In this paper we investigate the OpenCL programming practices to realize high-performance FPGA accelerators, thus providing a viable and more versatile alternative to the use of ad-hoc cryptographic accelerators, which are currently available in high-end server CPUs only. We validate our analysis employing AES-128 as our case study, and report energy efficiency improvements of 22.78× with respect to pure software implementations of ISO standard block ciphers.
Block-based programming languages like Scratch, Alice and Blockly are becoming increasingly common as introductory languages in programming education. There is substantial research showing that these visual programmin...
详细信息
ISBN:
(纸本)9781450344494
Block-based programming languages like Scratch, Alice and Blockly are becoming increasingly common as introductory languages in programming education. There is substantial research showing that these visual programming environments are suitable for teaching programming concepts. But, what do people do when they use Scratch? In this paper we explore the characteristics of Scratch programs. To this end we have scraped the Scratch public repository and retrieved 250,000 projects. We present an analysis of these projects in three different dimensions. Initially, we look at the types of blocks used and the size of the projects. We then investigate complexity, used abstractions and programming concepts. Finally we detect code smells such as large scripts, dead code and duplicated code blocks. Our results show that 1) most Scratch programs are small, however Scratch programs consisting of over 100 sprites exist, 2) programming abstraction concepts like procedures are not commonly used and 3) Scratch programs do suffer from code smells including large scripts and unmatched broadcast signals.
Context: Numerous factors drive long term progress in programming practices. Goal: We study the evolution of C programming in the Unix operating system. Method: We extract, aggregate, and synthesize metrics from 66 sn...
详细信息
ISBN:
(纸本)9781467378994
Context: Numerous factors drive long term progress in programming practices. Goal: We study the evolution of C programming in the Unix operating system. Method: We extract, aggregate, and synthesize metrics from 66 snapshots obtained from an artificial software configuration management repository tracking the evolution of the Unix operating system over four decades. Results: C language programming practices appear to evolve over long term periods;our study identified some continuous trends with highly significant coefficients of determination. Many trends point toward increasing code quality through adherence to numerous programming guidelines, while some others indicate adoption that has reached maturity. In the area of commenting progress appears to have stalled. Conclusions: Studying the long term evolution of programming practices identifies areas where progress has been achieved along an expected path, as well as cases where there is room for improvement.
Best practices in programming typically imply incremental coding with classes and interfaces that are either not yet defined or only partially defined. Yet integrated development environments (IDEs) don't support ...
详细信息
Best practices in programming typically imply incremental coding with classes and interfaces that are either not yet defined or only partially defined. Yet integrated development environments (IDEs) don't support incremental coding well, and recent enhancements and third-party plug-ins fail to provide a seamless experience. We propose to reify undefined entities as ghosts, properly supported by the IDE. A Ghost View provides an integrated, modular view of each ghost, reflecting the current set of assumptions about a given undefined entity. This view is built unobtrusively and on the fly, without interrupting the programming workflow, and it supports program understanding tasks such as navigating from ghosts to the places where they're used. Ghosts and their usages are type-checked automatically as soon as they're defined. Busting a ghost generates a complete skeleton, in the background. Ghosts are a simple and useful metaphor to better support incremental development.
Food aid is a key component of a humanitarian response but its use in other programming contexts is subject to numerous criticisms. Even in humanitarian emergencies food aid is often late, unreliable and out of propor...
详细信息
Food aid is a key component of a humanitarian response but its use in other programming contexts is subject to numerous criticisms. Even in humanitarian emergencies food aid is often late, unreliable and out of proportion to other elements of the response. Three major factors will shape the future of food aid. First, mechanisms of food aid governance are being reviewed and may undergo major changes-particularly the Food Aid Convention now that hopes have diminished for an Agreement on Agriculture at the World Trade Organisation. The second significant factor is donor agency trends. Overall levels of food aid have dropped fairly steadily in recent decades and there are several discernible trends in resource allocation, procurement and the use of food aid. The third factor is an emerging body of best practice that will define acceptable standards of food aid programming in the future.
The purpose of this paper is to indicate something of the nature of “good programming.” In this context, programming is taken to mean the entire process of communication between humans and computers. The programming...
详细信息
暂无评论