VII Jornadas eMadrid "Education in exponential times". "Learning and teaching introductory programming in Higher Education, strategies and tools". Antonio Mendes. Universidad de Coimbra. 03/06/2017.
1. Learning and teaching introductory programming in
higher education: strategies and tools
António José Mendes
2. Centro de Informática e Sistemas
da Universidade de Coimbra
Research Groups
Adaptive Computing
Communications and Telematics
Evolutionary and Complex Systems
Information Systems
Software and Systems Engineering
Cognitive and Media Systems
Researchers
70 PhDs
90 PhD students
30 MSc students
3. Centro de Informática e Sistemas
da Universidade de Coimbra
Cognitive and Media Systems
Knowledge & Intelligent Systems
Lab
Computational Creativity and
Digital Media Lab
Ambience Inteligence Lab
Educational Technology Lab
Computer
Science
Educational
Research
Distance
Education
Simulation
based learning
environments
4. Introductory
Programming
Learning
Create an
algorithm
to solve a
problem
Difficult
Find and
understand
errors
Misconceptions
Very
different
learning
rhythms
Low
success
rates
Complaints
from other
courses
teachers
Why
Learn
programming
is hard
Student’s
backgrounds
and attitudes
Teaching
methods and
conditions
12. Studies on
different related
issues
Learning to program – difficulties and
solutions. ICEE 2007
Mathematics and programming: some
studies. CompSysTech 2008
A study on student’s characteristics
and programming learning. EDMEDIA
2008
A study on student performance in
first year CS courses. ITiCSE 2010
A study on students’ behaviors and
attitudes towards learning to program.
ITiCSE 2012
A teacher's view about introductory
programming teaching and learning:
difficulties, strategies and motivations.
FIE 2014
Main ideas:
Student self confidence and motivation is
fundamental
Individual support is necessary for weaker
students
Student-teacher communication is very
important
Important to change student’s attitudes
towards programming learning
Motivated teachers can make a big
difference
13. Pedagogical
strategies
Bloom’s taxonomy based approach to
learn basic programming. EDMEDIA 2009
A context for programming learning
based on research communities.
EDUCON 2010
A strategy to improve student’s
motivation levels in programming
courses. FIE 2010
Student reflexions as an influence in
the dynamics of an introductory
programming course. FIE 2011
A taxonomy of exercises to support
individual learning paths in initial
programming learning. FIE 2013
Main ideas:
No traditional lectures with a lot of
students, but classes with 24 students,
with the same professor, integrating
theoretical and practical components
Early identification of weaker students,
giving them special attention, trying to
improve their motivation
Communication in class and through
written student reflections
Class context (language, problems, …)
adequate to student’s characteristics
14. Pedagogical
strategies
Context: Introductory Programming course included in the
Design and Multimedia Bachelor at University of Coimbra
After 2010/2011
5h T+P classes in small
groups (24 students)
Processing
Animation and graphics based
problems
Specific course
Big emphasis in student –
professor communication
Until 2010/2011
2h lecture + 4h Labs
Python
Conventional exercises,
mostly “number based”
Joint with Informatics
students
Results
0
10
20
30
40
50
60
70
80
2008/09 2009/10 2010/11 2011/12 2012/13 2013/14 2014/15 2015/16 2016/17
15. Future trends
?
Adaptive environments
Improved pedagogical strategies
Effective diagnosis and feedback tools
Representation metaphors
Brain Computer Interfaces
…
Any idea that may contribute to effectively support
introductory programming learning, especially for weaker
students
16. Future trends
?
Adaptive environments
Improved pedagogical strategies
Effective diagnosis tools
Representation metaphors
…
Any idea that may contribute to effectively support
introductory programming learning, especially by weaker
students
Thank you for your attention
toze@dei.uc.pt