Como Ensinar Engenharia de Software sem que seus alunos durmam
The talk I've given at RubyConf Brasil 2016 on Armando Fox and David Patterson methodology for Software Engineering classes and the way we have applied at the University of São Paulo.
J. Zhu, Microsoft & U. of Washington, Proc. ICSE 2015 59 interviews with recognized SE experts at Microsoft 4 Always improving Passionate Technically open-minded Data-driven Helps others understand by tailoring explanations to them Creates shared success possibly via personal compromises Creates “safe haven” where others can learn from mistakes Gives honest feedback Knows people & organization Updates mental models when learn new skills/facts/context Consider situation at multiple levels when making judgments Can reason about complex & intertwining ideas Elegant solutions Creative thinking when faced with limitations of current solutions Anticipates technical needs based on prior experience Personal Characteristics Team Skills Technical Skills Decision Making
1995 – Gap conectivo nunca visto antes • Geração Web – Leitura de hipertexto e não de texto linear • Geração Mobile – Leitura de trechos desconexos de 140 chars, memes • Noção de que a vida é fácil e não precisa se dedicar/ralar/se esforçar 7
(embora nem tanto) – Lembrar de nosso papel educativo! • Problemas reais • Clientes reais • Exercícios semanais / Feedback imediato • Aprendizado em pares/grupos/social • Material para estudo assíncrono • Classe invertida – teoria em casa, trabalhos na sala de aula 8
BYOB ACHM µQ / Q Your peers speak In Real Life Peer Learning Live Coding Demo Read This Now/Mastergeek Theater Bring Your Own Bug Armando’s Computer History Minute Micro-quiz (5 min) or Quiz (40 min) 10
tomorrow’s quiz, but • repeated quizzing helps long-term retention http://www.samefacts.com/ 2014/07/learning/48279/ • Corollary: do readings/ review right before lecture if possible! 11
is a way to store information in long-term memory • But students think that not-sleeping or sleeping very late is cool ! • We need to show them that this is not the case 13
• Allowing yourself to respond to distraction (incoming email, IM, etc.) triggers small dopamine release • Over time, you get addicted to it • Result: Multitaskers waste far more brainpower than monotaskers when actually distracted • Long-term effects can be hard to reverse 15
understanding of concepts vs. details mazur-www.harvard.edu/education/pi.phtml • As complete a “segment” ask multiple choice question – <1 minute: decide yourself, vote – <2 minutes: discuss in pairs, then team vote; flash card to pick answer • Try to convince partner; learn by teaching • Mark and save flash cards 1 2 3 4
Ruby on Rails como plataforma básica Trabalhar em projetos reais, com clientes reais e testar o aprendizado em pequenos passos. Ensinar vários frameworks produtivos ☐ ☐ ☐ ☐ 18 O que devemos fazer para os alunos não dormirem
in case want to get feet wet before Ruby lectures • Pointers to online HTML/CSS tutorials in in case want to get feet wet before Rails material • Tutorials on other tools (GitHub, etc.) http://www.saasbook.info/instructors 20
4 semestres e a experiência tem sido ótima, tanto para alunos quanto para professores. • Quer adotar o livro? – Entre em contato com [email protected] – Podemos ajudar com material didático e dicas 21