164 research outputs found

    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)

    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

    Novis: A notional machine implementation for teaching introductory programming

    Get PDF
    Comprehension of programming and programs is known to be a difficult task for many beginning students, with many computing courses showing significant drop out and failure rates. In this paper, we present a notional machine imple- mentation, Novis, to help with understanding of program- ming and its dynamics for beginning learners. The notional machine offers an abstraction of the physical machine de- signed for comprehension and learning purposes. Novis pro- vides a real-time visualisation of this notional machine, and is integrated into BlueJ

    ClockIt: Monitoring and Visualizing Student Software Development Profiles

    Get PDF
    Monitoring software development practices can result in improved estimation abilities and increased software quality. A common drawback associated with many monitoring schemes is the manual overhead needed to make the monitoring effective. This overhead results in users abandoning the monitoring scheme shortly after it is adopted or poor quality in the data produced. Alternatives have been introduced that automate part, or all of the monitoring. ClockIt is a fully automated extension for the pedagogical integrated development environment (IDE) BlueJ, and focuses on aspects of the development practices seen in introductory level students. By automatically monitoring introductory student development behavior, instructors and students gain insight about development practices. In addition to the ClockIt extension, Visualization tools are provided to assist students or instructors in exploring the data. Data collected via ClockIt for four semesters confirm previous independent findings. And, new insights about how compilation error frequency changes in introductory students and the relationships between pairs of compilations have been discovered

    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

    Botbeans

    Get PDF
    Programming can be a daunting task from a beginner’s perspective. Since earlier times of computer programming, tools have been designed and developed in order to make programming friendlier to beginners. However the majority of these tools target beginners that are already motivated and have an idea of what computer programming is. This allows these tools to skip the initial requirements for learning how to program since these beginners will compensate with their motivation and effort. This thesis describes a learning tool called Botbeans. By using a new hybrid visual programming language with a tangible interface, Botbeans creates a highly motivating and collaboration friendly environment to present what is programming to a user that never had previously contact with it. The design and implementation of Botbeans are described and the results of some initial experiments with students are analysis.Aprender a programar pode ser uma tarefa difícil e assustadora do ponto de vista de um iniciante. Desde dos tempos iniciais da programação diversas ferramentas foram desenvolvidas com o intuito de tornar a aprendizagem da programação mais amigável a iniciantes. Algumas destas ferramentas têm como publico alvo iniciantes já altamente motivados para a programação e já com uma ideia do que esta é e para que serve. Isto permite a estas ferramentas saltar alguns dos pré-requisitos necessários para começar a aprender a programar, visto que este tipo de iniciante irá compensar com a sua motivação e empenho. Esta tese descreve uma ferramenta de aprendizagem chamada Botbeans que utilizando uma linguagem gráfica híbrida e uma interface tangível cria um ambiente altamente motivante para demonstrar o que é a programação e para que serve a um utilizador que nunca teve contacto com esta. O design e desenvolvimento do Botbeans são descritos ao longo da tese assim como os testes inicias já efectuados

    Development of the Curriculum for the Introduction to Computer Science Course

    Get PDF
    This project proposes to reformat the curriculum for an Introduction to Computer Science course for high school students, currently taught as a one semester course. Several issues with the current course are addressed with recommendations for changes intended for the benefit of students at their school. In the past five years, enrollment in the school\u27s Advanced Placement (AP) Computer Science course has decreased from 50 students to 25 students despite no significant change in overall enrollment or student demographics. For the portion of those students enrolled in the course who have taken the Advanced Placement exam during the past four years, the passing rate was 50% to 100%. When students were encouraged to take the AP Computer Science A exam, a less rigorous exam, the passing rate increased. The school has been known to develop a curriculum that best meets the needs of its students. The current Introduction to Computer Science course is not meeting their needs. This project addresses several key aspects of the course that could be changed to better prepare the students for the Advanced Placement (AP) Computer Science course and increase enrollment in both the introductory and advanced courses, particularly (this would be an added bonus) with respect to female students. The key aspects with the Introduction to Computer Science course that this paper will address are as follows: 1. The effectiveness of the curriculum as an introduction to the Advanced Placement (AP) Computer Science, following the curriculum as outlined by the College Board. 2. The course objectives such as the educational philosophy of the course, how the students will be introduced to object-oriented programming using java, the programming language used in the AP Computer Science course, and choosing the software, textbook and supplemental materials that would best meet the needs of the students and support the course objectives. 3. The classroom teaching methodology. This would include, but not be limited to, the expectations of the students both in the classroom and as it relates to homework beyond class times, the nature of homework assignments, when and how much would be assigned on a daily basis, the types of assessments that would determine the students grades, and how these assessment would be graded. 4. Building student interest in the computer science field and demonstrating that every student is capable of basic programming skills

    Educational Programming on the Raspberry Pi

    Get PDF
    The original aim when creating the Raspberry Pi was to encourage “kids”—pre-university learners—to engage with programming, and to develop an interest in and understanding of programming and computer science concepts. The method to achieve this was to give them their own, low cost computer that they could use to program on, as a replacement for a family PC that often did not allow this option. With the original release, the Raspberry Pi included two programming environments in the standard distribution software: Scratch and IDLE, a Python environment. In this paper, we describe two programming environments that we developed and recently ported and optimised for the Raspberry Pi, Greenfoot and BlueJ, both using the Java programming language. Greenfoot and BlueJ are both now included in the Raspberry Pi standard software distribution, and they differ in many respects from IDLE; they are more graphical, more interactive, more engaging, and illustrate concepts of object orientation more clearly. Thus, they have the potential to support the original aim of the Raspberry Pi by creating a deeper engagement with programming. This paper describes these two environments and how they may be used, and discusses their differences and relationships to the two previously available systems

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research

    Computer Science Principles with Java

    Get PDF
    This textbook is intended to be used for a first course in computer science, such as the College Board’s Advanced Placement course known as AP Computer Science Principles (CSP). This book includes all the topics on the CSP exam, plus some additional topics. It takes a breadth-first approach, with an emphasis on the principles which form the foundation for hardware and software. No prior experience with programming should be required to use this book. This version of the book uses the Java programming language.https://rdw.rowan.edu/oer/1018/thumbnail.jp
    corecore