Introduzione alla programmazione, con JavaScript
|
|
|
- Emanuele Galli
- 9 anni fa
- Просмотров:
Транскрипт
1 Introduzione alla programmazione, con JavaScript Linux Day Torino Luigi Maselli 1 / 63
2 1. Perché saper programmare è importante 2. Cosa significa essere uno sviluppatore 3. Perché il linguaggio di programmazione JavaScript Da dove iniziare e un Esempio pratico 2 / 63
3 bio / contatti Luigi Maselli software developer 10+y / founder corso-javascript.it 3 / 63
4 bio / contatti Luigi Maselli software developer 10+y / founder corso-javascript.it web: github: grigio 4 / 63
5 Perché saper programmare è importante? 5 / 63
6 La programmazione è un insieme di: logica, architettura, creatività e management 6 / 63
7 Se qualcosa può essere automatizzato ci sarà qualche programmatore / imprenditore che lo realizzerà 7 / 63
8 Il lavoro ripetitivo è pagato sempre meno e/o fatto da macchine 8 / 63
9 Barriere d'ingresso basse, basta un qualsiasi computer 9 / 63
10 Recap: Perché saper programmare è importante? 10 / 63
11 Recap: Perché saper programmare è importante? Automatizzare ci fa risparmiare tempo, può essere creativo, ed meglio automatizzare che "essere automatizzato" 11 / 63
12 Cosa significa essere uno sviluppatore? 12 / 63
13 Conoscere: 1+ linguaggio, 1+ piattaforma, 1+ settore -> problem solved :) 13 / 63
14 Conoscere: 1+ linguaggio, 1+ piattaforma, 1+ settore -> problem solved :) Linguaggio Piattaforma Settore javascript + ecosistema java ruby python php... client: web, ios, android server: protocollo HTTP, database,.. gaming: 2D, 3D,.. machine learning bitcoin / cryptovalute hardware... (un minimo) medicina economia UX/UI user experience statistica finanza / trading fisica / 63
15 Conoscere: il contesto (cliente e il progetto) 15 / 63
16 Conoscere: il contesto (cliente e il progetto) Saas CMS Custom Wix... Wordpress Magento (ecommerce)... Qualcosa che non esiste / 63
17 Falsi miti 17 / 63
18 Dagli stessi creatori di.. 18 / 63
19 Web / 63
20 Web 2.0 OpenData 20 / 63
21 Web 2.0 OpenData SmartCity 21 / 63
22 Web 2.0 OpenData SmartCity Cloud 22 / 63
23 Web 2.0 OpenData SmartCity Cloud Industria / 63
24 il "Coding" 24 / 63
25 Informazione mainstream, crea bolle inesistenti 25 / 63
26 Saper "scrivere codice" ha che fare con la programmazione quanto "saper tagliare la carne" ha che fare con la chirurgia 26 / 63
27 Il fatto che un software "funzioni" non significa, che va tutto bene 27 / 63
28 28 / 63
29 29 / 63
30 Mantenimento: non tutte le "piccole modifiche" sono sempre possibili senza ripartire 30 / 63
31 31 / 63
32 Frustrazione 32 / 63
33 Cose belle 33 / 63
34 Cose belle Puoi lavorare per chiunque, ovunque (remote working) 34 / 63
35 Cose belle Puoi lavorare per chiunque, ovunque (remote working) La sintassi dei linguaggi è abbastanza simile 35 / 63
36 Cose belle Puoi lavorare per chiunque, ovunque (remote working) La sintassi dei linguaggi è abbastanza simile Puoi integrare sw open source (e non partire da zero) 36 / 63
37 Cose belle Puoi lavorare per chiunque, ovunque (remote working) La sintassi dei linguaggi è abbastanza simile Puoi integrare sw open source (e non partire da zero) Nessuna barriera d'ingresso. community, doc, forum online 37 / 63
38 Cose belle Puoi lavorare per chiunque, ovunque (remote working) La sintassi dei linguaggi è abbastanza simile Puoi integrare sw open source (e non partire da zero) Nessuna barriera d'ingresso. community, doc, forum online È più facile fare Flappy Bird che vincere alla lotteria 38 / 63
39 Recap: Cosa significa programmare? 39 / 63
40 Recap: Cosa significa programmare? Problem solving e sperimentazione (non si finisce mai di imparare) 40 / 63
41 Recap: Cosa significa programmare? Problem solving e sperimentazione (non si finisce mai di imparare) Avere una visione micro/macro del contesto 41 / 63
42 Recap: Cosa significa programmare? Problem solving e sperimentazione (non si finisce mai di imparare) Avere una visione micro/macro del contesto Innovazione!== "cose nuove", bisogna conviverci 42 / 63
43 Recap: Cosa significa programmare? Problem solving e sperimentazione (non si finisce mai di imparare) Avere una visione micro/macro del contesto Innovazione!== "cose nuove", bisogna conviverci Il "codice" è un mezzo, non il fine! 43 / 63
44 Perché JavaScript? 44 / 63
45 Esiste da 20+ anni, non dipende da una singola azienda, documentato 45 / 63
46 Esiste da 20+ anni, non dipende da una singola azienda, documentato È su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, ios.. 46 / 63
47 Esiste da 20+ anni, non dipende da una singola azienda, documentato È su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, ios.. È veloce 47 / 63
48 Esiste da 20+ anni, non dipende da una singola azienda, documentato È su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, ios.. È veloce È multiparadigma (funzionale, oggetti) 48 / 63
49 Esiste da 20+ anni, non dipende da una singola azienda, documentato È su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, ios.. È veloce È multiparadigma (funzionale, oggetti) -_- Errori. (Flow,TypeScript) 49 / 63
50 Esiste da 20+ anni, non dipende da una singola azienda, documentato È su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, ios.. È veloce È multiparadigma (funzionale, oggetti) -_- Errori. (Flow,TypeScript) -_- Frammentato, best practise cambiano 50 / 63
51 Esiste da 20+ anni, non dipende da una singola azienda, documentato È su qualsiasi piattaforma: web, server, iot, 3D, 2D, Android, ios.. È veloce È multiparadigma (funzionale, oggetti) -_- Errori. (Flow,TypeScript) -_- Frammentato, best practise cambiano -_- Il fatto che funzioni non significa che sia il giusto strumento per tutti i problemi 51 / 63
52 Sintassi JavaScript / NodeJS in breve 52 / 63
53 // variabili / strutture dati let eta = 60 const nome = 'Pippo'; let coord = { lat: 45.1, lon: 7.9, } let temperatures = [20, 21, 25, 23] 53 / 63
54 // cicli for (let i = 0; i < temperatures.length; i += 1) { console.log('temp '+ temperatures[i]) } temperatures.map((el) => { console.log('temp ' + el)} ) 54 / 63
55 // logica if (condizione === true) { faiquesto() } else { faiquello() } 55 / 63
56 // funzioni function saluta(nome) { console.log('ciao,' + nome) } saluta('alice') // -> ciao, Alice 56 / 63
57 Esempio come scrivere codice senza scriverlo 57 / 63
58 Da dove iniziare? Scratch (bambini) 58 / 63
59 Da dove iniziare? Scratch (bambini) Coding with Chrome (adulti) 59 / 63
60 Da dove iniziare? Scratch (bambini) Coding with Chrome (adulti) Imparare dagli altri sviluppatori su GitHub 60 / 63
61 Da dove iniziare? Scratch (bambini) Coding with Chrome (adulti) Imparare dagli altri sviluppatori su GitHub..e corsi, università, video, formazione della regione, libri..? (Valutare caso per caso in base ad argomenti e propri interessi) 61 / 63
62 Domande? 62 / 63
63 Grazie per l'ascolto 63 / 63
CORSO DI PROGRAMMAZIONE ios BASE IN LINGUAGGIO NATIVO OBJECTIVE-C
CORSO DI PROGRAMMAZIONE ios BASE IN LINGUAGGIO NATIVO OBJECTIVE-C Apple ha stupito tutta la sua comunità di sviluppatori quando ha annunciato Swift, un nuovo linguaggio di programmazione per applicazioni
Curriculum Vitae e Portfolio
Mi presento, mi chiamo Matteo Papparella ho 25 anni e sono un programmatore web con conoscenze di html5, php, javascript, mysql e jquery. Ho avuto già diverse esperienze in questo settore sviluppando progetti
Java il Corso Fondamentale
Java il Corso Fondamentale Imparare a Programmare APP per Android, applicativi per Server e Desktop, applet e molto altro. IlTuoCorso - Ermes srl Via E.De Amicis 57 20123 Milano Il corso Ciao! Se desideri
Imparare A Programmare In Java Con Minecraft (Italian Edition) By Andy Hunt
Imparare A Programmare In Java Con Minecraft (Italian Edition) By Andy Hunt Quanto tem.po ci vuole per imparare a programmare - May 13, 2009 Migliore risposta: Programmare cosine piccole, anche un mesetto
U4Learn.
U4Learn www.u4learn.it U4Learn 1 SPINOFF - UNIPA E-learning cloud-based U4Learn: Nuove Prospettive per la Formazione Ambiti Formativi SCOLASTICO ACCADEMICO PROFESSIONALE U4Learn: Nuove Prospettive per
It s coding time. Pensiero Computazionale a scuola. Borgotaro 25 Novembre 2015
It s coding time Pensiero Computazionale a scuola Borgotaro 25 Novembre 2015 chi siamo Michael Lodi lodi.ml Docente di Informatica al Liceo e Tutor all Università Formatore USR-ER e Mentor di CoderDojo
APPENDICE 4 AL CAPITOLATO TECNICO
APPENDICE 4 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE
Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
Impesud Technology è una società di servizi web fondata nel 2011.
Impesud Technology è una società di servizi web fondata nel 2011. Analizziamo i tuoi obiettivi di business online e ti forniamo servizi di pianificazione strategica digitale, copywriting e internet marketing.
CODING PERCORSO DI FORMAZIONE PER I DOCENTI DEL 1 I.C. «E. DE AMICIS» FLORIDIA
CODING PERCORSO DI FORMAZIONE PER I DOCENTI DEL 1 I.C. «E. DE AMICIS» FLORIDIA ACCEDIAMO ALLE COSE Oggi siamo circondati da oggetti digitali in grado di comunicare con noi e di eseguire comandi. Le app
Giocare è tutto un programma!
LINKYOU WEBINAR Prof. Denis Bertaggia 05 ottobre 2017 Perché il coding nella scuola primaria? Crea motivazione nei ragazzi. Utilizza strategie didattiche legate al gioco (game based learning). Favorisce
Solution Integrator 18/06/16. www.middlewaresrl.com
18/06/16 www.middlewaresrl.com CHI SIAMO Azienda giovane e dinamica guidata da un team di esperti specialisti Start-up innovativa nell information technology Professionisti dell ict: progettiamo, sviluppiamo
Programmare server. Programmazione Web 1
Programmare server Programmazione Web 1 Richiesta a un sito sta2co HTTP req: GET www.uniroma2.it You client (client) HTTP resp: HTML, CSS, js,... web server Server 1. Riceve una richiesta per un file 2.
Nome e indirizzo del datore di lavoro
per scaricare la versione Pdf clicca qua -> Esperienze Lavorative Date (da a) 2001 Attualmente Attivo Nome e indirizzo del datore di lavoro Studio R.S s.a.s 1 / 16 via Nuova,126 Migliarino P.No (Pisa)
Aiutiamo i nostri clienti ad incorporare connettività, servizi web, embedded computing e automazione nei loro prodotti e soluzioni.
Costruiamo con voi i prodotti di successo del futuro Edge devices Business Intelligence Industrial IoT gateways and cloud platform for fast deployment of IoT applications for Unattended, mission critical
Esperto qualità totale Obbligo formativo Formazione continua
CURRICULUM VITAE DI: Nome e cognome DOMENICO CAVACINI Data di nascita 08 /09 / 1956 Luogo di nascita (Comune) CASTEL FRENTANO (Prov.) CH Indirizzo residenza Via VALLONCELLO, 17 - VASTO (CH) Tel. Fisso
Area Tematica Descrizione Area Corso Descrizione corso Tipologia Durata (ore) Finalità corso
Area Tematica Descrizione Area Corso Descrizione corso Tipologia Durata (ore) Finalità corso Setting I Lavorare con i dispositivi destinati alla fruizione collettiva di contenuti in situazioni di didattica
Linee di programmazione
Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE
CLIPS Communication & Localization with Indoor Positioning Systems
CLIPS Communication & Localization with Indoor Positioning Systems Piacere, siamo società di consulenza informatica 40 persone 15 anni di esperienza 2 sedi: Thiene e Padova Play the change Crediamo nella
Candidatura N del 04/04/ FSE -Formazione in servizio all'innovazione didattica e organizzativa
Candidatura N. 17375 6-6076 del 04/04/2016 - FSE -Formazione in servizio all'innovazione didattica e organizzativa Sezione: Anagrafica scuola Dati anagrafici Denominazione Codice meccanografico istituto
"DIGITAL GENERATION : LE FIGURE PIÙ RICHIESTE, LE PIÙ INNOVATIVE E IL CONFRONTO CON L ESTERO
"DIGITAL GENERATION : LE FIGURE PIÙ RICHIESTE, LE PIÙ INNOVATIVE E IL CONFRONTO CON L ESTERO Fabrizio Travaglini, Director Page Personnel Alessandra Cantinazzi, Manager Technology Page Personnel Interim
Introduzione alla Programmazione. Giselda De Vita
Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:
Maria Aliberti, Sophia Danesino, Aurora Martina, Clotilde Moro, Mario Scovazzi e altri presentano la loro esperienza di DOCENTI COLLABORATIVI
Maria Aliberti, Sophia Danesino, Aurora Martina, Clotilde Moro, Mario Scovazzi e altri presentano la loro esperienza di DOCENTI COLLABORATIVI Chi siamo? Un gruppo di docenti, tecnici, ricercatori. Cosa
Sviluppare in. Matteo Enna
Sviluppare in Matteo Enna Chi sono Matteo Enna Sviluppatore Web Attivista Digitale Il mio lavoro Sono uno Sviluppatore web Full Stack e mi occupo di ecommerce in Strogoff Gulmh Il gruppo degli utenti linux
Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
Mirco Curzi Ing. Elttronico PhD VII Ciclo - DIIGA http://www.diiga.univpm.it
XOOPS Open Source CMS Open Source Applications Università Politecnica delle Marche 24 Gennaio 2007 Mirco Curzi Ing. Elttronico PhD VII Ciclo - DIIGA http://www.diiga.univpm.it Obiettivi Introduzione ai
Programmazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
Aree tematiche dei moduli formativi per il personale scolastico
Aree tematiche dei moduli formativi per il personale scolastico Tipologia modulo Titolo Aree tematiche Argomenti N ore Formazione personale amministrativo Formazione personale amministrativo Formazione
CFU ATTIVITÀ FORMATIV A. ORE DI STUDIO INDIVIDUALE, DI GRUPPO, TIROCINIO CORE 12 corsi 18 CFU 108 342 TOOLS 4 corsi 14 CFU 84 266
3.2 STRUTTURA DEL CORSO MODULO NUMERO DI CORSI CFU ATTIVITÀ FORMATIV A ORE DIDATTICA FRONTALE ORE DI STUDIO INDIVIDUALE, DI GRUPPO, TIROCINIO CORE 12 corsi 18 CFU 108 342 TOOLS 4 corsi 14 CFU 84 266 Mobile
Strumenti per l automazione del testing di applicazioni web Javascript-based
tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612
Introduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli
Company Profile MULTIMEDIA WEB. Web Agency Ancona
Company Profile MULTIMEDIA WEB Web Agency Ancona Chi siamo Un gruppo di professionisti con sede ad Ancona dal 1998 CTRL Visita i nostri lavori... il miglior biglietto da visita per il tuo sito web! PORTFOLIO
Sistemi per la produzione, gestione e conservazione di contenuti digitali CMS. L12 - Comunicazione e archiviazione digitale A.A 2015-2016.
Sistemi per la produzione, gestione e conservazione di contenuti digitali L12 - Comunicazione e archiviazione digitale A.A 2015-2016 Carlo Savoretti [email protected] Produzione Contenuti prodotti
Introduzione alla programmazione. Walter Didimo
Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata
CODING PER INSEGNANTI PROGRAMMARE CON
C ORSO DI CODING PER INSEGNANTI PROGRAMMARE CON PERCHÈ IL CODING? Tutti i giorni siamo abituati ad interagire con moltissimi strumenti digitali come computer, tablet, smartphone; ma ormai quasi tutti gli
SISTEMI OPERATIVI, RETI, INTERNET
Competenze e Unità didattica formativa capitalizzabile 4.1 SISTEMI OPERATIVI, RETI, INTERNET Comprendere il significato dell'evoluzione dei sistemi operativi. Comprendere che cosa fa un sistema operativo
Soluzioni per l ecommerce integrando Joomla! e Magento
Simone Bussoni Soluzioni per l ecommerce integrando Joomla! e Magento Joomla! CMS potente Estendibile Open Source Migliaia di estensioni Community molto attiva Perché non un altro CMS? Il Miglior CMS è
Nuovi strumenti per il coding App Inventor e Scratch for Arduino
Nuovi strumenti per il coding App Inventor e Scratch for Arduino 29 marzo 2017 BARBERO Alberto VASCHETTO Francesco 1 All inizio erano «le TIC» e poi venne «il coding» Introduzione nella disciplina Informatica
A. Lorenzi Pagine ASP
Pagine ASP Web server software per la gestione di un computer host Internet oppure di un server di rete, che mette a disposizione dati o applicativi per gli utenti della rete Web server IIS (Internet Information
MaSeM MASTER UNIVERSITARIO DI SECONDO LIVELLO IN SVILUPPO APPLICAZIONI WEB, MOBILE E SOCIAL MEDIA. 1ª edizione a.a. 2012/2013
MaSeM MASTER UNIVERSITARIO DI SECONDO LIVELLO IN SVILUPPO APPLICAZIONI WEB, MOBILE E SOCIAL MEDIA 1ª edizione a.a. 2012/2013 Obiettivi Negli ultimi anni abbiamo assistito ad una vera rivoluzione tecnologica,
Monitoraggio professionale di sistemi con Zabbix e Arduino
Linux Day 2016 Monitoraggio professionale di sistemi con Zabbix e Arduino Davide Di Gesualdo Embedded Software Engineer @ SinTau Srl [email protected] Monitoraggio: questo sconosciuto Rilevazione
Treccani Scuola La nuova scuola è online
Treccani Scuola La nuova scuola è online 1 Risorse digitali Treccani o di enti partner La nuova frontiera della didattica Treccani Scuola offre agli insegnanti e agli studenti un sistema integrato di strumenti
Strumenti e linguaggi per lo sviluppo WEB su Linux. Scano Alessandro [email protected]
Strumenti e linguaggi per lo sviluppo WEB su Linux Scano Alessandro [email protected] Non solo su linux è possibile fare sviluppo web, ma quest'ultimo è una piattaforma privilegiata per tale compito
29 Novembre 2012 Open Source: un opportunità per far evolvere l ICT nelle imprese
DEFINIZIONE Joomla è un software di content management (CMS) sviluppato in php per la realizzazione di siti Internet dinamici, è gratuito e rilasciato sotto licenza GPL v.2, per il suo utilizzo non sono
CIG 6223997CCB COD. ALICE G00292
APPENDICE 2 Descrizione dei profili professionali richiesti Sommario APPENDICE 2 Descrizione dei profili professionali richiesti... 1 1. PROFILI PROFESSIONALI RICHIESTI... 2 1.1 Capo progetto... 2 1.2
WEB TECHNOLOGY. Il web connette. LE persone. E-book n 2 - Copyright Reserved
WEB TECHNOLOGY Il web connette LE persone Indice «Il Web non si limita a collegare macchine, ma connette delle persone» Il Www, Client e Web Server pagina 3-4 - 5 CMS e template pagina 6-7-8 Tim Berners-Lee
Coding unplugged: se il computer non c è!
Coding unplugged: se il computer non c è! LINKYOU WEBINAR Elisa Pettinari 3 ottobre 2017 L educazione nell era digitale: il PNSD Costruzione di una visione di educazione nell era digitale. Un azione culturale,
Mirko Ferraro Curriculum vitae
Mirko Ferraro Curriculum vitae Residenza: Milano Cellulare: +39 348 9528749 Email: [email protected] Sito Web http://mirkoferraro.it GitHub https://github.com/mirkoferraro NPM https://www.npmjs.com/~mirkoferraro
Laboratorio di Programmazione Web. Prof. B.Buttarazzi A.A. 2011/2012
Laboratorio di Programmazione Web Prof. B.Buttarazzi A.A. 2011/2012 Sommario Contenuti Testi di Riferimento Informazioni Generali del Corso 30/05/2012 2 Contenuti Il corso Laboratorio di Programmazione
DUCKMA SRL BACKEND DEVELOPER
BACKEND DEVELOPER applicazioni Mobile. nostri valori e la nostra visione del business. Persone con iniziativa, creatività, curiosità ed entusiasmo, uniti ad ottime capacità relazionali e un forte spirito
