Novice Programmer

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 3846 Experts worldwide ranked by ideXlab platform

Raymond Lister - One of the best experts on this subject based on the ideXlab platform.

  • ITiCSE - Syntax error based quantification of the learning progress of the Novice Programmer
    Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education - ITiCSE 2018, 2018
    Co-Authors: Alireza Ahadi, Raymond Lister, Luke Mathieson
    Abstract:

    Recent data-driven research has produced metrics for quantifying a Novice Programmer's error profile, such as Jadud's error quotient. However, these metrics tend to be context dependent and contain free parameters. This paper reviews the caveats of such metrics and proposes a more general approach to developing a metric. The online implementation of the proposed metric is publicly available at http://online-analysis-demo.herokuapp.com/.

  • syntax error based quantification of the learning progress of the Novice Programmer
    Integrating Technology into Computer Science Education, 2018
    Co-Authors: Alireza Ahadi, Raymond Lister, Luke Mathieson
    Abstract:

    Recent data-driven research has produced metrics for quantifying a Novice Programmer's error profile, such as Jadud's error quotient. However, these metrics tend to be context dependent and contain free parameters. This paper reviews the caveats of such metrics and proposes a more general approach to developing a metric. The online implementation of the proposed metric is publicly available at http://online-analysis-demo.herokuapp.com/.

  • ACE - Longitudinal think aloud study of a Novice Programmer
    2014
    Co-Authors: Donna Teague, Raymond Lister
    Abstract:

    Recent research from within a neo-Piagetian perspective proposes that Novice Programmers pass through the sensorimotor and preoperational stages before being able to reason at the concrete operational stage. However, academics traditionally teach and assess introductory programming as if students commence at the concrete operational stage. In this paper, we present results from a series of think aloud sessions with a single student, known by the pseudonym "Donald". We conducted the sessions mainly over one semester, with an additional session three semesters later. Donald first manifested predominately sensorimotor reasoning, followed by preoperational reasoning, and finally concrete operational reasoning. This longitudinal think aloud study of Donald is the first direct observational evidence of a Novice Programmer progressing through the neo-Piagetian stages.

  • Longitudinal think aloud study of a Novice Programmer
    Science & Engineering Faculty, 2014
    Co-Authors: Donna Teague, Raymond Lister
    Abstract:

    Recent research from within a neo-Piagetian perspective proposes that Novice Programmers pass through the sensorimotor and preoperational stages before being able to reason at the concrete operational stage. However, academics traditionally teach and assess introductory programming as if students commence at the concrete operational stage. In this paper, we present results from a series of think aloud sessions with a single student, known by the pseudonym “Donald”. We conducted the sessions mainly over one semester, with an additional session three semesters later. Donald first manifested predominately sensorimotor reasoning, followed by preoperational reasoning, and finally concrete operational reasoning. This longitudinal think aloud study of Donald is the first direct observational evidence of a Novice Programmer progressing through the neo-Piagetian stages.

  • Concrete and other neo-Piagetian forms of reasoning in the Novice Programmer
    2011
    Co-Authors: Raymond Lister
    Abstract:

    This paper brings together a number of empirical research results on Novice Programmers, using a neo-Piagetian theoretical framework. While there already exists literature connecting programming with classical Piagetian theory, in this paper we apply neo-Piagetian theory. Using that neo-Piagetian perspective, we offer an explanation as to why attempts to predict ability for programming via classical Piagetian tests have yielded mixed results. We offer a neo-Piagetian explanation of some of the previously puzzling observations about Novice Programmers, such as why many of them make little use of diagrams, and why they often manifest a non-systematic approach to writing programs. We also develop the relatively unexplored relationship between concrete operational reasoning and programming, by exploring concepts such as conservation and reversibility.

Danny Kopec - One of the best experts on this subject based on the ideXlab platform.

  • revisiting Novice Programmer errors
    Technical Symposium on Computer Science Education, 2007
    Co-Authors: Gavriel Yarmish, Danny Kopec
    Abstract:

    Although Programmer errors have been investigated, only a limited range of error types typically made by Novices have been scrutinized. In this paper we present an expanded classification of the types of errors considered in previous research. In particular, problems which require the use of more difficult program constructs such as nested loops, arrays, recursion and functions have been somewhat neglected. We hope this paper will encourage other researchers to further analyze the types of errors advanced Novices will make and the types of misunderstandings which underlie such errors.

Michael Kolling - One of the best experts on this subject based on the ideXlab platform.

  • A New Look at Novice Programmer Errors
    ACM Transactions on Computing Education, 2019
    Co-Authors: Davin Mccall, Michael Kolling
    Abstract:

    The types of programming errors that Novice Programmers make and struggle to resolve have long been of interest to researchers. Various past studies have analyzed the frequency of compiler diagnostic messages. This information, however, does not have a direct correlation to the types of errors students make, due to the inaccuracy and imprecision of diagnostic messages. Furthermore, few attempts have been made to determine the severity of different kinds of errors in terms other than frequency of occurrence. Previously, we developed a method for meaningful categorization of errors, and produced a frequency distribution of these error categories; in this article, we extend the previous method to also make a determination of error difficulty, in order to give a better measurement of the overall severity of different kinds of errors. An error category hierarchy was developed and validated, and errors in snapshots of students source code were categorized accordingly. The result is a frequency table of logical error categories rather than diagnostic messages. Resolution time for each of the analyzed errors was calculated, and the average resolution time for each category of error was determined; this defines an error difficulty score. The combination of frequency and difficulty allow us to identify the types of error that are most problematic for Novice Programmers. The results show that ranking errors by severity—a product of frequency and difficulty—yields a significantly different ordering than ranking them by frequency alone, indicating that error frequency by itself may not be a suitable indicator for which errors are actually the most problematic for students.

  • meaningful categorisation of Novice Programmer errors
    Frontiers in Education Conference, 2014
    Co-Authors: Davin Mccall, Michael Kolling
    Abstract:

    The frequency of different kinds of error made by students learning to write computer programs has long been of interest to researchers and educators. In the past, various studies investigated this topic, usually by recording and analysing compiler error messages, and producing tables of relative frequencies of specific errors diagnostics produced by the compiler. In this paper, we improve on such prior studies by investigating actual logical errors in student code, as opposed to diagnostic messages produced by the compiler. The actual errors reported here are more precise, more detailed and more accurate than the diagnostic produced automatically. In order to present frequencies of actual errors, error categories were developed and validated, and student code captured at time of compilation failure was manually analysed by multiple researchers. The results show that error causes can be manually analysed by independent researchers with good reliability. The resulting table of error frequencies shows that prior work using diagnostic messages tended to group some distinct errors together in single categories, which can now be listed more accurately.

Pratiksha Somani - One of the best experts on this subject based on the ideXlab platform.

  • the Error Occurring to a Novice Programmer
    2014
    Co-Authors: Aniket Bhawkar, Rohit Belsare, Fenil G, Pratiksha Somani
    Abstract:

    For a Novice Programmer, coding is equivalent to a nightmare. A Novice Programmer tries to replicate steps provided by the faculty and on compilation gets a number of errors which the Novice Programmer is not able to resolve. This system provides support to the faculty about the coding ability of the students and their ability to solve those errors. Also, the faculty can provide a solution to the errors which are occurring to the students and the solution is displayed accordingly. The emphasis of this paper is on developing this system within JAVA and making use of Online Compilers. Moreover, we focus on a new system which is able to provide online code management and these codes get compiled using an online compiler and these programs can be viewed by the respective faculty for cross verification. This paper takes into account the syntactic errors, runtime and semantic errors

  • Analysis of Errors: A Support System for Teachers to Analyse the Error Occurring to a Novice Programmer.
    arXiv: Computers and Society, 2013
    Co-Authors: Aniket Bhawkar, Rohit Belsare, Fenil Gandhi, Pratiksha Somani
    Abstract:

    For a Novice Programmer, coding is equivalent to a nightmare. A Novice Programmer tries to replicate steps provided by the faculty and on compilation gets a number of errors which the Novice Programmer is not able to resolve. This system provides support to the faculty about the coding ability of the students and their ability to solve those errors. Also, the faculty can provide a solution to the errors which are occurring to the students and the solution is displayed accordingly. The emphasis of this paper is on developing this system within JAVA and making use of Online Compilers. Moreover, we focus on a new system which is able to provide online code management and these codes get compiled using an online compiler and these programs can be viewed by the respective faculty for cross verification. This paper takes into account the syntactic errors, runtime and semantic errors.

  • Analysis of Errors Analysis of Errors Analysis of Errors Analysis of Errors -- A Support System for Teachers to Analyze A Support System for Teachers to Analyze A Support System for Teachers to Analyze A Support System for Teachers to Analyze the Err
    2013
    Co-Authors: Aniket Bhawkar, Rohit Belsare, Fenil Gandhi, Pratiksha Somani
    Abstract:

    For a Novice Programmer, coding is equivalent to a nightmare. A Novice Programmer tries to replicate steps provided by the faculty and on compilation gets a number of errors which the Novice Programmer is not able to resolve. This system provides support to the faculty about the coding ability of the students and their ability to solve those errors. Also, the faculty can provide a solution to the errors which are occurring to the students and the solution is displayed accordingly. The emphasis of this paper is on developing this system within JAVA and making use of Online Compilers. Moreover, we focus on a new system which is able to provide online code management and these codes get compiled using an online compiler and these programs can be viewed by the respective faculty for cross verification. This paper takes into account the syntactic errors, runtime and semantic errors.

Davin Mccall - One of the best experts on this subject based on the ideXlab platform.

  • A New Look at Novice Programmer Errors
    ACM Transactions on Computing Education, 2019
    Co-Authors: Davin Mccall, Michael Kolling
    Abstract:

    The types of programming errors that Novice Programmers make and struggle to resolve have long been of interest to researchers. Various past studies have analyzed the frequency of compiler diagnostic messages. This information, however, does not have a direct correlation to the types of errors students make, due to the inaccuracy and imprecision of diagnostic messages. Furthermore, few attempts have been made to determine the severity of different kinds of errors in terms other than frequency of occurrence. Previously, we developed a method for meaningful categorization of errors, and produced a frequency distribution of these error categories; in this article, we extend the previous method to also make a determination of error difficulty, in order to give a better measurement of the overall severity of different kinds of errors. An error category hierarchy was developed and validated, and errors in snapshots of students source code were categorized accordingly. The result is a frequency table of logical error categories rather than diagnostic messages. Resolution time for each of the analyzed errors was calculated, and the average resolution time for each category of error was determined; this defines an error difficulty score. The combination of frequency and difficulty allow us to identify the types of error that are most problematic for Novice Programmers. The results show that ranking errors by severity—a product of frequency and difficulty—yields a significantly different ordering than ranking them by frequency alone, indicating that error frequency by itself may not be a suitable indicator for which errors are actually the most problematic for students.

  • Novice Programmer errors analysis and diagnostics
    2016
    Co-Authors: Davin Mccall
    Abstract:

    All Programmers make errors when writing program code, and for Novices the difficulty of repairing errors can be frustrating and demoralising. It is widely recognised that compiler error diagnostics can be inaccurate, imprecise, or otherwise difficult for Novices to comprehend, and many approaches to mitigating the difficulty of dealing with errors are centered around the production of diagnostic messages with improved accuracy and precision, and revised wording considered more suitable for Novices. These efforts have shown limited success, partially due to uncertainty surrounding the types of error that students actually have the most difficulty with - which has most commonly been assessed by categorising them according to the diagnostic message already produced - and a traditional approach to the error diagnosis process which has known limitations. In this thesis we detail a systematic and thorough approach both to analysing which errors that are most problematic for students, and to automated diagnosis of errors. We detail a methodology for developing a category schema for errors and for classifying individual errors in student programs according to such a schema. We show that this classification results in a different picture of the distribution of error types when compared to a classification according to diagnostic messages. We formally define the severity of an error type as a product of its frequency and difficulty, and by using repair time as an indicator of difficulty we show that error types rank differently via severity than they do by frequency alone. Having developed a ranking of errors according to severity, we then investigate the contextual information within source code that experienced Programmers can use to more accurately and precisely classify errors than compiler tools typically do. We show that, for a number of more severe errors, these techniques can be applied in an automated tool to provide better diagnostics than are provided by traditional compilers.

  • meaningful categorisation of Novice Programmer errors
    Frontiers in Education Conference, 2014
    Co-Authors: Davin Mccall, Michael Kolling
    Abstract:

    The frequency of different kinds of error made by students learning to write computer programs has long been of interest to researchers and educators. In the past, various studies investigated this topic, usually by recording and analysing compiler error messages, and producing tables of relative frequencies of specific errors diagnostics produced by the compiler. In this paper, we improve on such prior studies by investigating actual logical errors in student code, as opposed to diagnostic messages produced by the compiler. The actual errors reported here are more precise, more detailed and more accurate than the diagnostic produced automatically. In order to present frequencies of actual errors, error categories were developed and validated, and student code captured at time of compilation failure was manually analysed by multiple researchers. The results show that error causes can be manually analysed by independent researchers with good reliability. The resulting table of error frequencies shows that prior work using diagnostic messages tended to group some distinct errors together in single categories, which can now be listed more accurately.