6 research outputs found
An Exploratory Study of Students' Mastery of Iteration in the High School
Although a number of studies report about novices\u2019 diffi-culties with basic flow-control constructs, concerning both the under-standing of the underlying notional machine and the logical connectionswith the application domain, this issues have not yet been extensivelyexplored in the context of high-school education. As part of a projectwhose long-run goal is identifying methodological tools to improve thelearning of iteration, we analyzed how a sample of 164 high-school stu-dents\u2019 approached three small programming tasks involving basic loopingconstructs, as well as two questions on their subjective perception of dif-ficulty. If, on the one hand, most students seem to have developed aviable mental model of the basic workings of the underlying machine,on the other, dealing at a more abstract level with loop conditions andnested flow-control structures appears to be challenging. As to the impli-cations for teachers, the results of the analysis suggest that more effortsshould be addressed to develop a method for testing the conjecturesabout program behavior, as well as to the treatment of loop conditionsin connection with the problem statement
Reduction of Plane Quartics and Cayley Octads
We give a conjectural characterisation of the stable reduction of plane
quartics over local fields in terms of their Cayley octads. This results in
p-adic criteria that efficiently give the stable reduction type amongst the 42
possible types, and whether the reduction is hyperelliptic or not. These
criteria are in the vein of the machinery of "cluster pictures" for
hyperelliptic curves. We also construct explicit families of quartic curves
that realise all possible stable types, against which we test these criteria.
We give numerical examples that illustrate how to use these criteria in
practice.Comment: Comments are welcome, 683 pictures, improved introductio
Task-related models for teaching and assessing iteration learning in high school
A number of studies report about studentsâ difficulties with basic flow-control constructs,
and specifically with iteration. Although such issues are less explored in the
context of pre-tertiary education, this seems to be especially the case for high-school
programming learning, where the difficulties concern both the âmechanicalâ features
of the notional machine as well as the logical aspects connected with the constructs,
ranging from the implications of loop conditions to a more abstract grasp of the
underlying algorithms.
For these reasons, the aim of this work is to: i) identifying methodological tools
to enhance a comprehensive understanding of the iteration constructs, ii) suggest
strategies to teach iterations.
We interviewed 20 experienced upper secondary teachers of introductory programming
in different kinds of schools. The interviews were mainly aimed at ascertaining
teachersâ beliefs about major sources of issues for basic programming
concepts and their approach to the teaching and learning of iteration constructs.
Once teachersâ perception of studentsâ difficulties have been identified, we have
submitted, to a sample of 164 students, a survey which included both questions on
their subjective perception of difficulty and simple tasks probing their understanding
of iteration. Data collected from teachers and students confirm that iteration is a
central programming concept and indicate that the treatment of conditions and
nested constructs are major sources of studentsâ difficulties with iteration.
The interviews allowed us to identify a list of problems that are typically presented
by teachers to explain the iterations. Hence, a catalogue of significant program
examples has been built to support studentsâ learning, tasks with characteristics
different from those typically presented in class.
Based on the outcome of previous steps, a survey to collect related information
and good practices from a larger sample of teachers has been designed. Data
collected have been analysed distinguishing an orientation towards more conceptual
objectives, and one towards more practical objectives. Furthermore, regarding
evaluation, a orientation focused on process-based assessment and another on
product-based assessment.
Finally, based on the outcome of previous studentsâ survey and drawing from
the proposed examples catalogue, we have designed and submitted a new studentsâ
survey, composed of a set of small tasks, or tasklets, to investigate in more depth
on high-school studentsâ understanding of iteration in terms of code reading abilities.
The chosen tasklets covered the different topics: technical program feature,
correlation between tracing effort and abstraction, the role of flow-charts, studentsâ
perception of self-confidence concerning high-level thinking skills.A number of studies report about studentsâ difficulties with basic flow-control constructs,
and specifically with iteration. Although such issues are less explored in the
context of pre-tertiary education, this seems to be especially the case for high-school
programming learning, where the difficulties concern both the âmechanicalâ features
of the notional machine as well as the logical aspects connected with the constructs,
ranging from the implications of loop conditions to a more abstract grasp of the
underlying algorithms.
For these reasons, the aim of this work is to: i) identifying methodological tools
to enhance a comprehensive understanding of the iteration constructs, ii) suggest
strategies to teach iterations.
We interviewed 20 experienced upper secondary teachers of introductory programming
in different kinds of schools. The interviews were mainly aimed at ascertaining
teachersâ beliefs about major sources of issues for basic programming
concepts and their approach to the teaching and learning of iteration constructs.
Once teachersâ perception of studentsâ difficulties have been identified, we have
submitted, to a sample of 164 students, a survey which included both questions on
their subjective perception of difficulty and simple tasks probing their understanding
of iteration. Data collected from teachers and students confirm that iteration is a
central programming concept and indicate that the treatment of conditions and
nested constructs are major sources of studentsâ difficulties with iteration.
The interviews allowed us to identify a list of problems that are typically presented
by teachers to explain the iterations. Hence, a catalogue of significant program
examples has been built to support studentsâ learning, tasks with characteristics
different from those typically presented in class.
Based on the outcome of previous steps, a survey to collect related information
and good practices from a larger sample of teachers has been designed. Data
collected have been analysed distinguishing an orientation towards more conceptual
objectives, and one towards more practical objectives. Furthermore, regarding
evaluation, a orientation focused on process-based assessment and another on
product-based assessment.
Finally, based on the outcome of previous studentsâ survey and drawing from
the proposed examples catalogue, we have designed and submitted a new studentsâ
survey, composed of a set of small tasks, or tasklets, to investigate in more depth
on high-school studentsâ understanding of iteration in terms of code reading abilities.
The chosen tasklets covered the different topics: technical program feature,
correlation between tracing effort and abstraction, the role of flow-charts, studentsâ
perception of self-confidence concerning high-level thinking skills
Pictures as invariants
The development, speci cation, and use of a loop invariant are useful and underutilized tools in writing code to solve a problem or implement an algorithm. Invariants are especially useful in introductory courses (CS1 and CS2) but are usually avoided because of the mathematical notation associated with them and because most textbooks have brief, if any, coverage of them. Our intent in this paper is provide several motivating examples of the use of pictures as loop invariants and to provide pointers to literature that more fully explores and develops the ideas of using loop invariants in specifying and developing programs.