This study explores the intricate nature of the teaching methods and instructional strategy in object-oriented programming (OOP) utilized by teachers in selected higher education institutions in the Philippines. Throu...
详细信息
ISBN:
(纸本)9798400717574
This study explores the intricate nature of the teaching methods and instructional strategy in object-oriented programming (OOP) utilized by teachers in selected higher education institutions in the Philippines. Through purposive sampling, the study includes 41 OOP teachers and offers an inquiry into their pedagogical approaches and strategies for instructing OOP to their students. The study also takes into account the resources and project requirements in OOP through an online survey. The study also looks at the student difficulties observed by the teachers while teaching OOP course. The data analysis utilized are descriptive statistics and Spearman correlation using Statistical Package for the Social Sciences and Google Colaboratory. The findings show that there is a wide range of instructional approaches, from conventional lectures to practical coding exercises. The results emphasize that hands-on coding is the preferred teaching method while giving hands-on activities is the preferred instructional strategy to develop and challenge the students' programming ability, both received an outstanding 100% response. The Spearman correlation between the used teaching methods and instructional strategies, rho (rho) of 0.42, p < 0.05, indicating a significant moderate positive relationship, suggesting that educators who utilized varied teaching methods also tend to use more instructional strategy in their teaching practices. Given the dynamic nature of programming paradigms and the wide range of student aptitudes, a customized approach to OOP teaching is necessary. The study provides practical insights to increase teaching effectiveness by highlighting important areas in the pedagogical environment that require adjustment. The study's findings have global significance in the rapidly evolving field of computer science and information technology education.
Cereal rye (Secale cereale L.) has been extensively studied as a winter cover crop in conservation agriculture using experimental and modeling approaches. Previous studies generally modeled cereal rye by modifying exi...
详细信息
Cereal rye (Secale cereale L.) has been extensively studied as a winter cover crop in conservation agriculture using experimental and modeling approaches. Previous studies generally modeled cereal rye by modifying existing cash crop models. This study aims to develop a new cereal rye vegetative growth model and evaluate model accuracy. The new model, namely RYESIM, employs object-oriented programming techniques and a linked-list data structure to present the emergence order of cereal rye organs, such as leaves, internodes, and tillers. Individual organs are abstracted as "classes," which encapsulate organs' morphological features and emergence- growth-senescence processes as member variables and functions. Multiple organs are assembled based on the tiller hierarchy to formulate the cereal rye plant architecture. RYESIM also contains "representative plant" as an average process among multiple individual plants, which bridges individual organs' growth and field-scale averaged plant morphology, as well as ensuring plant-level biomass and nitrogen (N) mass balance. Existing soil (2DSOIL) and biochemical photosynthesis models are incorporated to estimate soil water-nutrient supply, carbon assimilation and transpiration. RYESIM was evaluated using published field data measured in the Mid- Atlantic region of the USA. Compared to observed values, the relative mean absolute errors of RYESIM for tiller number, aboveground biomass and N mass were within 0.3, 0.4 and 0.5 (with exceptions), and the RYESIM simulated values fell within the value ranges from literature results. Therefore, RYESIM provides effective simulations on cereal rye vegetative growth, and the RYESIM model structure also provides a paradigm for future "multi-tiller" cash crop model development.
The object-oriented programming is widely used in different fields of finite element analysis (FEA). The commonly used object-oriented codes were almost written by C++. Due to the inability to automatically manage mem...
详细信息
The object-oriented programming is widely used in different fields of finite element analysis (FEA). The commonly used object-oriented codes were almost written by C++. Due to the inability to automatically manage memory and the lack of gigantic standard library and a third-party library for C++, building matrix classes are needed and a strong programming ability for program developers is also necessary. The conventional FEM method still has many disadvantages such as poor accuracy, hard stiffness matrix, mesh dependence and lack of upper bound solution. The smoothed FEM (S-FEM) method proposed by Liu et al. can efficiently overcome these disadvantages and is therefore widely used in FEA. In this work, the elastic-plastic CS-FEM method is extended and implemented using Python programming based on the framework proposed [H. Li and Y. Xiao, Implementation and numerical simulation on object-oriented elastic-plastic finite element method based on Python, J. Syst. Simul. 36(5) (2024) 1107-1117] The resulting object-oriented elastic-plastic CS-FEM framework is then applied to FEA of elastic-plastic mechanics problems. The correctness of the resulting framework and the high computational accuracy and good mesh adaptability of CS-FEM models have been verified by comparing the corresponding results with an analytical solution or ABAQUS results. The object-oriented elastic-plastic CS-FEM framework provides a more efficient and adaptable approach to FEA, and can also overcome many limitations of the conventional FEM method and C++ programming. The use of Python and the CS-FEM method offers improved computational accuracy, mesh adaptability and development efficiency, and this will make it a valuable tool for solving practical problems in mechanics and engineering.
Class invariants-consistency constraints preserved by every operation on objects of a given type-are fundamental to building, understanding, and verifying object-oriented programs. For verification, however, they rais...
详细信息
Class invariants-consistency constraints preserved by every operation on objects of a given type-are fundamental to building, understanding, and verifying object-oriented programs. For verification, however, they raise difficulties, which have not yet received a generally accepted solution. The present work introduces a proof rule meant to address these issues and allow verification tools to benefit from invariants. It clarifies the notion of invariant and identifies the three associated problems: callbacks, furtive access, and reference leak. As an example, the 2016 Ethereum DAO bug, in which $50 million was stolen, resulted from a callback invalidating an invariant. The discussion starts with a simplified model of computation and an associated proof rule, demonstrating its soundness. It then removes one by one the three simplifying assumptions, each removal raising one of the three issues and leading to a corresponding adaptation to the proof rule. The final version of the rule can tackle tricky examples, including "challenge problems" listed in the literature.
The advent of Large Language Models (LLMs) has created multiple challenges for the Computer Science Education Community. This research project aims at integrating LLMs into object-oriented programming courses, by gene...
详细信息
ISBN:
(纸本)9798400706035
The advent of Large Language Models (LLMs) has created multiple challenges for the Computer Science Education Community. This research project aims at integrating LLMs into object-oriented programming courses, by generating and evaluating new teaching methodologies and tools suitable for this paradigm's specificities.
Many empirical studies have shown that educational games and recent technologies impact education and increase learning effectiveness, students' motivation and engagement. The overall aim of this study is to evalu...
详细信息
Many empirical studies have shown that educational games and recent technologies impact education and increase learning effectiveness, students' motivation and engagement. The overall aim of this study is to evaluate the usability of Imikode, a virtual reality (VR) game that was developed to introduce the concepts of object-oriented programming to novices. The improved version of the Imikode VR game consists of three features: An artificial intelligence component designed to provide real-time error feedback to users, an intelligent agent that guides and teaches users how to play the game and finally, the integration of multiple game play that gives learners more opportunities to explore the VR environment for greater immersive learning experience. This study adopted a survey approach and recruited first-year computer science students to measure learner satisfaction with educational virtual reality games and examined the correlations among the attributes of the Usefulness, Satisfaction and Ease of Use questionnaire of usage of Imikode. The results showed that the students were satisfied with Imikode and perceived the virtual reality educational game as very useful for learning object-oriented programming concepts. In addition, there was a correlation among the questionnaire variables, which means that researchers can use the instrument for future usability studies in the context. We further proffered some design recommendations for building software tools.
Large Language Models (I have emerged as promising tools to assist students while solving programming assignments. However, object-oriented programming (OOP), with its inherent complexity involving the identification ...
详细信息
ISBN:
(纸本)9798400704987
Large Language Models (I have emerged as promising tools to assist students while solving programming assignments. However, object-oriented programming (OOP), with its inherent complexity involving the identification of entities, relationships, and responsibilities, is not yet mastered by these tools. Contrary to introductory programming exercises, there exists a research gap with regard to the behavior of LLMs in OOP contexts. In this study, we experimented with three prominent LLMs - GPT-3.5, GPT-4, and Bard - to solve real-world OOP exercises used in educational settings, subsequently validating their solutions using an Automatic Assessment Tool (AAT). The findings revealed that while the models frequently achieved mostly working solutions to the exercises, they often overlooked the best practices of OOP. GPT-4 stood out as the most proficient, followed by GPT-3.5, with Bard trailing last. We advocate for a renewed emphasis on code quality when employing these models and explore the potential of pairing LLMs with AAT's in pedagogical settings. In conclusion, while GPT-4 showcases promise, the deployment of these models in OOP education still mandates supervision.
With the rising popularity of object-oriented programming (OOP) in both research and industry, it is important that computer science students be educated in the fundamentals of OOP and what it can be used for. However...
详细信息
ISBN:
(纸本)9798350300543
With the rising popularity of object-oriented programming (OOP) in both research and industry, it is important that computer science students be educated in the fundamentals of OOP and what it can be used for. However, OOP can be difficult for students to learn because of the complex interactions between objects and code. We believe that implementing a web-based programming tutorial system alongside traditional instruction may help students to better understand the fundamental principles of OOP and avoid common programming misconceptions.
Automatic grading of object-oriented programming (OOP) assignments is an important problem from practical, theoretical, and educational viewpoints. Apart from computing a specific grade, an effective grading method ne...
详细信息
Automatic grading of object-oriented programming (OOP) assignments is an important problem from practical, theoretical, and educational viewpoints. Apart from computing a specific grade, an effective grading method needs to provide systematic feedback comments to both the design and code elements. Existing works have proposed grading methods that make various assumptions about the design. However, none of these methods have considered using a design language for the program model. A challenge here is to use a language that eases learning and application in program design. In this paper, we propose a novel grading method, named OOPGRADER, which automatically grades OOP assignments constructed based on an essentially detailed program model. This model is defined in an embedded design language, which directly uses the annotation feature of OOP language to express the essential design rules. We explain how programming assignments can be designed with this language and propose a program checker and a grader for both student and teacher to use in working on the assignments and in grading them. We implement these components in a tool and develop an Eclipse plugin for this tool. We evaluate our method using a combination of qualitative and quantitative techniques. The main result is that our method helps students effectively learn to program through detailed feedback comments based on a program model. The tool is adaptable, has a good performance, and helps enhance the productivity of both students and teachers through IDE integration.
Serveless computing and the Function-as-a-Service (FaaS) model promise rapid development of cloud-based applications by abstracting away deployment and resource allocation. As the stateless nature of functions undermi...
详细信息
ISBN:
(纸本)9798400704550
Serveless computing and the Function-as-a-Service (FaaS) model promise rapid development of cloud-based applications by abstracting away deployment and resource allocation. As the stateless nature of functions undermines the generality of the model, they are often paired with storage services to persist their state. However, this approach exposes state management to developers, who need to manually encode the interactions between functions and storage. The relations between functions and state are hidden within function implementations, negatively affecting modularity and reuse. To overcome these problems, we propose a novel abstraction that brings the benefits of object-oriented programming to FaaS, and we implement this abstraction into the Nubes framework. In Nubes, developers define objects that encapsulate state in the form of attributes and expose methods to other objects. Applications are written using familiar object-oriented concepts, Nubes then transparently and automatically manages the state of objects using a cloud storage service and handles the execution of serverless functions. Nubes simplifies application development and deployment and promotes the reuse of objects as composable building blocks for cloud applications. Using a case study, we show that Nubes significantly reduces code complexity with limited overhead with respect to manually crafted solutions.
暂无评论