Professionell masterutbildning i programvaruteknik Mälardalens högskola Blekinge Tekniska Högskola Chalmers Tekniska Högskola & Göteborgs Universitet SICS Swedish ICT Swedsoft i samarbete med svensk industri 1
Agenda (flexibel och situamonsanpassad) PROMPT översikt PROMPT exempel på kurser Innehåll och former Diskussion Vilka kurser skulle ni vilja se? Vilka former skulle funka för er och andra? PROMPT nyutveckling av kurser Passar galoscherna? Mera PROMPT (vi fyller på med yeerligare detaljer, eger behov) Avslutande sammanfaenign/diskussion Vem vill vara med? Tips/tankar? 2
Visionen: Ett nationellt kompetenslyft inom mjukvaruutveckling: Ökad innova*onskra- i svenskt näringsliv Ett öppet nationellt samarbete. Kurser som till stora delar kan följas oberoende av tid och rum. Traditionella kurser och företagsanpassade projekt. Fler ingenjörer som förstår mjukvaruutveckling 3
Varför mjukvaruutveckling? Mjukvara: en affärskritisk resurs för svenskt näringsliv en viktig källa till innovation och konkurrenskraft. 260.000 personer i Sverige jobbar med mjukvaruutveckling. 4
Expertkompetens för Innovation Ambitionen är att skapa en uthållig verksamhet av näringslivsinriktade flexibla utbildningar på avancerad nivå genom att utveckla samarbete akademi näringsliv, forskning utbildning, samt flexibla utbildningsformer avtalat belopp (exkl OH & med- finansiering) projektstart projektavslut FAS A: PROMPT - professionell masterutbildning i programvaruteknik Mälardalens högskola 12 205 130 2013-09- 01 2015-08- 31 Gjutmagistern 3.0 SMGelsen Högskolan i Jönköping 10 655 613 2013-10- 01 2015-09- 30 Sociala medier och webbteknologier för innovamon och Mllväxt Linnéuniversitetet 5 590 242 2013-10- 01 2015-09- 30 ProdEx - Expert i produkmonsteknik Högskolan Väst 1 200 000 2014-03- 01 2015-02- 28 FAS B & C: Diagnos på distans - online engineering på mastersnivå Blekinge tekniska högskola 19 768 560 2014-07- 01 2018-06- 30 Expertkompetens för hållbart träbyggande Linnéuniversitetet 17 165 840 2014-07- 01 2018-06- 30 5
Omvärldsanalys Kombination Univ of Utrecht Univ of Applied Sciences Rapperswil Stanford MDH, BTH, Co-op ICES (KTH) MBA-baserad etc SCRUM master ISPMA, etc Självdriven utbildning buyabook Webbaserad, t ex programmeringskurs Professionell utbildning/certifiering Universitetsbaserade Utbildningsinitiativ Forskningsbaserade Forskarskolor (HP!) SQL-projektet Europeiska Socialfonden Integrerade lärandemiljöer Embed4Auto EU-projekt Riktade program för kompetenshöjning minst, tekniq (KKS) Omvårdnadslyftet (HP!) Krispaket PROMPT har element av olika typer av utbildningar som finns nationellt och internationellt, men är unikt genom att tillhandahålla högskolepoänggrundande utbildning på avancerad nivå för yrkesverksamma inom mjukvaruutveckling 6
Företag som deltar i kursutvecklingen Varje kurs som utvecklas inom PROMPT har 5 företag, eller fler, med i kursutvecklingsarbetet. Företagens roll är att säkerställa att innehållet motsvarar branschens behov av kompetens på området. 7
Peter Wallin, Volvo CE Mjukvara och elektronik blir en allt större del av våra produkter. Idag står det för ungefär 25 procent av vår förutvecklingsbudget. Därför är PROMPT viktigt för att fylla vårt framtida kompetensbehov inom programvaruteknik. Att kunna påverka inriktningen på utbildningen är enormt värdefullt och något vi kommer att ha stor nytta av i utvecklingen av framtidens anläggningsmaskiner Peter Wallin, Manager Technology Research, Volvo Construction Equipment AB 8
Krav på PROMPT Avancerad nivå master Flexibelt lärande Medverkan av 5 företag i utveckling av varje kurs Industrirelevant innehåll Genomförbart inom ramen för högskolans ordinarie ramar Kravställare Finansiären (KKS) Företagen Yrkesverksamma studenter Lärosätena
Resultat Ak*viteter U;all/Resultat Effekter Aktörer Kursutveckling Vidareutbildade medarbetare Nya samarbeten Ökad konkurrenskrag Ökad innovamonsförmåga Nya produkter & tjänster Företag Industrirelevanta kurser Genomförda kurser Projektarbeten Vidgat nätverk Specialistkompetens EffekMvitetsförbäEring FörbäErade karriärmöjligheter Personlig utveckling Deltagare Kursgenomförande Hås/håp Nya kurser Nya samarbeten Näringslivsanpassade utbildningar Bredare kursutbud Pedagogisk utveckling Forskningsprojekt Ökad konkurrenskrag Lärosäten 10
Spännande pedagogik Flipped classroom Blended MOOC - Massive open online course - en modell för att leverera utbildning online till vem som helst som vill genomgå en kurs, utan begränsningar i antalet deltagare. SPOC Small private on-line course 11
Exempel på kurser FunkMonssäker mjukvara Mjukvarutest Finns även en färdigutvecklad kurs i Agil&lean mjukvaruutveckling Samt en projektkurs under utveckling med fokus på Utvärdering av processförbäeringar 12
Funktionssäker mjukvara, 7.5hp Ansvarig högskola: Mälardalens högskola Kursen introducerar säkerhetsanalys ( safety analysis ) för utrustning som innehåller datorsystem och mjukvara och att lära ut hur man utvecklar säkerhetskritiska system och hur man skapar ett Safety case. Kursmoduler: 1. Introduktion till funktionssäkerhet; förmedlar kunskaper som ger ökad förståelse för relationen mellan inbyggda system / säkerhetskristiska system / olyckor / komplexitet / utvecklingsmodeller (development lifecycle models) / certifiering / the safety case 2. Analys-och modelleringsmetoder; genomgång av analys-och modelleringsmetoder för utveckling av säkerhetskritiska system 3. Standarder och certifiering; förmedlar kunskaper om olika standarder för utveckling av system som innehåller datorsystem, t.ex. ISO 26262. Genomgång av stegen för att få ett system certifierat 13
Course contents Functional Safety Introduction to principles and techniques in development of safety critical software Prerequisites Bachelors degree in Computer Science or equivalent and at least three (3) years of relevant industry experience in software development The 7,5hp course is divided into 5 modules (* = mandatory) 1. Safety management, an introduction (2 credits)* Henrik Thane 2. Safety analysis, an introduction (1,5 credits)* Henrik Thane 3. Safety standards (1,5 credits) Barbara Gallina 4. Verification and validation (1,5 credits) - Kaj Hänninen 5. Safety architectures (1 credit) - Kaj Hänninen 14
Course contents Functional Safety The 7,5hp course is divided into 5 modules 1. Safety management, an introduction (2 credits) What is functional Safety, Dangerous Computer Software Safety-Related, Safety-Critical; Failure, Hazards and Accidents, The Safety Case, Inadequacy of Verification, Fault Propagation & Failure Probability, Safety Culture, Safety Plan, Hazard Identification & Risk Classification 2. Safety analysis, an introduction (1,5 credits) Hazard analysis (PHA, SHA), Causality models, Event chain models, Impact analysis 3. Safety standards (1,5 credits) Introduction to Safety Standards, Do-178C, EN5012x, ISO26262, Life-cycles and risk driven processes, Process planning and modeling, Process reuse, Tool qualification 4. Verification and validation (1,5 credits) Reviews and inspection, Language subsets, Static analysis, Memory usage analysis, Execution time analysis, Functional and safety testing 5. Safety architectures (1 credit) Introduction to architectures (levels and views), Purpose of architectures, Transformation of requirements, Considerations (cohesion, coupling, integration, interaction and reuse), Reliability analysis 15
Course structure - Functional Safety Course material accessible through Scalable Learning Video lectures Private study Reading scientific papers on the subjects and one course book (available for free) Discussion forums Examination Assignments to be completed individually at the end of each module Project in the Safety Standards module 16
Course participants - Functional Safety PROMPT currently has students from several companies e.g.,: Bombardier ABB Ericsson Evry Flunk Hoerbiger Powerflow Saab Scania WeDev Volvo Volvo CE ÅF 17
Live demo FuncMonal safety InstrucMons Scalable learning
Programvarutest, 7.5hp Syfte: att ge deltagarna en förståelse för grundläggande problem, och praktiska metoder och verktyg för systematisk testning av programvara. Testning av programvara anses allmänt vara en kostsam, men fortfarande underprioriterad aktivitet i programvaruutveckling. Kursmoduler: 1. Introduction to software testing and test design 2. Unit testing, test design and automation 3. Testing at integration and system level 4. Static and dynamic analysis 5. Advanced test design Ansvarig högskola: Mälardalens högskola /SICS 19
Programvarutest, 7.5hp The software testing course primarily targets software or system developers, designers and testers, but is also suitable for architects, and development- and test managers. The participants in the course are expected to have a couple of years industrial experience in software engineering. Programming knowledge and experience is assumed. After the course, the participants are expected to understand the fundamental goals, challenges and limitations of software testing, and its relation to other software engineering activities, such as requirements engineering, design and implementation. have a working knowledge and experience in applying the major established test design techniques. have a working knowledge and experience in static and dynamic code analysis. have an overview knowledge in more advanced testing methods (such as model-based testing, mutation testing and search-based testing), and in the state-of-the-art in software testing research. The course is given in a flexible format where the theoretical content, covered in video lectures, is interleaved with practical exercises and a few full on-campus days. 20
Software Testing Course - Modules 1. Fundamentals of software testing 2. Unit testing and developer testing 3. Integration- and system-level testing 4. Static and dynamic analysis 5. Advanced test design 21
1. Fundamentals of Software Testing Testing Fundamentals What is software testing? Why do we test? When do we test? How do we test? Basic concepts and fundamental challenges, e.g., Verification and validation Fault, error, failure Introduction to Test Design Problem formulation Overview of approaches 22
2. Unit testing and developer testing Unit-level test design Specification-based test design techniques Implementation-based test design techniques Negative testing Unit-level test automation Agile testing practices Test-driven development Exploratory testing 23
3. Integration- and system-level testing Integration- and system-level test design Specification-based test design Implementation-based test design Negative testing Testing of non-functional properties, e.g., Robustness Timeliness Security Combinatorial issues Integration- and system-level practicalities Test automation Continuous integration Regression testing 24
4. Static and Dynamic Analysis Static analysis: theory and background Static analysis: what, how, why? Relation to testing Safety of static analysis Different kinds of static analyses Two worked examples of static analyses Astrée, a static analysis bug-finding tool Astrée hands-on exercise Dynamic analysis: background Dynamic analysis: what, how, why? Dynamic vs. static program analysis How to Implement Dynamic Analysis Valgrind/memcheck, a dynamic memory analysis tool Memcheck hands-on exercise 25
5. Advanced Test Design Model-based techniques Model checking and formal verification Search-based techniques Mutation-based techniques and fault injection 26
Ongoing Course Instance Three Campus Days At start, middle and end of the course Possibility to have an in-person discussion Feel like a student Lectures available through Scalable Learning platform Video recorded presentations Quizzes Assignments Regular communication channel with students Weekly status updates Emails Piazza online discussion forum 27
Live demo SoGware tesmng Web- page Scalable learning 28
Diskussion Hur möter vi företagens behov? FramMda intressen och behov? Vilka kurser skulle ni vilja se? Vilka former skulle funka för er?
Nyutveckling av kurser Goda chanser ae få finansiering för yeerligare tre år. Vidareutveckling av pedagogik, didakmk och teknik Nyutveckling av ee 10- tal kurser Ansökan Mll KKS sista april.
Områden för nyutveckling av kurser (preliminärt) Processer och metoder för utveckling av mjukvaruintensiva system Mjukvaruarkitektur och design Tekniker Affärer/filosofi Datorsystem Verifiering och validering Pålitlig mjukvara Projektkurser 31
Föreslagna kurser 32
33
Passar galoscherna? Är kurserna av intresse? Andra kurser som kan vara mer intressanta? 34
Mera PROMPT Kurs i Agil&lean Projektkursen Scalable learning
Introduktion till kurserna https://www.youtube.com/user/promptcourses 41
Kurserna Start: september 2015 Studietakt: kvartsfart Omfattning: ca 200 timmar/7,5 högskolepoäng Nivå: Avancerad (master) Kostnad: kostnadsfritt under 2015 Språk: engelska Platser per kurs: 30 Anmälan: https://www.antagning.se Mer info: www.promptedu.se
Agile och lean utveckling av mjukvaruintensiva produkter, 7.5hp Ansvarig högskola: Blekinge Tekniska Högskola Kursen ger ett helhetsperspektiv på agile och lean utveckling i en mjukvaruutvecklande organisation. Agila metoder i projektorganisationer är endast ett steg för att realisera en anpassningsbar, snabb och effektiv produktutvecklingsorganisation. Genom tillämpning av lean-principer (ursprunget till agila metoder) i hela produktutvecklingskedjan, från produktledning och kravhantering, till leverans och underhåll, kan verklig flexibilitet och effektivitet uppnås utan sub-optimering. Kursmoduler: 1. Produktledning och kravhantering; förmedlar produktplanering, kravinsamling och specifikation, prioritering och värdebaserad avvägning) 2. Projektcentrerad agilitet; genomgång av de etablerade agila metoder, men även eliminering av slöseri och utvärdering för att kunna anpassa nivå av agilitet relevant för en organisation, samt vilka tekniker som lämpar sig för ett visst sammanhang 3. Kundrealisering inkl. konfigurationshantering; inkluderar leverans och realisering hos kund (sk. comissioning) samt underhåll (sk. maintenence), samt aspekter av hantering av existerande system (sk. legacy) vid beräkning av intern och extern effektivitet 44
Agile & lean från början 5 moduler. Uppgifter spänner över flera moduler samtidigt. Aktivitet. 27 totalt. 2 grupper. De som är inbjudna från företagspartners (16 stycken). 11 stycken från studera.nu Totalt 17-18 aktiva som lämnat in uppgifter. Deadlines = dödsstöt Campusdagen Väldigt positiva och tyckte det var trevligt att träffas. För att få bättre deltagande, kanske lösa det så att dagen blir online. Tis och tor = öppen Adobe Connect möte. 4-5 pers inloggade per gång. Verkar rätt nöjda med denna linje. Ringde runt och pratade med studenterna du har inte varit inloggad på ett tag, hur går det? à liten spark i baken att ta tag i det igen. Lärplattform ITSLEARNING 45
Course contents - Agile & lean This course offers a solid and substantial training in agile and lean, preparing you to practically evaluate, implement, and realise agile and lean in your organisation. Prerequisites Bachelors degree in Computer Science or equivalent and at least three (3) years of relevant industry experience in software development The 7,5hp course is divided into 5 modules plus intro and projects 46
Course modules - Agile & lean 1. Getting started (3w) What is agile / Agile manifesto / agile & lean history / 2. Lean an overview (2w) Lean in a nutshell / JIT / in a development team / tools / kanban / Scrum / SP / Disciplined agile delivery (DAD) / 3. More agile and lean (2w) From requirements to User stories / Lean Value / QFD / VSM / quing / standards / Test / Principles 4. Scrum (3w) Framework / sprint /roles / artifiacts / Ceremony / practicies / story points / capacity 5. Kanban (3w) Intro / pull / workflow / board 6. DAD (3w) Framework / principles / practices / roles & planning/ lifecycle /phases 7. Implementing Agile / Lean (4w) 8. Scaling Agile / Lean (4w) 47
Course structure - Agile & lean Course material Video material Literature Articles Two campus days AdobeConnect meetings twice a week Study platform: itslearning Examination Assignments and projects 48
Projektkurs, 7.5hp Ansvarig högskola: Mälardalens högskola projektkurser planeras ges av samtliga medverkande lärosäten. Kursen kompletterar de teoretiska avsnitten med lösning av konkreta problem i projekt som kommer från de medverkande företagen. Teoretiska moment som inte täcks av andra kurser kan ingå i begränsad omfattning. Kursen har problembaserat lärande (PBL) som bärande pedagogisk idé. Studenter kan ta flera projektkurser med olika inriktning. Kurserna kännetecknas av stor flexibilitet vad gäller omfattning (5-30hp), inriktning, komplexitet och antalet projektdeltagare. Genom att lösa ett konkret problem för deltagande företag kan projektet leda till resultat av affärsmässigt värde. Även andra studentkategorier (campusstudenter) kan komma att delta, vilket ger möjligheter till ökad samproduktion mellan akademi och näringsliv. Kursmoduler: 1. Projektledning och projektmetodik som bedrivs i mjukvaruprojekt, där olika metoder och verktyg i utvecklingsmetodik ingår för att lösa uppgiften 2. Projekt som matchar målgruppens aktuella behov inom utbildningsområdena och på avancerad nivå 49
General Information Pilot version of the course 3.5hp Can be re-used and continued in the full version of the course (starting from autumn 2015) State date: March 16, 2015 End date: May 8, 2015 Flexible start time for students Customised courses in software development
General Information Instructors: Petra Edoff - petra.edoff@sics.se Mehrdad Saadatmand - mehrdad@sics.se Customised courses in software development
General Information Distance course with teacher supervision + seminar (virtual or physical meeting) Self study material: videos, articles Course webpage on test.scalable-learning.com (access provided by teachers) Customised courses in software development
General Information On the course web page you find: Course modules Video lectures Reading material Quizzes and Assignments Link to other external resources Customised courses in software development
Course Content Main objective: develop and expand knowledge of processes, methods and techniques in computer science Project Course has two tracks: Technical and Process. In the pilot version, only the Process track is executed 3 Modules : Introduction, Evaluation, Project Plan Customised courses in software development
Course Content 1) Introduction module (0.5hp) Module goal: students familiarize themselves with how research work is performed, how and where to search for research articles, what research methods are available Access to different research databases such as ACM and IEEE will be provided by the teachers. Customised courses in software development
Course Content 2) Evaluation module (1.5hp) Module goal: study and evaluate an already-performed project and process which has introduced and brought about some changes in the company. Identify problems and areas of improvement. Students can choose a project from their companies. Project examples: introduction of agile methods, new ways of handling and management of requirements, re-organization of development teams, moving to a new platform, and so on. The chosen topic and project need to be first confirmed and accepted by the course instructors. Customised courses in software development
Course Content 3) Project Plan module (1.5hp) Module goal: students provide their own solutions to improve and solve the problems they have identified in the evaluation module - by consulting different research works Project Plan report Identify areas of improvement and formulate them in the form of clear research questions and goals. The proposed solution can be described in the form of methods, processes and models that should be applied to tackle the research problems and goals, including detailed list of activities that need to performed. Scientifically justify why your proposed solution is appropriate and how it can help. Advantages and possible limitations of the solutions should be well documented and argued Describe how you introduce and manage change in their current organization to apply the proposed solutions and improvements. Customised courses in software development
Course Content Two seminars Final seminar: Presentation of the results and giving feedback to other students Customised courses in software development
Mer om Scalable Learning Youtube overview with David Black- Shaffer
PROMPT sammanfaening Akademiska kurser för personer som jobbar med mjukvaruutveckling Oberoende av Md & rum EE öppet inimamv Vem vill vara med? Synpunkter/förslag?
Välkommen med din anmälan! Sista dag för ansökan: 15 april Kursstart: September 2015 www.promptedu.se https://www.antagning.se 61
Kontakta oss för mer information om PROMPT Malin Rosqvist Forskningssamordnare Tel: 021-103112 E-post: malin.rosqvist@mdh.se Hans Hansson Professor i datateknik Tel: 021-103163 E-post: hans.hansson@mdh.se www.promptedu.se 62