Curriculum Triennale in Ingegneria Informatica per la Prossima Decade: l'Esperienza della Sapienza
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Curriculum Triennale in Ingegneria Informatica per la Prossima Decade: l’Esperienza della Sapienza Salerno, 19 Settembre 2013 – Workshop AICA: Sfide Didattiche per l’Informatica del 2020 Camil Demetrescu, Marco Fratarcangeli, Alberto Marchetti Spaccamela, Massimo Mecella, Daniele Nardi, Francesco Quaglia, Riccardo Rosati, Leonardo Querzoni, Andrea Vitaletti
Contesto e motivazioni • L’evoluzione del ruolo dell’ICT nella società nell’ultima decade ha cambiato il tipo di competenze richieste all’ingegnere informatico • Nuove sfide: cloud, sicurezza, multi-core, platform- based development, ecc. • Esigenza ristrutturazione profonda del curriculum triennale in ingegneria informatica alla Sapienza Commissione Curriculum Triennale 9/21/13 Pagina 2 Ing. Informatica Sapienza
Agenda • Riflessioni sulla figura dell’ingegnere informatico • Ruolo didattico dei linguaggi di programmazione • Cosa è successo nel resto del mondo • Indagine sui laureati in Ingegneria Informatica • La ristrutturazione: – Princìpi generali e linee guida – Il core del nuovo curriculum: i primi due anni – Il terzo anno • Conclusioni Commissione Curriculum Triennale 9/21/13 Pagina 3 Ing. Informatica Sapienza
Riflessioni sulla figura dell’ingegnere informatico Mario Raffa, l’Ingegnere oggi tra azienda e società, Storia dell’Ingegneria, Atti del 2° Convegno Nazionale, Napoli, 2008 Commissione Curriculum Triennale 9/21/13 Pagina 4 Ing. Informatica Sapienza
Riflessioni sulla figura dell’ingegnere informatico Organizational Issues & Information Systems Application Technologies Computer Science Curricula 2013 (CS2013) Software Methods and Technologies ACM/IEEE-CS Joint Task Force http://ai.stanford.edu/users/sahami/CS2013/ System Infrastructure Computer Hardware And Architecture Theory Application Principles More Theoretical DEVELOPMENT More Applied Deployment Innovation Configuration
EE Electronic Eng. CE Computer Eng. CS Computer Science EE CE CS SE IT IS SE Software Eng. IT Information Technology Hardware Software Organizational IS Information Systems needs Organizational Issues & Information Systems Application Technologies Software Methods and Technologies System Infrastructure Computer Hardware And Architecture Theory Application Principles More Theoretical DEVELOPMENT More Applied Deployment Innovation Configuration
EE Electronic Eng. CE Computer Eng. CS Computer Science EE CE CS SE IT IS SE Software Eng. IT Information Technology Hardware Software Organizational IS Information Systems needs Organizational Issues & Information Systems Application Technologies IT Software Methods and Technologies System Infrastructure Computer Hardware And Architecture Theory Application Principles More Theoretical DEVELOPMENT More Applied Deployment Innovation Configuration
EE Electronic Eng. CE Computer Eng. CS Computer Science EE CE CS SE IT IS SE Software Eng. IT Information Technology Hardware Software Organizational IS Information Systems needs Organizational Issues & Information Systems Application IS Technologies IT Software Methods and Technologies System Infrastructure Computer Hardware And Architecture Theory Application Principles More Theoretical DEVELOPMENT More Applied Deployment Innovation Configuration
EE Electronic Eng. CE Computer Eng. CS Computer Science EE CE CS SE IT IS SE Software Eng. IT Information Technology Hardware Software Organizational IS Information Systems needs Organizational Issues & Information Systems Application IS Technologies IT Software Methods and Technologies System Infrastructure CE Computer Hardware And Architecture Theory Application Principles More Theoretical DEVELOPMENT More Applied Deployment Innovation Configuration
EE Electronic Eng. CE Computer Eng. CS Computer Science EE CE CS SE IT IS SE Software Eng. IT Information Technology Hardware Software Organizational IS Information Systems needs Organizational Issues & Information Systems Application IS Technologies IT Software Methods and Technologies SE System Infrastructure CE Computer Hardware And Architecture Theory Application Principles More Theoretical DEVELOPMENT More Applied Deployment Innovation Configuration
EE Electronic Eng. CE Computer Eng. CS Computer Science EE CE CS SE IT IS SE Software Eng. IT Information Technology Hardware Software Organizational IS Information Systems needs Organizational Issues & Information Systems Application IS Technologies IT Software Methods and Technologies CS SE System Infrastructure CE Computer Hardware And Architecture Theory Application Principles More Theoretical DEVELOPMENT More Applied Deployment Innovation Configuration
EE Electronic Eng. CE Computer Eng. CS Computer Science EE CE CS SE IT IS SE Software Eng. IT Information Technology Hardware Software Organizational IS Information Systems needs Organizational Issues & Information Systems Application IS Technologies IT Software Methods and Technologies CS SE Engineering Engineering inCS in CS System Infrastructure CE Computer Hardware And Architecture Theory Application Principles More Theoretical DEVELOPMENT More Applied Deployment Innovation Configuration
Riflessioni sulla figura dell’ingegnere informatico Mario Raffa, l’Ingegnere oggi tra azienda e società, Storia dell’Ingegneria, Atti del 2° Convegno Nazionale, Napoli, 2008 Commissione Curriculum Triennale 9/21/13 Pagina 13 Ing. Informatica Sapienza
Agenda • Riflessioni sulla figura dell’ingegnere informatico • Ruolo didattico dei linguaggi di programmazione • Cosa è successo nel resto del mondo • Indagine sui laureati in Ingegneria Informatica • La ristrutturazione: – Princìpi generali e linee guida – Il core del nuovo curriculum: i primi due anni – Il terzo anno • Conclusioni Commissione Curriculum Triennale 9/21/13 Pagina 14 Ing. Informatica Sapienza
Ruolo didattico dei linguaggi di programmazione Software come tema centrale dell’ing. informatico Anni 2000: Java come linguaggio dominante (es. sia server- che client-side). Criticità emerse durante gli anni: • Complesso come primo linguaggio, focus su sintassi/ semantica piuttosto che sulla risoluzione di problemi • Nasconde troppi dettagli del funzionamento interno: inadatto per sfruttare prestazioni architetture di calcolo • Neo-laureati tendono a usare Java per ogni cosa Commissione Curriculum Triennale 9/21/13 Pagina 15 Ing. Informatica Sapienza
Ruolo didattico dei linguaggi di programmazione Anno 2010: diversi linguaggi e paradigmi di programmazione • Fondamentale dare dall’inizio il messaggio (e le capacità) che i linguaggi sono tanti e si sceglie di volta in volta • Programmazione per sistemi di calcolo eterogenei, su larga scala (multi-core, cloud) e specializzati (embedded) • Programmazione parallela (es. map-reduce), concorrente, funzionale, metodologie “agili”, ecc. Commissione Curriculum Triennale 9/21/13 Pagina 16 Ing. Informatica Sapienza
Utilizzo linguaggi in ambito industriale Ratings: number of skilled engineers world- wide, courses and third party vendors Fonte: www.tiobe.com Commissione Curriculum Triennale 9/21/13 Pagina 17 Ing. Informatica Sapienza
Utilizzo linguaggi: tendenza ultimi 10 anni Commissione Curriculum Triennale 9/21/13 Pagina 18 Ing. Informatica Sapienza
Agenda • Riflessioni sulla figura dell’ingegnere informatico • Ruolo didattico dei linguaggi di programmazione • Cosa è successo nel resto del mondo • Indagine sui laureati in Ingegneria Informatica • La ristrutturazione: – Princìpi generali e linee guida – Il core del nuovo curriculum: i primi due anni – Il terzo anno • Conclusioni Commissione Curriculum Triennale 9/21/13 Pagina 19 Ing. Informatica Sapienza
Cosa è successo nel resto del mondo? Introductory Computer Science Education at Carnegie Mellon University: A Deans’ Perspective Randal E. Bryant, Klaus Sutner, Mark J. Stehlik 2010 Abstract The School of Computer Science at Carnegie Mellon University is planning major revisions to its introductory course sequence in ways that will affect not just our own students, but also the many students from across campus who take computer science courses. Major changes include: 1) revising our introductory courses to promote the principles of computational thinking, for both majors and nonmajors, 2) increasing our emphasis on the need to make software systems highly reliable and the means to achieve this, and 3) preparing students for a future in which programs will achieve high performance by exploiting parallel execution. Commissione Curriculum Triennale 9/21/13 Pagina 20 Ing. Informatica Sapienza
Cosa è successo nel resto del mondo? Università Linguaggio 1 Linguaggio 2 Note Caltech Python C++ Computational thinking MIT Python Java (molto self study) Poi prog. funzionale Carnegie Mellon Python C (focus correttezza) Primo corso cenni a SQL, PHP & HTML Harvard C Java + ML (funz.) Primo corso: Python & robot Georgia Tech Python Java Stanford C++ C Imperial College Haskell Java ETH Eiffel Java II anno: enfasi parallelismo EPFL Java C II anno: enfasi su prog concorrente Cornell Python/Matlab Java Web prog. (PHP, XHTML, …) Toronto Python Java Computational thinking Columbia Java C, C++ Berkeley Scheme Java Commissione Curriculum Triennale 9/21/13 Pagina 21 Ing. Informatica Sapienza
Agenda • Riflessioni sulla figura dell’ingegnere informatico • Ruolo didattico dei linguaggi di programmazione • Cosa è successo nel resto del mondo • Indagine sui laureati in Ingegneria Informatica • La ristrutturazione: – Princìpi generali e linee guida – Il core del nuovo curriculum: i primi due anni – Il terzo anno • Conclusioni Commissione Curriculum Triennale 9/21/13 Pagina 22 Ing. Informatica Sapienza
Indagine sui laureati in Ingegneria Informatica • Abbiamo creato su SurveyMonkey un questionario per i nostri laureati in ingegneria informatica • L’indagine è stata pubblicizzata presso il gruppo LinkedIn dei laureati in ingegneria informatica che conta oltre 400 iscritti • Il questionario è stato compilato da 51 persone in 10 giorni (dal 30 gennaio al 9 febbraio 2013) Commissione Curriculum Triennale 9/21/13 Pagina 23 Ing. Informatica Sapienza
Titolo di studio e anno di conseguimento 18 Laurea (triennale) 23 Laurea Specialis6ca Laurea Magistrale 10 Commissione Curriculum Triennale 9/21/13 Pagina 24 Ing. Informatica Sapienza
Settore di impiego Studente laurea 2 1 6 1 magistrale 5 do>orando Privato Pubblico Autonomo 36 Nessun impiego Commissione Curriculum Triennale 9/21/13 Pagina 25 Ing. Informatica Sapienza
Area di lavoro Commissione Curriculum Triennale 9/21/13 Pagina 26 Ing. Informatica Sapienza
Linguaggi e strumenti utilizzati in ambito lavorativo 20 15 10 5 0 Java SQL C/C++ Javascript Php C# SAP Ruby Commissione Curriculum Triennale 9/21/13 Pagina 27 Ing. Informatica Sapienza
Riassunto dell’indagine Profilo dei laureati: • Aree dominanti: Ingegneria del software e sistemi informativi (Java e SQL sono i linguaggi più utilizzati) • Seguite da applicazioni Web-based • Profilo riflette il contesto aziendale dell’area di Roma Contenuti e tecnologie suggeriti: • Più attività progettuali nel corso di laurea • Più progettazione e ingegneria del software • Più Java e RDBMS • Più contenuti e tecnologie relativi ad applicazioni Web- based e mobili Commissione Curriculum Triennale 9/21/13 Pagina 28 Ing. Informatica Sapienza
Agenda • Riflessioni sulla figura dell’ingegnere informatico • Ruolo didattico dei linguaggi di programmazione • Cosa è successo nel resto del mondo • Indagine sui laureati in Ingegneria Informatica • La ristrutturazione: – Princìpi generali e linee guida – Il core del nuovo curriculum: i primi due anni – Il terzo anno • Conclusioni Commissione Curriculum Triennale 9/21/13 Pagina 29 Ing. Informatica Sapienza
Princìpi generali e linee guida • Core: primi due anni • Maggiore varietà di linguaggi di programmazione – Primi due anni: Python, C, Java – Terzo anno: linguaggi query, markup, funzionali, logici, paralleli • Introdurre la programmazione sviluppando l’attitudine al problem solving • I contenuti del corso implicano la scelta del linguaggio: linguaggio come strumento didattico • Nuovo approccio alle architetture degli elaboratori, focalizzato sull’astrazione per il programmatore
Princìpi generali e linee guida • Approccio olistico: integrazione stretta fra i programmi di tutti i corsi insegnati • Importanza dei laboratori su tutti i corsi del core (e su ogni semestre di ogni corso)
Approccio top-down alla risoluzione dei problemi Programmazione Sistema di calcolo problema HW Algoritmo OS da6 programma rete HW OS aprire la scatola “The Box” HW HW OS soluzione Approccio integrato archite.ure, sistemi opera3vi e re3, dal punto di vista del programmatore
Sistemi di calcolo Commissione Curriculum Triennale 9/21/13 Pagina 33 Ing. Informatica Sapienza
Architetture dal punto di vista del programmatore Matrice 10000x10000, Intel Core 2 Duo @ 2.8 GHz int sum1(int** m, int n) { int sum2(int** m, int n) { int i, j, sum = 0; int i, j, sum = 0; for (i=0; i
Core: 48 CFU (5 esami ING-INF/05) 12 CFU Sistemi di calcolo (6 cfu) 12 CFU Fondam. inform II (6 CFU) Fondam. inform II (6 CFU) Secondo anno Principi di proge>azione di sistemi C, Java, Analisi e tecniche Proge>azione del Software: Secondo complessi su re6 e sistemi Python algoritmiche (greedy, divide design pa>ern, UML, ecc. semestre opera6vi, sicurezza, interfacce, et impera, ecc.) cloud e virtualizzazione. Sistemi di calcolo (6 cfu) Progr. orientata agli oggeH 6 CFU Primo Archite>ura della macchina dal Programming in the large: classi, semestre punto di vista del programmatore, C ereditarietà, polimorfismo, modularità, Java cache, pipeline, assembly. informa6on hiding, 6pi generici, eccezioni 6 CFU Tecniche di programmazione Secondo Primo anno semestre Programmazione impera6va, C stru>ure da6 e algoritmi di base, analisi informale di algoritmi. 12 CFU Fondam. inform I (6 CFU) Fondam. inform I (6 CFU) Primo Elemen6 di informa6ca Computa6onal thinking e teorica: logica, linguaggi semestre introduzione alla Python gramma6che, calcolabilità, programmazione intro complessità “La scienza dietro l’IT” (presentazione Carlo Ghezzi)
Il terzo anno (ING-INF/05) AHvità forma3ve e CFU cara.erizzan3 (obbligatorio) Basi di da6 6 AHvità forma3ve e Ulteriori aHvità forma3ve: CFU CFU cara.erizzan3 (2 a scelta) corso laboratorio (1 a scelta) Sistemi opera6vi 6 Laboratorio di archite>ure 6 Archite>ure dei calcolatori 6 sobware Re6 di calcolatori 6 Laboratorio di sicurezza 6 informa6ca Programmazione funzionale e 6 Laboratorio di intelligenza parallela 6 ar6ficiale Metodi quan6ta6vi per 6 Laboratorio di informa6ca l’informa6ca 6 grafica e di interfacce utente Linguaggi e tecnologie per il 6 Web
Nuova laurea parte ora: molte sfide • Laboratori: uso intensivo della virtualizzazione • Linguaggi multipli nei primi due anni: – modello consolidato in molte università estere di riferimento: molto self-learning – sostenibile nel nostro contesto? – fattore di rischio significativo per la nuova laurea: monitorare apprendimento, calibrare approfondimento contenuti • Culturale: formare ing. informatici in grado di – modellare e risolvere problemi in ambito multidisciplinare – saper scegliere gli strumenti informatici giusti per ogni problema – adattarsi rapidamente ai cambiamenti, non temerli Commissione Curriculum Triennale 9/21/13 Pagina 37 Ing. Informatica Sapienza
Puoi anche leggere