2022_06_30 «Enseñanza de las Ciencias de la Computación: algunas líneas de investigación sobre el aprendizaje introductorio a la programación». António Mendes
A study about the impact of rewards on student's engagement with the flipped ...eMadrid network
Contenu connexe
Similaire à 2022_06_30 «Enseñanza de las Ciencias de la Computación: algunas líneas de investigación sobre el aprendizaje introductorio a la programación»
Similaire à 2022_06_30 «Enseñanza de las Ciencias de la Computación: algunas líneas de investigación sobre el aprendizaje introductorio a la programación» (20)
4. Motivation and
Context
4
Difficulties that students often feel when learning to
program
High failure rates
Superficial learning shown by many students
Big performance differences
Impact in other courses
Computer Science Education Research
5. Motivation and
Context
5
CSER has been established as a research area
The involvement of international organizations, like
ACM and IEEE
Research developed in the Educational Technology
Lab, at CISUC, for more than 25 years
Focus on introductory programming learning in Higher
Education
Computer Science Education Research
7. Understand
the student
7
Learning to program
Misconceptions
Student motivation
Experienced vs novices
Anxiety while learning programming
Problem contextualization
...
Computer Science Education Research
8. Understanding
the student
Learning to
program
8
What is involved?
Knowledge about a programming language (and an
IDE)
Develop problem solving strategies within the language
limits
Create mental models about how programs are
executed and what is the result of executing each
instruction
Computer Science Education Research
9. Understanding
the student
Learning to
program
9
Causes of difficulties
Complexity and cognitive load associated with learning
to program
Deficient learning conditions and pedagogical
strategies used
Student’s previous skills, attitudes, work habits and
study methods
Computer Science Education Research
10. Understanding
the student
Misconceptions
10
Syntactic knowledge – Knowing the caracteristics of
the programming language used
Programming languages are rigid, including details that
are not easy to understand by novices
Basic errors are common: () {} ; int x;
Important disturbance factor for inexperienced and / or
insecure students, who are blocked by error messages
Computer Science Education Research
11. Understanding
the student
Misconceptions
11
Conceptual knowledge - Understand the flow of
program execution and how the different control
structures affect it
Misconceptions about simple concepts, like variables,
selection or repetition are common
The dynamics involved in calling and returning a
function creates difficulties for many students
Very basic operations can be complex for some
students
Computer Science Education Research
12. Understanding
the student
Misconceptions
12
Strategic knowledge - Ability to plan, write and
debug programs using syntactic and conceptual
knowledge
Difficulties to understand the problem to be solved
Difficulty dividing the problem into parts and planning
the different steps for solving each one
Inability to understand, locate and correct existing logic
errors
Computer Science Education Research
13. Understanding
the student
Misconceptions
Some pointers
13
A. Ettles, A. Luxton-Reilly, and P. Denny, “Common logic errors made by novice
programmers,” in Proceedings of the 20th Australasian Computing Education
Conference, 2018, pp. 83–89.
Y. Qian and J. Lehman, “Students’ Misconceptions and Other Difficulties in
Introductory Programming,” ACM Trans. Comput. Educ., vol. 18, no. 1, 2017.
D. McCall and M. Kölling, “Meaningful categorisation of novice programmer
errors,” in FIE 2015 - Proceedings of the Frontiers in Education Conference, 2015.
A. Altadmri and N. Brown, “37 million compilations: Investigating novice
programming mistakes in large-scale student data,” in Proceedings of the 46th
ACM Technical Symposium on Computer Science Education, 2015, pp. 522–527.
A. Gomes and A. J. Mendes, “A teacher’s view about introductory programming
teaching and learning: Difficulties, strategies and motivations,” in Proceedings of
the Frontiers in Education Conference, 2015.
Computer Science Education Research
14. Understanding
the student
Motivation
14
Psychological mechanisms that cause people to
get involved and persist in certain behaviors
Learning to program requires effort, persistence and
the ability to resist when the student feels unable to
progress
Student motivation is very important, which justifies the
relevance of this area in CSER
It integrates several relevant domains, some of which
are more studied at CSER
Computer Science Education Research
15. Understanding
the student
Motivation
15
Self Regulation of Learning
Constructs linked to beliefs, goals and behaviors
related to the way students manage their learning
processes
How students respond to feedback received, how they
maintain the belief that they will be successful, and how
they make plans to achieve it
Can be considered in an individual (SRL - Self
Regulated Learning) and social (SSRL - Socially Shared
Regulation of Learning) point of view
Computer Science Education Research
16. Understanding
the student
Motivation
Self-Regulation of
Learning
16
Self-efficacy
One of the most studied components of SRL in the
context of CSER and one of the most important
Belief that a person has in being able to achieve a given
objective through appropriate behaviors
Previous positive experiences tend to increase the level of
self-efficacy
There is a direct link between academic performance and
self-efficacy, with one directly influencing the other
Computer Science Education Research
17. Understanding
the student
Motivation
Self-Regulation of
Learning
17
Metacognitive self-regulation
Self-assessment behaviors and strategies used
to overcome learning difficulties
Successful students generally show a good
ability to assess the difficulty of the task to be
solved, make a proper decomposition of the
problem and have careful planning and time
management
Computer Science Education Research
18. Understanding
the student
Motivation
Some pointers
18
L. Silva, A. J. Mendes, A. Gomes and G. Macedo, “Regulation of Learning
Interventions in Programming Education: A Systematic Literature Review and
Guideline Proposition,” in SIGCSE 2021 - Proceedings of the 52nd ACM
Technical Symposium on Computer Science Education, 2021.
A. Lishinski and A. Yadav, “Motivation, Attitudes, and Dispositions,” in The
Cambridge Handbook of Computing Education Research, Cambridge
University Press, 2019, pp. 801–826.
A. Gomes, W. Ke, C.-T. Lam, M. J. Marcelino, and A. J. Mendes, “Student
motivation towards learning to program,” in FIE 2018 - Proceedings of
Frontiers in Education Conference, 2018.
D. Zingaro and L. Porter, “Impact of student achievement goals on CS1
outcomes,” in SIGCSE 2016 - Proceedings of the 47th ACM Technical
Symposium on Computing Science Education, 2016, pp. 279–284.
Computer Science Education Research
19. Understanding
the student
Key ideas
19
Students' motivation is fundamental, particularly with
regard to their self-efficacy
It is important to instill in students a positive attitude
about learning programming
There should be as much individualized support as
possible
Easy communication between student and teacher
is essential
Committed teachers can make a big difference
Computer Science Education Research
21. Tools to
support
learning
21
Animation and Simulation Tools
Monitoring and Feedback tools
Support to Self-Regulation of Learning
Adaptive development environments
Games
Open Educational Resources
...
Computer Science Education Research
22. Tools to
support
learning
Animation and
Simulation
22
Animation (or visualization) tools allow you to animate a
certain predefined algorithm or program
Simulation tools receive a program and proceed to its
simulation, allowing you to see the effects of the
instructions as they are executed
Animated graphic formats are expected to contribute
to a better understanding of algorithms and programs
Simulation can help students understand and correct
the logical errors they make
Computer Science Education Research
24. Tools to
support
learning
Animation and
simulation
24
There are not a large number of independent studies
on the educational effectiveness of this type of tools
Most studies are linked to the process of developing a
given tool
Difficulty moving from academic prototypes to general
purpose products
Some consensus on its usefulness for students already
with some programming skills, but of reduced utility for
the rest
Computer Science Education Research
25. Tools to
support
learning
Animation and
simulation
Some pointers
25
L. Malmi, I. Utting, and A. J. Ko, “Tools and Environments,” in The Cambridge
Handbook of Computing Education Research, Cambridge University Press,
2019, pp. 639–662.
J. Sorva, V. Karavirta, and L. Malmi, “A review of generic program visualization
systems for introductory programming education,” ACM Trans. Comput.
Educ., vol. 13, no. 4, Nov. 2013.
M. Ben-Ari et al., “A decade of research and development on program
animation: The Jeliot experience,” J. Vis. Lang. Comput., vol. 22, no. 5, pp.
375–384, Oct. 2011.
A. J. Mendes, M. J. Marcelino, A. Gomes, C. Bravo, M. Esteves, and M.
Redondo, “Using simulation and collaboration in CS1 and CS2,” in ITiCSE
2005 – Proc. of the 10th Annual Conf. on Innovation and Techn. in Computer
Science Education, 2005.
Computer Science Education Research
26. Tools to
support
learning
Monitoring and
Feedback
26
Evaluation and feedback tools have also attracted a lot
of attention over time
There are systems that evaluate several aspects, such
as the correctness of the program, the style and
complexity
It is important to provide quality pedagogical feedback
There are many tools that do not go beyond the
indication of test cases in which the program passes
successfully and those in which it fails
Computer Science Education Research
28. Tools to
support
learning
Monitoring and
feedback
Some pointers
28
A. Carter, C. Hundhausen and Olivares, D., “Leveraging the Integrated
Development Environment for Learning Analytics,” in The Cambridge
Handbook of Computing Education Research, Cambridge University Press,
2019, pp. 679–706.
P. Ihantola, T. Ahoniemi, V. Karavirta, and O. Seppälä, “Review of recent
systems for automatic assessment of programming assignments,” in
Proceedings of the 10th Koli Calling Int. Conf. on Computing Education
Research, 2010, pp. 86–93.
H. Keuning, J. Jeuring, and B. Heeren, “A Systematic Literature Review of
Automated Feedback Generation for Programming Exercises,” ACM Trans.
Comput. Educ., vol. 19, no. 1, 2018.
N. G. Fonseca, L. Macedo, and A. J. Mendes, “Supporting differentiated
instruction in programming courses through permanent progress
monitoring,” in SIGCSE 2018 - Proceedings of the 49th ACM Technical
Symposium on Computer Science Education, 2018.
Computer Science Education Research
29. Tools to
support
learning
SRL and SSRL
support
29
A more recente trend is to include SRL and SSRL
support in programming learning environments
Use of scaffoldings to stimulate the development
of some SRL constructs, like planning, progress
awareness or self-efficacy
Some tools consider the social influence on SRL
Computer Science Education Research
33. Tools to
support
learning
SRL and SSRL
support
Some pointers
33
L. Silva, A. J. Mendes, A. J. Gomes, G. Fortes, C. T. Lam and C.
Chan, Exploring the Association Between Self-Regulation of
Learning and Programming Learning: A Systematic Literature Review
and Multinational Investigation, in FIE 2021 - Proceedings of
Frontiers in Education, 2021
L. Silva, A. J. Mendes, A. Gomes and G. Macedo, “Regulation of
Learning Interventions in Programming Education: A Systematic
Literature Review and Guideline Proposition,” in SIGCSE 2021 -
Proceedings of the 52nd ACM Technical Symposium on Computer
Science Education, 2021.
Computer Science Education Research
35. Future
development
lines
35
Support environments for programming learning
in higher education
Tools to support the development of computational
thinking in lower age groups
Visualization languages for specific audiences, namely
in the area of design and multimedia
Understanding the mental mechanisms linked to
learning programming (using BCI)
Computer Science Education Research
36. Future
development
lines
Environment to
support
programming
learning
36
Adaptability to student characteristics and past
performance
Variable learning paths, either in the degree of difficulty or
in the type of exercises proposed
Variable degree of support and type of feedback, possibly
using programming schemes
Support for student motivation, with particular attention to
self-regulation (individual and social) and self-efficacy
Monitoring of learning facilitating teacher intervention
whenever necessary
Computer Science Education Research