Various methods and tools have been proposed to overcome the learning obstacles for object-oriented programming (OOP). However, it remains difficult especially for novice learners. The problem may be not only adopting...
详细信息
Various methods and tools have been proposed to overcome the learning obstacles for object-oriented programming (OOP). However, it remains difficult especially for novice learners. The problem may be not only adopting an instructional method, but also an Integrated Development Environment (IDE). Learners employ IDEs as a means to solve programming problems and an inappropriate IDE may impose additional cognitive load. Therefore, this quasi-experimental study tried to identify the cognitive effects of a more visually supportive and functional IDE. It was explored by the functional near-infrared spectroscopy method, which is a relatively new physiological tool for measuring cognitive load. Novice students participated in the study in two experimental groups and they were required to write a Java application using two different IDEs. The results indicated a significant difference between the experimental groups and the findings are discussed in view of the principles of Cognitive Load Theory and Multimedia Learning.
This paper presents an observational study that takes an initial step towards answering the question of how the selection of a programming paradigm affects the maintainability of a software system. Answers to this que...
详细信息
ISBN:
(纸本)9781728168074
This paper presents an observational study that takes an initial step towards answering the question of how the selection of a programming paradigm affects the maintainability of a software system. Answers to this question are important because they can provide insight on how the maintainability characteristics of different programming paradigms could be leveraged to improve software-engineering education. The observational study compares developers' effectiveness and speed performing pre-determined maintenance tasks on two equivalent variations of a web-based application: one based on Procedural programming and one based on object-oriented programming. Presented within this paper are the study's design, metrics measuring maintenance effectiveness and speed, and a statistical analysis of the results, which provides evidence that the maintainability characteristics of the two paradigms are different within the context of this research. In addition, as an observational study, some of its important contributions are lessons learned about the experiment design process and ideas for new hypotheses. These are presented in preparation for a future, broader research, and larger-scale experiment. Finally, we discuss some forward-thinking ideas about how differences in the maintenance characteristics of programming paradigms may influence on software-engineering education.
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.
The problems in our teaching on object-oriented programming are analyzed, and the basic ideas, causes and methods of the reform are discussed on the curriculum, theoretical teaching and practical classes. Our practice...
详细信息
ISBN:
(纸本)9781509055104
The problems in our teaching on object-oriented programming are analyzed, and the basic ideas, causes and methods of the reform are discussed on the curriculum, theoretical teaching and practical classes. Our practice shows that these reforms can improve students' understanding of object-oriented to enhance students' practical ability and innovative ability.
While object-oriented programming in Java has been widely adopted as an introductory programming course in Computer Science, it is considered difficult to teach and learn. Studies have identified that the difficulty i...
详细信息
ISBN:
(纸本)9781479984541
While object-oriented programming in Java has been widely adopted as an introductory programming course in Computer Science, it is considered difficult to teach and learn. Studies have identified that the difficulty is from the underlying object-oriented concepts and principles. To help student programmers better understand the structure of a program and the concepts of object-oriented design, visualizations in various formats have been applied to programming environments. This paper presents a web-based interactive educational programming environment, JavlinaCode, and its unique design principles. JavlinaCode is designed for teaching object-oriented programming in Java. It aims to enhance student programmers' programming skill and to help them understand object-oriented design concepts. It provides integrated static and dynamic visualizations: the static state of a Java program in an UML class diagram and the dynamic run-time state of the program execution. With the synchronized multi-view real time visualization along with source code, JavelinaCode is highly expected to reduce student programmers' cognitive workload in Java programming and to enhance comprehension of the object-oriented programming and design concepts.
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.
Most of the students coming from various different backgrounds find software programming a difficult subject to learn and master, especially in learning the concept of object-oriented programming. Because they must be...
详细信息
ISBN:
(纸本)9781538672099
Most of the students coming from various different backgrounds find software programming a difficult subject to learn and master, especially in learning the concept of object-oriented programming. Because they must be able to model physical beings into virtualized objects and define complex object relationships in their designs for object interactions in a very abstract fashion that is not easily understood. This study is an attempt to introduce a unique interactive learning platform to students learning Java programming, which was designed with a set of object-oriented programming pedagogical considerations in mind. This study further extends and enhances with model-driven software development technique, such that to supporting unified modelling language (UML) class diagrams and code fragments generation in order to ease the learning needs of students, a unique way to learn fundamental programming concepts. This paper introduces a new online interactive platform and environment called BlueJ-UML, which is to help students to learn and practice object-oriented programming in class. It also evaluates the success outcome of the proposed new learning method through a Technology Acceptance Model Framework, and that followed by a comprehensive statistical analysis to assess improved academic performance of the students. The result was encouraging: student programming capability had been significantly elevated and was positively correlated to their overall perception and adoption of this new technique introduced in the class.
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.
As one mainstream of current software development, object-oriented programming has become one key course for undergraduate students in Computer Science. Since object-oriented concepts are difficult to understand for s...
详细信息
ISBN:
(纸本)9781665436878
As one mainstream of current software development, object-oriented programming has become one key course for undergraduate students in Computer Science. Since object-oriented concepts are difficult to understand for students, small programming exercises are used to train and help the students, and the study performance is evaluated based on the quality of the submitted source code. The common practice of code assessment in programming courses is checking whether the submitted projects pass carefully-designed test cases. However, even some projects pass all test cases, they may have bad software design and do not use the knowledge of object-oriented programming well, especially in the early stage of courses. Therefore, we propose an anomaly detection approach for early warning in object-oriented programming courses, which can automatically find the abnormal application of object-oriented knowledge. In our approach, we conduct static analysis on the code submitted by students. Typical objected-oriented metrics are extracted, and students are divided into two groups by K-means clustering: being good at object-objected knowledge or not, and finally detect anomalous students based on the distance from cluster centers. We evaluate our approach on the realistic data sets collected from our object-oriented programming course, and experimental results show the effectiveness of our method.
Designing a test platform that provides automated test capability for multiple Units Under Test (UUTs) presents many unique challenges. Using LabVIEW object-oriented programming (LVOOP) design principles along with Pa...
详细信息
ISBN:
(纸本)9781479930050
Designing a test platform that provides automated test capability for multiple Units Under Test (UUTs) presents many unique challenges. Using LabVIEW object-oriented programming (LVOOP) design principles along with Packed Project Libraries, TSC has designed a modular Test Executive (TE) architecture that allows us to easily add capability as test requirements change or expand. This is achieved by following a simple set of rules without recompiling the executable. As a result this flexibility provides long term supportability, improves operational readiness, and reduces total cost of ownership. The highly configurable TE was designed to run as a standalone application. It performs various tasks for maintaining the equipment and files on the Test Bench. The TE contains all equipment calibration information so that a user can be warned if a piece of equipment is coming due for calibration. It allows users to create, edit, and save sequences of tests to perform for a selected UUT. It provides report writing and viewing capability as well as error handling. The TE also provides safety monitoring functionality at a Test Bench level and will call specific modules for monitoring a UUT specifically. Additionally users can run sequences of tests or select individual tests to run standalone. The software design for the UUT code is implemented as a plug-in to the TE. UUT code is designed and compiled and only needs to be placed in the correct folder alongside the TE executable for the TE to utilize it for automated testing. The TE does not need to be recompiled in order to run the code for the UUT, providing a consistent and managed executable interface for the users. To assist in supportability and enforcement of the UUT code standardization, we created several UUT wizards for test developers to use to ensure that the rules were followed. These wizards were essential to reduce test development time and cost of ownership.
暂无评论