Como Ensinar 

Engenharia de Software sem
que seus alunos durmam
1
© 2013-2016 Armando Fox, David Patterson, modified by F...
Nossa experiência
•  16 turmas anuais de
–  Laboratório de Programação Extrema
–  Laboratório Avançado de Métodos Ágeis
– ...
What is missing from our
student’s dev skills?
Result from industrial research:

1. Legacy code
2. Working with non-techni...
What Makes a Great Software Engineer?

P. Li, A. Ko, J. Zhu, Microsoft & U. of Washington, Proc. ICSE 2015

59 interviews ...
Our Approach in 2 slides
5
Talk to customer
Lo-fi UI mockup
User stories & scenarios
Behavior-driven
Design / user stories
...
Our Approach in 2 slides
6
Principais problemas
•  Professores nascidos em 1960->1990
– Alunos nascidos após 1995
– Gap conectivo nunca visto antes
•...
Principais soluções
•  Minimizar aulas expositivas
•  Diminuir leituras lineares (embora nem tanto)
– Lembrar de nosso pap...
Course Organization
•  Grading—approximate breakdown
–  15% homeworks
–  20% in-lecture microquizzes (some build on HWs)
–...
Lecture Format: 5-10
minute elements
YPS
IRL
PL
LCD
RTN/MGT
BYOB
ACHM
µQ / Q
Your peers speak
In Real Life
Peer Learning
L...
Frequent Quizzing:

You’re Welcome
•  Repeated cramming
helps you on tomorrow’s
quiz, but
•  repeated quizzing helps
long-...
12
Sleep is important
•  New neuroscience results:
– Sleeping at night is a way to store information in
long-term memory
•  B...
RTN: Multitasking
bit.ly/cs169-
multitasking
“Multitasking
Damages Your Brain
And Career, New
Studies Suggest”
14
The Myth of Multitasking
•  https://youtu.be/PriSFBu5CLs
•  Clifford Nass, Stanford
•  Allowing yourself to respond to dis...
16
So During Lecture…
Peer Instruction Questions
•  Increase real-time learning in lecture,
test understanding of concepts vs.
details

mazur-ww...
Deixar que os próprios alunos escolham
os seus projetos
Adotar Ruby on Rails como plataforma básica
Trabalhar em projetos ...
Textbook, SPOC, etc.
19
•  http://br.saasbook.info

•  eBook Kindle US$ 7
•  Impresso R$ 130.00

•  Descontos para 

profe...
Online Resources
http://www.saasbook.info/students
•  Online "get started" tutorials on ruby in case
want to get feet wet ...
Para professores
•  Livro e método usado na USP há 4 semestres
e a experiência tem sido ótima, tanto para
alunos quanto pa...
Próximos SlideShares
Carregando em…5
×

Como Ensinar Engenharia de Software sem que seus alunos durmam

407 visualizações

Publicada em

Minha palestra na RubyConf'2016 sobre um conjunto de boas práticas para ensinar Engenharia de Software atualmente. Baseado no material didático de http://br.sassbook.info

Publicada em: Software
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
407
No SlideShare
0
A partir de incorporações
0
Número de incorporações
21
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Como Ensinar Engenharia de Software sem que seus alunos durmam

  1. 1. Como Ensinar 
 Engenharia de Software sem que seus alunos durmam 1 © 2013-2016 Armando Fox, David Patterson, modified by Fabio Kon Fabio Kon Departamento de Ciência da Computação IME-USP http://twitter.com/FabioKon
  2. 2. Nossa experiência •  16 turmas anuais de –  Laboratório de Programação Extrema –  Laboratório Avançado de Métodos Ágeis –  Tópicos Avançados de Programação Orientada a Objetos 2
  3. 3. What is missing from our student’s dev skills? Result from industrial research:
 1. Legacy code 2. Working with non-technical customers 3. Testing 3
  4. 4. What Makes a Great Software Engineer?
 P. Li, A. Ko, 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
  5. 5. Our Approach in 2 slides 5 Talk to customer Lo-fi UI mockup User stories & scenarios Behavior-driven Design / user stories RSpec Test-first dev. (unit/funct.) Measure Velocity Deploy Legacy Code Design patterns
  6. 6. Our Approach in 2 slides 6
  7. 7. Principais problemas •  Professores nascidos em 1960->1990 – Alunos nascidos após 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
  8. 8. Principais soluções •  Minimizar aulas expositivas •  Diminuir leituras lineares (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
  9. 9. Course Organization •  Grading—approximate breakdown –  15% homeworks –  20% in-lecture microquizzes (some build on HWs) –  30% three in-lecture ~40-minute quizzes –  35% project –  Tiebreakers: Participation and Altruism •  A typical week –  Monday aft/Tues morning: read stuff before lecture –  Tues: 3:30-5:00 lecture –  Weds 1pm: HW and/or project milestone due –  Weds aft/Thurs morn: Section, read before lecture –  Thurs 3:30-5:00 lecture with TA 9
  10. 10. Lecture Format: 5-10 minute elements YPS IRL PL LCD RTN/MGT 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
  11. 11. Frequent Quizzing:
 You’re Welcome •  Repeated cramming helps you on 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
  12. 12. 12
  13. 13. Sleep is important •  New neuroscience results: – Sleeping at night 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
  14. 14. RTN: Multitasking bit.ly/cs169- multitasking “Multitasking Damages Your Brain And Career, New Studies Suggest” 14
  15. 15. The Myth of Multitasking •  https://youtu.be/PriSFBu5CLs •  Clifford Nass, Stanford •  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
  16. 16. 16 So During Lecture…
  17. 17. Peer Instruction Questions •  Increase real-time learning in lecture, test 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
  18. 18. Deixar que os próprios alunos escolham os seus projetos Adotar 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
  19. 19. Textbook, SPOC, etc. 19 •  http://br.saasbook.info
 •  eBook Kindle US$ 7 •  Impresso R$ 130.00
 •  Descontos para 
 professores
 •  Cupom R$ 200 Locaweb
  20. 20. Online Resources http://www.saasbook.info/students •  Online "get started" tutorials on ruby 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
  21. 21. Para professores •  Livro e método usado na USP há 4 semestres e a experiência tem sido ótima, tanto para alunos quanto para professores.
 •  Quer adotar o livro? – Entre em contato com esaas.brasil@gmail.com – Podemos ajudar com material didático e dicas 21

×