object-oriented programming (OOP) is one of the most common programming paradigms used for building software systems. However, despite its industrial and academic value, OOP is criticized for its high complexity, low ...
详细信息
ISBN:
(纸本)9789811627651;9789811627644
object-oriented programming (OOP) is one of the most common programming paradigms used for building software systems. However, despite its industrial and academic value, OOP is criticized for its high complexity, low maintainability and lack of rigorous principles. Eolang (a.k.a. EO) was created to solve the above problems by restricting its features and suggesting a formal object calculus for this programming language. This paper seeks to analyze the Eolang language and compare it to other OOP languages in order to develop the core features of this new language.
This paper presents a comprehensive semiconductor optical device (SOD) simulation tool produced by object-oriented programming (OOP). First, the SOD is assumed to be composed of the elementary cell which is abstracted...
详细信息
ISBN:
(纸本)9780769536347
This paper presents a comprehensive semiconductor optical device (SOD) simulation tool produced by object-oriented programming (OOP). First, the SOD is assumed to be composed of the elementary cell which is abstracted from semiconductor optical amplifiers. Meanwhile, some auxiliary classes and inheritance hierarchies are defined. Besides, the numerical and transaction algorithms with high performance are developed. Thus, the OOP model with high efficiency has been established to analyze the static and dynamic device behaviors. The practice shows that the simulator which can be easily maintained is flexible and extensible.
Using C++ or Java as the describing language is the traditional way of teaching of object-oriented programming(OOP). Currently with the rapid development of AI and Python programming language, teaching OOP using Pyt...
详细信息
Using C++ or Java as the describing language is the traditional way of teaching of object-oriented programming(OOP). Currently with the rapid development of AI and Python programming language, teaching OOP using Python become more and more important and suitable. In this paper, firstly the disadvantages of C++ and Java languages as well as the advantages of Python for OOP teaching are discussed. Then the main content of OOP teaching using Python is put forward, which consists of two parts: the basic part and application part. The basic part should include the basic grammar of Python and basic knowledge and skills of OOP. For the application part, we suggest using an AI library Sklearn to practice some practical AI application. A specific instance of K-means clustering case teaching using Sklearn is also discussed in this paper.
Novice students still have problems with the abstraction of object-oriented programming. This research shows that the debugger could be used to clarify abstraction of the object-oriented programming with the C++ progr...
详细信息
Novice students still have problems with the abstraction of object-oriented programming. This research shows that the debugger could be used to clarify abstraction of the object-oriented programming with the C++ program language. Our investigation spans two consecutive courses on object-oriented programming. For the introduction course on the object-oriented programming, we modified both lectures and lab sessions so that with the help of the debugger objects could be visualised, and we could walk through the program step by step. In the second course, the lectures were extended by forty-five minutes, allowing the students to do assignments during the lectures with the help of the debugger. The results of the written examination and the completed questionnaire showed that working with the debugger in both the lectures and the practical exercises had a positive influence, especially for the introductory course on object-oriented programming. Although the Corona pandemic influenced part two, the results of the written exam did improve, but it is unclear which influence the use of the debugger had during this course. Visualising objects and walking through methods step by step could help in understanding the fundamentals of object-oriented programming language C++.
Learning programming requires various skills and knowledge that novice programmers are expected to obtain in a limited time frame during introductory programming courses. Students are often introduced to programming f...
详细信息
Learning programming requires various skills and knowledge that novice programmers are expected to obtain in a limited time frame during introductory programming courses. Students are often introduced to programming for the first time at the university and overwhelmed with different programming languages and paradigms. Teachers are changing strategies and educational researchers are analyzing the data to suggest different paths. However, long-term studies in learning and teaching programming are not that common. In this research we present the analysis of using specially designed open source framework for teaching object-oriented programming during five years.
Educational technology offers several potential benefits for programming education. Still, to facilitate the technology properly, integration into a course must be carefully designed. In this article, we present a red...
详细信息
Educational technology offers several potential benefits for programming education. Still, to facilitate the technology properly, integration into a course must be carefully designed. In this article, we present a redesign of an object-oriented university-level programming course. In the redesign, a collaborative education tool was utilized to enhance active learning, facilitate communication between students and teachers, and remodel the evaluation procedure by utilizing automatically assessed tasks. The redesign was based on the best practices found in our own earlier research and that of the research community, with a focus on facilitating active learning methods and student collaboration. The redesign was evaluated by comparing two instances of the redesigned course against two instances using the old methodology. The drop-out rate decreased statistically significantly in the redesigned course instances. Moreover, there was a trend toward higher grade averages in the redesigned instances. Based on the results, we can conclude that the utilization of educational technology has a highly positive effect on student performance. Still, making major changes to course methodology does not come without certain difficulties. Hence, we also present our experiences and suggestions for the course redesign to help other educators and researchers perform similar design changes.
State-of-the-art thermodynamic simulation of energy conversion processes requires proprietary software. This article is an attempt to refute this statement. Based on object-oriented programming a simulation and exergy...
详细信息
State-of-the-art thermodynamic simulation of energy conversion processes requires proprietary software. This article is an attempt to refute this statement. Based on object-oriented programming a simulation and exergy analysis of a combined cycle gas turbine is carried out in a free and open-source framework. Relevant basics of a thermodynamic analysis with exergy-based methods and necessary fluid property models are explained. Thermodynamic models describe the component groups of a combined heat and power system. The procedure to transform a physical model into a Python-based simulation program is shown. The article contains a solving algorithm for a precise gas turbine model with sophisticated equations of state. As an example, a system analysis of a combined cycle gas turbine with district heating is presented. Herein, the gas turbine model is validated based on literature data. The exergy analysis identifies the thermodynamic inefficiencies. The results are graphically presented in a Grassmann chart. With a sensitivity analysis a thermodynamic optimization of the district heating system is discussed. Using the exergy destruction rate in heating condensers or the overall efficiency as the objective function yields to different results.
As part of curriculum changes in South Africa, an introductory programming language, Scratch, must first be taught before switching to the well-established teaching of Delphi. The nature of programming in Scratch is c...
详细信息
As part of curriculum changes in South Africa, an introductory programming language, Scratch, must first be taught before switching to the well-established teaching of Delphi. The nature of programming in Scratch is considerably different from that in Delphi. It was assumed that the teaching of Scratch as introductory programming language could support learners’ understanding of Delphi. Teachers did not receive much training in Scratch. This study explores teachers’ experiences of their first year of the teaching of Scratch. The purpose of the research was to understand how Scratch can be used effectively as a transitioning language to Delphi and to deduce guidelines for teaching Scratch as introduction to object-oriented programming in Delphi. A qualitative research method, within the interpretive paradigm, was selected for this research. Interviews were done with eight randomly selected Information Technology (IT) teachers in the province of North-West, South Africa to gain insight into their experiences of teaching Scratch in 2012, the first year of implementing the new curriculum. Findings show that teachers were uncertain how to teach programming concepts and how to integrate problem solving and algorithm design into teaching Scratch. The focus of teaching was on Scratch, instead of on teaching programming concepts with Scratch. Emerging guidelines emphasise the integration of problem solving and algorithm design; the creation of opportunities to expose learners to error handling and program testing; and the inculcatation of programming concepts. We furthermore recommend active teaching-learning strategies such as pair programming.
object-oriented programming requires different skills from those of traditional structured programming. Thus, a good interactive environment for beginners of object-oriented programming should be provided. We have des...
详细信息
object-oriented programming requires different skills from those of traditional structured programming. Thus, a good interactive environment for beginners of object-oriented programming should be provided. We have designed and implemented a visual environment of object-oriented programming for beginners. If a programmer draws a diagram of the tree of the hierarchy of classes visually by using our tool, the relationship between superclasses and subclasses are automatically established. Moreover, in order to prevent careless mistakes to override methods, the prototype environment in the Smalltalk language checks written methods. We conducted an experiment with our tool and evaluated its usefulness.
Java is arguably today’s most popular and widely used object-oriented programming language. Learning Java is a daunting task for students, and teaching it is a challenging undertaking for instructors. To assess stude...
详细信息
Java is arguably today’s most popular and widely used object-oriented programming language. Learning Java is a daunting task for students, and teaching it is a challenging undertaking for instructors. To assess students’ object-oriented programming skills with Java, we developed the “Department-Employee” project. In this article, we review the history of object-oriented programming, provide an overview of object-oriented programming with Java, and present a summary of existing Java projects and their limitations. We also provide the project specifications as well as the course background, grading rubric, and score reports. Survey data are presented on students’ backgrounds, as well as students’ perceptions regarding the project. Results from the instructor score reports, correlation of the project score and the final course score, and student perceptions show that the “Department-Employee” project is effective in assessing students’ object-oriented programming skills with Java.
暂无评论