ne-course for learning programming

22
ne-Course for Learning Programming José Figueiredo Research Unit for Inland Development Polytechnic of Guarda, Portugal Natália Gomes Research Unit for Inland Development Polytechnic of Guarda, Portugal [email protected] Francisco José García- Peñalvo Computer Science Department Research Institute for Educational Sciences GRIAL research group Track 9. A world of digital competences: mobile apps, e-citizenship and computational systems as learning tools

Upload: technological-ecosystems-for-enhancing-multiculturality

Post on 12-Apr-2017

9 views

Category:

Education


2 download

TRANSCRIPT

Page 1: ne-Course for Learning Programming

ne-Course for Learning ProgrammingJosé Figueiredo

Research Unit for Inland DevelopmentPolytechnic of Guarda, Portugal

[email protected]

Natália GomesResearch Unit for Inland Development

Polytechnic of Guarda, Portugal [email protected]

Francisco José García-Peñalvo Computer Science Department Research Institute

for Educational Sciences GRIAL research group University of Salamanca, Spain

[email protected]

Track 9. A world of digital competences: mobile apps, e-citizenship and computational systems as learning

tools

Page 2: ne-Course for Learning Programming

Why is programming so difficult?

• The abstract concepts that are involved in programming• The capacities that are required to solve problems• The mental skill to the decomposition of the problems• Programming is a new subject for many of the students who take

programming courses• This is a difficult time for many students

T. Jenkins, “On the Difficulty of Learning to Program,” Language (Baltim)., vol. 4, pp. 53–58, 2002.

Page 3: ne-Course for Learning Programming

Why is programming so difficult?• The students need to know the syntax, the semantics and the

structure, of a unusual language• Programming requires a significant amount of effort in several skill

areas for often a very modest return • Reputation: Programming courses acquire the reputation of being

difficult • Image: there is the public image of a "programmer". This is of a

socially inadequate "nerd", spending all hours producing unintelligible code, fuelled by pizza and caffeine

T. Jenkins, “On the Difficulty of Learning to Program,” Language (Baltim)., vol. 4, pp. 53–58, 2002.

Page 4: ne-Course for Learning Programming

Solving problems in programmingIn 2014 some authors have presented a systematic review of articles describing approaches for teaching introductory programming and their influence on success.In resume, some of the best practices to teaching programing are:

• Collaboration• Contextualization• CS0• Change in the grading schema• Group work• Peer support• Support

Page 5: ne-Course for Learning Programming

Our proposalNo Electronic (ne) Course for learning programming.

• Follow and Give instruction• Map Design• Paper Folding and Origami• Memory Transfer Language• Parson Problems

Page 6: ne-Course for Learning Programming

Follow/Give instructionThe use of this kind of exercises has as purpose to increase the development of students’ cognitive reasoning abilities and spatial visualization.

Page 7: ne-Course for Learning Programming

Map Design

Page 8: ne-Course for Learning Programming

Origami and Folding paper Benefits   

Reading SkillsWriting SkillsProcessing SkillsVisual MotorTemporal SpatialLogical ReasoningAttention SkillsConcentrationSequencingMath Concepts

Independent StudySocial SkillsSelf ConfidenceLibrary SkillsManual DexteritySpeech Language Development

;

MeasurementGeometryProportionFractionsSymmetryProblem SolvingScience PrinciplesCreativity

Page 9: ne-Course for Learning Programming

Origami examples

Page 10: ne-Course for Learning Programming

Paper Folding• Paper folding, in particular the Punched Holes, is frequently used to

investigate the spatial visualization skills.

Page 11: ne-Course for Learning Programming

Paper Folding, exercises with Punched Holes

Page 12: ne-Course for Learning Programming

Memory Transfer Language (MTL)- Class ExperimentThe experiment was carried out to test the comprehension that students may have between variable and computer memory

Page 13: ne-Course for Learning Programming

Memory Transfer Language (MTL)- Class ExperimentFirst examination• Initial concepts: computer programs and programming concepts such as

variable, basic data types and computer memory representation

Page 14: ne-Course for Learning Programming

Memory Transfer Language

Page 15: ne-Course for Learning Programming

Memory Transfer Language

Page 16: ne-Course for Learning Programming

Memory Transfer Language (MTL)- Class ExperimentSecond examination• After clarification of the doubts it was proposed to the students to repeat the

exercises

The results increased from 20% to 81% of correct answers.

Page 17: ne-Course for Learning Programming

Parson Problems• Parson’s problems are assignments for learning programming where

the student has to select, order, and indent code fragments.

Page 18: ne-Course for Learning Programming

Example

Page 19: ne-Course for Learning Programming

Example

Page 20: ne-Course for Learning Programming

Conclusion

The objective of this study was to test the impact of different activities when used as a learning programming tool without the intervention of any electronic component.

Where students explore with pleasure, without fear of making mistakes and where teacher-student relationship and confidence can be improved and enhanced.

Page 21: ne-Course for Learning Programming

Conclusion

We believe that it’s still important to see the face and expressions of students in solve programming problems. We want to feel the atmosphere and excitement in problem solving

“Programming should be taught by programming teachersand not by programmers"

Page 22: ne-Course for Learning Programming

Questions?