46
Erlang as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade da Coruña (Spain) Stockholm, June 9-10th, 2014 Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 1 / 43

Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

  • Upload
    buidiep

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlangas supporting technology for teaching

Software Architecture

Laura M. Castro

Department of Computer ScienceUniversidade da Coruña (Spain)

Stockholm, June 9-10th, 2014

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 1 / 43

Page 2: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 2 / 43

Page 3: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 3 / 43

Page 4: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 4 / 43

Page 5: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 5 / 43

Page 6: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 6 / 43

Page 7: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 7 / 43

Page 8: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 8 / 43

Page 9: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 9 / 43

Page 10: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 10 / 43

Page 11: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 11 / 43

Page 12: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 12 / 43

Page 13: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 13 / 43

Page 14: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 14 / 43

Page 15: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 14 / 43

Page 16: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 15 / 43

Page 17: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 16 / 43

Page 18: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 17 / 43

Page 19: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 18 / 43

Page 20: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 18 / 43

Page 21: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 19 / 43

Page 22: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 20 / 43

Page 23: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 21 / 43

Page 24: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

2 bachelor degrees (3 academic years)+

1 university degree (5 academic years)

1 degree (4 academic years)+

5 professional profiles

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 22 / 43

Page 25: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

2 bachelor degrees (3 academic years)+

1 university degree (5 academic years)

1 degree (4 academic years)+

5 professional profiles

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 22 / 43

Page 26: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 23 / 43

Page 27: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 24 / 43

Page 28: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 25 / 43

Page 29: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 26 / 43

Page 30: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

ping/echo availability heartbeat activeredundancy scalability shadowoperation pasive redundancy monitorfault tolerance event ratio robustnessevent queues fixed priority limitedexposure efficiency dynamic priorityfacade wrapper security proxy cachenotifier dispatcher adaptability

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 27 / 43

Page 31: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang as a rapid prototying tool

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 28 / 43

Page 32: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Agile approach

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 29 / 43

Page 33: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Individual work + Team work

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 30 / 43

Page 34: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

“We dared to do things far more complex thatwe usually do”

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 31 / 43

Page 35: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

“I was a bit lost at the beginning, theexercises were easy but being unfamiliar withFP made me progress very slowly. But then,

during the team project, we found ourselvesbuilding things very quickly.”

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 32 / 43

Page 36: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

“I thought working with so many processeswas going to be a nightmare”

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 33 / 43

Page 37: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

“I wish we had a few more weeks, we all couldhave made our projects even more awesome”

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 34 / 43

Page 38: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Student’s projects

Games (poker, trivia,. . . )

IM systems

Web crawlers

Text analyzers

Ship-to-shore crane control

Smart-city sensor information

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 35 / 43

Page 39: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Student’s evaluation

Almost 0 drop-outs

All students passed

Most students got B scores

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 36 / 43

Page 40: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

“Loved the iterations, you know exactly whatyou have to do”

“It forces you not to give up on the course”

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 37 / 43

Page 41: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 38 / 43

Page 42: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 39 / 43

Page 43: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 40 / 43

Page 44: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 41 / 43

Page 45: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

Thanks for your attentionI hope this has been interesting!

time_for(Questions) ->

[ speaker ! Q || Q <- Questions ].

@lauramcastro

[email protected]

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 42 / 43

Page 46: Erlang as supporting technology for teaching Software ... · as supporting technology for teaching Software Architecture Laura M. Castro Department of Computer Science Universidade

CreditsImage authoring attribution (in order of appearance)

Rusty tools, Wikimedia Commons.

Octopus shell, Wikipedia.

Claw hammer, Wikipedia.

Nail art, SAYANEcw on Deviant Art.

Ericsson DBH 1001 1939, Wikipedia.

James Webb space telescope, Wikipedia.

Rappelling success, Laity Lodge Family Camp on Flickr.

Map of users, Erlang Central.

Cidade da Coruña nun mar de brétema, Wikimedia Commons.

View of A Coruña from lighthouse, Wikimedia Commons.

Facultad de Informática, Wikipedia.

Bologna seen from Asinelli tower, Wikipedia.

Charla contra Bolonia, Wikimedia.

Bologna Centrale AV, Wikimedia.

Estudiantes contra Bolonia, Wikimedia.

Nevada Test Site Control Point, Wikipedia.

Flag of Europe, Wikimedia Commons.

Greek wrap, Flickr user ‘waferboard’.

Thor’s hammer, Flickr user Carlos Pacheco.

Back door, Flickr user Chad Hunter.

Red heart symbol, OpenClips on Pixabay.

Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 43 / 43