Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Passing down the pain. (eurucamp 2015)
Search
Ivan Zarea
August 01, 2015
Education
0
43
Passing down the pain. (eurucamp 2015)
The talk I gave at Eurucamp 2015.
http://2015.eurucamp.org/
Ivan Zarea
August 01, 2015
Tweet
Share
More Decks by Ivan Zarea
See All by Ivan Zarea
History of Computer Science 2015 Lecture 2
minivan
0
39
History of Computer Science 2015 Lecture 1
minivan
2
140
JS Meetup Chișinău #1
minivan
1
110
Useless Programming
minivan
3
160
Other Decks in Education
See All in Education
2025年度アプリ開発プロジェクト紹介(名古屋文理大学)
yusk1450
PRO
1
100
i-GIP 2025 中高生のみなさんへ資料
202200
0
490
ビジネスモデル理解
takenawa
0
5.8k
Pythonパッケージ管理 [uv] 完全入門
mickey_kubo
20
14k
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019538FNR)
signer
PRO
1
2k
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
0
2.4k
Tutorial: Foundations of Blind Source Separation and Its Advances in Spatial Self-Supervised Learning
yoshipon
1
120
生成AIとの上手な付き合い方【公開版】/ How to Get Along Well with Generative AI (Public Version)
handlename
0
480
2025.05.10 技術書とVoicyとわたし #RPALT
kaitou
1
220
ふりかえり研修2025
pokotyamu
0
1.2k
(キラキラ)人事教育担当のつらみ~教育担当として知っておくポイント~
masakiokuda
0
100
SkimaTalk Tutorial for Students
skimatalk
0
1.8k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Become a Pro
speakerdeck
PRO
28
5.4k
Done Done
chrislema
184
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
Designing for humans not robots
tammielis
253
25k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Automating Front-end Workflow
addyosmani
1370
200k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
We Have a Design System, Now What?
morganepeng
53
7.7k
Transcript
Passing down the pain Difficulties in teaching software development Ivan
Zarea Technical University of Moldova @minivaaan 2015
0. Context Maxim Chumash / chumash.us
Outsourcing • Good salaries • Low barrier to entry •
Studying for the wrong purpose • Students don’t come to classes
Switch the focus • Do not punish bad performers •
Provide incentive to study • Immediately applicable • Identify what’s important for the industry
Things to teach • Skills • Values • Fun }
important for the industry
1. Skills
What skills do I want my future teammate to have?
• Read source code • Debug • Choose tools
1.1. Reading source code • Live code in classes •
Engage everyone • Give source code with assignments • Show actual code to illustrate a concept
None
1.1. Example: youtube-dl • Read the documentation • See how
to extend youtube-dl • See the Strategy Pattern in action!
1.2. Debugging 9,223,372,036,854,776,000
1.2. Debugging • A relatable & engaging context • Debugging
as a whole • Googling skill is a byproduct
1.3. Tool choice • Help students choose a tool •
Remove the risk from the choice process • Make sure the arguments are sound
None
Skills I want my future teammate to have • Read
source code • Debug and google • Choose tools
2. Values
What values do I want my future teammate to have?
• Appreciate constant progress • Concepts over code • Own the code (design for change)
2.1. Constant progress • Value of TDD • Program with
existing code and tests • Program without code, but with tests • Write tests, too!
2.1. Example: Query Builder
2.2. Concepts over code public class Logger { private static
Logger instance = new Logger(); private Logger(){} public static SingleObject getInstance(){ return instance; } } require "singleton" class Logger include Singleton end
2.2. Concepts over code • Prefer concepts and discussions to
implementations • Be frank about the fact that it’s hard • Try not to introduce concepts to everyone • Restrict choice to unfamiliar platforms
2.3. Own your code • Design for change • Build
bigger projects during the course • Maintenance is reward • Feel the pain
2.3. Example: Markdown • Write a Markdown (subset) parser •
Know that there will be changes to the requirements • Receive changes, update your code
Values I want my future teammate to have • Appreciate
constant progress • Concepts over code • Own the code (design for change)
3. Fun
3. Add Silliness & Humor • Integrate a chinchilla in
the teaching process • The chinchilla wrote a bad dating app • You have to optimize it • That means looking at a lot of chinchillas
None
None
None
None
Things to teach • Skills • Values • Fun •
The spirit
spirit hacker • Take things apart, put them back •
Display curiosity • Encounter issues • Hack teaching The
Teach hacking & Hack teaching @minivaaan 2015