The problem of resolving virtual method and interface calls in object-oriented languages has been a long standing challenge to the program analysis community. The complexities are due to various reasons, such as incre...
详细信息
In the context of the rise of massive online courses, it has become an important research goal to study the design methods of course content and course structure, to adapt to the personalized needs of many teaching ob...
详细信息
ISBN:
(数字)9781728172675
ISBN:
(纸本)9781728172682
In the context of the rise of massive online courses, it has become an important research goal to study the design methods of course content and course structure, to adapt to the personalized needs of many teaching objects of massive online learning. Based on the theory of "Learning Customized of MOOC (LC-MOOC)", and taking the course of "Database Technology and Program Design" as an example, this paper has proposed a "Knowledge Point Puzzle" course system structure. With the combination of "Learning Roadmap", "Mind Mapping" and other guiding frameworks, each puzzle corresponds to a module in the development of a database application system so that the learners are able to combine knowledge fragments to form a personalized course system. The teaching route of Knowledge Point Puzzles enables learners to grasp the hierarchical structure of knowledge points as a whole, clearly understand the internal relationship between the puzzles, gradually unlock the new puzzle module in the learning process, associate the next level of knowledge points, and construct the whole knowledge structure of the course in a progressive way. In addition, this paper also introduces the "self-evaluation" + "mutual evaluation" course evaluation system to guide learners' learning trends in the form of process evaluation.
Technical debt (TD) is an economical term used to depict non-optimal choices made in the software development process. It occurs usually when developers take shortcuts instead of following agreed upon development prac...
详细信息
ISBN:
(数字)9781450371223
ISBN:
(纸本)9781728165288
Technical debt (TD) is an economical term used to depict non-optimal choices made in the software development process. It occurs usually when developers take shortcuts instead of following agreed upon development practices, and unchecked growth of technical debt can start to incur negative effects for software development processes. Technical debt detection and management is mainly done manually, and this is both slow and costly way of detecting technical debt. Automatic detection would solve this issue, but even state-of-the-art tools of today do not accurately detect the appearance of technical debt. Therefore, increasing the accuracy of automatic classification is of high importance, so that we could eliminate significant portion from the costs relating to technical debt detection. This research aims to solve the problem in detection accuracy by bringing in together static code analysis and natural language processing. This combination of techniques will allow more accurate detection of technical debt, when compared to them being used separately from each other. Research also aims to discover themes and topics from written developer messages that can be linked to technical debt. These can help us to understand technical debt from developers' viewpoint. Finally, we will build an open-source tool/plugin that can be used to accurately detect technical debt using both static analysis and natural language processing methods.
Transient gradual typing imposes run-time type tests that typically cause a linear slowdown. This performance impact discourages the use of type annotations because adding types to a program makes the program slower. ...
详细信息
The ability of knowledge-based systems to generate and to analyse new representation structures dynamically during processing of new fuzzy knowledge and knowledge sources is important feature of modern intelligent sys...
详细信息
ISBN:
(数字)9781728174433
ISBN:
(纸本)9781728174440
The ability of knowledge-based systems to generate and to analyse new representation structures dynamically during processing of new fuzzy knowledge and knowledge sources is important feature of modern intelligent systems. It can be done via defining and implementing operations determined over fuzzy classes of objects. Therefore definition of homogeneous intersection of fuzzy homogeneous classes, which produces new fuzzy homogeneous classes of objects, and the algorithm for its implementation within fuzzy object-oriented dynamic networks were proposed in the paper.
In the past decades, object-orientedprogramming and design concepts have become the most prominent programming paradigm used by programmers and application developers in today's time. object oriented programming ...
详细信息
We present a type-based analysis ensuring memory safety and object protocol completion in the Java-like language Mungo. objects are annotated with usages, typestates-like specifications of the admissible sequences of ...
详细信息
This article is about computer based simulations applied to physical systems that consists both of fluids and rigid bodies. It explains how to build such simulations in a systematic manner applying objectoriented pro...
详细信息
In this innovative practice work-in-progress paper, the software engineering design principles that are used for programming Fundamentals, and object-orientedprogramming courses, within a -recently renewed curriculum...
详细信息
ISBN:
(数字)9781728189611
ISBN:
(纸本)9781728189628
In this innovative practice work-in-progress paper, the software engineering design principles that are used for programming Fundamentals, and object-orientedprogramming courses, within a -recently renewed curriculum- software engineering program, are reviewed and discussed as tools to introduce first-year students into the engineering design skills learning pathway of the Engineering Accreditation Commission of the Accreditation Board for Engineering and Technology, ABET. Special attention is paid to highly abstract concepts such as high cohesion, low coupling, Keep it Short and Simple, Don't Repeat Yourself, Single Responsibility Principle, among other object-oriented design principles. The aim of such exercise is two-fold: (i) to address how design principles can be used to guide students' learning process, and (ii) to support pedagogical decision making for the software engineering program. The outtake of the whole research planned by the authors is as follows. On the one hand, design principles are discussed and analyzed, from the first-year programming courses perspective, aiming a pedagogical path planning for student outcomes attainment within a Project-Based-Learning approach. On the other hand, the discussion on how the program takes advantage of assessment and evaluation processes, can be useful for programs and faculty concerned with fulfilling the continuous improvement criterion, as defined by ABET. The presented work-in-progress focuses on reflection about design principles and establishing a link among them, with the engineering design process. In this way, this paper separates from similar works that may focus on design principles by itself, without the mentioned intentionality. Reported qualitative results are focused on conducted experiences so far within our software engineering program.
The paper considers the topical issue of formal description of data structures. Data structures are widely used in modern object-orientedprogramming to solve various practical problems. The paper introduces functions...
详细信息
ISBN:
(数字)9781728199696
ISBN:
(纸本)9781728199702
The paper considers the topical issue of formal description of data structures. Data structures are widely used in modern object-orientedprogramming to solve various practical problems. The paper introduces functions for performing operations with such data structures as stack, queue, and priority queue. The conditions that these functions must satisfy are introduced as axioms. To describe the axioms, an approach based on an abstract data type, algebraic and programmatic approaches were used.
暂无评论