This Research Full Paper presents a study of programming strategies to manipulate data series presented in a range of CS1 courses. We collected and analyzed programs from multiple institutions in different countries, covering a range of programming languages (Python, Java, Go, and C). We started from a list of core strategies (that is, strategies that process the series as a whole, e.g., goals/plans for counting, linear search, etc.) drawn from the literature. We then expanded and refined the list, based on the analysis of the collected programs. We used a mixed method: we first analyzed the programs qualitatively to identify the recurring goals; then we conducted a quantitative analysis of the frequencies of goals. The result of the qualitative analysis is a data-driven list of basic goals that are required in order to cover the input, storage, and processing of data series, independently of the chosen programming language. The list has 13 well-separated goals (no goal in the list is a sub-goal of another one) that share a similar structure and the same level of abstraction. The quantitative analysis shows that the category of core goals is, not surprisingly, the most frequent one; around half of the programs contain a core goal, with total, count, and linear search being the most recurrent ones. Besides them, goals related to input and storage play a significant role as well: taken together, they occur with a frequency similar to that of core goals. The list of goals, if used to select or design practical exercises and teaching materials, can be a valid reference for CS1 instructors who want to foster the acquisition of strategic knowledge by their students. Implication for teaching and learning are discussed.

An Inventory of Goals from CS1 Programs Processing a Data Series / C. Izu, V. Lonati, A. Morpurgo, M. Sanchez - In: 2021 IEEE Frontiers in Education Conference (FIE)[s.l] : IEEE, 2021. - ISBN 978-1-6654-3851-3. - pp. 1-8 (( convegno FIE tenutosi a Lincoln nel 2021 [10.1109/FIE49875.2021.9637360].

An Inventory of Goals from CS1 Programs Processing a Data Series

V. Lonati;A. Morpurgo;
2021

Abstract

This Research Full Paper presents a study of programming strategies to manipulate data series presented in a range of CS1 courses. We collected and analyzed programs from multiple institutions in different countries, covering a range of programming languages (Python, Java, Go, and C). We started from a list of core strategies (that is, strategies that process the series as a whole, e.g., goals/plans for counting, linear search, etc.) drawn from the literature. We then expanded and refined the list, based on the analysis of the collected programs. We used a mixed method: we first analyzed the programs qualitatively to identify the recurring goals; then we conducted a quantitative analysis of the frequencies of goals. The result of the qualitative analysis is a data-driven list of basic goals that are required in order to cover the input, storage, and processing of data series, independently of the chosen programming language. The list has 13 well-separated goals (no goal in the list is a sub-goal of another one) that share a similar structure and the same level of abstraction. The quantitative analysis shows that the category of core goals is, not surprisingly, the most frequent one; around half of the programs contain a core goal, with total, count, and linear search being the most recurrent ones. Besides them, goals related to input and storage play a significant role as well: taken together, they occur with a frequency similar to that of core goals. The list of goals, if used to select or design practical exercises and teaching materials, can be a valid reference for CS1 instructors who want to foster the acquisition of strategic knowledge by their students. Implication for teaching and learning are discussed.
CS1; programming strategic knowledge; goals and plans; iteration patterns
Settore INF/01 - Informatica
2021
Book Part (author)
File in questo prodotto:
File Dimensione Formato  
An_Inventory_of_Goals_from_CS1_Programs_Processing_a_Data_Series.pdf

accesso riservato

Tipologia: Publisher's version/PDF
Dimensione 645.05 kB
Formato Adobe PDF
645.05 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/900232
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 1
  • ???jsp.display-item.citation.isi??? 0
social impact