SlideShare a Scribd company logo
Building Skills
in Introductory Programming
José Figueiredo
Research Unit for Inland Development
Polytechnic of Guarda
Portugal
jfig@ipg.pt
Francisco J. García-Peñalvo
Computer Science Department
Research Institute for Educational Sciences
GRIAL research group
University of Salamanca
Spain
fgarcia@usal.es
• This is a difficult time for many students
• The abstract concepts that are involved in programming
• Programming is a new subject for many of the students who take
programming courses
• The students need to know the syntax, the semantics and the
structure, of a unusual language
• Reputation: Programming courses acquire the reputation of being
difficult
• Image: the public image of a "programmer“
Learning Programming is Difficult
Most students never had the opportunity to develop skills, like :
• Make a Plan: decomposition
• Look for similarities: pattern recognition
• Make solution to multiple problems: abstraction
• Develop a step-by-step solutions: algorithm
Computational Thinking
Programming is difficult.
Develop skills in Computational Thinking
• Other proposals
Follow/Give instruction
Map designParson Problems
Origami
Paper Folding
Develop skills in Computational Thinking
Programming requires
•Work hard
•Dedication
•Training: Trying, Doing, Correcting mistakes,
Repeat, and Repeat again
Programming is difficult.
“Teaching yourself programming in ten years“
“… it takes about ten years to develop expertise in
any of a wide variety of areas, including chess
playing, music composition, telegraph operation,
painting, piano playing, swimming, tennis, …”
Programming requires time.
Peter Norvig
Work Hard
Motivation
“the programmers of tomorrow are the wizards of the future.”
“You gonna look like you have magic powers compared to
everybody else. ”
“It’s the closest thing we have to a superpower.”
Gabe Newell (Valve Corporation) in Hour of Code
Drew Houston (Founders DropBox) in Hour of Code
• Difficuty in following students in their learning process
• Students with difficulties
Lose:
Passion Beauty Joy Awe
•Failure / Unsuccess
Follow learning process
Building Skills in Introductory Programming
46 Cognitive Skills 54
Commitment
Dedication
42
C Programming
Course
52
Teacher's
vision
35
Paper Folding 53 Class Behavior 59 Basic Concepts 2 Participation 59
Surface Development Test34 Class Attendance 70 Input / Output 35 Doubts 14
Form Board Test 76 Problem-Solving 72 IF 61 Attendance 69
Extra Problems 27 FOR 84 Help others 18
Motivation 6 Do-While() 83 Confidence 53
Questions / Doubts 17 While() 72 Curiosity 17
Functions 1 Common Errors 58
Arrays 1D 33 Serious errors 8
Arrays 2D 45 Initiative 53
Structs 36 Expert 3
Pointers 79
File 89
José Quitério
Engenharia Informática
Viana do Castelo
50 anos
Building Skills in Introductory Programming
Diana
Building Skills in Introductory Programming
Building Skills
in Introductory Programming
DON’T LOSE THE HOPE!

More Related Content

What's hot (14)

DOC
Zentangle colorsrubric
Victor Junior/Senior High School
 
PDF
The Rise of Conversational Classrooms - Bett 2020
Juraj Pal
 
PPTX
Final Presentation - AIGEME
blackpowde
 
PPTX
I can integrate DERvices into stage 6 planning
Megan Townes
 
PPTX
David W. Deeds: Teaching/Training with 3D Virtual Worlds (in Schools)
David W. Deeds
 
PDF
200710 - Project Hoshimi
Javier Gonzalez-Sanchez
 
PPTX
NYSCATE HV 2015 Scratch Hour of Code
Karen VItek
 
PPTX
Hp life project management
Maricopa Small Business Development Center
 
PPTX
Flat Connections Global Projects: NMC K-12 Horizon Report
David W. Deeds
 
PPTX
Flat Connections Global Projects: NMC Horizon Report
David W. Deeds
 
PPTX
Before We Code
J. Edward Dioguardi, III
 
PPTX
Codesters
Barbara M. King
 
PPTX
Design Approach to Problem Solving Through Project Based Learning
J. Edward Dioguardi, III
 
Zentangle colorsrubric
Victor Junior/Senior High School
 
The Rise of Conversational Classrooms - Bett 2020
Juraj Pal
 
Final Presentation - AIGEME
blackpowde
 
I can integrate DERvices into stage 6 planning
Megan Townes
 
David W. Deeds: Teaching/Training with 3D Virtual Worlds (in Schools)
David W. Deeds
 
200710 - Project Hoshimi
Javier Gonzalez-Sanchez
 
NYSCATE HV 2015 Scratch Hour of Code
Karen VItek
 
Hp life project management
Maricopa Small Business Development Center
 
Flat Connections Global Projects: NMC K-12 Horizon Report
David W. Deeds
 
Flat Connections Global Projects: NMC Horizon Report
David W. Deeds
 
Before We Code
J. Edward Dioguardi, III
 
Codesters
Barbara M. King
 
Design Approach to Problem Solving Through Project Based Learning
J. Edward Dioguardi, III
 

Similar to Building Skills in Introductory Programming (20)

PPTX
ne-Course for Learning Programming
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Teacher toolkit Pycon UK Sept 2018
Sue Sentance
 
PPTX
Intro Class.pptx
Francis Densil Raj
 
PDF
Learn Python The Hard Way, 3rd Edition .pdf
CongThanhHoang1
 
PPTX
Teaching of computer programming
marpasha
 
PPTX
Power Point Introduction To Programming 1
FabianDaffa3
 
PDF
C programming guide new
Kuntal Bhowmick
 
PPT
C programming for Computing Techniques
Appili Vamsi Krishna
 
PDF
From programming to software engineering: ICSE keynote slides available
Celso Martins
 
PPTX
CPP01 - Introduction to C++
Michael Heron
 
PPTX
VII Jornadas eMadrid "Education in exponential times". "Learning and teaching...
eMadrid network
 
PPT
Bower Computer Science Education Literature Review Csta
mbower
 
PPTX
Teaching Kids Programming using the Intentional Method
Lynn Langit
 
PPTX
Effective Methods for Teaching and Assessing Business Applications Programmin...
Niamh O Riordan
 
PPTX
Programming contests and competitions
Mohamed Elawady
 
PPTX
01 Programming Fundamentals.pptx
JustineLincopinesAlm
 
PPTX
Using Learning Sciences Research to Improve Computing Teaching: Predictions, ...
Mark Guzdial
 
PDF
python_desktop.pdf
Lagal Tchixa
 
PPTX
grade 10 2023.pptx
RaymartHerera
 
PDF
Intro to programming
Awais Ghumman
 
Teacher toolkit Pycon UK Sept 2018
Sue Sentance
 
Intro Class.pptx
Francis Densil Raj
 
Learn Python The Hard Way, 3rd Edition .pdf
CongThanhHoang1
 
Teaching of computer programming
marpasha
 
Power Point Introduction To Programming 1
FabianDaffa3
 
C programming guide new
Kuntal Bhowmick
 
C programming for Computing Techniques
Appili Vamsi Krishna
 
From programming to software engineering: ICSE keynote slides available
Celso Martins
 
CPP01 - Introduction to C++
Michael Heron
 
VII Jornadas eMadrid "Education in exponential times". "Learning and teaching...
eMadrid network
 
Bower Computer Science Education Literature Review Csta
mbower
 
Teaching Kids Programming using the Intentional Method
Lynn Langit
 
Effective Methods for Teaching and Assessing Business Applications Programmin...
Niamh O Riordan
 
Programming contests and competitions
Mohamed Elawady
 
01 Programming Fundamentals.pptx
JustineLincopinesAlm
 
Using Learning Sciences Research to Improve Computing Teaching: Predictions, ...
Mark Guzdial
 
python_desktop.pdf
Lagal Tchixa
 
grade 10 2023.pptx
RaymartHerera
 
Intro to programming
Awais Ghumman
 
Ad

More from Technological Ecosystems for Enhancing Multiculturality (20)

PDF
A Preliminary Study of Proof of Concept Practices and their connection with I...
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Social networks as a promotional space for Spanish radio content. The case st...
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Towards the study of sentiment in the public opinion of science in Spanish
Technological Ecosystems for Enhancing Multiculturality
 
PDF
A Three-Step Data-Mining Analysis of Top-Ranked Higher Education Institutions...
Technological Ecosystems for Enhancing Multiculturality
 
PPTX
Specifics of multimedia texts in the context of social networks media aesthetics
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Combined Effects of Similarity and Imagined Contact on First-Person Testimoni...
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Direct online political communication effects on civil participation in spain...
Technological Ecosystems for Enhancing Multiculturality
 
PPTX
University Media in Ecuador: Types, Functions and Self-determination
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Like it or die: using social networks to improve collaborative learning in hi...
Technological Ecosystems for Enhancing Multiculturality
 
PPTX
Framing theory in studies of environmental information in press
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Domain engineering for generating dashboards to analyze employment and employ...
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Mapping the systematic literature studies about software ecosystems
Technological Ecosystems for Enhancing Multiculturality
 
PPTX
Tag-Based Browsing of Digital Collections with Inverted Indexes and Browsing ...
Technological Ecosystems for Enhancing Multiculturality
 
PPTX
A Multivocal Literature Review on the use of DevOps for e-learning systems
Technological Ecosystems for Enhancing Multiculturality
 
PPTX
Document Annotation Tools: Annotation Classification Mechanisms
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Toward supporting decision-making under uncertainty in digital humanities wit...
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Managing Uncertainty in the Humanities: Digital and Analogue Approaches
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Representing Imprecise and Uncertain Knowledge in Digital Humanities: A Theor...
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Dotmocracy and Planning Poker for Uncertainty Management in Collaborative Res...
Technological Ecosystems for Enhancing Multiculturality
 
PDF
Applying Commercial Computer Vision Tools to Cope with Uncertainties in a Cit...
Technological Ecosystems for Enhancing Multiculturality
 
A Preliminary Study of Proof of Concept Practices and their connection with I...
Technological Ecosystems for Enhancing Multiculturality
 
Social networks as a promotional space for Spanish radio content. The case st...
Technological Ecosystems for Enhancing Multiculturality
 
Towards the study of sentiment in the public opinion of science in Spanish
Technological Ecosystems for Enhancing Multiculturality
 
A Three-Step Data-Mining Analysis of Top-Ranked Higher Education Institutions...
Technological Ecosystems for Enhancing Multiculturality
 
Specifics of multimedia texts in the context of social networks media aesthetics
Technological Ecosystems for Enhancing Multiculturality
 
Combined Effects of Similarity and Imagined Contact on First-Person Testimoni...
Technological Ecosystems for Enhancing Multiculturality
 
Direct online political communication effects on civil participation in spain...
Technological Ecosystems for Enhancing Multiculturality
 
University Media in Ecuador: Types, Functions and Self-determination
Technological Ecosystems for Enhancing Multiculturality
 
Like it or die: using social networks to improve collaborative learning in hi...
Technological Ecosystems for Enhancing Multiculturality
 
Framing theory in studies of environmental information in press
Technological Ecosystems for Enhancing Multiculturality
 
Domain engineering for generating dashboards to analyze employment and employ...
Technological Ecosystems for Enhancing Multiculturality
 
Mapping the systematic literature studies about software ecosystems
Technological Ecosystems for Enhancing Multiculturality
 
Tag-Based Browsing of Digital Collections with Inverted Indexes and Browsing ...
Technological Ecosystems for Enhancing Multiculturality
 
A Multivocal Literature Review on the use of DevOps for e-learning systems
Technological Ecosystems for Enhancing Multiculturality
 
Document Annotation Tools: Annotation Classification Mechanisms
Technological Ecosystems for Enhancing Multiculturality
 
Toward supporting decision-making under uncertainty in digital humanities wit...
Technological Ecosystems for Enhancing Multiculturality
 
Managing Uncertainty in the Humanities: Digital and Analogue Approaches
Technological Ecosystems for Enhancing Multiculturality
 
Representing Imprecise and Uncertain Knowledge in Digital Humanities: A Theor...
Technological Ecosystems for Enhancing Multiculturality
 
Dotmocracy and Planning Poker for Uncertainty Management in Collaborative Res...
Technological Ecosystems for Enhancing Multiculturality
 
Applying Commercial Computer Vision Tools to Cope with Uncertainties in a Cit...
Technological Ecosystems for Enhancing Multiculturality
 
Ad

Recently uploaded (20)

PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PPTX
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
PDF
Introduction presentation of the patentbutler tool
MIPLM
 
PDF
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PDF
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
PDF
Council of Chalcedon Re-Examined
Smiling Lungs
 
PDF
Is Assignment Help Legal in Australia_.pdf
thomas19williams83
 
PPTX
Controller Request and Response in Odoo18
Celine George
 
PPTX
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
PDF
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
PDF
Aprendendo Arquitetura Framework Salesforce - Dia 03
Mauricio Alexandre Silva
 
PPTX
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PDF
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
PPTX
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
PPTX
infertility, types,causes, impact, and management
Ritu480198
 
PPTX
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PPTX
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
DAY 1_QUARTER1 ENGLISH 5 WEEK- PRESENTATION.pptx
BanyMacalintal
 
Introduction presentation of the patentbutler tool
MIPLM
 
AI-Powered-Visual-Storytelling-for-Nonprofits.pdf
TechSoup
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
Reconstruct, Restore, Reimagine: New Perspectives on Stoke Newington’s Histor...
History of Stoke Newington
 
Council of Chalcedon Re-Examined
Smiling Lungs
 
Is Assignment Help Legal in Australia_.pdf
thomas19williams83
 
Controller Request and Response in Odoo18
Celine George
 
How to Manage Allocation Report for Manufacturing Orders in Odoo 18
Celine George
 
Mahidol_Change_Agent_Note_2025-06-27-29_MUSEF
Tassanee Lerksuthirat
 
Aprendendo Arquitetura Framework Salesforce - Dia 03
Mauricio Alexandre Silva
 
How to Set Up Tags in Odoo 18 - Odoo Slides
Celine George
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
Women's Health: Essential Tips for Every Stage.pdf
Iftikhar Ahmed
 
Identifying elements in the story. Arrange the events in the story
geraldineamahido2
 
infertility, types,causes, impact, and management
Ritu480198
 
Nitrogen rule, ring rule, mc lafferty.pptx
nbisen2001
 
PPT-Q1-WEEK-3-SCIENCE-ERevised Matatag Grade 3.pptx
reijhongidayawan02
 

Building Skills in Introductory Programming

  • 1. Building Skills in Introductory Programming José Figueiredo Research Unit for Inland Development Polytechnic of Guarda Portugal [email protected] Francisco J. García-Peñalvo Computer Science Department Research Institute for Educational Sciences GRIAL research group University of Salamanca Spain [email protected]
  • 2. • This is a difficult time for many students • The abstract concepts that are involved in programming • Programming is a new subject for many of the students who take programming courses • The students need to know the syntax, the semantics and the structure, of a unusual language • Reputation: Programming courses acquire the reputation of being difficult • Image: the public image of a "programmer“ Learning Programming is Difficult
  • 3. Most students never had the opportunity to develop skills, like : • Make a Plan: decomposition • Look for similarities: pattern recognition • Make solution to multiple problems: abstraction • Develop a step-by-step solutions: algorithm Computational Thinking Programming is difficult.
  • 4. Develop skills in Computational Thinking
  • 5. • Other proposals Follow/Give instruction Map designParson Problems Origami Paper Folding Develop skills in Computational Thinking
  • 6. Programming requires •Work hard •Dedication •Training: Trying, Doing, Correcting mistakes, Repeat, and Repeat again Programming is difficult.
  • 7. “Teaching yourself programming in ten years“ “… it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, …” Programming requires time. Peter Norvig
  • 9. Motivation “the programmers of tomorrow are the wizards of the future.” “You gonna look like you have magic powers compared to everybody else. ” “It’s the closest thing we have to a superpower.” Gabe Newell (Valve Corporation) in Hour of Code Drew Houston (Founders DropBox) in Hour of Code
  • 10. • Difficuty in following students in their learning process • Students with difficulties Lose: Passion Beauty Joy Awe •Failure / Unsuccess Follow learning process
  • 11. Building Skills in Introductory Programming
  • 12. 46 Cognitive Skills 54 Commitment Dedication 42 C Programming Course 52 Teacher's vision 35 Paper Folding 53 Class Behavior 59 Basic Concepts 2 Participation 59 Surface Development Test34 Class Attendance 70 Input / Output 35 Doubts 14 Form Board Test 76 Problem-Solving 72 IF 61 Attendance 69 Extra Problems 27 FOR 84 Help others 18 Motivation 6 Do-While() 83 Confidence 53 Questions / Doubts 17 While() 72 Curiosity 17 Functions 1 Common Errors 58 Arrays 1D 33 Serious errors 8 Arrays 2D 45 Initiative 53 Structs 36 Expert 3 Pointers 79 File 89 José Quitério Engenharia Informática Viana do Castelo 50 anos Building Skills in Introductory Programming
  • 13. Diana Building Skills in Introductory Programming
  • 14. Building Skills in Introductory Programming DON’T LOSE THE HOPE!

Editor's Notes

  • #3: I teach programming, over 25 years. Every year I feel the same problem. The same problems I felt 25 years ago. Even with all technological growth the problems are the same. --- There are numerous studies with the main reflection of the difficulties of solving programming problems. Some of these problems. This is a difficult time for many students – a time of transition as they adapt to life and study at university. They may well be living away from home for the first time. The abstract concepts that are involved in programming Programming is a new subject for many of the students who take programming courses The students need to know the syntax, the semantics and the structure, of a unusual language Reputation: Programming courses acquire the reputation of being difficult Image: the public image of a "programmer“
  • #4: Or, most students who come to university have never had the opportunity to develop these skills of computational thinking Computational Thinking: Decomposition Pattern recognition Abstraction algorithm
  • #5: In recent years we have see the proliferation of numerous projects with the specific objective of encouraging the study of programming. Many organisations are working hard to set young people up for success in a digital world. The projects of massification of computational thinking and coding are now starting to be implemented in our education system in Portugal. This is the main reason why most students have never had the opportunity to learn computational thinking or coding. This is one way to develop this skill, use programming
  • #6: Young people, our students, grow up surrounded by technology. They have not known life without technology. They have grown up with computers and mobiles. It is intentional that students handle and solve the exercises manually, like board games, where they can explore with pleasure, without fear of making mistakes and where teacher-student relationship and confidence can be improved and enhanced. We have tried some exercises quite different from the usual ones in programming
  • #7: We can try many techniques and methods and technologies but ... Programming requires Work hard Dedication Training A bit like the author Peter Norvig, about "teaching yourself in ten 10 years", where he refers to the need to give time to learn anything Teach Yourself Programming in Ten Years Peter Norvig Why is everyone in such a rush? Researchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. The key is deliberativepractice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. 
  • #8: The author Peter Norvig, about "Teach Yourself Programming in Ten Years", where he refers to the need to give time to learn anything Why is everyone in such a rush? Researchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. The key is deliberativepractice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. 
  • #9: We can try everything… but work hard is necessary. It is up to us to suggest, encourage, motivate and supervise the work. Some examples … especially in C programming language
  • #10: some motivation is also needed the programmers of tomorrow are the wizards of the future You gonna look like you have magic powers compared to everybody else Gabe Newell (Valve Corporation) It’s the closest thing we have to a superpower. Drew Houston (Founders DropBox)
  • #11: for the most diverse reasons I feel that I am not able to following students in their learning process. student with difficulties. loses interest not motivated, unmotivated does not work, does not practice Failure or unsuccess
  • #12: For efficient follow-up of students, we think about building the learning profile of each student. To do this, we use the set of exercises that students do and build their profile. The student can improve all his characteristics with specific training. Over time, we think it is possible to tell students that with certain characteristics the probability of success, or failure, is large or small. We also think that it is also possible to determine which factors contribute most to success or failure.
  • #13: Just as the characters in video games can improve, work, and training their skills
  • #14: I want to look at a student and see their skills. And help you out I want to be a better programming teacher