12 research outputs found

    Effective Compiler Error Message Enhancement for Novice Programming Students

    Get PDF
    Programming is an essential skill that all computing students must master. However programming can be difficult to learn. Compiler error messages are crucial for correcting errors, but are often difficult to understand and pose a barrier to progress for many novices. High frequencies of errors, particularly repeated errors, have been shown to be indicators of students who are struggling with learning to program. This study involves a custom IDE that enhances Java compiler error messages, intended to be more useful to novices than those supplied by the compiler. The effectiveness of this approach was tested in an empirical control/intervention study of approximately 200 students generating almost 50,000 errors. The design allows for direct comparisons between enhanced and non-enhanced error messages. Results show that the intervention group experienced reductions in the number of overall errors, errors per student, and several repeated error metrics. This work is important for two reasons. First, the effects of error message enhancement have been recently debated in the literature. This study provides substantial evidence that it can be effective. Second, these results should be generalizable at least in part, to other programming languages, students and institutions, as we show that the control group of this study is comparable to several others using Java and other languages

    Thinking in imperative or objects? A study on how novice programmer thinks when it comes to designing an application

    Get PDF
    Novice programming is a challenging subject to teach and learn. However, programming is an essential skill that is required by many majors apart from Computer Science. The challenges in a novice programming subject change according to the programming language used. At the beginning of the 90s, the object-oriented programming was introduced. Detienne claimed that it is easier for programmers to program using the object-first approach as humans think naturally in objects. The IEEE and ACM joint task force on Computing Curriculum proposed two tracks of curriculum, one for imperative-first and the other for objectfirst implementation. However, most of the work conducted on novice programming focused on the issues of syntax errors, reducing the possibilities of syntax error through a new or adapted programming environment. This paper will present the preliminary work to investigate if students will naturally think in objects or a series of steps. Three intervention methods were implemented in three different workshops. The intervention methods are the object-first, the imperative-first and the problem-solving-first. The students are then requested to design an application. Through the design, the research will identify if the students use the object-first or the imperative-first design. Assuming that the object-first intervention group will design primarily in objects, and the imperative-first intervention group in a series of steps, the problem-solving intervention will be the ”neutral” group. The object-first design is reflected through the attributes and methods of a particular object. The imperative-first design is identified if the solution contains a series of steps. The findings show that most of the students designed the application using a series of steps reflecting the imperative-first design. This finding should be included when considering if imperative-first or object-first should be the way forward for a novice programming subject

    Institutional Teaching, Learning and Assessment Strategy, July 2015 to July 2020; Version 3 – July 2017 (updated February 2018)

    Get PDF
    Teaching, learning and assessment at CCT College Dublin takes place in the national and international context of Higher education. We recognise the importance of a carefully considered teaching, learning and assessment strategy spanning the diverse needs of the institution, its programmes and stakeholders. This is the Teaching, Learning and Assessment Strategy 2015 to 2020 and supports and enhances teaching, learning and assessment across the institution and through all programmes. It reflects the current practices within the environment while recognising the on-going positive developments within the sector and beyond, allowing for continuous audit, enhancement and improvement. While smaller documents and policies have been developed relating to teaching and learning, this is the first major teaching, learning and assessment strategy production for CCT College Dublin

    Institutional Teaching, Learning and Assessment Strategy July 2015 - July 2020

    Get PDF
    CCT\u27s Institutional Strategic Plan in respect of Teaching, Learning and Assessment effective from 2015 to 2020

    Institutional Teaching, Learning and Assessment Strategy July 2015 to July 2020

    Get PDF
    The Strategy was updated in 2016 and 2018. In 2020, a CCT Working Group on the Teaching, Learning and Assessment Strategy was formed to update the current iteration

    Online tools to support novice programming: A systematic review

    Get PDF
    Novice programming is a challenging subject to both the students and the educators. A novice programmer is required to acquire new knowledge to solve a problem and propose a solution systematically. This is followed by constructing the solution in a development environment that they are unfamiliar with. This research looks at the challenges faced by a novice programmer and the online methods that are popular to assist the students. Online block programming is a popular option. One of the software that had been implemented in the various research project is Scratch. From the reviewed research, it shows that the trend is moving towards an intelligent tutoring system, where students can have personalized engagement for their learning experience. This paper presents a systematic review conducted using the keywords ”novice programming”, ”introductory”, ”CS1”, ”difficulties”, ”challenges”, and ”threshold concepts”. From the review conducted, it is observed that most of the work is carried out to ease the implementation of the solution through an integrated development environment, and block programming. On the support for instructors, the discussion on curriculum and challenges in CS1 tops the chart. This is followed by active learning through online tools

    Correlation of stress and physiological data

    Get PDF
    Stress is a mental pressure caused by demanding circumstances, tasks or environment that we live in our daily life. Long-term stress like Chronic stress has a longer negative emotional effect and in a long-term uncontrolled situation, it could damage health and prone to the huge risk of mental and cardiac diseases. Workplace stress is one of the major stress factors that affect the young working people. According to the World Organization for Stress and the American Institute of Stress, the number of patients with stressrelated diseases has been increasing at a drastic rate. Among all people, adults and working people have been reported as being highly affected by stress diseases. In this thesis, the stress of computer programmers is researched with the participants from software development professionals and students at the university. Their physiological data is examined to find the existence of such features that can signal the different stress levels which can be useful in developing stress aware systems. The physiological activity data is collected using an existing computer peripheral like mouse and keyboards whereas a popular statistical analysis method called Pearson correlation is used to inspect the correlation between stress and physiological data. Such features can be used to model a stress classifier in future which can help in the prediction of stress and provide assistance in mental and psychological well-being. As a process of organizing and conducting the research successfully, the research proceeds through a series of phases like planning, research on related fields, design an experiment, data collection and finally data analysis and interpreting the result

    Understanding and Addressing Misconceptions in Introductory Programming: A Data-Driven Approach

    Get PDF
    With the expansion of computer science (CS) education, CS teachers in K-12 schools should be cognizant of student misconceptions and be prepared to help students establish accurate understanding of computer science and programming. This exploratory design-based research (DBR) study implemented a data-driven approach to identify secondary school students’ misconceptions using both their compilation and test errors and provide targeted feedback to promote students’ conceptual change in introductory programming. Research subjects were two groups of high school students enrolled in two sections of a Java-based programming course in a 2017 summer residential program for gifted and talented students. This study consisted of two stages. In the first stage, students of group 1 took the introductory programming class and used an automated learning system, Mulberry, which collected data on student problem-solving attempts. Data analysis was conducted to identify common programming errors students demonstrated in their programs and relevant misconceptions. In the second stage, targeted feedback to address these misconceptions was designed using principles from conceptual change and feedback theories and added to Mulberry. When students of group 2 took the same introductory programming class and solved programming problems in Mulberry, they received the targeted feedback to address their misconceptions. Data analysis was conducted to assess how the feedback affected the evolution of students’ (mis)conceptions. Using students’ erroneous solutions, 55 distinct compilation errors were identified, and 15 of them were categorized as common ones. The 15 common compilation errors accounted for 92% of all compilation errors. Based on the 15 common compilation errors, three underlying student misconceptions were identified, including deficient knowledge of fundamental Java program structure, misunderstandings of Java expressions, and confusion about Java variables. In addition, 10 common test errors were identified based on nine difficult problems. The results showed that 54% of all test errors were related to the difficult problems, and the 10 common test errors accounted for 39% of all test errors of the difficult problems. Four common student misconceptions were identified based on the 10 common test errors, including misunderstandings of Java input, misunderstandings of Java output, confusion about Java operators, and forgetting to consider special cases. Both quantitative and qualitative data analysis were conducted to see whether and how the targeted feedback affected students’ solutions. Quantitative analysis indicated that targeted feedback messages enhanced students’ rates of improving erroneous solutions. Group 2 students showed significantly higher improvement rates in all erroneous solutions and solutions with common errors compared to group 1 students. Within group 2, solutions with targeted feedback messages resulted in significantly higher improvement rates compared to solutions without targeted feedback messages. Results suggest that with targeted feedback messages students were more likely to correct errors in their code. Qualitative analysis of students’ solutions of four selected cases determined that students of group 2, when improving their code, made fewer intermediate incorrect solutions than students in group 1. The targeted feedback messages appear to have helped to promote conceptual change. The results of this study suggest that a data-driven approach to understanding and addressing student misconceptions, which is using student data in automated assessment systems, has the potential to improve students’ learning of programming and may help teachers build better understanding of their students’ common misconceptions and develop their pedagogical content knowledge (PCK). The use of automated assessment systems with misconception identification components may be helpful in pre-college introductory programming courses and so is encouraged as K-12 CS education expands. Researchers and developers of automated assessment systems should develop components that support identifying common student misconceptions using both compilation and non-compilation errors. Future research should continue to investigate the use of targeted feedback in automated assessment systems to address students’ misconceptions and promote conceptual change in computer science education
    corecore