24,180 research outputs found

    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

    Online tools for virtual pair programming

    Get PDF
    As agile methodologies advance in process maturity we find that most of their practices such as Test-Driven Development, refactoring, and pair programming (specifically for Extreme Programming) are becoming the order of the day in a number of organizations that were traditionally sceptical about agile development. Without implying that Microsoft has ever been against agile development it is interesting to note that they now have a very comprehensive set of tools for agile development under the MSF for Agile set. Published literature has a lot of empirical evidence on the gains of using pair programming for development teams and even for teaching programming. However, the remaining challenges relate to the use of pair programming in distributed development environments. Hence, a gap still exists in determining the feasibility (especially with regards to data security) of doing pair programming for virtual teams and also developing appropriate tools for such practices. I suppose the lack of appropriate tools for such activities could have delayed the comprehensive adoption of this kind of practice. In today's globally connected world where the world network can be traversed on a hand-held device in a split of a second, it is worth investigating what sort of tools could be securely used for virtual pair programming. Such an investigation becomes more valuable especially if we consider the ever growing complexities of all sorts of viral attacks on our data and the apparent growth of other evils such as terrorism. This paper investigates the prevalence, effectiveness and security issues of using online collaboration tools such as NetBeans, VI\lC, Google docs, and some open source tools such as RSS Dashboard and many others to implement virtual pair programming

    Designing Prototype Model of an Online Collaborative Learning System for Introductory Computer Programming Course

    Get PDF
    AbstractThis paper discusses the design of the prototype model of the online collaborative learning system for introductory computer programming course. The methodology used involves three phases which are the data collection, analysis and design and the implementation phase. Initially, fifty respondents from the first year students of the Diploma in Computer Science in Universiti Teknologi MARA (UiTM) Perlis, Malaysia have been randomly selected to participate in the data collection phase in order to investigate the students’ interests, learning styles as well as their learning preferences. The results have shown the need for the development of online small group discussions that could facilitate online communication and collaboration from dispersed location, hence encouraging distance learning education. A design of a structure model for an online collaborative learning system has been constructed in order to support the online collaborative learning activities in a virtual environment. The logical designs of the Online Collaborative Learning System or OCLS are being designed using the object-oriented models which are the use-case model and class diagram in order to show the concise processes of virtual “Think-Pair-Share” collaborative activities. The “Think-Pair-Share” collaborative learning technique that is being used in the design structures has been chosen because of its simplicity and relatively low-risk. Later, the physical design of the prototype model is being constructed using the Web-based technologies which are the MySQL database, PHP and Apache web server. This paper also discusses the impact of the online collaborative learning system towards the students’ performance where analysis has shown that the t-test result had a significant value of 0.01, which is less than 0.05 (sig. 2-tailed)

    Improving Learning of Programming Through E-Learning by Using Asynchronous Virtual Pair Programming

    Get PDF
    The problem of learning programming subjects, especially through distance learning and E-Learning, has been widely reported in literatures. Many attempts have been made to solve these problems. This has led to many new approaches in the techniques of learning of programming. One of the approaches that have been proposed is the use of virtual pair programming (VPP). Most of the studies about VPP in distance learning or e-learning environment focus on the use of the synchronous mode of collaboration between learners. Not much research have been done about asynchronous VPP. This paper describes how we have implemented VPP and a research that has been carried out to study the effectiveness of asynchronous VPP for learning of programming. In particular, this research study the effectiveness of asynchronous VPP in the learning of object-oriented programming among students at Open University Malaysia (OUM). The result of the research has shown that most of the learners have given positive feedback, indicating that they are happy with the use of asynchronous VPP. At the same time, learners did recommend some extra features that could be added in making asynchronous VPP more enjoyable. (Authors' abstract

    Facilitating Online Learning via Zoom Breakout Room Technology : A Case of Pair Programming Involving Students with Learning Disabilities

    Get PDF
    The coronavirus disease of 2019 (COVID-19) pandemic has required many educators to redesign how they deliver their courses. In this study, we develop innovative procedures and pedagogy to teach pair programming via Zoom breakout rooms in a cloud environment. We report six fundamental innovative teaching mechanisms and procedures: 1) strategically planning a course, 2) effectively managing teaching resources, 3) enhancing faculty responsiveness, 4) selecting reliable technology, 5) mandating online educator’s training, and 6) accommodating students with learning disabilities. From teaching pair programming via Zoom breakout rooms, we have gained valuable experience in promoting collaborative, engaging, active, and problem-based learning activities in a cloud environment. Our results enrich our knowledge of delivering online education and contribute to pair programming literature in general

    Exploring second life as a learning environment for computer programming

    Full text link
    Computer programming can be challenging for beginners because of the need to understand abstract programming concepts. In this paper, we study the use of the Second Life (SL) virtual world for learning computer programming concepts. We conduct an empirical study for learning computer programming in SL by addressing affordances of SL for experiential problem-based learning pedagogies. We present preliminary findings, the promises and the limitations of Second Life as an environment for learning computer programming

    DIVERSE: a Software Toolkit to Integrate Distributed Simulations with Heterogeneous Virtual Environments

    Get PDF
    We present DIVERSE (Device Independent Virtual Environments- Reconfigurable, Scalable, Extensible), which is a modular collection of complimentary software packages that we have developed to facilitate the creation of distributed operator-in-the-loop simulations. In DIVERSE we introduce a novel implementation of remote shared memory (distributed shared memory) that uses Internet Protocol (IP) networks. We also introduce a new method that automatically extends hardware drivers (not in the operating system kernel driver sense) into inter-process and Internet hardware services. Using DIVERSE, a program can display in a CAVE™, ImmersaDesk™, head mounted display (HMD), desktop or laptop without modification. We have developed a method of configuring user programs at run-time by loading dynamic shared objects (DSOs), in contrast to the more common practice of creating interpreted configuration languages. We find that by loading DSOs the development time, complexity and size of DIVERSE and DIVERSE user applications is significantly reduced. Configurations to support different I/O devices, device emulators, visual displays, and any component of a user application including interaction techniques, can be changed at run-time by loading different sets of DIVERSE DSOs. In addition, interpreted run-time configuration parsers have been implemented using DIVERSE DSOs; new ones can be created as needed. DIVERSE is free software, licensed under the terms of the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL) licenses. We describe the DIVERSE architecture and demonstrate how DIVERSE was used in the development of a specific application, an operator-in-the-loop Navy ship-board crane simulator, which runs unmodified on a desktop computer and/or in a CAVE with motion base motion queuing
    • …
    corecore