To prevent skilled professionals from being phased out or forced into professions for which they are not talented, organized forms of lifelong learning are needed. Continuing professional development is an approach su...
详细信息
ISBN:
(纸本)9781595938657
To prevent skilled professionals from being phased out or forced into professions for which they are not talented, organized forms of lifelong learning are needed. Continuing professional development is an approach supporting lifelong learning. This approach is however criticized for being expensive and not providing the necessary knowledge. In response to this, we have executed a study in order to understand how universities can effectively support continuous professional development. By involving industry professionals as participants in university courses using problem based learning, we have designed what we call Practitioner Integrated Learning (PIL). This learning approach has shown positive effects in terms of level of learning, realism, knowledge diffusion, study load and costs. We present a 15-months action research project integrating 16 industry managers and 16 university students in a continuing professional development effort. Based on this study, we argue that PIL is a learning approach that effectively supports continuing professional development.
This will be a live demonstration of FindBugs, a static analysis finding tool, on the current development version Eclipse 3.4. FindBugs reports issues such as null pointer, comparing incompatible types with equals, in...
详细信息
ISBN:
(纸本)9781595938657
This will be a live demonstration of FindBugs, a static analysis finding tool, on the current development version Eclipse 3.4. FindBugs reports issues such as null pointer, comparing incompatible types with equals, invalid calls, infinite recursive loops, bad integer operations, more. FindBugs reports more than 400 such in Eclipse 3.3. this demonstration, we'll give a quick overview the FindBugs GUI and walk through 10-20 bug warnings, each warning as to whether or not fixing the issue important, and enter comments about the bug. We'll be to browse warnings by date of introduction, so we can if the issues introduced in the past month are more or serious than the issues that have been in the code base Eclipse 3.3, 3.2 or earlier. Vocal audience participation encouraged, and participants with laptops can follow and enter their own categorization and comments either the demonstration or afterwards. Audience members commit privileges to the Eclipse project will get FindBugs T-shirts. 'll also briefly demonstrate how to set up FindBugs as of a production development environment. FindBugs, static analysis, bugs, software defects, patterns, false positives, Java, software quality, Eclipse.
In Custom House's financial system, money, rate, currency and markup are among the key concepts to describe the domain. Without explicit modeling, those concepts appear in the code, but only in variable names of p...
详细信息
ISBN:
(纸本)9781595938657
In Custom House's financial system, money, rate, currency and markup are among the key concepts to describe the domain. Without explicit modeling, those concepts appear in the code, but only in variable names of primitive types and sometime in method names for operations whose arguments and return types are all primitives. In this paper we present the experience gained when Custom House development team applies Domain-Driven Design to explicitly model fundamental domain concepts and abstract them into value objects. Using code snippets, we show how those concepts are discovered, how we refactor the existing code base to apply the value objects, what difference the value objects make and how they evolve over time. We also report the pitfalls and stumbles during the process, which are not uncommon for projects that undergo ongoing development work. We show that, with all the incompleteness and imperfection, Domain-Driven Design is gradually accepted into real development process, making a continuous and crucial transformation.
In this paper, we describe the wiki markup language WikiCreole, how it was developed, and related work. Creole does not replace existing markup, but instead enables wiki users to transfer content seamlessly across wik...
详细信息
ISBN:
(纸本)9781595938619
In this paper, we describe the wiki markup language WikiCreole, how it was developed, and related work. Creole does not replace existing markup, but instead enables wiki users to transfer content seamlessly across wikis, and for novice users to contribute more easily. In proposing a subset of markup elements that is as non-controversial as possible, this markup has evolved from existing wiki markup, hence the name Creole: a stable language that originated from a non-trivial combination of two or more languages.
Mirror-based systems are object-oriented reflective architectures built around a set of design principles that lead to reflective APIs which foster a high degree of reusability, loose coupling with base-level objects ...
详细信息
Many Software Product Line case studies focus on the fact that an ROI can be achieved in 3-5 projects. This paper asks the question "what has to be done differently to be able to generate 10,000 custom applicatio...
详细信息
ISBN:
(纸本)9781595938657
Many Software Product Line case studies focus on the fact that an ROI can be achieved in 3-5 projects. This paper asks the question "what has to be done differently to be able to generate 10,000 custom applications a year?" As wholesalers of custom web applications for Small to Medium Sized Businesses, we have to create highly customizable web applications in minutes - not months. After 18 months of research and experimentation we have developed a layered system that focuses on the reuse of declarative executable specifications rather than the reuse of imperative code, allowing us to blend speed of development with flexibility of the generated solutions. The system uses a feature modeler to select common functionality and a decision support system to de-skill the customization process. It has a collection of domain specific languages for describing the vast majority of custom functionality required by our clients and an extensible framework allowing any system functionality to be overloaded/extended using custom code if necessary. In this paper we provide an introduction to the key theoretical concepts required to understand the system. We then introduce our domain specific languages for describing web applications. We then look at the process of building applications using systemsForge and then we highlight our conclusions to date and document some of the outstanding issues that we are still investigating relating to managing domain specific language evolution and interactions.
A dynamic language promotes ease of use through flexible typing, a focus on high-level programming, and by streamlining the edit-compile-debug cycle. Live languages go beyond dynamic languages with more ease of use fe...
详细信息
ISBN:
(纸本)9781595937865
A dynamic language promotes ease of use through flexible typing, a focus on high-level programming, and by streamlining the edit-compile-debug cycle. Live languages go beyond dynamic languages with more ease of use features. A live language supports live programming that provides programmers with responsive and continuous feedback about how their edits affect program execution. A live language is also based on high-level constructs such as declarative rules so that programmers can write less code. A live language could also provide programmers with responsive semantic feedback to enable time-saving services such as code completion. This paper describes the design of a textual live language that is based on reactive data-flow values known as signals and dynamic inheritance. Our language, Super-Glue, supports live programming with responsive semantic feedback, which we demonstrate with a working prototype.
Recursion is an important concept in computer science and one that possesses beauty and simplicity, yet many educators describe challenges in teaching the topic. Kim Bruce champions the early use of structural recursi...
详细信息
ISBN:
(纸本)9781595938657
Recursion is an important concept in computer science and one that possesses beauty and simplicity, yet many educators describe challenges in teaching the topic. Kim Bruce champions the early use of structural recursion in an objectoriented introductory programming course as a more intuitive concept than traditional (functional) recursion. He uses many graphical examples for motivation (e.g., nested boxes, a ringed bullseye, fractals), providing concreteness to the recursive concept. Internally,most of those examples are disguised forms of a basic recursive list pattern. Recursive lists are important in and of themselves and a mainstay within the functional programming paradigm. However, further challenges exist in providing a tangible presentation for pure lists when disassociated from a graphical structure. We describe an active-learning exercise in which students play the roles of distinct objects that together comprise the structure of a single, recursive list. This activity establishes intuition t at we later use when developing a complete implementation of a recursive list class. Our approach demonstrates a rich set of recursive patterns involving several distinct forms of a base case and varied use of parameters and return values.
Navigate code, find bugs, compute metrics, check style rules, and enforce coding conventions in Eclipse with Semmle-Code. SemmleCode is a new free Eclipse plugin that allows you to phrase these tasks as queries over t...
详细信息
ISBN:
(纸本)9781595938657
Navigate code, find bugs, compute metrics, check style rules, and enforce coding conventions in Eclipse with Semmle-Code. SemmleCode is a new free Eclipse plugin that allows you to phrase these tasks as queries over the *** - it thus takes the search facilities in Eclipse to a whole new level. A large library of queries for common operations is provided, including metrics and Java EE style rules. Query results can be displayed as a tree view, a table view, in the problem view, as charts or graphs, all with links to the source code.
暂无评论