Civilingenjör Mjukvaruteknik Att designa en utbildning utifrån ACM CS Curriculum Fredrik Heintz Institutionen för Datavetenskap Linköpings universitet
2
Mål med programmet Ge en gedigen grund i datavetenskap och matematik. Ge en förståelse och erfarenhet av Computational Thinking. Ge ett helhetsperspektiv på modern mjukvaruutveckling. Ge förståelse och erfarenhet av flera olika programmerings språk/paradigm och industriella utvecklingsmetodiker. Ge förståelse och erfarenhet av bland annat moderna storskaliga distribuerade och inbyggda system; mobila och social applikationer; datadrivet beslutsfattande; AI och robotik. Bygga på projektkurser med aktuellt teknikinnehåll som integrerar och applicerar teori. Främja entreprenörskap och innovation, t.ex. genom att ge möjlighet att driva ett virtuellt företag eller delta i open source projekt. Lyfta fram globala utmaningar, hållbar utveckling, global arbetsplats 3
ACM Computing Curricula 2005 Computer Engineering Computer Science Organizational Issues & Information Systems Organizational Issues & Information Systems Fem discipliner definierade utifrån två dimensioner: Hårda till mjuka ämnen Teoretiskt till tillämpat Technologies Software Methods and Technologies Systems Infrastructure Computer Hardware and Architecture Technologies Software Methods and Technologies Systems Infrastructure Computer Hardware and Architecture CE Theory Principles Innovation More Theoretical DEVELOPMENT More Applied Deployment Configuration CS Theory Principles Innovation More Theoretical DEVELOPMENT More Applied Deployment Configuration Information Systems Information Technology Software Engineering Organizational Issues & Information Systems Organizational Issues & Information Systems Organizational Issues & Information Systems Technologies Technologies Technologies Software Methods and Technologies Software Methods and Technologies Software Methods and Technologies Systems Infrastructure Systems Infrastructure Systems Infrastructure Computer Hardware and Architecture Computer Hardware and Architecture Computer Hardware and Architecture IS Theory Principles Innovation More Theoretical DEVELOPMENT More Applied Deployment Configuration IT Theory Principles Innovation More Theoretical DEVELOPMENT More Applied Deployment Configuration SE Theory Principles Innovation More Theoretical DEVELOPMENT More Applied Deployment Configuration 4
ACM CS Curriculum 2013 CS curricula should be designed to provide students with the flexibility to work across many disciplines, to prepare graduates for a variety of professions, attracting the full range of talent to the field, to prepare graduates to succeed in a rapidly changing field. CS2013 should provide guidance for the expected level of mastery of topics by graduates. CS2013 should identify the fundamental skills and knowledge that all computer science graduates should possess while providing the greatest flexibility in selecting topics. http://ai.stanford.edu/users/sahami/cs2013/ 5
ACM CS Curriculum 2013 6 Technical understanding of Computer Science Familiarity with common themes and principles Appreciation of the interplay between theory and practice System level perspective Problem solving skills Project experience Commitment to life long learning Commitment to professional responsibility Communication and organizational skills Awareness of the broad applicability of computing Appreciation of domain specific knowledge
7 Mjukvaruteknik Åk 1-3
Mjukvaruteknik Åk 4-5 Troliga mastersprofiler Mjukvaruteknik (ny) AI och datadrivet beslutsfattande (ny) Programmering och Algoritmer, Spelprogrammering, Säkra system, Datorsystem, Systemteknologi, m.fl. (existerande) En ny kurs i Mjukvarutekniskt entreprenörskap starta och driva ett virtuellt företag. En ny kurs i underhåll och vidareutveckling av storskaliga mjukvarusystem baserad på open source projekt som går över ett helt år. Översyn av kurser på avancerad nivå. 8
Jämförelse Sverige: Andel Datavetenskap Mjukvaruteknik, LiTH Informationsteknologi, UU Teknisk datavetenskap, UmU Datateknik, MiUn Datateknik, LTU Datateknik, LTH Informationsteknologi, LiTH Datateknik, KTH CS Valfritt Annat Datateknik, KaU Informationsteknik, CTH Datorsäkerhet, BTH 0 10 20 30 40 50 60 70 80 90 100 9 Genomsnitt CS 58%, Annat 37%
Jämförelse Sverige: ACM CS Curriculum 2008 Computer Science Curriculum 2008 partitions the computer science discipline into 14 Knowledge Areas DS Discrete Structures PF Programming Fundamentals AL Algorithms & Complexity AR Architecture & Organization OS Operation Systems NC Net Centric Computing PLProgramming Languages HCHuman Computer Interaction GVGraphics & Visual Computing IS Intelligent Systems IM Information Management SP Social & Professional Issues SE Software Engineering CNComputational Science These have been complemented by one area for other (non CS) subjects and one for freely chosen elective courses (whether within CS or not) OT Other Topics SC Students Choice 10
Jämförelse Sverige: Andel per Knowledge Area 20% 50% 45% 15% 40% 10% 35% 30% 5% 25% 0% DS PF AL AR OS NC PL HC GV IS IM SP SE CN SC 20% OT Maximum 3 rd quartile Median 1 st quartile Minimum Mean CS2008 recommendation 11
Slutsatser ACM CS Curriculum är en genomtänkt, heltäckande och uppdaterad grund för datavetenskapliga utbildningar. Det som saknas är främst kontinuerlig matematik, sannolikhetslära och statistik som också är viktigt. Flera områden (KAs) motsvarar kurser, men inte alla. Det är svårt att få plats med allt inom de tre första åren på en svensk civilingenjörsutbildning då väldigt mycket annat också ska få plats. Fokusera på innehållet i kunskapsområden (KAs) snarare än hours. ACM CS Curriculum ger en gemensam referensram att jämföra olika utbildningar, både nationellt och internationellt. Uppfyller en utbildning ACM CS Curriculum så är det en gedigen datavetenskaplig utbildning som är internationellt gångbar. 12
www.liu.se