Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Techniques for Teaching Scala

Scala Days Conferences via YouTube

Overview

Learn effective techniques for teaching Scala in this conference talk from Scala Days Lausanne 2019. Explore key concepts like notional machines, programming strategies, and debugging skills. Discover how to use substitution models for methods, types, and pure code. Master systematic programming approaches using algebraic data types, structural recursion, and pattern matching. Gain insights on demonstrating error recovery, tool usage, and prompting critical thinking in students. Understand the importance of uncovering and correcting flaws in mental models, and learn how pair programming and deliberate practice can enhance teaching skills. Improve your ability to guide both junior and senior developers in Scala programming through practical, hands-on methods.

Syllabus

Intro
Outline
Teaching is a distinct skill
Seniors teach juniors
Notional Machines
Understanding requires a simplified machine model
Substitution
For methods
For types
For pure code
Easy!
Programming Strategies
Systematic and repeatable programming
Algebraic data types Structural recursion Following the types
Pattern matching or Polymorphism
What is the goal? What is available? Assemble the jigsaw
Debugging and tool use are essential to programming
Demonstrate error recovery
Demonstrate tool use
Give prompts for thinking
What strategy are you using?
The teachers job is to uncover and correct flaws in their mental models
The best way to learn is to teach
Pair Programming
Your own practice
Your own deliberate practice and reflection
Notional machine Strategies 3 More than coding Shut up

Taught by

Scala Days Conferences

Reviews

Start your review of Techniques for Teaching Scala

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.