Teaching and learning programming, and especially object-oriented programming (OOP), is a complicated and challenging task. Students have to comprehend various OOP concepts and utilize them for designing object-orient...
详细信息
Teaching and learning programming, and especially object-oriented programming (OOP), is a complicated and challenging task. Students have to comprehend various OOP concepts and utilize them for designing object-oriented programs. Various types of educational programming environments, such as microworlds and educational games, have been devised for supporting novices mainly in comprehending OOP concepts. However, such environments do not usually support students in the conceptual design of object-oriented programs of a considerable length and complexity. In this paper, we focus on a systematic mapping study (SMS) of educational programming environments for enhancing the conceptual design in OOP, which relies on modularity, abstraction and encapsulation. The research questions investigate the intended learning outcomes, the empirical evidence on the effectiveness, and the teaching/learning technologies used by educational programming environments for enhancing the conceptual design in OOP. The findings can support instructors in selecting appropriate tools for their courses and researchers in the field of educational programming environments for OOP.
Testing in the software development process is one of the crucial disciplines. The immutability of deployed smart contracts makes tests particularly important in their design and implementation. The objective is to mi...
详细信息
Testing in the software development process is one of the crucial disciplines. The immutability of deployed smart contracts makes tests particularly important in their design and implementation. The objective is to minimize the costs of smart contract testing by reducing the number of test cases. The article presents the test suite reduction method for smart contracts, which exploits the knowledge of their design manner. In particular, the design of a mechanism for evaluating the list of verification rules controlling the execution of transactions was used. The proposed method defines a minimum set of test cases for smart contracts designed according to a specific design pattern. The test case reduction level was shown using analytical formulas enclosed in the paper. Compared to full coverage, the method reduces over 96% of test cases for a smart contract with at least eight verification rules. The performance tests were conducted and the analysis of the results was enclosed as well. Both the smart contract evaluation time and the test suite execution time are less than 0.01 of a millisecond. Besides, the method reduces the number of test data for smart contracts by over 79%. Therefore, the method can be especially useful in continuous software integration and delivery.
Actin is the most abundant protein in eukaryotic cells. They form filamentous polymers that are organized in different ways within the cell to perform various functions. For instance, prominent parallel bundles of F-a...
详细信息
Actin is the most abundant protein in eukaryotic cells. They form filamentous polymers that are organized in different ways within the cell to perform various functions. For instance, prominent parallel bundles of F-actins mediate the formation and dynamics of filopodia that are long, finger-like protrusions of cell membrane occurring in certain cells, like growing neurons. Understanding actin organization dynamics and its regulation is a crucial problem for biologists that cannot be solved exclusively by biological methods, requiring the support of mathematical and computational modelling. In this work, grounded on a previous hypothesis of ours about the cytosol flow within filopodia, we address several modelling challenges posed by the growth of filopodia in neurons. We use alternative stochastic models and particle-centered numerical methods for transport and elongations, as well as an innovative object-oriented modelling-strategy to represent chemical transformations, polymerization, and their regulation. These modelling strategies allowed for simulating elongations 20 times longer than the typical ranges attained by commonly used filopodia diffusion models, and show that our hypothesis is feasible, acting as a proof-of-concept about the importance of considering organization as a key element in biological explanations.
Reactive applications are difficult to implement. Traditional solutions based on event systems and the Observer pattern have a number of inconveniences, but programmers bear them in return for the benefits of OO desig...
详细信息
ISBN:
(纸本)9783642550997;9783642550980
Reactive applications are difficult to implement. Traditional solutions based on event systems and the Observer pattern have a number of inconveniences, but programmers bear them in return for the benefits of OO design. On the other hand, reactive approaches based on automatic updates of dependencies - like functional reactive programming and dataflow languages - provide undoubted advantages but do not fit well with mutable objects. In this paper, we provide a research roadmap to overcome the limitations of the current approaches and to support reactive applications in the OO setting. To establish a solid background for our investigation, we propose a conceptual framework to model the design space of reactive applications and we study the flaws of the existing solutions. Then we highlight how reactive languages have the potential to address those issues and we formulate our research plan.
The skill of programming necessitates knowing programming tools, problem solving and effective techniques of program design and implementation. Most students are incapable of fully understanding and utilising the feat...
详细信息
The skill of programming necessitates knowing programming tools, problem solving and effective techniques of program design and implementation. Most students are incapable of fully understanding and utilising the feature set of Integrated Development Environments (IDEs). The feature set of certain IDEs comes with a lot of functionalities and students have to spend a lot of their time studying the features of the IDE without paying much attention to the syntax and semantics of the programming language. The main objective of this study was to examine the perceptions of students on interactive environments for teaching object-oriented concepts using the Java programming language in two integrated development environments. This was done by adopting the ISO 9126 model to select generic external system quality characteristics and sub-characteristics that might influence student evaluation of an IDE. The proposed model was applied on NetBeans and JCreator LE 5.0 as IDEs for teaching Java programming using OOP concepts. The study adopted a mixed method research approach using interviews and questionnaires. A single-case study was used for data collection and analysis. The approaches collected data from two groups of students using either NetBeans or JCreator and who were learning OOP concepts. The study further looked at the students' class tests and exam results in an effort to have an objective overview of how students performed. These groups of students were at two different campuses of the selected University. Each group had already been exposed to the Java syntax. The result from this study was general guidelines to establish an interactive OOP development environment for teaching and learning of Java programming that enhances OOP comprehension. This research study involved human subjects. It was, therefore, a requirement to seek ethics approval. Additionally, the objects involved were students of a selected University and as such a consent letter was sought from the U
There are times when closed-form analysis of solids and structures is needed. When only a structural member is considered, it is certainly possible to perform this type of analysis by hand. However, when a structure w...
详细信息
There are times when closed-form analysis of solids and structures is needed. When only a structural member is considered, it is certainly possible to perform this type of analysis by hand. However, when a structure with several members is to be considered, manual calculation becomes practically impossible even when closed-form solutions are theoretically obtainable. A finite element (FE) program that can symbolically analyze elasticity problems of solids and structures can therefore be quite useful. Unfortunately, symbolic computations are usually difficult to perform when problems are complex. In these cases, numerical computations are still necessary. This study presents an object-oriented FE program that can perform both symbolic and numerical computations. The program is implemented in MATLAB. The object-oriented programming (OOP) technique is used to enhance the maintainability, extendibility, and reusability of the program. The proposed program is capable of performing symbolic and numerical finite element analysis depending on the input it receives. The obtained program is tested using some engineering problems in order to demonstrate its usefulness. The results obtained from the program are found to be satisfactory.
Background: Live coding, or the process of instructors writing code in real time in front of students, is an alternative teaching method to showing students static code examples. Variations of live coding tightly coup...
详细信息
ISBN:
(纸本)9798400705328
Background: Live coding, or the process of instructors writing code in real time in front of students, is an alternative teaching method to showing students static code examples. Variations of live coding tightly coupled with more active learning approaches are common, which can make it difficult to understand the contribution of live coding alone. Purpose: In this study, we aim to disentangle the benefits of live coding from live coding with explicit active learning approaches. We compare live coding with no added active learning components to presenting students with static code examples. Methods: We present a programming topic to over 100 students using either live coding or static code examples. To more closely parallel showing static code examples, our live coding process involves simply writing and discussing code. We compare student performance and engagement between the two session modes. Findings: Our results show no significant difference between the two presentation modes in terms of learning outcomes. This suggests that live coding in its most basic form may not be sufficiently different from showing static code examples to impact student performance. We also found that live coding students were much more likely to type code, but no more likely to display other engagement behaviors. However, of the engagement activities, only different levels of code typing corresponded with different learning outcomes. Contributions: This research highlights the need for more explicit differentiation and comparisons of live coding with and without active learning strategies.
This paper describes the object-oriented design of a novel application, for control of complex theatrical-set effects defined by an appropriate language. Besides giving a general description of the proposed system, th...
详细信息
This paper describes the object-oriented design of a novel application, for control of complex theatrical-set effects defined by an appropriate language. Besides giving a general description of the proposed system, the paper presents the language and its programming environment, which is intended for inexperienced users and integrates facilities to create, edit, check and run the effect scripts. The description of the implementation demonstrates the relevance of an object-oriented approach when it is associated with compiler techniques. The object paradigm is used to build support classes such as character streams, run-time values or symbols as well as syntactic objects. Each syntactic-object class models a different LL(1) grammar non-terminal and allows for an object-oriented predictive parsing. Moreover, organizing the instances of these classes as an object-based parse tree simplifies parsing, unparsing, syntax-directed editing, syntax-directed help, interpretation, etc. The description of these various operations shows the flexibility of our method, e.g. with respect to an iterative prototyping of the language and its environment.
object-oriented programming (OOP) abstract concepts are often difficult to understand for students, since it is not easy to find the equivalence of such concepts in daily life. In this paper we will study if an interd...
详细信息
object-oriented programming (OOP) abstract concepts are often difficult to understand for students, since it is not easy to find the equivalence of such concepts in daily life. In this paper we will study if an interdisciplinary approach based on an introduction to robotics and robot programming helps the student in acquiring the OOP concepts. For our experiments, we selected a sample of thirty individuals among students with an adequate knowledge of procedural programming. This sample was divided into two groups of fifteen students each: for the first one we used a standard introductory approach to C#, whereas for the second one we developed an experimental course that included a demonstration program that illustrated OOP basic concepts using the features of a specific type of commercial ball-shaped robot with sensing, wireless communication and output capabilities. After the courses, both groups were evaluated by completing a multiple-choice exam and a C# programming exercise. Our results show that the student group that attended the course including the robot demo showed a higher interest level (i.e. they felt more motivated) than those students that attended the standard introductory C# course. Furthermore, the students from the experimental group also achieved an overall better mark.
The Generalized Finite Element Method (GFEM) is a numerical method based on the Finite Element Method (FEM), presenting as its main feature the possibility of improving the solution by means of local enrichment functi...
详细信息
The Generalized Finite Element Method (GFEM) is a numerical method based on the Finite Element Method (FEM), presenting as its main feature the possibility of improving the solution by means of local enrichment functions. In spite of its advantages, the method demands a complex data structure, which can be especially benefited by the object-oriented programming (OOP). Even though the OOP for the traditional FEM has been extensively described in the technical literature, specific design issues related to the GFEM are yet little discussed and not clearly defined. In the present article it is described an object-oriented (OO) class design for the GFEM, aiming to achieve a computational code that presents a flexible class structure, circumventing the difficulties associated to the method characteristics. The proposed design is evaluated by means of some numerical examples, computed using a code implemented in Python programming language.
暂无评论