PROGRAMMAZIONE II Corso B Introduzione al corso
|
|
|
- Annalisa Palmisano
- 10 anni fa
- Visualizzazioni
Transcript
1 AA PROGRAMMAZIONE II Corso B Introduzione al corso Andrea Corradini o [email protected] o Web: 1
2 INFORMAZIONI GENERALI Pagina web del corso: Orario di ricevimento Martedì ore Modalità di esame scritto + progetto + orale 2 prove in itinere (sostituiscono scritto) Un corso in evoluzione... 2
3 CONTENUTI DEL CORSO Metodologie di Programmazione Object-Oriented Da programmazione value-oriented (OCaml) a objectoriented (Java) Meccanismi di astrazione Programmazione by contract Paradigmi di programmazione: aspetti implementativi Linguaggio didattico Costrutti dei vari paradigmi Strutture a tempo di esecuzione Implementazione in OCaml basata su semantica operazionale Dappertutto: enfasi su semantica, non su sintassi 3
4 METODOLOGIE DI PROGRAMMAZIONE OBJECT-ORIENTED Useremo Java come esempio Non introdurremo il linguaggio nella sua interezza né tanto meno le sue librerie Enfasi su specifiche, implementazioni, dimostrazioni di correttezza Ogni meccanismo di astrazione ha associata una particolare sequenza di operazioni di specifica, implementazione e dimostrazione che ci porterà ad utilizzare sottoinsiemi di costrutti Java coerenti Le dimostrazioni sono tanto importanti quanto le implementazioni Programmazione concorrente (verso fine corso) 4
5 Materiale Didattico: Tecniche di programmazione OO Liskov, Guttag Program Development in Java, Abstraction, Specification, and Object-Oriented Design
6 Materiale Didattico: OCaml e Java OCaml: Steve Zdancewiz, Benjamin C. Pierce, Stephanie Weirich Programming Languages and Techniques Lecture Notes for CIS 120 Roberto Bruni, Andrea Corradini, Vincenzo Gervasi Programmazione in Java, Seconda Edizione, Apogeo 2011 Disclaimer: solo se interessa approfondire il linguaggio. Molti testi equivalenti...
7 Materiale Didattico: Programmazione Concorrente M. Herlihy, N. Shavit The Art of Multiprocessor Programming
8 PARADIGMI DI PROGRAMMAZIONE Studiare i principi che stanno alla base dei linguaggi di programmazione Essenziale per comprendere il progetto, la realizzazione e l applicazione pratica dei linguaggi Non ci interessa rispondere a domande come Java è meglio di C#? 8
9 COSA VEDREMO? Paradigmi linguistici, costrutti Semantica operazionale Implementazione, strutture a tempo di esecuzione (runtime) Il nostro approccio: la descrizione dell implemementazione del linguaggio è guidata dalla semantica formale: o Stretta relazione tra la semantica e la struttura del runtime del linguaggio Numerosi libri sull argomento che sono utili da studiare per il nostro corso Metteremo a disposizione delle note 9
10 FONDAMENTI: UN VALORE Evitare ambiguità Evitare malfuzionamenti Numerosi esempi: Post sul blog ufficiale di Microsoft Azure: o Alle 17:45 ora del Pacifico del 28 febbraio 2012 Microsoft ha rilevato un problema che affligeva i servizi Windows Azure in diverse regioni. Il problema è stato analizzato rapidamente ed è stato attribuito a un bug software. Sebbene le origini effettive siano oggetto di indagine, il problema sembra fosse causato da un calcolo del tempo errato nell'anno bisestile". La teoria aiuta il progetto e la realizzazione dei linguaggi 10
11 Materiale Didattico M. Gabbrielli & S. Martini, Linguaggi di programmazione Principi e paradigmi, McGraw-Hill 2006.
12 Materiale Didattico Michael Scott Programming Language Pragmatics, Third Edition
13 Materiale Didattico Peter Sestoft Programming Language Concepts, Springer 2012
14 LINGUAGGI DI PROGRAMMAZIONE: EVOLUZIONE 14
15 PERCHÉ TANTI LINGUAGGI? Sono tutti computazionalmente equivalenti: o Come vedrete a Calcolabilità e Complessità, i linguaggi di programmazione sono tutti Turing equivalenti Non ce n'è uno migliore: a ciascuno il suo... o Visione Oracle-Sun: Java o Visione Microsoft: C# o Visione dello sviluppatore Web: JavaScript Alcuni linguaggi sono preferibili in determinati contesti applicativi o Esempio, PROLOG per Artificial Intelligence Ma anche in un singolo contesto...
16 A day in the life of a Web Developer Develop a web site o Separare presentazione, stile e funzionalità Client side programming o Javascript (funzionalità), HTML (contenuti), CSS (stile Server side programming o CGI scripts o Scripting (PHP, Pearl, Ruby..) o o o Java Database access (SQL) XML per web services
17 MA QUANTI SONO I LINGUAGGI DI PROGRAMMAZIONE? n+1!!! Curiosità: The hello world! Collection Meno linguaggi, ma più interessante:
18 Il primo progetto di computer Babbage Analytical Engine (1830/40) Macchina programmabile, con input, output e sistema di elaborazione dati
19 E la prima programmatrice Ada Lovelace (figlia di Lord Byron)
20 Un po di storia dei linguaggi I linguaggi di programmazione nascono con la macchina di Von Neumann (macchina a programma memorizzato) i programmi sono un particolare tipo di dato rappresentato nella memoria della macchina la macchina possiede un interprete capace di eseguire il programma memorizzato, e quindi di implementare un qualunque algoritmo descrivibile nel linguaggio macchina un qualunque linguaggio macchina dotato di semplici operazioni primitive per effettuare la scelta e per iterare (o simili) è Turing-equivalente, cioè può descrivere tutti gli algoritmi i linguaggi hanno tutti lo stesso potere espressivo, ma la caratteristica distintiva importante è il quanto costa esprimere direttamente legato al livello di astrazione fornito dal linguaggio 20
21 Linguaggi e astrazione I linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori I linguaggi si sono evoluti trasformando in costrutti linguistici (e realizzando una volta per tutte nell implementazione del linguaggio): Tecniche e metodologie sviluppate nell ambito della programmazione, degli algoritmi, dell ingegneria del software e dei sistemi operativi In certi casi anche in particolari contesti applicativi (basi di dati, intelligenza artificiale, simulazione, etc.) Di fondamentale importanza è stata l introduzione nei linguaggi di vari meccanismi di astrazione, che permettono di estendere il linguaggio (con nuove operazioni, nuovi tipi di dato, etc.) semplicemente scrivendo dei programmi nel linguaggio stesso 21
22 Dai linguaggi macchina ai linguaggi assembler Nomi simbolici per operazioni e dati (anni 50) FORTRAN e COBOL (sempreverdi) Notazioni ad alto livello orientate rispettivamente al calcolo scientifico (numerico) ed alla gestione dati (anche su memoria secondaria) Astrazione procedurale (sottoprogrammi, ma con caratteristiche molto simili ai costrutti forniti dai linguaggi macchina) Nuove operazioni e strutture dati (per esempio, gli arrays in FORTRAN, e i records in COBOL) Nulla di significativamente diverso dai linguaggi macchina 22
23 I favolosi anni 60: LISP e ALGOL 60 Risultati teorici a monte Formalizzazione degli aspetti sintattici Primi risultati semantici basati sul lambda-calcolo Caratteristiche comuni Introduzione dell ambiente (gestito con stack) Vera astrazione procedurale con ricorsione ALGOL 60 primo linguaggio imperativo veramente ad alto livello scoping statico e gestione dinamica della memoria a stack LISP (sempreverde) primo linguaggio funzionale, direttamente ispirato al lambdacalcolo scoping dinamico, strutture dati dinamiche, gestione dinamica della memoria a heap con garbage collector 23
24 La fine degli anni 60 PL/I: il primo tentativo di linguaggio totalitario (targato IBM) Tentativo di sintesi fra LISP, ALGOL 60 e COBOL Fallito per mancanza di una visione semantica unitaria SIMULA 67: nasce la classe Estensione di ALGOL 60 orientato alla simulazione discreta Quasi sconosciuto, riscoperto 15 anni dopo 24
25 Evoluzione del filone imperativo Risultati anni 70 Metodologie di programmazione, tipi di dati astratti, modularità, classi e oggetti Programmazione di sistema in linguaggi ad alto livello: eccezioni e concorrenza PASCAL Estensione di ALGOL 60 con la definizione di tipi (non astratti), l uso esplicito di puntatori e la gestione dinamica della memoria a heap (senza garbage collector) Semplice implementazione mista (vedi dopo) facilmente portabile 25
26 Il dopo PASCAL C = PASCAL + moduli + tipi astratti + eccezioni + semplice interfaccia per interagire con il sistema operativo ADA: secondo tentativo di linguaggio totalitario (targato Dipartimento della Difesa U.S.A.) Come sopra + concorrenza + costrutti per la programmazione in tempo reale Progetto ambizioso, anche dal punto di vista semantico, con una grande enfasi sulla semantica statica (proprietà verificabili dal compilatore) C++ = C + classi e oggetti (allocati sulla heap, ancora senza garbage collector) 26
27 La programmazione logica PROLOG Implementazione di un frammento del calcolo dei predicati del primo ordine Clausole Horn + risoluzione Strutture dati molto flessibili (termini) con calcolo effettuato dall algoritmo di unificazione Computazioni non-deterministiche Gestione della memoria a heap con garbage collector CLP (Constraint Logic Programming) PROLOG + calcolo su domini diversi (anche numerici) con opportuni algoritmi di soluzione di vincoli 27
28 La programmazione funzionale ML: implementazione del lambda-calcolo tipato Definizione di nuovi tipi ricorsivi, i valori dei nuovi tipi sono termini, che possono essere visitati con un meccanismo di pattern matching (versione semplificata dell unificazione) Scoping statico (a differenza di LISP) Semantica statica molto potente (inferenza e controllo dei tipi) Un programma corretto per la semantica statica quasi sempre va bene Gestione della memoria a heap con garbage collector HASKELL= ML con regola di valutazione lazy 28
29 JAVA Molte caratteristche dal filone imperativo essenzialmente tutte quelle del C++ Alcune caratteristiche dei linguaggi del filone logicofunzionale Gestione della memoria con garbage collector Utiliza il meccanismo delle classi e dell ereditarietà per ridurre il numero di meccanismi primitivi Quasi tutto viene realizzato con classi predefinite nelle librerie Ha una implementazione mista (anch essa tipica del filone logico): compilazione in bytecode eseguibile sulla Java Virtual Machine (JVM) Ne facilita la portabilità e lo rende particolarmente adatto ad essere integrato nelle applicazioni di rete 29
30 SCALA Integra caratteristiche object-oriented e funzionali Compilazione produce codice intermedio Java, eseguibile sulla JVM
31 F# Linguaggio multi-paradigma (imperativo, funzionale, object oriented) basato su.net Variante di ML largamente compatibile con OCaml ML spiegato al popolo
Linguaggi di programmazione e astrazione
Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo
Linguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani ([email protected])
PROGRAMMAZIONE 2 1.Introduzione
AA 2014-2015 PROGRAMMAZIONE 2 1.Introduzione 1 Gianluigi Ferrari o Email [email protected] o Web www.di.unipi.it/~giangi Di cosa mi occupo (ricerca) o o o PRESENTAZIONI Formal methods in SoGware Engineering
FONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
1: Linguaggi di Programmazione
1: Linguaggi di Programmazione paradigmi linguistici, costrutti semantica operazionale implementazione, strutture a tempo di esecuzione testi di consultazione T.W. Pratt & M.V. Zelkowitz, Programming languages.
Elementi di semantica operazionale
Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione
INFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
Linguaggi di programmazione
Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: [email protected] Tutor:??? Informazioni generali
Corso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
Elementi di semantica denotazionale ed operazionale
Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato
Fondamenti di Informatica 1. obiettivo: introduzione a conoscenze di base dell informatica
Università di Roma Tor Vergata L1-1 obiettivo: introduzione a conoscenze di base dell informatica informatica come metodologia di risoluzione di problemi con l ausilio di una macchina definire un metodo
Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione
Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni
Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
Introduzione al linguaggio Java
Introduzione al linguaggio Java Alessandro Martinelli [email protected] 28 Settembre 2011 Introduzione al linguaggio Java Generalità del Linguaggio Java e Portabilità Java e Robustezza Java
Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!
Fondamenti di Informatica Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI! Finalità: Fornire gli elementi di base dei concetti che sono di fondamento all'informatica Informazioni Pratiche ORARIO:
Corso di INFORMATICA 2 (Matematica e Applicazioni)
Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto
Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni
Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere
Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni
Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Fondamenti di Informatica Modulo 1 Programma dell'a.a. 2003/2004 Luigi Romano Dipartimento di Informatica
LINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
Introduzione alla Progettazione per Componenti
Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica
La Progettazione Concettuale
La Progettazione Concettuale Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio
Modellazione di sistema
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di
Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione. Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione
Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione Ugo Montanari Dipartimento di Informatica, Università di Pisa 0 Roadmap Perchè i linguaggi? Che cosa sono i linguaggi? Esempio: i numeri
Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 08 Traduzione ed esecuzione di programmi Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente materiale didattico
Oggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
INFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Introduzione alla Programmazione Bibliografia 14 apr 2010 Dia 2 Curtin, (vecchie
La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
Principi dell ingegneria del software Relazioni fra
Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi
Approccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
Tecnologie dei Linguaggi di Programmazione
Tecnologie dei Linguaggi di Programmazione a.a. 2013/2014 [email protected] http://www.di.univaq.it/romina.eramo/tlp Goal Object Oriented Programming (OOP) Conoscere il paradigma di programmazione
Corso di PHP. Prerequisiti. 1 - Introduzione
Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere
Corso di Informatica
Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se
Strumenti di modellazione. Gabriella Trucco
Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell
Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP
Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro [email protected] Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate
Origini e caratteristiche dei calcolatori elettronici
Origini e caratteristiche dei calcolatori elettronici Lunedì, 09 ottobre 2006 Supercomputer, mainframe 1 Server, workstation, desktop, notebook, palmare Un po di storia 1642 Biagio Pascal 1671 Leibniz
Architetture Applicative
Alessandro Martinelli [email protected] 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
Database. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
Progettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)
connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI
Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti
Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi
Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi
Informatica. Prof. A. Longheu. Introduzione a Java
Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su
Elementi di UML (7): Diagrammi dei componenti e di deployment
Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Linguaggi di Programmazione Michele Tomaiuolo Linguaggi macchina I
Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse
Politecnico di Milano View integration 1 Integrazione di dati di sorgenti diverse Al giorno d oggi d la mole di informazioni che viene gestita in molti contesti applicativi è enorme. In alcuni casi le
Programmi. Algoritmi scritti in un linguaggio di programmazione
Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura
Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
Syllabus C310 - Insegnamenti disciplinari
Syllabus C310 - Insegnamenti disciplinari Università di Verona A.A. 2014/15 e competenze generali per gli insegnamenti disciplinari Come richiesto dalla normativa di riferimento scopo degli insegnamenti
Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE
Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE a.s. 2015/16 CLASSE 4^ ASA Indirizzo di studio Liceo scientifico Scienze Applicate Docente Disciplina
Breve storia del calcolo automatico
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Approfondimenti 01 Breve storia del calcolo automatico Marzo 2010 L architettura del calcolatore 1 Approfondimenti: Storia del calcolo automatico
Architetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
Architetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
Strumenti per la programmazione
Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un
DBMS e Linguaggi di programmazione nell'era di Internet
DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco [email protected] Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web
Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]
Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
ICARO Terminal Server per Aprile
ICARO Terminal Server per Aprile Icaro è un software aggiuntivo per Aprile (gestionale per centri estetici e parrucchieri) con funzionalità di terminal server: gira sullo stesso pc dove è installato il
Corso Online Analista Programmatore Microsoft
Corso Online Analista Programmatore Microsoft We Train Italy [email protected] Programma Generale del Corso Analista Programmatore Microsoft Tematiche di Base Modulo Uno Le basi della programmazione
Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL
STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione
Esercizi di JavaScript
Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio
Architettura di un sistema operativo
Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi
Fasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
Corso Programmazione 2011-2012
Corso Programmazione 2011-2012 (docente) Fabio Aiolli E-mail: [email protected] Web: www.math.unipd.it/~aiolli (docenti laboratorio) E. Caniato, A. Ceccato Dipartimento di Matematica Pura ed Applicata
Panoramica: che cosa è necessario
Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo
Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
Metodologie di programmazione in Fortran 90
Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di
01KTF CV. Architetture distribuite per i sistemi infomativi aziendali. Presentazione del corso http://elite.polito.it/courses/01ktf.
01KTF CV Architetture distribuite per i sistemi infomativi aziendali Presentazione del corso http://elite.polito.it/courses/01ktf Fulvio Corno Dipartimento di Automatica e Informatica Politecnico di Torino
Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale
Unione Europea Regione Sicilia Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI EDILIZIA ELETTRONICA e
Linguaggi dinamici. Giacomo Cabri [email protected] Riccardo Martoglia [email protected]
Linguaggi dinamici Giacomo Cabri [email protected] Riccardo Martoglia [email protected] Home page del corso https://www.agentgroup.unimore.it/didattica/ld/ 1 LINGUAGGI DINAMICI PARTE
RISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
Linguaggi dinamici. Giacomo Cabri [email protected] Mauro Andreolini [email protected]
Giacomo Cabri [email protected] Mauro Andreolini [email protected] Home page del corso https://www.agentgroup.unimore.it/didattica/ld/ 1 LINGUAGGI DINAMICI PARTE 1 INTRODUZIONE 2 Parte
Fondamenti di Informatica. Allievi Automatici A.A. 2014-15 Nozioni di Base
Fondamenti di Informatica Allievi Automatici A.A. 2014-15 Nozioni di Base Perché studiare informatica? Perché l informatica è uno dei maggiori settori industriali, e ha importanza strategica Perché, oltre
ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo
ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo INPUT: dati iniziali INPUT: x,y,z AZIONI esempio: Somma x ed y
Dispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
Sistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di
Lezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
Laboratorio di Programmazione 2
Laboratorio di Programmazione 2 Docente: Luca Forlizzi Orario: lun. 15:00-17:00, mar. 17:00-19:00, gio. 17:00-19:00 Ricevimento: lun. 17:00-18:00, mar. 16:00-17:00 Contatti: ricevimento (Coppito 2, stanza
1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software
Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,
Automazione Industriale 4- Ingegneria del Software
Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 4- Ingegneria del Software Cesare Fantuzzi ([email protected]) Ingegneria Meccatronica
Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE
Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE hardware Firmware, software memorizzato su chip di silicio Sistema Operativo venduto con l, comprende vari programmi di gestione del sistema Applicativo,
