Mental Model-Driven Programming Education

Daniel Anderson

Education, Career & Life
Python Skill Novice
Domain Expertise None

Why do some students simply not "get" programming?

I've been struggling with this question for years, as I've accompanied thousands of students' first steps with programming. From teenagers to career-changers, from one-on-one sessions to creating learning materials, for a long time I felt I'm missing something. In the last few years an answer has been crystalizing: the key is to intentionally teach with the aim of developing a mental model of programming.

In the talk I'll explain:

  1. Exactly what I mean by "mental model of programming", and why it's so important
  2. Why, when you don't intentionally nurture such a mental model, some students won't acquire it naturally
  3. How to nurture the development of a mental model of programming

I'll demonstrate pedagogic methods with examples that I use in curriculums, and which I've found to improve student performance.

Daniel Anderson

Hi! I'm Daniel, a machine learning research engineer from Israel.

I love data and optimization, and had the opportunity to work on a variety of interesting problems, from analyzing brain signals to video-based 3D reconstruction.

I'm also fascinated with learning, and love teaching and creating interactive learning experiences.

I hold a B.Sc. in computer science from the Open University of Israel, and an M.Sc. in machine learning and data science from Reichman University, Israel.

I love music, the outdoors, and playing with my cat.

You can check out my blog to see what I'm passionate about.