10 research outputs found

    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

    Teaching Specifications Using An Interactive Reasoning Assistant

    Get PDF
    The importance of verifiably correct software has grown enormously in recent years as software has become integral to the design of critical systems, including airplanes, automobiles, and medical equipment. Hence, the importance of solid analytical reasoning skills to complement basic programming skills has also increased. If developers cannot reason about the software they design, they cannot ensure the correctness of the resulting systems. And if these systems fail, the economic and human costs can be substantial. In addition to learning analytical reasoning principles as part of the standard Computer Science curriculum, students must be excited about learning these skills and engaged in their practice. Our approach to achieving these goals at the introductory level is based on the Test Case Reasoning Assistant (TCRA), interactive courseware that allows students to provide test cases that demonstrate their understanding of instructor-supplied interface specifications while receiving immediate feedback as they work. The constituent tools also enable instructors to rapidly generate graphs of student performance data to understand the progress of their classes. We evaluate the courseware using two case-studies. The evaluation centers on understanding the impact of the tool on students\u27 ability to read and interpret specifications

    Programming Learning Requirements Based on Multi Perspectives

    Get PDF
    Students occasionally find it difficult to learn new programming languages. They often confront unfamiliar programming terms and having difficulty to visualize the processes that happen in computer memory. Weak students find this a burden and end up memorizing the processes without understanding them and their workings. This situation invariably leads students to obtain low grades in their programming subjects. The preliminary investigation of survey was produce in previous work; the results showed that students have experienced ineffective learning, lack of interest towards this course and lack of motivation. Therefore, the main objective of this study is to identify programming learning requirements based on previous work and verified from two perspectives (experts and students). Finally, the result was a group of requirements that should be considered in programming language cours

    An Intelligent Debugging Tutor For Novice Computer Science Students

    Get PDF
    Debugging is a necessary aspect of computer science that can be difficult for novices and experienced programmers alike. This skill is mainly self-taught and is generally gained through trial and error, perhaps with some assistance from a professor or other expert figure. Novices encountering their first software defects may have few avenues open to them depending on the environment in which they are learning to program. The evident problem here is that the potential for a student to become stuck, frustrated, and/or losing confidence in their ability to pursue computer science is great. For a student to be successful when working professionally or progressing through academia they need to be able to function independently; trusting their own knowledge on par or above that of others so that their productivity does not rely on the knowledge of someone else. In order to solve this problem an Intelligent Tutoring System for teaching debugging skills to the novice utilizing Case Based Reasoning, Static Program Slicing, and the student\u27s preferred learning style was proposed. Case acquisition and automatic Exercise Generation were also explored. The system built for this research program was evaluated using novice students at the College and High School levels. Results of this evaluation produced statistically significant results at the p\u3c.05 and p\u3c.01 levels, with generated exercises exhibiting significance at the p\u3c.01 level. These results prove that the methodology chosen is a valid approach for the problem described, that the system does in fact teach students how to debug programs, and that the system is capable of successfully generating exercises on the fly

    Ontology-Based Open-Corpus Personalization for E-Learning

    Get PDF
    Conventional closed-corpus adaptive information systems control limited sets of documents in predefined domains and cannot provide access to the external content. Such restrictions contradict the requirements of today, when most of the information systems are implemented in the open document space of the World Wide Web and are expected to operate on the open-corpus content. In order to provide personalized access to open-corpus documents, an adaptive system should be able to maintain modeling of new documents in terms of domain knowledge automatically and dynamically. This dissertation explores the problem of open-corpus personalization and semantic modeling of open-corpus content in the context of e-Learning. Information on the World Wide Web is not without structure. Many collections of online instructional material (tutorials, electronic books, digital libraries, etc.) have been provided with implicit knowledge models encoded in form of tables of content, indexes, headers of chapters, links between pages, and different styles of text fragments. The main dissertation approach tries to leverage this layer of hidden semantics by extracting and representing it as coarse-grained models of content collections. A central domain ontology is used to maintain overlay modeling of students’ knowledge and serves as a reference point for multiple collections of external instructional material. In order to establish the link between the ontology and the open-corpus content models a special ontology mapping algorithm has been developed. The proposed approach has been applied in the Ontology-based Open-corpus Personalization Service that recommends and adaptively annotates online reading material. The domain of Java programming has been chosen for the proof-of-concept implementation. A controlled experiment has been organized to evaluate the developed adaptive system and the proposed approach overall. The results of the evaluation have demonstrated several significant learning effects of the implemented open-corpus personalization. The analysis of log-based data has also shown that the open-corpus version of the system is capable of providing personalization of similar quality to the close-corpus one. Such results indicate that the proposed approach successfully supports open-corpus personalization for e-Learning. Further research is required to verify if the approach remains effective in other subject domains and with other types of instructional content

    Colecciones, correctores y generadores automáticos de ejercicios de programación

    Get PDF
    Este artículo pretende analizar algunos de los logros conseguidos en el ámbito de las colecciones, correctores y generadores automáticos de ejercicios. Se presta particular atención a problemas de programación, pero se consideran metodologías y temáticas comunes a otras disciplinas. Recientemente se han desarrollado múltiples herramientas pero falta una sistematización de las mismas. El objetivo del artículo es consolidar el conocimiento de estos sistemas, lo que puede ser la base para un uso más racional de ellos y para identificar mejoras.El trabajo se ha financiado con el proyecto TIC2000-1413 de la CICYT

    Tools and Environments

    Get PDF
    Teaching and learning how to build software are central aspects of computing education, and the tools which we use to support this are themselves a focus of research and innovation. This chapter considers tools designed or predominately used for education; from software development environments to automatic assessment tools, visualization, and educational games platforms. It looks at not just the history and state-of-the-art of these tools, but also at the challenges and opportunities in researching with and about them

    Computing Education: An Overview of Research in the Field

    Get PDF

    Efficient Use of Teaching Technologies with Programming Education

    Get PDF
    Learning and teaching programming are challenging tasks that can be facilitated by using different teaching technologies. Visualization systems are software systems that can be used to help students in forming proper mental models of executed program code. They provide different visual and textual cues that help student in abstracting the meaning of a program code or an algorithm. Students also need to constantly practice the skill of programming by implementing programming assignments. These can be automatically assessed by other computer programs but parts of the evaluation need to be assessed manually by teachers or teaching assistants.There are a lot of existing tools that provide partial solutions to the practical problems of programming courses: visualizing program code, assessing student programming submissions automatically or rubrics that help keeping manual assessment consistent. Taking these tools into use is not straightforward. To succeed, the teacher needs to find the suitable tools and properly integrate them into the course infrastructure supporting the whole learning process. As many programming courses are mass courses, it is a constant struggle between providing sufficient personal guidance and feedback while retaining a reasonable workload for the teacher.This work answers to the question "How can the teaching of programming be effectively assisted using teaching technologies?" As a solution, different learning taxonomies are presented from Computer Science perspective and applied to visualization examples so the examples could be used to better support deeper knowledge and the whole learning process within a programming course. Then, different parts of the assessment process of programming assignments are studied to find the best practices in supporting the process, especially when multiple graders are being used, to maintain objectivity, consistency and reasonable workload in the grading.The results of the work show that teaching technologies can be a valuable aid for the teacher to support the learning process of the students and to help in the practical organization of the course without hindering the learning results or personalized feedback the students receive from their assignments. This thesis presents new visualization categories that allow deeper cognitive development and examples on how to integrate them efficiently into the course infrastructure. This thesis also presents a survey of computer-assisted assessment tools and assessable features for teachers to use in their programming assignments. Finally, the concept of rubric-based assessment tools is introduced to facilitate the manual assessment part of programming assignments

    Enhancing comprehension in open distance learning computer programming education with visualization

    Get PDF
    This thesis describes a research project aimed at improving the tracing skills of first-year programming students enrolled for an introductory C++ course at an open distance learning institution by means of a tutorial in the form of a program visualization tool to teach the students to draw variable diagrams. The research was based on the findings from the BRACElet project (Clear, Whalley, Robbins, Philpott, Eckerdal, Laakso & Lister, 2011). A design-based research methodology was followed. To guide the process of developing the tutorial, a framework of 26 guidelines for developing and using visualization tools to teach programming was synthesized from the literature on computing education research CER, educational psychology and computer graphics. Guidelines were supplemented with reasons or explanations for their recommendation and considerations to be taken into account when using a guideline. The framework was enhanced by lessons learnt during the development and testing of the tutorial. The tutorial was tested and refined during two implementation cycles. Both cycles included quantitative and qualitative investigations. All students registered for the introductory module received the tool with their study material. For the quantitative investigations, students completed a questionnaire after using the tutorial. Through the questionnaire biographical data was acquired, the manner in which students used the tutorial and how they experienced using it. The responses to the questionnaires were statistically analysed in combination with respondents’ final marks. The statistical modelling indicated that the students’ biographical properties (a combination of level of programming experience, marks obtained for Mathematics and English in matric and first-time registration for COS1511 or not), had the biggest impact on their final marks by far. During the qualitative investigations students were eye tracked in a Human-Computer Interaction laboratory. The gaze replays in both cycles revealed that students’ reading skills impacted largely on their success, connecting with the findings from the quantitative investigations. Reflections on why the tutorial did not achieve its purpose; and why poor reading skills may have such a strong effect on learning to program, contribute some theoretical understanding as to how novices learn to program.Computer ScienceD. Phil. (Computer Science
    corecore