9,233 research outputs found

    Object-Oriented Programming Principles and the Java Class Library

    Get PDF
    For novices, learning an object-oriented programming language can be a daunting task. Not only do students need to learn basic programming concepts, but they are also confronted with object modeling concepts as well. Learning Java presents an additional difficulty. Students must learn how to use the Java Class Library to locate the details of classes, methods, and toolkits that they can use in their own classes. One of my primary goals in teaching Java to novices is helping them acquire an understanding of a specific subset of tools in the Java Class Library. This goal is addressed by emphasizing the use of inheritance and a specially designed set of exercises. To demonstrate this approach, this paper will outline the creation of a simple text editor. This example illustrates how considerable functionality can be added to complex programs by using existing classes documented in the Java Class Library

    A game-based approach to the teaching of object-oriented programming languages

    Get PDF
    Students often have difficulties when trying to understand the concepts of object-oriented programming (OOP). This paper presents a contribution to the teaching of OOP languages through a game-oriented approach based on the interaction with tangible user interfaces (TUIs). The use of a specific type of commercial distributed TUI (Sifteo cubes), in which several small physical devices have sensing, wireless communication and user-directed output capabilities, is applied to the teaching of the C# programming language, since the operation of these devices can be controlled by user programs written in C#. For our experiment, we selected a sample of students with a sufficient knowledge about procedural programming, which was divided into two groups: The first one had a standard introductory C# course, whereas the second one had an experimental C# course that included, in addition to the contents of the previous one, two demonstration programs that illustrated some OOP basic concepts using the TUI features. Finally, both groups completed two tests: a multiple-choice exam for evaluating the acquisition of basic OOP concepts and a C# programming exercise. The analysis of the results from the tests indicates that the group of students that attended the course including the TUI demos showed a higher interest level (i.e. they felt more motivated) during the course exposition than the one that attended the standard introductory C# course. Furthermore, the students from the experimental group achieved an overall better mark. Therefore, we can conclude that the technological contribution of Sifteo cubes – used as a distributed TUI by which OOP basic concepts are represented in a tangible and a visible way – to the teaching of the C# language has a positive influence on the learning of this language and such basic concepts

    I/O Considered Harmful (At least for the first few weeks)

    Get PDF
    One of the major difficulties with teaching the first programming course is input/output. It is desirable to show students how to input data and output results early in the course in order to motivate the students and so that they can see the results of their programs. Output is also a useful tool for testing programs. However, in most programming languages input and output are esoteric and the techniques for performing input and output must be learnt by the students at an early stage, precisely when they are trying to understand the basics of programming. We argue that input/output operations need not be taught in the early stages of a course if the language environment provides appropriate tools for testing programs. This assertion is demonstrated by reference to the Blue objectoriented language and environment

    Is comprehension or application the more important skill for first-year computer science students?

    Get PDF
    Time and performance data was collected on a class of 147 Computer Science 1B students, where students carried out a design and programming task based on one that had been seen in a previous examination. Given that students had previously worked through the task, we assessed their comprehension of that material in this assignment. We were then able to collect the performance data and correlate this with the examination marks for the student to determine if there was a relationship between performance in the examination and performance in this practical. We were also able to correlate the performance in this practical with the time taken to complete the practical, and with the student’s statement as to whether they remembered how they had solved it in their previous attempt. By doing this, we discovered that the students who remembered having solved it previously had a significantly higher mean examination mark than those students who claimed not to remember it. Unsurprisingly, students also performed better in this assignment if they had performed better in the examination. The mean time to complete the task was significantly less for those students who claimed to remember the task. In this task, the comprehension of the original material and the ability to recall it was of more importance than the ability to apply knowledge to an unseen problem.Nickolas J. G. Falkne

    Introducing Java : the case for fundamentals-first

    Get PDF
    Java has increasingly become the language of choice for teaching introductory programming. In this paper, we examine the different approaches to teaching Java (Objects-first, Fundamentals-first and GUI-first) to ascertain whether there exists an agreed ordering of topics and difficulty levels between nine relatively basic Java topics. The results of our literature survey and student questionnaire suggests that the Fundamentals-first approach may have benefits from the student's point of view and an agreed ordering of the Java topics accompanying this approach has been established

    Automated Feedback for 'Fill in the Gap' Programming Exercises

    Get PDF
    Timely feedback is a vital component in the learning process. It is especially important for beginner students in Information Technology since many have not yet formed an effective internal model of a computer that they can use to construct viable knowledge. Research has shown that learning efficiency is increased if immediate feedback is provided for students. Automatic analysis of student programs has the potential to provide immediate feedback for students and to assist teaching staff in the marking process. This paper describes a “fill in the gap” programming analysis framework which tests students’ solutions and gives feedback on their correctness, detects logic errors and provides hints on how to fix these errors. Currently, the framework is being used with the Environment for Learning to Programming (ELP) system at Queensland University of Technology (QUT); however, the framework can be integrated into any existing online learning environment or programming Integrated Development Environment (IDE
    • 

    corecore