Novice programming is a challenging subject to teach and learn. However, programming is an essential skill that is required by many majors apart from Computer Science. The challenges in a novice programming subject ch...
详细信息
ISBN:
(数字)9781728126654
ISBN:
(纸本)9781728126661
Novice programming is a challenging subject to teach and learn. However, programming is an essential skill that is required by many majors apart from Computer Science. The challenges in a novice programming subject change according to the programming language used. At the beginning of the 90s, the object-orientedprogramming was introduced. Detienne claimed that it is easier for programmers to program using the object-first approach as humans think naturally in objects. The IEEE and ACM joint task force on Computing Curriculum proposed two tracks of curriculum, one for imperative-first and the other for object-first implementation. However, most of the work conducted on novice programming focused on the issues of syntax errors, reducing the possibilities of syntax error through a new or adapted programming environment. This paper will present the preliminary work to investigate if students will naturally think in objects or a series of steps. Three intervention methods were implemented in three different workshops. The intervention methods are the object-first, the imperative-first and the problem-solving-first. The students are then requested to design an application. Through the design, the research will identify if the students use the object-first or the imperative-first design. Assuming that the object-first intervention group will design primarily in objects, and the imperative-first intervention group in a series of steps, the problem-solving intervention will be the “neutral” group. The object-first design is reflected through the attributes and methods of a particular object. The imperative-first design is identified if the solution contains a series of steps. The findings show that most of the students designed the application using a series of steps reflecting the imperative-first design. This finding should be included when considering if imperative-first or object-first should be the way forward for a novice programming subject.
A wide range of engineering applications uses optimisation techniques as part of their solution process. The researcher uses specialized software that implements well-known optimisation techniques to solve his problem...
详细信息
Radionuclide dispersion analysis is part of an important reactor safety analysis. From the analysis it can be obtained the amount of doses received by radiation workers and communities around nuclear reactor. The radi...
详细信息
Radionuclide dispersion analysis is part of an important reactor safety analysis. From the analysis it can be obtained the amount of doses received by radiation workers and communities around nuclear reactor. The radionuclide dispersion analysis under normal operating conditions is carried out using the PC-CREAM code, and it requires input data such as source term and population distribution. Input data is derived from the output of another program that is PWR-GALE and written Population Distribution data in certain format. Compiling inputs for PC-CREAM programs manually requires high accuracy, as it involves large amounts of data in certain formats and often errors in compiling inputs manually To minimize errors in input generation, than it is make coupling program for PWR-GALE and PC-CREAM programs and a program for writing population distribution according to the PC CREAM input format. This work was conducted to create the coupling programming between PWR-GALE output and PC-CREAM input and programming to written population data in the required formats programming is done by using Python programming language which has advantages of multiplatform, object-oriented and interactive. The result of this work is software for coupling data of source term and written population distribution data. So that input to PC-CREAM program can be done easily and avoid formatting errors. programming sourceterm coupling program PWR-GALE and PC-CREAM is completed, so that the creation of PC-CREAM inputs in souceterm and distribution data can be done easily and according to the desired format.
This paper examines conceptual models and their application to computational thinking. Computational thinking is a fundamental skill for everybody, not just for computer scientists. It has been promoted as skills that...
详细信息
FoCaLiZe is an object-orientedprogramming environment that combines specifications, programs and proofs in the same language. This paper describes how its features can be used to formally express specifications and t...
详细信息
Understanding of the object concept in object oriented programming (OOP) is obviously the center of the paradigm. Many educators and researchers explored students' difficulties and developed teaching materials tar...
详细信息
ISBN:
(纸本)9783030027506;9783030027490
Understanding of the object concept in object oriented programming (OOP) is obviously the center of the paradigm. Many educators and researchers explored students' difficulties and developed teaching materials targeted at this central concept. The paper presents a diagnostic tool we developed that aims to reveal students' perception and understanding about the current object, referring to it by the this annotation. Proper conceptualization of this indicates an understanding of objects in general, and involves aspects of memory allocation and programming approaches. The tool contains five questions, each devoted to covering different aspects in various frameworks, such as: using this in constructors, using this as a visible parameter, using this in inheritance, or making necessary changes in transition from a non-static context that uses this to a static context. The questionnaire combines closed questions with a request to explain the answers and open questions. In the paper we present the purpose of each question, and address what it comes to examine. The diagnostic tool is based on known educational approaches: Bloom's taxonomy, assessment for, as, and of learning and learning from errors. The tool can be used by educators at high school or academic levels as a teaching tool, as a base for discussions, or as an evaluation tool. A short report on the use of the tool with different populations, including high school teachers, is presented. The paper uses Java as the programming language, but it easily can be translated to other OOP languages.
Not only is understanding object-orientedprogramming fundamental for software engineering and computer science students, but it is also important for non-major programming courses. Combined with the burden of navigat...
详细信息
ISBN:
(纸本)9781538678978
Not only is understanding object-orientedprogramming fundamental for software engineering and computer science students, but it is also important for non-major programming courses. Combined with the burden of navigating a new programming language, students can struggle to understand the abstract concepts that underpin the paradigm. Existing learning solutions typically concentrate on a particular programming language. This paper proposes The Realization Framework for teaching abstract programming concepts without code. It employs analogies and visualization to translate the abstract concepts into forms students can understand. Theories on education and student interaction are incorporated to guide the learning process. INTERACTIVEOOP, a practical implementation of this framework, was evaluated by novice programmers in a non-major CS2 programming course. Students responded positively to the tool, noting that the interactive, visual presentation of abstract concepts helped them deepen their understanding.
Cyber Physical Systems (CPSs) are a category of systems of systems (SoS) that integrate physical and computational elements. Such systems have existed for some time, but rigorous design methodologies for CPSs are scar...
详细信息
Cyber Physical Systems (CPSs) are a category of systems of systems (SoS) that integrate physical and computational elements. Such systems have existed for some time, but rigorous design methodologies for CPSs are scarce. The typical design process of a CPS makes use of a large number of models to help answer the wide range of design questions that arise in development. In other words, the design process produces models that describe the various crucial aspects, scopes and system components on different level of detail and abstraction. These partial models can potentially be coupled for effective information propagation across the different modeling perspectives to increase design reliability. However, they are usually expressed in different specialized tools and programming languages as a consequence of the system heterogeneity and the preference of the numerous designers involved. This paper therefore proposes generating abstractions of detailed sub-models, and then embedding those abstractions into system-wide models formulated in other formalisms.
In Component-Based Software Engineering, the problem of selecting software components involve several risk factors. Traditionally, these have been identified and mitigated using software project management techniques....
详细信息
ISBN:
(纸本)9781728131863
In Component-Based Software Engineering, the problem of selecting software components involve several risk factors. Traditionally, these have been identified and mitigated using software project management techniques. However, the new demand for intelligent components has added complexity to the process. Despite the success and technological advances, its development in an environment ready for production faces many challenges. There are numbers of technical issues that limit their adoption and selection, due to the introduction of new risk factors, different from traditional ones. Thus, our goal is to formulate a technique to minimize the risk in the intelligent component selection process. To achieve this goal, first, we review the literature to Figure out how software project management takes care of the risk and to identify and classify the risks factor associated with intelligent software components. Second, we formulate the component selection problem as a search based optimization problem. And Third, we illustrate our proposal by presenting an example in the context of an air pollution forecasting component. As a result, we were able to: (1) identify a lack of useful tools to manage the risk factor effectively in a software project; (2) we classify intelligent component associated risk; and (3) we introduce a risk management technique that supports the component selection process by maximizing requirement accomplishment, that is, minimizing the risk of the provision of the functionalities that satisfy the requirements. Overall, our work is an initial step in using search-based optimization in risk management to the component selection process.
SIMD (Single Instruction, Multiple Data) instruction sets are ubiquitous on modern hardware, but rarely used in software projects. A major reason for this is that efficient SIMD code requires data to be laid out in me...
详细信息
ISBN:
(纸本)9781450358040
SIMD (Single Instruction, Multiple Data) instruction sets are ubiquitous on modern hardware, but rarely used in software projects. A major reason for this is that efficient SIMD code requires data to be laid out in memory in an unconventional manner, forcing developers to explicitly refactor their code and data structures in order to make use of SIMD. In previous work, we proposed SHAPES, an abstract layout specification for enabling memory optimisations for managed, object-oriented languages. In this paper, we explain how, by extending SHAPES with well-known constructs from the literature, which are not specific to SIMD, we can extend SHAPES to compile programs to use SIMD instructions. The resulting language (sketch) seems able to exploit SIMD capabilities without sacrificing ease of development.
暂无评论