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.
In this paper we discuss problems related to the teaching of object-oriented programming (OOP). We argue that more research on how the computer science teacher understands OOP would be beneficial. Our argument takes i...
详细信息
ISBN:
(纸本)9781920682699
In this paper we discuss problems related to the teaching of object-oriented programming (OOP). We argue that more research on how the computer science teacher understands OOP would be beneficial. Our argument takes its point of departure in three sets of studies: (1) an ongoing study on how computer science teachers understand core concepts of OOP, (2) a study of how the teaching of OOP is discussed within the CS community, and (3) a set of studies that discuss the different ways in which CS teachers experience their teaching. This paper reports on an ongoing study of the different ways in which computing science teachers understand object-oriented programming, and what they mean when use the term objects first. The phenomenographic research approach has been applied to the analysis of a discussion that occurred in the SIGCSE-members mailing list. Two understandings of objects first have been identified: (1) as an extension of imperative programming, and (2) as conceptually different from imperative programming. These two understandings are illustrated via the differing ways in which computing science teachers use the term polymorphism.
Development of quality object-oriented software contains security as an integral aspect of that process. During that process, a ceaseless burden on the developers was posed in order to maximize the development and at ...
详细信息
ISBN:
(数字)9781728167992
ISBN:
(纸本)9781728168005
Development of quality object-oriented software contains security as an integral aspect of that process. During that process, a ceaseless burden on the developers was posed in order to maximize the development and at the same time to reduce the expense and time invested in security. In this paper, the authors analyzed metrics for object-oriented software in order to evaluate and identify the relation between metric value and security of the software. Identification of these relations was achieved by study of software vulnerabilities with code level metrics. By using OWASP classification of vulnerabilities and experimental results, we proved that there was relation between metric values and possible security issues in software. For experimental code analysis, we have developed special software called SOFTMET.
With the development of informationtechnology, there have taken big changes inworm economy from 90s. It forms a constantglobal market which is full of much *** not only lays on individual capacity, butalso closely sui...
详细信息
ISBN:
(纸本)0780379411
With the development of informationtechnology, there have taken big changes inworm economy from 90s. It forms a constantglobal market which is full of much *** not only lays on individual capacity, butalso closely suit to the requirement of developingmarket. CSCWD (Computer SupportedCooperative Work in Design)provides asupporting environment in which participantswith difference background and knowledge canwork together to reduce the producing cycle, toincrease the product quality and to acceleratethe product proceeding. The cooperation is thekey to assure the success of product design andthe capacity of competition in market, It's achallenge for the method of traditional softwaredeveloping to develop cooperative designenvironment based on special area. This paperdescribes a method of component-based designof buildings, which is intended to facilitate thecooperation and assure the requirement ofbuildings design. Difference from the commonsoftware system, it fully think the property indeign of buildings and the supporting ofcooperation. It comprises communicationcomponent, the interface that organize thesoftware of buildings design, the database thatstores the component of buildings design, themechanism of data changing and the visualenvironment. It is satisfied with the requirementof cooperative design of buildings.
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.
Design of distributed multimedia systems (DMMS)poses a number of challenges and yet it has beenapproached with traditional software engineeringmethodologies. On the other hand, Semantic analysisand representation of d...
详细信息
ISBN:
(纸本)0780379411
Design of distributed multimedia systems (DMMS)poses a number of challenges and yet it has beenapproached with traditional software engineeringmethodologies. On the other hand, Semantic analysisand representation of dynamic behavior attract theattention of the software design community. Thispaper reported the attempt of applying a newapproach to the design of DMMS, with emphasis inthe sharing and managing of design knowledgecollaboratively. A semantic model of DMMS and itsknowledge were represented with a semanticdatabase. Various design scenarios were used todescribe the use of the model. How the knowledge inthe semantic database could be used forcollaborative design was also examined.
A model of object composition which facilitates the automation of the partitioning of an object-oriented application into groups of objects called clusters is presented. object clusters form the unit of distribution, ...
详细信息
A model of object composition which facilitates the automation of the partitioning of an object-oriented application into groups of objects called clusters is presented. object clusters form the unit of distribution, representing both locality and concurrency within an application. Clusters reflect the "single threadedness" or sequentiality of the objects within them. The larger granularity of object clusters permits them to be supported efficiently at run time. A method of cluster formation for class based objectorientedprogramming languages is introduced and preliminary results of a prototype implementation are described.< >
Syslog play an increasingly important role as a technological means of security audit in the monitoring equipment and resources. From the actual needs,the project design and realize audit logging . Compare the differe...
详细信息
Despite enduring criticisms spanning several decades, jump statements such as goto, break, continue, and return remain prevalent in imperative programming languages, including but not limited to C++, Java, and Python....
详细信息
ISBN:
(纸本)9798400708688
Despite enduring criticisms spanning several decades, jump statements such as goto, break, continue, and return remain prevalent in imperative programming languages, including but not limited to C++, Java, and Python. The academic community has yet to reach a consensus regarding whether the refactoring of source code in these languages to eliminate such statements can indeed enhance code readability. Nevertheless, it is evident that automated program analysis would derive substantial benefits from this refactoring, given that structured code analysis is more straightforward than analyzing code that exhibits capricious alterations in its control flow. While algorithms tailored for this refactoring process have been proposed for certain imperative languages, we introduce a congruent algorithm, specifically designed for a dataflow programming language. It’s important to note that although dataflow languages lack jump statements, they might incorporate jump-objects (in object-oriented contexts) or jump-functions (within functional paradigms). Our algorithm has been instantiated as a command-line tool tailored for refactoring EO, an object-oriented dataflow language. Preliminary tests with several EO programs have validated the tool’s efficacy. Leveraging φ -calculas, we provide a formal proof underscoring the validity of every transformation encompassed within our algorithm.
Over the past two decades, the emergence of highly effective software testing frameworks has greatly simplified the development and use of unit tests and has led to new software development paradigms such as test driv...
详细信息
Over the past two decades, the emergence of highly effective software testing frameworks has greatly simplified the development and use of unit tests and has led to new software development paradigms such as test driven development (TDD). However, scientific computing introduces a number of unique testing challenges, including numerical algorithms, distributed parallelism, and exascale environments. This presentation will begin with a brief introduction to unit testing, testing frameworks, and some simple examples using pFUnit, a unit testing framework for Fortran + MPI. I will then take a closer look at several of the obstacles one faces when testing technical software and suggest methodologies that can mitigate these difficulties.
暂无评论