In March 2004, SIGCSE members contributed to a mailing list discussion on the question of whether programming should be taught objects first or imperative first. We analyse that discussion, exploring how the CS commun...
详细信息
ISBN:
(纸本)9781595936035
In March 2004, SIGCSE members contributed to a mailing list discussion on the question of whether programming should be taught objects first or imperative first. We analyse that discussion, exploring how the CS community debates the issue and whether contributors' positions are supported by the research literature on novice programmers. We applied four distinct research methods to the discussion: cognitive science, rhetorical analysis in the critical tradition, phenomenography and biography. We identify the cognitive claims made in the email discussion and find there is not a consensus in the research literature as to whether the objects first approach or the imperative approach is harder to learn. From the rhetorical analysis, we find that the discussion was not so much a debate between OO-first versus imperative-first, but instead was more for and against OO-first. Our phenomenographic analysis identified and categorized the underlying complexity of the discussion. We also applied a biographical method to explore the extent to which the participants' views are shaped by their own prior experience. The paper concludes with some reflections upon paradigms, and the manner in which the CS discipline community defines itself.
The special requirements for the modeling of PDMsystem-extendible organization, modularized structureand cooperation between the front stage and the backstage are introduced. The objects PDM system refersto-products, ...
详细信息
ISBN:
(纸本)0780379411
The special requirements for the modeling of PDMsystem-extendible organization, modularized structureand cooperation between the front stage and the backstage are introduced. The objects PDM system refersto-products, projects, documents, personnel andworkflow, etc-and their attributes and functions areanalyzed. Based on object-oriented technique, theattributes, data, processes and functions of these objectsare packed in the corresponding classes. Composed ofthese classes, the model of PDM system is set up. Withthe techniques of encapsulation and inheritance ofclasses, the requirements of modularization andextendibility are met; with the user interface and thecontrol of the workflow class, the cooperation betweenthe front stage and the back stage is also met.
OSGi provides a dynamic and versatile platform forthe embedded software evolution. Using this platform,products can be easily upgraded, flexibly reconfiguredand managed for its after-sale services. In OSGi,application...
详细信息
ISBN:
(纸本)0780379411
OSGi provides a dynamic and versatile platform forthe embedded software evolution. Using this platform,products can be easily upgraded, flexibly reconfiguredand managed for its after-sale services. In OSGi,applications are made up of bundles. The variousfunctions of a product are implemented throughinteractions and co-operations between the bundles. As aresult, how to efficiently and effectively manage thesebundles becomes prominent for the after-sale productsevolution. This article presents a component-basedapproach, where the services and its implementations aredivided into different bundles and are managed by aLeaderBundle for reconfiguration and update.
This study investigated the difficulties encountered by novice Alice programmers. The researchers conducted one-on-one clinical interviews with 22 10th-grade students at a senior high school in Taipei, Taiwan. The par...
详细信息
ISBN:
(纸本)9781450326056
This study investigated the difficulties encountered by novice Alice programmers. The researchers conducted one-on-one clinical interviews with 22 10th-grade students at a senior high school in Taipei, Taiwan. The participants were offered nine Alice programming tasks, each requiring the use of a different set of programming constructs, which included objects, primitive methods, expressions, built-in functions, variables, conditional execution, repetition control, arrays, user-defined methods, and parameter passing. Each participant was observed closely as s/he worked through the given tasks. Whenever an impasse occurred while a student was trying to solve a problem, the observer would intervene by asking a sequence of questions with increasing specificity, ranging from strategic prompts to hints to provides, in order to determine the cause of the impasse. This study summarized the common difficulties for each of the Alice programming constructs used by the participants in the programming tasks, and students' difficulties were categorized into four types: connection, location, usage, and math-and-other difficulties. Students having connection difficulties were unable to apply appropriate programming constructs to implement the actions required; location difficulties indicated students? inability to locating, in the Alice interface, the programming constructs they needed; usage difficulties referred in general to semantic errors in a student's programs; whereas math-and-other difficulties were caused mainly by students' inadequate math knowledge. It is hoped that the findings of this research will help Alice instructors to improve their students' performance by familiarizing themselves with the existence of the identified difficulties, and by addressing the missing conceptions or misconceptions underlying those difficulties.
Level - Beginner, but attendees should have some experience with a high-level programming *** tutorial is designed for those who have some familiarity with a programming language, but who are new to Ada. In the mornin...
详细信息
ISBN:
(纸本)9781605582740
Level - Beginner, but attendees should have some experience with a high-level programming *** tutorial is designed for those who have some familiarity with a programming language, but who are new to Ada. In the morning, we will discuss the basics of programming in Ada, including types, packages, syntax rules, and other Ada programming constructs. In the afternoon, we will cover Ada's object-oriented programming and concurrent-programming features. Many examples will be shown; freely downloadable Ada programming environments and tools will be demonstrated.
In teaching university entry-level calculus, it proved useful to distinguish early from late transcendentals depending on the time at which transcendentals such as the exponential and logarithmic functions are introdu...
详细信息
ISBN:
(纸本)9781450394338
In teaching university entry-level calculus, it proved useful to distinguish early from late transcendentals depending on the time at which transcendentals such as the exponential and logarithmic functions are introduced. I suggest we pose analogous "early X or late X" questions for first-year computer science courses. I propose a tentative list of concepts for which the "early or late" question might be worthy a discussion and argue that the approach allows us to pay attention to pedagogical choices rather than the choice of the programming language for CS1 and *** first calculus textbook by late Torontonian and mathematics educator James Drewry Stewart follows the traditional approach of late transcendentals where the transcendental logarithm function is introduced as an integral of ƒ (χ) = 1/χ and the transcendental exponential function as its inverse. Stewart and others realized that this approach deprives the concepts preceding integrals of these two transcendentals as interesting example functions. Stewart's early-transcendentals alternative introduces them-along with transcendental trigonometric functions-informally in the first chapter and uses these transcendentals throughout the *** we have analogous pedagogic choices in CS1 and CS2? An exhaustive approach would list all essential concepts in the first year in CS and analyse their prerequisite dependencies. To initiate a more focused discussion, I propose instead to limit the discourse to a handful of concepts, and explore their "early or late" question.
Examines object-oriented programming as an implementation technique for database systems. The object-oriented approach encapsulates the representations of database entities and relationships with the procedures that m...
详细信息
Examines object-oriented programming as an implementation technique for database systems. The object-oriented approach encapsulates the representations of database entities and relationships with the procedures that manipulate them. To achieve this, the authors first define abstractions of the modeling constructs of the data model that describe their common properties and behavior. Then the authors represent the entity types and relationship types in the conceptual schema and the internal schema by objects that are instances of these abstractions. The generic procedures (data manipulation routines) that comprise the user interface can now be implemented as calls to the procedures associated with these objects. A generic procedure model of database implementation techniques is presented and discussed. several current database system implementation techniques are illustrated as examples of this model, followed by a critical analysis of the implementation technique based on the use of objects. The authors demonstrate that the object-oriented approach has advantages of data independence, run-time efficiency due to eliminating access to system descriptors, and support for low-level views
Many systems are constructed without the use of modeling and visualization artifacts, due to constraints imposed by deadlines or a shortage of manpower. Nevertheless, such systems might profit from the visualization p...
详细信息
ISBN:
(纸本)9780909925888
Many systems are constructed without the use of modeling and visualization artifacts, due to constraints imposed by deadlines or a shortage of manpower. Nevertheless, such systems might profit from the visualization provided by diagrams to facilitate maintenance of the constructed system. In this paper, we present a tool, Reveal, to reverse engineer a class diagram from the C + + source code representation of the software. In Reveal, we remain faithful to the UML standard definition of a class diagram wherever possible. However, to accommodate the vagaries of the C + + language, we offer some extensions to the standard notation to include representations for namespaces, stand-alone functions and friend functions. We compare our representation to three other tools that reverse-engineer class diagrams, for both compliance to the UML standard and for their ability to faithfully represent the software system under study.
Engaging in exploring multi-agent collaboration requires determining how to govern the shared activities. We examine the performance implications of selecting alternate modes of governance in multi-agent alliance rela...
详细信息
ISBN:
(纸本)9781510817371
Engaging in exploring multi-agent collaboration requires determining how to govern the shared activities. We examine the performance implications of selecting alternate modes of governance in multi-agent alliance relationships. A core set of results in this study relates to the ways in which governance structure interacts with agents' search capabilities. Alliance performance improves when the needs and supplies of coordination and exploration are matched. We find situations in which there is an inverted U relationship between governance mode and performance. At the end we discuss the contribution and the possibility of extension in the future.
The well-known difficulties students exhibit when learning to program are often characterised as either difficulties in understanding the problem to be solved or difficulties in devising and coding a computational sol...
详细信息
ISBN:
(纸本)9781921770210
The well-known difficulties students exhibit when learning to program are often characterised as either difficulties in understanding the problem to be solved or difficulties in devising and coding a computational solution. It would therefore be helpful to understand which of these gives students the greatest trouble. Unit testing is a mainstay of large-scale software development and maintenance. A unit test suite serves not only for acceptance testing, but is also a form of requirements specification, as exemplified by agile programming methodologies in which the tests are developed before the corresponding program code. In order to better understand students' conceptual difficulties with programming, we conducted a series of experiments in which students were required to write both unit tests and program code for non-trivial problems. Their code and tests were then assessed separately for correctness and 'coverage', respectively. The results allowed us to directly compare students' abilities to characterise a computational problem, as a unit test suite, and develop a corresponding solution, as executable code. Since understanding a problem is a pre-requisite to solving it, we expected students' unit testing skills to be a strong predictor of their ability to successfully implement the corresponding program. Instead, however, we found that students' testing abilities lag well behind their coding skills.
暂无评论