{"guid":"74b9c748-970f-4693-ac7e-46fcc733d2b4","title":"How to teach programming to your loved ones","subtitle":"Enabling students over example-driven teaching","slug":"35c3-9800-how_to_teach_programming_to_your_loved_ones","link":"https://fahrplan.events.ccc.de/congress/2018/Fahrplan/events/9800.html","description":"Teaching beginners how to program is often \u003ci\u003ehard\u003c/i\u003e.  We love building programs, and seeing our loved ones struggle with this is painful.  Showing them how to copy-paste a few example programs and change a few parameters is easy, but bridging from there to building substantial programs is a different game entirely.  This talk is about how to teach programming successfully, through comprehensible \u003ci\u003edesign recipes\u003c/i\u003e, which anyone can follow, using languages and tools designed for beginners.  This approach is probably different from how you learned how to program, or how you're used to teaching.  It is more effective, however, as it teaches more material successfully to a broader spectrum of people.  It is also more enjoyable.\n\n\nThe talk is based on many years of research by the \u003ca href=\"https://programbydesign.org/\"\u003eProgram by Design\u003c/a\u003e, \u003ca href=\"http://www.deinprogramm.de\"\u003eDeinProgramm\u003c/a\u003e, and \u003ca href=\"http://www.bootstrapworld.org/\"\u003eBootstrap\u003c/a\u003e educational projects, as well as over 30 years of personal teaching experience in school, university and industrial contexts.  A word of warning: The resulting approach is radically different from most teaching approaches used in universities and schools.  In particular, it avoids teaching purely through examples and expecting students to develop the skills to arrive at the solutions on their own.  Instead, it eaches explicit methodology that enables students to solve problems of surprising complexity on their own, whether they are 11 or 55, whether in a classroom, a training facility, or your home.  Extensive documentation, material, and software to support this methodology is available for free.\n","original_language":"eng","persons":["Mike Sperber"],"tags":["35c3","9800","Hardware \u0026 Making"],"view_count":8353,"promoted":false,"date":"2018-12-28T00:00:00.000+01:00","release_date":"2018-12-28T01:00:00.000+01:00","updated_at":"2026-02-28T21:15:10.603+01:00","length":3594,"duration":3594,"thumb_url":"https://static.media.ccc.de/media/congress/2018/9800-hd.jpg","poster_url":"https://static.media.ccc.de/media/congress/2018/9800-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/congress/2018/9800-hd.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/congress/2018/9800-hd.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/35c3-9800-how_to_teach_programming_to_your_loved_ones","url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_title":"35C3: Refreshing Memories","conference_url":"https://api.media.ccc.de/public/conferences/35c3","related":[{"event_id":6378,"event_guid":"15f4e5c5-40e1-4c73-8da0-4cc2a773ab13","weight":35},{"event_id":6400,"event_guid":"527b56af-8d56-4edb-9027-9ca60767c742","weight":151},{"event_id":6401,"event_guid":"f0d70663-0769-4462-ad27-bc516d9cb141","weight":90},{"event_id":6406,"event_guid":"686c1387-e761-4df6-b395-f9ddf92d46e7","weight":74},{"event_id":6408,"event_guid":"ffdc92f3-1a39-4931-9409-f8bfabe9f628","weight":77},{"event_id":6409,"event_guid":"a42e5a4f-fd9b-4571-bf17-483978afecb3","weight":73},{"event_id":6411,"event_guid":"42650545-4394-4455-a5f5-9efad111fedc","weight":90},{"event_id":6417,"event_guid":"bf5019dc-499d-4c06-9ad0-35adbe01e7f3","weight":68},{"event_id":6429,"event_guid":"d995955c-319f-4228-b3f4-080868bbfdf8","weight":71},{"event_id":6430,"event_guid":"462f9320-3a0e-4785-82de-15343803c2ba","weight":126},{"event_id":6432,"event_guid":"de977841-8510-4172-9622-dd0563c2cb82","weight":138},{"event_id":6434,"event_guid":"6beabddc-2dd6-43d2-9936-618d41d42cde","weight":83},{"event_id":6435,"event_guid":"9777cea0-ac06-4274-85db-908c1e87e2f4","weight":69},{"event_id":6458,"event_guid":"3ff227f1-93cc-4a1d-8f0e-68fc12aea2c9","weight":13},{"event_id":6462,"event_guid":"23e85d7a-9645-4ae2-9954-63b71abc08d4","weight":113},{"event_id":6471,"event_guid":"f17d3060-fb3d-4d73-b1e3-8bd5ec4d4d12","weight":79},{"event_id":6474,"event_guid":"f58a2b6d-bde0-483b-a8db-043ea9371cb6","weight":114},{"event_id":6493,"event_guid":"2375222b-7dae-4bca-a5b0-aea227ab0d76","weight":81},{"event_id":6498,"event_guid":"4e6ab724-8663-456a-ac01-1cfdfc94c27f","weight":76},{"event_id":6499,"event_guid":"a750228d-a37d-43c0-8e2f-d46137a991dc","weight":116},{"event_id":6502,"event_guid":"e66cded3-7336-42bd-a7c8-d77073465ad2","weight":80},{"event_id":6507,"event_guid":"787007cf-828d-4409-94b0-90a0b8d727a0","weight":80},{"event_id":6511,"event_guid":"4f6f4278-1cfb-4e8d-935d-ec0ac2adefc5","weight":67},{"event_id":6517,"event_guid":"e77ef54a-5dd7-4be1-80c7-42726b273e6f","weight":69},{"event_id":6523,"event_guid":"240fe8a1-ee33-4f07-88d0-34b8bb04db71","weight":68},{"event_id":6535,"event_guid":"a875f05c-5eeb-4478-9e6f-863fc52b8868","weight":67},{"event_id":6536,"event_guid":"0a4a43e0-2b8d-424c-aaa3-101c843de75c","weight":87},{"event_id":6543,"event_guid":"48ed6dea-e67d-4866-8c35-318e9d892363","weight":102},{"event_id":6551,"event_guid":"3a571c21-31ed-453b-886d-7dea7b5751cd","weight":78},{"event_id":6603,"event_guid":"ea00d1e0-a580-415f-a8cf-f02883d939dc","weight":91},{"event_id":6611,"event_guid":"b1b28bd0-5279-4950-8385-9ee8a57187f9","weight":99}],"recordings":[{"size":null,"length":null,"mime_type":"application/x-subrip","language":"eng","filename":"35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones.en.srt","state":"complete","folder":"","high_quality":true,"width":null,"height":null,"updated_at":"2021-02-21T17:47:10.370+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones.en.srt","url":"https://api.media.ccc.de/public/recordings/44541","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":362,"length":3594,"mime_type":"video/mp4","language":"eng","filename":"35c3-9800-eng-How_to_teach_programming_to_your_loved_ones.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-12-28T21:04:28.921+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/h264-hd/35c3-9800-eng-How_to_teach_programming_to_your_loved_ones.mp4","url":"https://api.media.ccc.de/public/recordings/31424","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":361,"length":3594,"mime_type":"video/mp4","language":"deu","filename":"35c3-9800-deu-How_to_teach_programming_to_your_loved_ones.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-12-28T21:04:52.868+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/h264-hd/35c3-9800-deu-How_to_teach_programming_to_your_loved_ones.mp4","url":"https://api.media.ccc.de/public/recordings/31425","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":360,"length":3594,"mime_type":"video/mp4","language":"fra","filename":"35c3-9800-fra-How_to_teach_programming_to_your_loved_ones.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-12-28T21:05:09.741+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/h264-hd/35c3-9800-fra-How_to_teach_programming_to_your_loved_ones.mp4","url":"https://api.media.ccc.de/public/recordings/31426","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":548,"length":3594,"mime_type":"video/mp4","language":"eng-deu-fra","filename":"35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-12-28T21:05:50.501+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/h264-hd/35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_hd.mp4","url":"https://api.media.ccc.de/public/recordings/31427","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":244,"length":3594,"mime_type":"video/mp4","language":"eng-deu-fra","filename":"35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_hd-slides.mp4","state":"new","folder":"slides-h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-12-28T21:23:02.305+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/slides-h264-hd/35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_hd-slides.mp4","url":"https://api.media.ccc.de/public/recordings/31438","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":262,"length":3594,"mime_type":"video/mp4","language":"eng-deu-fra","filename":"35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-12-28T21:23:44.476+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/h264-sd/35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_sd.mp4","url":"https://api.media.ccc.de/public/recordings/31439","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":38,"length":3594,"mime_type":"audio/opus","language":"eng","filename":"35c3-9800-eng-How_to_teach_programming_to_your_loved_ones_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2018-12-28T21:39:22.357+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/opus/35c3-9800-eng-How_to_teach_programming_to_your_loved_ones_opus.opus","url":"https://api.media.ccc.de/public/recordings/31447","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":54,"length":3594,"mime_type":"audio/mpeg","language":"eng","filename":"35c3-9800-eng-How_to_teach_programming_to_your_loved_ones_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2018-12-28T21:40:36.610+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/mp3/35c3-9800-eng-How_to_teach_programming_to_your_loved_ones_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/31450","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":416,"length":3594,"mime_type":"video/webm","language":"eng-deu-fra","filename":"35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2018-12-28T23:34:55.100+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/webm-sd/35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/31493","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":795,"length":3594,"mime_type":"video/webm","language":"eng-deu-fra","filename":"35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2018-12-28T23:35:27.767+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/webm-hd/35c3-9800-eng-deu-fra-How_to_teach_programming_to_your_loved_ones_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/31494","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"},{"size":3,"length":null,"mime_type":"application/pdf","language":"eng","filename":"35c3-9800-how_to_teach_programming_to_your_loved_ones.pdf","state":"new","folder":"slides-pdf","high_quality":true,"width":null,"height":null,"updated_at":"2019-01-11T02:38:38.517+01:00","recording_url":"https://cdn.media.ccc.de/congress/2018/slides-pdf/35c3-9800-how_to_teach_programming_to_your_loved_ones.pdf","url":"https://api.media.ccc.de/public/recordings/32773","event_url":"https://api.media.ccc.de/public/events/74b9c748-970f-4693-ac7e-46fcc733d2b4","conference_url":"https://api.media.ccc.de/public/conferences/35c3"}]}