SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Erlang as a supporting technology for teaching Software Architecture

Functional conf 2014_schedule
Functional conf 2014_scheduleFunctional conf 2014_schedule
Functional conf 2014_schedulegetdownload
 
Orca: A screen reader sailing into uncharted waters
Orca: A screen reader sailing into uncharted waters Orca: A screen reader sailing into uncharted waters
Orca: A screen reader sailing into uncharted waters Emergya
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Summer training in Noida | APTRON Solutions
Summer training in Noida | APTRON SolutionsSummer training in Noida | APTRON Solutions
Summer training in Noida | APTRON SolutionsHarshita Gupta
 
[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differentlyTomomi Imura
 
Week 1: eLearning Course Basics - Why program?
Week 1: eLearning Course Basics - Why program?Week 1: eLearning Course Basics - Why program?
Week 1: eLearning Course Basics - Why program?Jeff Batt
 
ACS 248th Paper 67 Eureka Collaboration
ACS 248th Paper 67 Eureka CollaborationACS 248th Paper 67 Eureka Collaboration
ACS 248th Paper 67 Eureka CollaborationStuart Chalk
 
GNOME UX Training - Dayananda Sagar Institutions, Bangalore
GNOME UX Training - Dayananda Sagar Institutions, BangaloreGNOME UX Training - Dayananda Sagar Institutions, Bangalore
GNOME UX Training - Dayananda Sagar Institutions, BangaloreAllan Caeg
 
Andhra pradesh workshop user manual october 2016
Andhra pradesh workshop user manual october 2016Andhra pradesh workshop user manual october 2016
Andhra pradesh workshop user manual october 2016OERindia
 
FreeNEST and IFDK as training environment
FreeNEST and IFDK as training environmentFreeNEST and IFDK as training environment
FreeNEST and IFDK as training environmentnarsuman
 
Ue4 siggraph-nick-whiting
Ue4 siggraph-nick-whitingUe4 siggraph-nick-whiting
Ue4 siggraph-nick-whitingLuis Cataldi
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Sebastiano Panichella
 
Analyzing the Eclipse API Usage: Putting the Developer in the Loop
Analyzing the Eclipse API Usage: Putting the Developer in the LoopAnalyzing the Eclipse API Usage: Putting the Developer in the Loop
Analyzing the Eclipse API Usage: Putting the Developer in the LoopAlexander Serebrenik
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conferenceBenoit Combemale
 
The Ring programming language version 1.10 book - Part 99 of 212
The Ring programming language version 1.10 book - Part 99 of 212The Ring programming language version 1.10 book - Part 99 of 212
The Ring programming language version 1.10 book - Part 99 of 212Mahmoud Samir Fayed
 
Integrating CoFFEE and Rational Team Concert
Integrating CoFFEE and Rational Team ConcertIntegrating CoFFEE and Rational Team Concert
Integrating CoFFEE and Rational Team ConcertIlaria Manno
 

Similaire à Erlang as a supporting technology for teaching Software Architecture (20)

Functional conf 2014_schedule
Functional conf 2014_scheduleFunctional conf 2014_schedule
Functional conf 2014_schedule
 
About Gurpreet Singh
About Gurpreet SinghAbout Gurpreet Singh
About Gurpreet Singh
 
Orca: A screen reader sailing into uncharted waters
Orca: A screen reader sailing into uncharted waters Orca: A screen reader sailing into uncharted waters
Orca: A screen reader sailing into uncharted waters
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
About Gurpreet Singh
About Gurpreet Singh About Gurpreet Singh
About Gurpreet Singh
 
Summer training in Noida | APTRON Solutions
Summer training in Noida | APTRON SolutionsSummer training in Noida | APTRON Solutions
Summer training in Noida | APTRON Solutions
 
[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently[DevRelCon July 2018] Because we all learn things differently
[DevRelCon July 2018] Because we all learn things differently
 
Week 1: eLearning Course Basics - Why program?
Week 1: eLearning Course Basics - Why program?Week 1: eLearning Course Basics - Why program?
Week 1: eLearning Course Basics - Why program?
 
Training report
Training reportTraining report
Training report
 
Capstone Project
Capstone ProjectCapstone Project
Capstone Project
 
ACS 248th Paper 67 Eureka Collaboration
ACS 248th Paper 67 Eureka CollaborationACS 248th Paper 67 Eureka Collaboration
ACS 248th Paper 67 Eureka Collaboration
 
GNOME UX Training - Dayananda Sagar Institutions, Bangalore
GNOME UX Training - Dayananda Sagar Institutions, BangaloreGNOME UX Training - Dayananda Sagar Institutions, Bangalore
GNOME UX Training - Dayananda Sagar Institutions, Bangalore
 
Andhra pradesh workshop user manual october 2016
Andhra pradesh workshop user manual october 2016Andhra pradesh workshop user manual october 2016
Andhra pradesh workshop user manual october 2016
 
FreeNEST and IFDK as training environment
FreeNEST and IFDK as training environmentFreeNEST and IFDK as training environment
FreeNEST and IFDK as training environment
 
Ue4 siggraph-nick-whiting
Ue4 siggraph-nick-whitingUe4 siggraph-nick-whiting
Ue4 siggraph-nick-whiting
 
Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22Search-based Software Testing (SBST) '22
Search-based Software Testing (SBST) '22
 
Analyzing the Eclipse API Usage: Putting the Developer in the Loop
Analyzing the Eclipse API Usage: Putting the Developer in the LoopAnalyzing the Eclipse API Usage: Putting the Developer in the Loop
Analyzing the Eclipse API Usage: Putting the Developer in the Loop
 
Introduction of the SLE'17 conference
Introduction of the SLE'17 conferenceIntroduction of the SLE'17 conference
Introduction of the SLE'17 conference
 
The Ring programming language version 1.10 book - Part 99 of 212
The Ring programming language version 1.10 book - Part 99 of 212The Ring programming language version 1.10 book - Part 99 of 212
The Ring programming language version 1.10 book - Part 99 of 212
 
Integrating CoFFEE and Rational Team Concert
Integrating CoFFEE and Rational Team ConcertIntegrating CoFFEE and Rational Team Concert
Integrating CoFFEE and Rational Team Concert
 

Plus de Laura M. Castro

Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Laura M. Castro
 
IAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroIAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroLaura M. Castro
 
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...Laura M. Castro
 
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...Laura M. Castro
 
Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Laura M. Castro
 
How the BEAM will change your mind
How the BEAM will change your mindHow the BEAM will change your mind
How the BEAM will change your mindLaura M. Castro
 
So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?Laura M. Castro
 
Elixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangElixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangLaura M. Castro
 
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...Laura M. Castro
 
Experiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación DeclarativaExperiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación DeclarativaLaura M. Castro
 
Functional programming goes to Hollywood... and around the world!
Functional programming goes to Hollywood... and around the world!Functional programming goes to Hollywood... and around the world!
Functional programming goes to Hollywood... and around the world!Laura M. Castro
 
Failover and takeover contingency mechanisms for network partition and node f...
Failover and takeover contingency mechanisms for network partition and node f...Failover and takeover contingency mechanisms for network partition and node f...
Failover and takeover contingency mechanisms for network partition and node f...Laura M. Castro
 
Editing documents with LaTeX
Editing documents with LaTeXEditing documents with LaTeX
Editing documents with LaTeXLaura M. Castro
 
Introdución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXIntrodución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXLaura M. Castro
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeXLaura M. Castro
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeXLaura M. Castro
 
Testing database applications with QuickCheck
Testing database applications with QuickCheckTesting database applications with QuickCheck
Testing database applications with QuickCheckLaura M. Castro
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareLaura M. Castro
 

Plus de Laura M. Castro (19)

Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?Ola, ChatGPT... que carreira sería boa para min?
Ola, ChatGPT... que carreira sería boa para min?
 
IAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xéneroIAs xerativas e nesgos de xénero
IAs xerativas e nesgos de xénero
 
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
As intelixencias artificiais como xeradoras de cultura: exploración dos nesgo...
 
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
David vs. Goliat: lecciones aprendidas de una experiencia fallida de adopción...
 
Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?Why on Earth would I test if I have to just "Let it crash"?
Why on Earth would I test if I have to just "Let it crash"?
 
How the BEAM will change your mind
How the BEAM will change your mindHow the BEAM will change your mind
How the BEAM will change your mind
 
Elixir vs Java
Elixir vs JavaElixir vs Java
Elixir vs Java
 
So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?So I used Erlang... is my system as scalable as they say it'd be?
So I used Erlang... is my system as scalable as they say it'd be?
 
Elixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to ErlangElixir: the not-so-hidden path to Erlang
Elixir: the not-so-hidden path to Erlang
 
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
 
Experiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación DeclarativaExperiencias Industriales con Programación Declarativa
Experiencias Industriales con Programación Declarativa
 
Functional programming goes to Hollywood... and around the world!
Functional programming goes to Hollywood... and around the world!Functional programming goes to Hollywood... and around the world!
Functional programming goes to Hollywood... and around the world!
 
Failover and takeover contingency mechanisms for network partition and node f...
Failover and takeover contingency mechanisms for network partition and node f...Failover and takeover contingency mechanisms for network partition and node f...
Failover and takeover contingency mechanisms for network partition and node f...
 
Editing documents with LaTeX
Editing documents with LaTeXEditing documents with LaTeX
Editing documents with LaTeX
 
Introdución á edición de textos con LaTeX
Introdución á edición de textos con LaTeXIntrodución á edición de textos con LaTeX
Introdución á edición de textos con LaTeX
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeX
 
Edición de textos con LaTeX
Edición de textos con LaTeXEdición de textos con LaTeX
Edición de textos con LaTeX
 
Testing database applications with QuickCheck
Testing database applications with QuickCheckTesting database applications with QuickCheck
Testing database applications with QuickCheck
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo software
 

Dernier

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Erlang as a supporting technology for teaching Software Architecture

  • 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. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 2 / 43
  • 3. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 3 / 43
  • 4. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 4 / 43
  • 5. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 5 / 43
  • 6. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 6 / 43
  • 7. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 7 / 43
  • 8. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 8 / 43
  • 9. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 9 / 43
  • 10. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 10 / 43
  • 11. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 11 / 43
  • 12. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 12 / 43
  • 13. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 13 / 43
  • 14. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 14 / 43
  • 15. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 14 / 43
  • 16. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 15 / 43
  • 17. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 16 / 43
  • 18. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 17 / 43
  • 19. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 18 / 43
  • 20. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 18 / 43
  • 21. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 19 / 43
  • 22. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 20 / 43
  • 23. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 21 / 43
  • 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. 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. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 23 / 43
  • 27. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 24 / 43
  • 28. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 25 / 43
  • 29. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 26 / 43
  • 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. Erlang as a rapid prototying tool Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 28 / 43
  • 32. Agile approach Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 29 / 43
  • 33. Individual work + Team work Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 30 / 43
  • 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. “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. “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. “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. 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. 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. “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. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 38 / 43
  • 42. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 39 / 43
  • 43. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 40 / 43
  • 44. Erlang User Conference (2014) Conference Talk Software Architecture & Erlang 41 / 43
  • 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. 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