Materiale didattico
Lo scopo di questo corso è capire cosa sono i Linguaggi di Programmazione, cosa si intende per Programmazione Web, Programmazione lato client e lato server. In particolare, questo corso fornisce le conoscenze di base della programmazione lato server utilizzando i linguaggi di programmazione PHP e MySQL. Inoltre, da un punto di vista pratico, vogliamo capire cosa sono i "Content Management System (CMS)" e imparare come usarli almeno, a livello base. A tal fine, durante il corso prenderemo in considerazione il CMS open source Joomla e vedremo come installarlo e configurarlo. Per svolgere le attività pratiche del corso è necessario disporre di una connessione Internet, di un browser (ad esempio, Mozilla Firefox e, se necessario, la sua versione portatile), di un client FTP (ad esempio Filezilla o Filezilla portable. Se non avete l'FTP, allora può essere utile uno script PHP che decomprime e comprime i files sul server: come un unzipper in php e uno zipper in php) and un editore di testo ASCII per scrivere HTML, JavaScript e PHP (ad esempio, notepad++ per Windows e, se necessario, la sua versione portatile. In generale, per altri editori di testo vedere la seguente pagina).
Materiali didattici:
Materiale didattico su Joomla:
- Internet (con la "I" maiuscola) è una rete di computer = una topologia di rete (cioè, il componente hardware che rappresenta i computer/nodi e gli eventuali canali di comunicazione diretta/collegamenti tra di loro. È matematicamente modellato come un grafo) + un protocollo di comunicazione (cioè, la componente software data dalla lingua parlata tra i nodi). Il protocollo di comunicazione di Internet è il TCP/IP o Internet Protocol Suite e si basa sul modello client-server.
- Gli indirizzi URL/URI, file systems, struttura a directory e paths.
- Il World Wide Web è un particolare servizio di Internet.
- Definizione di file di testo and editore di testo.
- Definizione di CMS. I CMS come "sistemi operativi" del Cloud.
- Cosa è Joomla.
- Sito of Joomla (dove trovare la versione corrente del software Joomla 3 da scaricare).
- Siti di documentazione per l'installazione, il funzionamento e la personalizzazione di Joomla:
- docs.joomla.org,
- Come copiare un sito Web Joomla,
- Screencast su come copiare un modello di sito Web Joomla,
- Permessi in Unix, Gruppi e permessi in Joomla 3,
- Sui Joomla templates,
- Template Joomla 3 gratis su Google search,
- developer.joomla.org,
- Joomla 3 su Google search,
- www.joomla.it,
- Estenzioni di Joomla: https://extensions.joomla.org/,
- Estenzioni di Joomla che possono interessarvi: https://extensions.joomla.org/category/marketing/,
- Estenzione di Joomla per Customer Relationship Management: https://extensions.joomla.org/category/marketing/crm/.
Materiale didattico sulla Teoria della comunicazione automatica:
- Il significato etimologico di economia :-). Economia come resource allocation e management.
- Il significato di tecnologia come "modo di fare". Tecnologia e Scienza. Varie discipline scientifiche ognuna caratterizzata dal suo metodo di accrescere la conoscenza.
- La geometria euclidea e la tecnologia della comunicazione oggettiva basata sulla deduzione/implicazione logica e i Teoremi di Matematica. La nozione primitiva di insieme. Coppie ordinate e il prodotto cartesiano di insiemi. Relazioni, relazioni di equivalenza, relazioni d'ordine e funzioni. Funzioni parziali e totali, funzioni multivoche, funzioni iniettiva, suriettive e biettive. Funzioni one-way. Insiemi infiniti.
- Definizione matematica di alfabeto, stringa e file.
- I grafi.
- Gli alberi, gli alberi con radice e le applicazioni degli alberi in Informatica.
- Comunicazione, Informatica e Comunicazione Automatica.
- Cos'è un Computer e l'Informatica.
- Macchina di Turing ed il concetto di lavoro automatico.
- Intelligenza artificiale e Machine learning. Reti neurali di neuroni artificiali (Artificial Neural Networks - ANN), Feedforward neural networks e l'algoritmo di apprendimento di backpropagation. Algoritmi genetici, Algoritmi di evoluzione. Test di Turing (i. e., le macchine sono in grado di simulare il pensiero umano ?).
- Gerarchia delle capacità espressive computazionali dei vari modelli di computazione. Linguaggi formali, grammatiche formali e la gerarchia di Chomsky.
- Cos'è la comunicazione.
- Multimedialità, interattività and iper-multimedialità.
- I segnali. segnali analogici versus segnali digitali. La risoluzione di un segnale digitale.
- Conferenze di Andrew McAfee: are droids taking our jobs (at TED), the future of jobs.
- Esempio di una persona colta per il mondo di oggi.
Materiale didattico sui Linguaggi di programmazione:
- Alan Turing.
- La Macchina di Turing.
- Il concetto di algoritmo e programma.
- John von Neumann: dall'ENIAC al computer che memorizza i programmi EDVAC.
- Il Computer e la moderna architettura di von Neuman (si veda anche von Neumann machine e modern computers on wikipedia).
- Linguaggi formali (= linguaggi "interpretati" da macchine) versus linguaggi naturali (= linguaggi "interpretati" da esseri umani).
- Linguaggi di programmazione: linguaggi macchina versus linguaggi di programmazione ad alto livello.
- Compilatori ed interpreti.
- Client-side scripting e Browser Web.
- Server-side scripting e Server Web.
Materiale didattico sul PHP:
- Cos'è il PHP.
- Sito ufficiale del PHP.
- Manuale PHP di php.net: sezione Getting Started e sezione "Language Reference". La Symbol table di un interprete. Le espressioni regolari. Il call stack di una funzione.
- Manuale di PHP su W3Schools.com
- Manuale PHP su wikibooks.org.
- orientazione agli oggetti, programmazione orientata agli oggetti (OOP) e tecnologie di base PHP OOP. La tecnica di incapsulamento/visibilità.
- Ricerca di Manuale di PHP online su Google.
Materiale didattico sul MySQL:
- Cos'è il MySQL.
- Cos'è un database e un Database Management System (DBMS).
- Cos'è un database relazionale.
- Lo Structured Query Language (SQL) = Data Definition Language (DDL) + Data Manipulation Language (DML) + Data Control Language (DCL).
- Manuale di MySQL su W3Schools.com
- Corso di PHP su HTML.it
- Manuale SQL su wikibooks.org.
- The MySQL PHP drivers (API) (= PHP interface functions with MySQL). Manuale sui MySQL-PHP API.
- Il manuale di referenza del MySQL 5.7 su http://dev.mysql.com/doc/refman/5.7/en/. Possono risultare interessanti i seguenti capitoli: Language Structure, Data Types, Functions and Operators and SQL Statement Syntax.
Materiale didattico sussidiario:
Materiale sull'HTML:
- HTML 4.0 Reference del Web Design Group (WDG) - (html).
- HTML Documentation del MDN Web Docs (precedentemente noto come MDN — the Mozilla Developer Network) - (html).
Materiale sui CSS:
Materiale sul JavaScript:
- JavaScript documentation del MDN Web Docs.
Documentazione su molte Web design technologies della W3Schools.com.
-LGT