The teaching of computer programming has been a constant challenge for teachers at the university level, either due to the complexity at the taxonomic level that it represents or the abilities of each student about th...
详细信息
ISBN:
(纸本)9781665409568
The teaching of computer programming has been a constant challenge for teachers at the university level, either due to the complexity at the taxonomic level that it represents or the abilities of each student about the generation of algorithmic solutions. Adaptive learning has demonstrated over time the ability to improve effective learning indicators in students, working directly with stimuli, changes in strategies, or content delivered. The platforms that have implemented adaptability are diverse and at different educational levels. This study presents the effect of reinforcing Java programming for university students through an adaptive learning platform. The results, through the experimental study, demonstrated the effectiveness of integrating adaptivity to a software tool.
Understanding how students' prior knowledge affects their learning of new concepts is essential for effective teaching. The same learning activity, or the same explanation, may have very different effects on stude...
详细信息
ISBN:
(纸本)9781450369893
Understanding how students' prior knowledge affects their learning of new concepts is essential for effective teaching. The same learning activity, or the same explanation, may have very different effects on students with different prior knowledge. In the context of teaching programming, prior knowledge includes the programming languages students studied in prior courses. In this experience report we describe our observations in teaching object-oriented programming in Java to students who previously learned functional programming in Racket's student languages. We highlight four concrete problems we encountered in teaching the second course in this sequence. We detected and addressed these problems primarily thanks to a teaching assistant who assisted in both of the courses. This experience made us realize the importance of explicitly bridging between languages in introductory programming course sequences. It also showed that the sharing of teaching staff across courses can be an effective way to detect aspects that need bridging.
objects are everywhere. People deal with them from the beginning of their lives. From babyhood, they start to recognise them and, progressively, learn to define their attributes and designate the actions related to th...
详细信息
objects are everywhere. People deal with them from the beginning of their lives. From babyhood, they start to recognise them and, progressively, learn to define their attributes and designate the actions related to them. Although the basis of object-oriented programming is translating real-world objects into the object-oriented code, learning object-oriented programming is still a difficult task. To overcome this difficulty, we have to specify the right starting point of teaching basic object-oriented concepts and mark out the appropriate educational tools. In this paper, trying to answer the above questions, we present a research proposal on how fundamental object-oriented programming concepts could be introduced to children in early childhood education when physical science courses take place. The backbone of our research is the digital environment PhysGramming, through which children turn into creators, according to the theory of constructivism. The innovative aspect of PhysGramming is that children create their own games while studying physical science, in a way that provides familiarity with the basic principles of object-oriented programming and computational thinking, even though no specific reference is made to these principles.
Virtual reality(VR) features an impressive virtual world which operates like a real one. However, convenient tools for the Va contruction work are not available yet, although there are tools like OpenInventor and Worl...
详细信息
ISBN:
(纸本)0780342534
Virtual reality(VR) features an impressive virtual world which operates like a real one. However, convenient tools for the Va contruction work are not available yet, although there are tools like OpenInventor and WorldToolKit(WTK) which relieve programmers of some low level and hardware related jobs. One of the key problems under heat discussion is to find a uniform and well organized structure for the program layout, so that a better sharing of VR resources may be achieved. In this paper, we discuss some basic tasks in constructing a virtual world and suggest message-driven object-oriented programming as a possible solution to problems concerning network VR and multiworld VR Experiment programs developed with this technique operate satisfactorily, showing the promising future of a new virtual reality constructing tool.
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++.
object-oriented programming has become a widely used, important programming paradigm that is supported in many different languages. C++ has become the most widely used object-oriented language and many C++ programmers...
详细信息
object-oriented programming has become a widely used, important programming paradigm that is supported in many different languages. C++ has become the most widely used object-oriented language and many C++ programmers are unfamiliar with the different approaches taken by other languages in the paradigm. This paper is intended as an introduction to a broad range of ideas in object-oriented programming. Specifically, we introduce four modern programming languages that support object-oriented programming (Oberon-2, Modula-3, Sather and Self), and show how a simple application is coded in these languages. While each of these programming languages provide support for inheritance, dynamic dispatch, code reuse, and information hiding, they do so in very different ways and with varying levels of efficiency and simplicity. The use of a simple example, based on a common programming problem, facilitates our comparison. We have coded the application in all of these languages, including C++, and we compare the compile times, object code sizes, and run times of the available implementations. Implementations of all the languages compared and all of the programs we measure are available on the Internet. Ultimately, our goal is to encourage and facilitate programmers in understanding and exploring a variety of object-oriented programming languages.
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.
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.
暂无评论