Erlang as a supporting technology for teaching Software Architecture
Upcoming SlideShare
Loading in...5
×
 

Erlang as a supporting technology for teaching Software Architecture

on

  • 392 views

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 ...

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.

Statistics

Views

Total Views
392
Views on SlideShare
288
Embed Views
104

Actions

Likes
0
Downloads
4
Comments
0

1 Embed 104

https://twitter.com 104

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Erlang as a supporting technology for teaching Software Architecture Erlang as a supporting technology for teaching Software Architecture Presentation Transcript

  • 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 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 professional profiles Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 22 / 43
  • 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
  • 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 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
  • 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 Architecture & Erlang 31 / 43
  • “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
  • “I thought working with so many processes was going to be a nightmare” Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 33 / 43
  • “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
  • 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
  • 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
  • “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
  • 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 ]. @lauramcastro lcastro@udc.es Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 42 / 43
  • 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