Including architecture-centric design and analysis methods in the Extreme Programming framework helps address quality attributes in an explicit, methodical, engineering-principled way.
Including architecture-centric design and analysis methods in the Extreme Programming framework helps address quality attributes in an explicit, methodical, engineering-principled way.
Aspect-oriented programming languages such as AspectJ offer new mechanisms for decomposing systems into modules and composing modules into systems. Common ways of using these mechanisms couple apects to complex, chang...
详细信息
Aspect-oriented programming languages such as AspectJ offer new mechanisms for decomposing systems into modules and composing modules into systems. Common ways of using these mechanisms couple apects to complex, changeable implementation details, which can compromise modularity. The crosscut programming interface (XPI) can significantly improve modularity in the design of programs employing AspectJ-style AOP. The use of XPIs doesn't limit the use of existing ACIP mechanisms or require new ones, and the approach appears to generalize to other languages.
Individuals who desire structure and proof in problem solving exhibit acharacteristic known as a theoretical value belief; these individuals also exhibit othercharacteristics that are associated with programming and p...
详细信息
Individuals who desire structure and proof in problem solving exhibit acharacteristic known as a theoretical value belief; these individuals also exhibit othercharacteristics that are associated with programming and programmers. For instance, they are highlyobjective and focused, rarely showing interest in, or consideration of, artifacts that are unprovenor untested. They routinely look for the reason and validation behind an event or object, and theyfrequently prefer to work individually.
computer science has lost its appeal, and robots can help find it. Even ascomputing has invaded every aspect of our lives, CS as a field of study is often seen asdisconnected from these same lives. So to reestablish t...
详细信息
computer science has lost its appeal, and robots can help find it. Even ascomputing has invaded every aspect of our lives, CS as a field of study is often seen asdisconnected from these same lives. So to reestablish the connection, the Institute for PersonalRobots in Education (IPRE, ***) is developing a personal robot, software, andcurricula to help teach introductory CS courses. Imbued with the proper pedagogical philosophy andtraining, it can help make CS more personal.
A software-configurable processor combines a traditional RISC processor with a field-programmable instruction extension unit that lets the system designer tailor the processor to a particular application. To add appli...
详细信息
A software-configurable processor combines a traditional RISC processor with a field-programmable instruction extension unit that lets the system designer tailor the processor to a particular application. To add application-specific instructions to the processor, the programmer adds a pragma before A C or C++ function declaration, and the compiler then turns the function into a single instruction.
An information system will change during both system development and use. Butwhile IS change has been systematically managed during system development, it is handledhaphazardly at best by IT management during system u...
详细信息
An information system will change during both system development and use. Butwhile IS change has been systematically managed during system development, it is handledhaphazardly at best by IT management during system use, largely due to the static and unproblematicview of IT. Chaotic management of post-deployment system changes often can lead to real workdisruptions and user dissatisfaction that tend to increase the risk of IT project failure. Throughan in-depth examination of one such case, we found that IT is a dynamic artifact that evolves evenduring production use as the result of mutual adaptation between IT and its users' work *** findings suggest that an organization should adopt a systematic and mul-tifaceted approach inmanaging post-deployment system changes.
The article presents information on a new technology for software programmers called aspect oriented programming (AOP). This technology is fundamentally simple and its concepts are easily within the approach of an ave...
详细信息
The article presents information on a new technology for software programmers called aspect oriented programming (AOP). This technology is fundamentally simple and its concepts are easily within the approach of an average professional programmer. Visual Basic programmers who easily understand event-based GUI programming can understand AOP with equal ease. Even though AOP principles are simple, its design and modularity options-like those of object-oriented programming can take a lifetime to master. Most importantly, AOP does indeed offer both the short-term and long-term return on investment needed to ensure its widespread adoption and success. Projects such as AspectJ have mapped out incremental adoption roadmaps providing quick wins, such as improved design integrity and cost-effective policy implementations, for little investment and risk. The growth of readily available and mature aspect libraries will be another big step in providing early return on investment. programmers who start with using existing libraries will move on to customizing and extending those aspects and from there to writing their own.
Recent efforts by academic researchers and the computer security industryhave sought to find ways to detect and prevent software vulnerabilities from being exploited. Othershave sought to find ways to detect and preve...
详细信息
Recent efforts by academic researchers and the computer security industryhave sought to find ways to detect and prevent software vulnerabilities from being exploited. Othershave sought to find ways to detect and prevent unauthorized access to computer systems. Whileattack methods may differ significantly, the underlying security issues (viewed through the prism ofacademic software reliability research) are called "software faults." Hackers, however, describethe same issues in different terms. Attempts to identify similarities among faults are biased towardthe hacker view, as I discuss here, and often yield incomplete defenses. Missing the fact thatreliability and security research addresses the same technical issues leads to inadequate approachesby the academic community.
This article reports on an empirical study of a computer programmer community, focusing on online exchanges in which participants discuss the aesthetics of coding. Naturalistic data were collected during a 12-month pe...
详细信息
This article reports on an empirical study of a computer programmer community, focusing on online exchanges in which participants discuss the aesthetics of coding. Naturalistic data were collected during a 12-month period of non-participant observation of the software community in question. The authors estimate that approximately 200 participants are represented in the main dataset. Narrative data are presented under two interpretative rubrics: 'programmer performatives' and 'commercial performativity'. We seek to demonstrate that there is the online equivalent of a great deal of intricate 'face work' that programmers do in their narrative exchanges. In expressing and conforming to a 'hacker ethic', programmer narratives simultaneously evince technical, ethical and aesthetic motives. There is frequent articulation of resistance and subversive intent expressed toward representatives of employers and employing organizations. Software engineers are acutely aware of the facets of organizational control and demands for performativity that they feel compromise their artistic endeavours. programmers make sense of their condition ideologically both through their practical pursuit of coding ideals and by espousing a hacker ethic that legitimates their passionate engagement with coding tasks.
In this paper, we present the results from a two-part study. We analyze 60 programs written by novice programmers aged 16 - 19 after their first programming course, in either Java or Python. The aim is to find difficu...
详细信息
In this paper, we present the results from a two-part study. We analyze 60 programs written by novice programmers aged 16 - 19 after their first programming course, in either Java or Python. The aim is to find difficulties independent of the language used, and such originating from the language. Second, we analyze the transition from a "simple'' language to a more "advanced'' one, by following up on eight students, who learned programming in Python before moving on to Java. Our results suggest that a simple language gives rise to fewer syntax errors as well as logic errors. The qualitative part of our study did not reveal any disadvantages from having learned to program in a simple language when moving on to a more complex one. This suggests that not only can a simple language be used when introducing programming as a general skill, but also when providing basic skills to future professionals in the field.
暂无评论