655 research outputs found

    A graphical programming interface for a children's constructionist learning environment

    Get PDF
    Thesis (M.Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1998.Includes bibliographical references (p. 41).by Andrew C. Cheng.M.Eng

    Functional Baby Talk: Analysis of Code Fragments from Novice Haskell Programmers

    Get PDF
    What kinds of mistakes are made by novice Haskell developers, as they learn about functional programming? Is it possible to analyze these errors in order to improve the pedagogy of Haskell? In 2016, we delivered a massive open online course which featured an interactive code evaluation environment. We captured and analyzed 161K interactions from learners. We report typical novice developer behavior; for instance, the mean time spent on an interactive tutorial is around eight minutes. Although our environment was restricted, we gain some understanding of Haskell novice errors. Parenthesis mismatches, lexical scoping errors and do block misunderstandings are common. Finally, we make recommendations about how such beginner code evaluation environments might be enhanced

    Educational crowdsourcing to support the learning of computer programming

    Get PDF
    Technology has been used in the last three decades to support teaching and learning. However, educational software has frequently been under investigation to check the validity of their benefits. There is a demand for increasingly intelligent pedagogically-grounded computer technology. In this paper, we discuss adaptive, crowd sourced, and primarily educational technology; targeted at software development students. The proposed technology caters for either individual or group learning. It differentiates itself from other tutoring and programming support technologies as it will continually monitor and assess students’ performance in each phase of the educating process. It will also guide them in their learning through interactive feedback and adaptive curriculum delivery that suits both their current levels of learning and preferred learning styles. Keywords: Technology and Education; Coding; Teaching and Learning; Computer Programming; Adaptive Software

    An Overview of the Current State of the Test-First vs. Test-Last Debate

    Get PDF
    When it comes to software development, perhaps one of the most important and time consuming processes is that of software testing. In fact, early studies on software testing estimated that it could consume fifty percent or more of development costs for a product. Because of this, the ability to optimize testing to reduce testing costs can be very valuable. In this paper we compare two popular methods, test-last testing, often used in waterfall software development processes, and test-first testing, often used in Agile test driven software development methods, by reviewing recent studies on the subject. In this review we discuss the possible benefits of test-first and test-last testing and possible problems with the current data comparing these two testing methods. After that, we explore other methods in test-first testing besides test driven development, such as behavior driven development, in an attempt to and a better test-first testing model. In the end we discuss our results and potential future studies to help clarify current data

    The Example Guru: Suggesting Examples to Novice Programmers in an Artifact-Based Context

    Get PDF
    Programmers in artifact-based contexts could likely benefit from skills that they do not realize exist. We define artifact-based contexts as contexts where programmers have a goal project, like an application or game, which they must figure out how to accomplish and can change along the way. Artifact-based contexts do not have quantifiable goal states, like the solution to a puzzle or the resolution of a bug in task-based contexts. Currently, programmers in artifact-based contexts have to seek out information, but may be unaware of useful information or choose not to seek out new skills. This is especially problematic for young novice programmers in blocks programming environments. Blocks programming environments often lack even minimal in-context support, such as auto-complete or in-context documentation. Novices programming independently in these blocks-based programming environments often plateau in the programming skills and API methods they use. This work aims to encourage novices in artifact-based programming contexts to explore new API methods and skills. One way to support novices may be with examples, as examples are effective for learning and highly available. In order to better understand how to use examples for supporting novice programmers, I first ran two studies exploring novices\u27 use and focus on example code. I used those results to design a system called the Example Guru. The Example Guru suggests example snippets to novice programmers that contain previously unused API methods or code concepts. Finally, I present an approach for semi-automatically generating content for this type of suggestion system. This approach reduces the amount of expert effort required to create suggestions. This work contains three contributions: 1) a better understanding of difficulties novices have using example code, 2) a system that encourages exploration and use of new programming skills, and 3) an approach for generating content for a suggestion system with less expert effort

    Improving Student's Engagement Through the Use of Learning Modules, Instantaneous Feedback and Automated Marking

    Get PDF
    © 2018 IEEE. This is the accepted manuscript version of an article which has been published in final form at https://doi.org/10.1109/TALE.2018.8615306Assessment is central in effective teaching. This research sets out to discover the impact and effectiveness of timely assessment and feedback on student performance and engagement. Qualitative and quantitative data is collected from two cohorts of students with different levels of engagement. We have shown that more regular feedback and engagement resulted in a significantly improved pass rate and average mark. In conclusion, enabling timely assessment and feedback can improve student performance and give educators tools that make this process more manageable
    • …
    corecore