258 research outputs found

    Guidelines for Teaching Object Orientation with Java

    Get PDF
    How to best teach object orientation to first year students is currently a topic of much debate. One of the tools suggested to aid in this task is BlueJ, an integrated development environment specifically designed for teaching. BlueJ supports a unique style of introduction of OO concepts. In this paper we discuss a set of problems with OO teaching, present some guidelines for better course design and show how BlueJ can be used to make significant improvements to introductory OO courses. We end by esenting a description of a possible project sequence using this teaching approach

    Python for teaching introductory programming: A quantitative evaluation

    Get PDF
    This paper compares two different approaches of teaching introductory programming by quantitatively analysing the student assessments in a real classroom. The first approach is to emphasise the principles of object-oriented programming and design using Java from the very beginning. The second approach is to first teach the basic programming concepts (loops, branch, and use of libraries) using Python and then move on to oriented programming using Java. Each approach was adopted for one academic year (2008-09 and 2009-10) with first year undergraduate students. Quantitative analysis of the student assessments from the first semester of each year was then carried out. The results of this analysis are presented in this paper. These results suggest that the later approach leads to enhanced learning of introductory programming concepts by students

    A gentle transition from Java programming to Web Services using XML-RPC

    Get PDF
    Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)

    Enhancing apprentice-based learning of Java

    Get PDF
    Various methods have been proposed in the past to improve student learning by introducing new styles of working with assignments. These include problem-based learning, use of case studies and apprenticeship. In most courses, however, these proposals have not resulted in a widespread significant change of teaching methods. Most institutions still use a traditional lecture/lab class approach with a strong separation of tasks between them. In part, this lack of change is a consequence of the lack of easily available and appropriate tools to support the introduction of new approaches into mainstream courses.In this paper, we consider and extend these ideas and propose an approach to teaching introductory programming in Java that integrates assignments and lectures, using elements of all three approaches mentioned above. In addition, we show how the BlueJ interactive programming environment [7] (a Java development environment aimed at education) can be used to provide the type of support that has hitherto hindered the widespread take-up of these approaches. We arrive at a teaching method that is motivating, effective and relatively easy to put into practice. Our discussion includes a concrete example of such an assignment, followed by a description of guidelines for the design of this style of teaching unit

    The Effects of Objects-First and Objects-Late Methods on Achievements of OOP Learners

    Get PDF
    Our research explored the effects of objects-first and objects-late methods on achievements of object-oriented programming (OOP) learners during a graduate course. The course’s scope was virtually identical for two groups, but the structure of the contents differed in sequence. The objects-first method emphasized the design and discussion of the object-oriented concepts from the very beginning while the objects-late deferred these concepts to the late lectures. The objects-first learners used all visual functionalities of BlueJ IDE. However, the objects-late learners started with only the text-based interfaces of BlueJ and they benefited its visual support in the last lectures. At the end of the study, we found that there was a statistically significant difference between OOP learner groups

    A Novice's Process of Object-Oriented Programming

    Get PDF
    Exposing students to the process of programming is merely implied but not explicitly addressed in texts on programming which appear to deal with 'program' as a noun rather than as a verb.We present a set of principles and techniques as well as an informal but systematic process of decomposing a programming problem. Two examples are used to demonstrate the application of process and techniques.The process is a carefully down-scaled version of a full and rich software engineering process particularly suited for novices learning object-oriented programming. In using it, we hope to achieve two things: to help novice programmers learn faster and better while at the same time laying the foundation for a more thorough treatment of the aspects of software engineering

    Interviews With College Students: Evaluating Computer Programming Environments For Introductory Courses

    Get PDF
    Different methods, strategies, or tools have been proposed for teaching Object Oriented Programming (OOP). However, it is still difficult to introduce OOP to novice learners. The problem may be not only adopting a method or language, but also use of an appropriate integrated development environment (IDE). Therefore, the focus should be on the needs of learners when selecting an IDE and the evaluations for instructional purposes may allow making objective decisions for an introductory course design. There are different methods or frameworks for evaluating IDEs and the majority focuses on the experts’ needs. Unfortunately, studies done on instructional appropriateness of IDEs are insufficient. In this study, an evaluation framework is initially proposed, then the candidate IDEs are evaluated, and finally, the perceptions of college students are explored by conducting semi-structured interviews. The data are analyzed by the Verbal Analysis technique, and the results are discussed in view of the evaluation criteria. The results imply that the learners view one of the criteria relatively more supportive for learning

    Evaluation of Robocode as a Teaching Tool for Computer Programming

    Get PDF
    Robocode began as an educational tool to aid in learning Java programming. It has since evolved into something of a phenomenon, as the prospect of creating simple to complex virtual tanks appears to pose an attractive challenge to both novice and expert programmers alike. What started out as a teaching tool has grown into a worldwide network of competitors, all keen to prove that their ‘bot’ stands out from the crowd. Competitions are well organised and many Robocode events are a PR dream for the computing companies that sponsor them. Without a doubt, this easy to use application has sparked the imagination of the world of programming. This is especially evident in the number of higher education institutes that regularly hold competitions for their computing and engineering students, often inviting participants from other colleges. In Ireland alone, a major national event for third level students is held annually at the Tipperary Institute. Sponsors have included the likes of Microsoft and Lenovo and students from most Irish universities and colleges have taken part. This is merely a scenario that has been mimicked across the globe. A cursory browse through a typical computing faculty website will likely reveal a reference to Robocode. This paper attempts to look back to the roots of Robocode, and evaluate its merits as a teaching tool whether for use inside or outside the classroom. The detailed results of a survey are presented, showing the responses of students who have used the tool in a number of capacities, more specifically, an evaluation by those who have participated in the national competition or merely used the tool as part of their programming course work. Lecturers have also been asked for an evaluation to gauge its effect on programming students. With so many willing to dedicate extracurricular time to participate, it is worth investigating what ignited this spark in the first place. What motivates a student or indeed any programmer to want to develop a robot tank that fires bullets, and, attempts to dodge the bullets of other tanks

    College Student Perceptions of MyProgrammingLab and BlueJ in an Introductory Computing Course

    Get PDF
    Students in introductory computing courses face various challenges. Many learning systems are available to support teaching and learning in introductory computing courses. Empirical work examining the use of such learning systems is available, but limited. In this research, we gathered student perceptions of two learning systems MyProgrammingLab and BlueJ. Understanding student perceptions of learning systems and their impact on learning to program is valuable information for both instructors and students. In this analysis, we gathered student perceptions of MyProgrammingLab and BlueJ in three surveys towards the end of a 15-week semester. Although students encountered problems in MyProgrammingLab and BlueJ, more than three quarters of the students perceived MyProgrammingLab and BlueJ to be useful in helping develop their programming skills. Many students agreed that using MyProgrammingLab and BlueJ helped them better understand the course materials
    corecore