Erlang
as supporting technology for teaching
Software Architecture
Laura M. Castro
Department of Computer Science
Universi...
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 2 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 3 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 4 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 5 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 6 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 7 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 8 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 9 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 10 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 11 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 12 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 13 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 14 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 14 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 15 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 16 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 17 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 18 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 18 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 19 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 20 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 21 / 43
2 bachelor degrees (3 academic years)
+
1 university degree (5 academic years)
1 degree (4 academic years)
+
5 professiona...
2 bachelor degrees (3 academic years)
+
1 university degree (5 academic years)
1 degree (4 academic years)
+
5 professiona...
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 23 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 24 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 25 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 26 / 43
ping/echo availability heartbeat active
redundancy scalability shadow
operation pasive redundancy monitor
fault tolerance ...
Erlang as a rapid prototying tool
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 28 / 43
Agile approach
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 29 / 43
Individual work + Team work
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 30 / 43
“We dared to do things far more complex that
we usually do”
Erlang User Conference (2014) Conference Talk Software Archite...
“I was a bit lost at the beginning, the
exercises were easy but being unfamiliar with
FP made me progress very slowly. But...
“I thought working with so many processes
was going to be a nightmare”
Erlang User Conference (2014) Conference Talk Softw...
“I wish we had a few more weeks, we all could
have made our projects even more awesome”
Erlang User Conference (2014) Conf...
Student’s projects
Games (poker, trivia,. . . )
IM systems
Web crawlers
Text analyzers
Ship-to-shore crane control
Smart-c...
Student’s evaluation
Almost 0 drop-outs
All students passed
Most students got B scores
Erlang User Conference (2014) Confe...
“Loved the iterations, you know exactly what
you have to do”
“It forces you not to give up on the course”
Erlang User Conf...
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 38 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 39 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 40 / 43
Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 41 / 43
Thanks for your attention
I hope this has been interesting!
time_for(Questions) ->
[ speaker ! Q || Q <- Questions ].
@lau...
Credits
Image authoring attribution (in order of appearance)
Rusty tools, Wikimedia Commons.
Octopus shell, Wikipedia.
Cla...
Upcoming SlideShare
Loading in …5
×

Erlang as a supporting technology for teaching Software Architecture

742 views
686 views

Published on

At university, it is usually the case that students are introduced to programming languages to the extent in which they serve a teaching purpose usually related to acquiring some paradigm-bounded programming skills. Thus, they (we) learn to code our first source lines using PASCAL, are introduced to C programming to handle memory and threads, enter the Java world hand-in-hand with UML and object-orientation. However, Erlang is seldom the choice for learning about the declarative paradigm, for which ML or Haskell are often preferred candidates.

Two years ago, the University of A Coruña (UDC) stepped out of this box and decided to use Erlang as supporting technology for teaching Software Architecture. In this subject, we go beyond programming and, in helping students build up a more abstract, system-wide design competence, we make them face the strengths and weaknesses of different architectures (client-server, multi-layered, repository, pipe & filter, master-slave, peer-to-peer) in terms of non-functional requirements (availability, flexibility, performance, security). In this setting, Erlang has worked as an excellent tool in order to quickly prototype and compare systems of different architectural nature, as we will illustrate in more detail during this talk.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
742
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Erlang as a supporting technology for teaching Software Architecture

  1. 1. 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
  2. 2. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 2 / 43
  3. 3. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 3 / 43
  4. 4. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 4 / 43
  5. 5. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 5 / 43
  6. 6. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 6 / 43
  7. 7. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 7 / 43
  8. 8. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 8 / 43
  9. 9. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 9 / 43
  10. 10. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 10 / 43
  11. 11. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 11 / 43
  12. 12. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 12 / 43
  13. 13. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 13 / 43
  14. 14. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 14 / 43
  15. 15. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 14 / 43
  16. 16. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 15 / 43
  17. 17. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 16 / 43
  18. 18. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 17 / 43
  19. 19. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 18 / 43
  20. 20. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 18 / 43
  21. 21. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 19 / 43
  22. 22. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 20 / 43
  23. 23. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 21 / 43
  24. 24. 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
  25. 25. 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
  26. 26. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 23 / 43
  27. 27. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 24 / 43
  28. 28. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 25 / 43
  29. 29. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 26 / 43
  30. 30. ping/echo availability heartbeat active redundancy scalability shadow operation pasive redundancy monitor fault tolerance event ratio robustness event queues fixed priority limited exposure efficiency dynamic priority facade wrapper security proxy cache notifier dispatcher adaptability Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 27 / 43
  31. 31. Erlang as a rapid prototying tool Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 28 / 43
  32. 32. Agile approach Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 29 / 43
  33. 33. Individual work + Team work Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 30 / 43
  34. 34. “We dared to do things far more complex that we usually do” Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 31 / 43
  35. 35. “I was a bit lost at the beginning, the exercises were easy but being unfamiliar with FP made me progress very slowly. But then, during the team project, we found ourselves building things very quickly.” Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 32 / 43
  36. 36. “I thought working with so many processes was going to be a nightmare” Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 33 / 43
  37. 37. “I wish we had a few more weeks, we all could have made our projects even more awesome” Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 34 / 43
  38. 38. 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
  39. 39. 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
  40. 40. “Loved the iterations, you know exactly what you have to do” “It forces you not to give up on the course” Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 37 / 43
  41. 41. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 38 / 43
  42. 42. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 39 / 43
  43. 43. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 40 / 43
  44. 44. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 41 / 43
  45. 45. Thanks for your attention I hope this has been interesting! time_for(Questions) -> [ speaker ! Q || Q <- Questions ]. @lauramcastro lcastro@udc.es Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 42 / 43
  46. 46. Credits Image 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

×