SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Programming skills are a crucial part of our education as computational linguists, yet so
many programming classes leave students uninformed, confused, and often unable to
solve problems that differ too much from those that were discussed in class. How can we
offer better programming courses that motivate and enable students to grok all basic
concepts, rather than merely learn a number of functions by heart, without understanding
why things work the way they do?
In the first part of this session, I will give an overview of some questions that I think
should be considered when a programming class for computational linguists is being
designed.
In the second part of the session, you are welcome to discuss these questions with me
and share your own opinions and experiences. If you've participated in a programming
class before, either as a student or a teacher/TA, or if you're going to do so soon, your
input is valuable for the discussion!
How not to fail at programming education
How not to fail at
programming
education
Esther Seyffarth - TaCOS 25
Any feelings about programming courses?
● Raise your hand if you’ve participated in a
programming class.
● Raise your hand if you’ve contributed to a
programming class (as a teacher or TA).
● Raise your hand if you’ve learned a
programming language by yourself.
● Raise your hand if you don’t know how to
code.
What went wrong?
● Bad class materials?
● Boring examples for complex concepts?
● Not enough explanations?
● No connection to your other classes?
● Too much homework? Too little homework?
● Obligatory class with no intrinsic pull?
How can we design a great programming
class?
● There is no objectively great programming
class!
● Where you have to start depends on where
the students are.
● Which aspects of a programming class
matter most?
● How should each aspect look in your specific
case?
Morphological Box
● The morphological box is a way of thinking
about products one aspect at a time.
● You identify core attributes and find a
reasonable number of different values.
● Compare possibilities and decide which
combination of values you prefer.
Attribute A: Assumptions about students’
knowledge
● Pretend nobody knows anything about
computers or logic.
● Compare the language in question to
languages students might already know.
● Assume students have worked with the
language, but give opportunities for
struggling students to keep up.
● Publish strict course prerequisites early on.
Attribute B: Object Orientation (in Python)
● Pretend there’s no such thing as classes.
● Teach imperative style for a couple of
weeks, then switch to OO.
● Teach imperative for a semester, talk about
OO in last 2 weeks.
● Force students to understand Object
Orientation before they write their first line of
code.
Attribute C: IDE
● Use a simple, wooden interpreter/shell/editor
with no syntax highlighting etc.
● Use an IDE like IDLE, with syntax
highlighting, but no remarkable qualities.
● Use an IDE that has integrated Version
Control, code completion, error detection…
● Use IPython Notebook ❤
Attribute D: Depth vs. Breadth
● Use a book, focus on showing how to solve
given problems.
● Explain basic concepts and build more and
more complex projects together.
● Give a broad overview of a range of topics,
show students where to look for help.
● Provide an opportunity for students to
develop their own projects.
Attribute E: Exams? Homework?
● Give programming assignments throughout
the semester.
● Start each class by asking a couple of
questions about the learnings so far.
● Have a big, intimidating exam in the last
week.
● Plan supervised practice sessions with
small, optional tasks.
Morphological Box
A:
Prerequisites
Zero prerequisites Build on existing
knowledge
Help students
help themselves
Strict
prerequisites
B:
Object
Orientation
Pretend objects
don’t exist
Introduce after
first 2 weeks
Introduce in last 2
weeks
Pretend
everything’s an
object
C:
IDE
B/W shell IDLE Most Intelligent
Python IDE
IP[y]:
D:
Depth vs.
Breadth
Narrow focus on
individual
examples
Develop complex
projects together
Broad overview,
show good
resources
Let students
develop ideas
E:
Exams?
Homework?
Homework
programming
assignments
Continuous
repetition of key
concepts
Final exam Supervised
practice sessions
Morphological Box: Opinion Time!
A:
Prerequisites
Zero prerequisites Build on existing
knowledge
Help students
help themselves
Strict
prerequisites
B:
Object
Orientation
Pretend objects
don’t exist
Introduce after
first 2 weeks
Introduce in last 2
weeks
Pretend
everything’s an
object
C:
IDE
B/W shell IDLE Most Intelligent
Python IDE
IP[y]:
D:
Depth vs.
Breadth
Narrow focus on
individual
examples
Develop complex
projects together
Broad overview,
show good
resources
Let students
develop ideas
E:
Exams?
Homework?
Homework
programming
assignments
Continuous
repetition of key
concepts
Final exam Supervised
practice sessions
Other questions
● Covered: Prerequisites, Object Orientation,
IDE, Depth vs Breadth, Exams
● Other questions:
o Which programming language?
o Cooperation with other courses?
o Materials: Books? Slides? Websites?
o Extracurricular projects, e.g. NaNoGenMo ❤

Weitere ähnliche Inhalte

Was ist angesagt?

Integrating Tutors And Call In Efl
Integrating Tutors And Call In EflIntegrating Tutors And Call In Efl
Integrating Tutors And Call In Efl
getchan
 
Case study: evaluation of a tool for searching inside a collection of multimo...
Case study: evaluation of a tool for searching inside a collection of multimo...Case study: evaluation of a tool for searching inside a collection of multimo...
Case study: evaluation of a tool for searching inside a collection of multimo...
ronchet
 
Searching information in a collection of video-lectures
Searching information in a collection of video-lecturesSearching information in a collection of video-lectures
Searching information in a collection of video-lectures
ronchet
 
Curricular Integration Project - Lesson plan
Curricular Integration Project - Lesson planCurricular Integration Project - Lesson plan
Curricular Integration Project - Lesson plan
haleybarrette
 

Was ist angesagt? (19)

ISTE 2017: Using Coding to Teach Writing
ISTE 2017: Using Coding to Teach WritingISTE 2017: Using Coding to Teach Writing
ISTE 2017: Using Coding to Teach Writing
 
Rubric video
Rubric videoRubric video
Rubric video
 
Integrating Tutors And Call In Efl
Integrating Tutors And Call In EflIntegrating Tutors And Call In Efl
Integrating Tutors And Call In Efl
 
Lesson planner
Lesson plannerLesson planner
Lesson planner
 
Video Project Grading Rubric - BEA 214 Presentation by Sam Edsall
Video Project Grading Rubric - BEA 214 Presentation by Sam EdsallVideo Project Grading Rubric - BEA 214 Presentation by Sam Edsall
Video Project Grading Rubric - BEA 214 Presentation by Sam Edsall
 
Cae speaking part 3
Cae speaking   part 3Cae speaking   part 3
Cae speaking part 3
 
Difficulties in EAP module in "SLIIT"
Difficulties in EAP module in "SLIIT"Difficulties in EAP module in "SLIIT"
Difficulties in EAP module in "SLIIT"
 
Case study: evaluation of a tool for searching inside a collection of multimo...
Case study: evaluation of a tool for searching inside a collection of multimo...Case study: evaluation of a tool for searching inside a collection of multimo...
Case study: evaluation of a tool for searching inside a collection of multimo...
 
Searching information in a collection of video-lectures
Searching information in a collection of video-lecturesSearching information in a collection of video-lectures
Searching information in a collection of video-lectures
 
Curricular Integration Project - Lesson plan
Curricular Integration Project - Lesson planCurricular Integration Project - Lesson plan
Curricular Integration Project - Lesson plan
 
Animations. cartoons otc tech october 2016 dublin
Animations. cartoons otc tech october 2016 dublinAnimations. cartoons otc tech october 2016 dublin
Animations. cartoons otc tech october 2016 dublin
 
Power of PowerPoint
Power of PowerPointPower of PowerPoint
Power of PowerPoint
 
Digital Language Lab - Self Access Center
Digital Language Lab - Self Access CenterDigital Language Lab - Self Access Center
Digital Language Lab - Self Access Center
 
NoRedInk Lesson Ideas
NoRedInk Lesson IdeasNoRedInk Lesson Ideas
NoRedInk Lesson Ideas
 
Academic fastrack...
Academic fastrack...Academic fastrack...
Academic fastrack...
 
Cae speaking part 2
Cae speaking   part 2Cae speaking   part 2
Cae speaking part 2
 
Ucla Cdh
Ucla CdhUcla Cdh
Ucla Cdh
 
Making Lesson Plans
Making Lesson PlansMaking Lesson Plans
Making Lesson Plans
 
Effective lecutre
Effective lecutreEffective lecutre
Effective lecutre
 

Andere mochten auch

Wie funktioniert eigentlich Pentametron? Computerlinguistische Perspektiven a...
Wie funktioniert eigentlich Pentametron? Computerlinguistische Perspektiven a...Wie funktioniert eigentlich Pentametron? Computerlinguistische Perspektiven a...
Wie funktioniert eigentlich Pentametron? Computerlinguistische Perspektiven a...
Esther Seyffarth
 
Presentation janice s. dionisio
Presentation   janice s. dionisioPresentation   janice s. dionisio
Presentation janice s. dionisio
janicesdionisio
 
Work Fat_by James D
Work Fat_by James DWork Fat_by James D
Work Fat_by James D
James Beers
 
Caleb clark's journal
Caleb clark's journalCaleb clark's journal
Caleb clark's journal
lucyjonas
 
Ferdigheter for en nav veileder
Ferdigheter for en nav  veilederFerdigheter for en nav  veileder
Ferdigheter for en nav veileder
unnihelene50
 

Andere mochten auch (20)

Elektriskie lādiņi
Elektriskie lādiņiElektriskie lādiņi
Elektriskie lādiņi
 
Tik bab 2
Tik bab 2Tik bab 2
Tik bab 2
 
service marketing
service marketingservice marketing
service marketing
 
Climate Justice, #BlackLivesMatter, and Palestinian Liberation - Coalition of...
Climate Justice, #BlackLivesMatter, and Palestinian Liberation - Coalition of...Climate Justice, #BlackLivesMatter, and Palestinian Liberation - Coalition of...
Climate Justice, #BlackLivesMatter, and Palestinian Liberation - Coalition of...
 
One stop english
One stop englishOne stop english
One stop english
 
¿POR QUÉ?
¿POR QUÉ?¿POR QUÉ?
¿POR QUÉ?
 
Competitive pricing
Competitive pricingCompetitive pricing
Competitive pricing
 
¿LICENCIADO EN LENGUAS MUERTAS?
¿LICENCIADO EN LENGUAS MUERTAS?¿LICENCIADO EN LENGUAS MUERTAS?
¿LICENCIADO EN LENGUAS MUERTAS?
 
Wie funktioniert eigentlich Pentametron? Computerlinguistische Perspektiven a...
Wie funktioniert eigentlich Pentametron? Computerlinguistische Perspektiven a...Wie funktioniert eigentlich Pentametron? Computerlinguistische Perspektiven a...
Wie funktioniert eigentlich Pentametron? Computerlinguistische Perspektiven a...
 
Competitive pricing
Competitive pricingCompetitive pricing
Competitive pricing
 
Presentation janice s. dionisio
Presentation   janice s. dionisioPresentation   janice s. dionisio
Presentation janice s. dionisio
 
Work Fat_by James D
Work Fat_by James DWork Fat_by James D
Work Fat_by James D
 
Bab 5
Bab 5Bab 5
Bab 5
 
6 benso, alban. - da micro-historia
6   benso, alban. - da micro-historia6   benso, alban. - da micro-historia
6 benso, alban. - da micro-historia
 
Scala Days 2014: Pitching Typesafe
Scala Days 2014: Pitching TypesafeScala Days 2014: Pitching Typesafe
Scala Days 2014: Pitching Typesafe
 
Caleb clark's journal
Caleb clark's journalCaleb clark's journal
Caleb clark's journal
 
Article Inspiration - Devlin
Article Inspiration - DevlinArticle Inspiration - Devlin
Article Inspiration - Devlin
 
REACH THEM by MATHEW OLASUPO
REACH THEM by MATHEW OLASUPOREACH THEM by MATHEW OLASUPO
REACH THEM by MATHEW OLASUPO
 
Banner locations of Pragyan
Banner locations of PragyanBanner locations of Pragyan
Banner locations of Pragyan
 
Ferdigheter for en nav veileder
Ferdigheter for en nav  veilederFerdigheter for en nav  veileder
Ferdigheter for en nav veileder
 

Ähnlich wie How not to fail at programming education

Lesson six plan
Lesson six planLesson six plan
Lesson six plan
sutt202
 
Teaching chinese to international exchange students a case sharing
Teaching chinese to international exchange students a case sharingTeaching chinese to international exchange students a case sharing
Teaching chinese to international exchange students a case sharing
tangweizhiillie
 
Building Teaching Skills Through the Interactive Web Plan Report_Harun
Building Teaching Skills Through the Interactive Web Plan Report_HarunBuilding Teaching Skills Through the Interactive Web Plan Report_Harun
Building Teaching Skills Through the Interactive Web Plan Report_Harun
Harun Md. Shahed Bin Naim
 

Ähnlich wie How not to fail at programming education (20)

Unit planning w eqs
Unit planning w eqsUnit planning w eqs
Unit planning w eqs
 
TechLogic 2014 Keynote on Inverting an Algorithms Class (Extended Version)
TechLogic 2014 Keynote on Inverting an Algorithms Class (Extended Version)TechLogic 2014 Keynote on Inverting an Algorithms Class (Extended Version)
TechLogic 2014 Keynote on Inverting an Algorithms Class (Extended Version)
 
Visuals -flipping--draft-one
Visuals -flipping--draft-oneVisuals -flipping--draft-one
Visuals -flipping--draft-one
 
Module 1 PBL Mini Series
Module 1 PBL Mini SeriesModule 1 PBL Mini Series
Module 1 PBL Mini Series
 
Using Programmed Instruction to Help Students Engage with eTextbook Content
Using Programmed Instruction to Help Students Engage with eTextbook Content Using Programmed Instruction to Help Students Engage with eTextbook Content
Using Programmed Instruction to Help Students Engage with eTextbook Content
 
Lesson six plan
Lesson six planLesson six plan
Lesson six plan
 
J ford unit 4 apps p
J ford unit 4 apps pJ ford unit 4 apps p
J ford unit 4 apps p
 
Baleap tel sig conference slides
Baleap tel sig conference slidesBaleap tel sig conference slides
Baleap tel sig conference slides
 
Teaching chinese to international exchange students a case sharing
Teaching chinese to international exchange students a case sharingTeaching chinese to international exchange students a case sharing
Teaching chinese to international exchange students a case sharing
 
Reading Book Report 3. Chapter
Reading Book Report 3. ChapterReading Book Report 3. Chapter
Reading Book Report 3. Chapter
 
Presentacion ana 0508 part b
Presentacion ana 0508 part bPresentacion ana 0508 part b
Presentacion ana 0508 part b
 
Paul Gruhn Faculty-Research-Day Student-Poster Program Evalution
Paul Gruhn Faculty-Research-Day Student-Poster Program EvalutionPaul Gruhn Faculty-Research-Day Student-Poster Program Evalution
Paul Gruhn Faculty-Research-Day Student-Poster Program Evalution
 
Student Survey Nov 2022
Student Survey Nov 2022Student Survey Nov 2022
Student Survey Nov 2022
 
Technology Seminar Handout
Technology Seminar HandoutTechnology Seminar Handout
Technology Seminar Handout
 
Blended instruction for EL Modern Learners
Blended instruction for EL Modern LearnersBlended instruction for EL Modern Learners
Blended instruction for EL Modern Learners
 
Building Teaching Skills Through the Interactive Web Plan Report_Harun
Building Teaching Skills Through the Interactive Web Plan Report_HarunBuilding Teaching Skills Through the Interactive Web Plan Report_Harun
Building Teaching Skills Through the Interactive Web Plan Report_Harun
 
Building proficiency 365
Building proficiency 365Building proficiency 365
Building proficiency 365
 
Extreme apprenticeship: a new way of teaching Computer Science?
Extreme apprenticeship: a new way of teaching Computer Science?Extreme apprenticeship: a new way of teaching Computer Science?
Extreme apprenticeship: a new way of teaching Computer Science?
 
UbD Tools For Effective Unit Design
UbD Tools For Effective Unit DesignUbD Tools For Effective Unit Design
UbD Tools For Effective Unit Design
 
Extreme Apprenticeship: what do students think?
Extreme Apprenticeship: what do students think?Extreme Apprenticeship: what do students think?
Extreme Apprenticeship: what do students think?
 

Kürzlich hochgeladen

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
ssuserdda66b
 

Kürzlich hochgeladen (20)

How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 

How not to fail at programming education

  • 1. Programming skills are a crucial part of our education as computational linguists, yet so many programming classes leave students uninformed, confused, and often unable to solve problems that differ too much from those that were discussed in class. How can we offer better programming courses that motivate and enable students to grok all basic concepts, rather than merely learn a number of functions by heart, without understanding why things work the way they do? In the first part of this session, I will give an overview of some questions that I think should be considered when a programming class for computational linguists is being designed. In the second part of the session, you are welcome to discuss these questions with me and share your own opinions and experiences. If you've participated in a programming class before, either as a student or a teacher/TA, or if you're going to do so soon, your input is valuable for the discussion! How not to fail at programming education
  • 2. How not to fail at programming education Esther Seyffarth - TaCOS 25
  • 3. Any feelings about programming courses? ● Raise your hand if you’ve participated in a programming class. ● Raise your hand if you’ve contributed to a programming class (as a teacher or TA). ● Raise your hand if you’ve learned a programming language by yourself. ● Raise your hand if you don’t know how to code.
  • 4. What went wrong? ● Bad class materials? ● Boring examples for complex concepts? ● Not enough explanations? ● No connection to your other classes? ● Too much homework? Too little homework? ● Obligatory class with no intrinsic pull?
  • 5. How can we design a great programming class? ● There is no objectively great programming class! ● Where you have to start depends on where the students are. ● Which aspects of a programming class matter most? ● How should each aspect look in your specific case?
  • 6. Morphological Box ● The morphological box is a way of thinking about products one aspect at a time. ● You identify core attributes and find a reasonable number of different values. ● Compare possibilities and decide which combination of values you prefer.
  • 7. Attribute A: Assumptions about students’ knowledge ● Pretend nobody knows anything about computers or logic. ● Compare the language in question to languages students might already know. ● Assume students have worked with the language, but give opportunities for struggling students to keep up. ● Publish strict course prerequisites early on.
  • 8. Attribute B: Object Orientation (in Python) ● Pretend there’s no such thing as classes. ● Teach imperative style for a couple of weeks, then switch to OO. ● Teach imperative for a semester, talk about OO in last 2 weeks. ● Force students to understand Object Orientation before they write their first line of code.
  • 9. Attribute C: IDE ● Use a simple, wooden interpreter/shell/editor with no syntax highlighting etc. ● Use an IDE like IDLE, with syntax highlighting, but no remarkable qualities. ● Use an IDE that has integrated Version Control, code completion, error detection… ● Use IPython Notebook ❤
  • 10. Attribute D: Depth vs. Breadth ● Use a book, focus on showing how to solve given problems. ● Explain basic concepts and build more and more complex projects together. ● Give a broad overview of a range of topics, show students where to look for help. ● Provide an opportunity for students to develop their own projects.
  • 11. Attribute E: Exams? Homework? ● Give programming assignments throughout the semester. ● Start each class by asking a couple of questions about the learnings so far. ● Have a big, intimidating exam in the last week. ● Plan supervised practice sessions with small, optional tasks.
  • 12. Morphological Box A: Prerequisites Zero prerequisites Build on existing knowledge Help students help themselves Strict prerequisites B: Object Orientation Pretend objects don’t exist Introduce after first 2 weeks Introduce in last 2 weeks Pretend everything’s an object C: IDE B/W shell IDLE Most Intelligent Python IDE IP[y]: D: Depth vs. Breadth Narrow focus on individual examples Develop complex projects together Broad overview, show good resources Let students develop ideas E: Exams? Homework? Homework programming assignments Continuous repetition of key concepts Final exam Supervised practice sessions
  • 13. Morphological Box: Opinion Time! A: Prerequisites Zero prerequisites Build on existing knowledge Help students help themselves Strict prerequisites B: Object Orientation Pretend objects don’t exist Introduce after first 2 weeks Introduce in last 2 weeks Pretend everything’s an object C: IDE B/W shell IDLE Most Intelligent Python IDE IP[y]: D: Depth vs. Breadth Narrow focus on individual examples Develop complex projects together Broad overview, show good resources Let students develop ideas E: Exams? Homework? Homework programming assignments Continuous repetition of key concepts Final exam Supervised practice sessions
  • 14. Other questions ● Covered: Prerequisites, Object Orientation, IDE, Depth vs Breadth, Exams ● Other questions: o Which programming language? o Cooperation with other courses? o Materials: Books? Slides? Websites? o Extracurricular projects, e.g. NaNoGenMo ❤