Category: Course content
Hits: 754

The purpose of this course is to understand what are the Programming Languages, what is meant by Web Programming, Programming Client-side and server-side. In particular, this course gives the basic knowledge of server-side programming by using programming languages PHP and MySQL. Moreover, from a practical point of view, we want to understand what are the "Content Management System (CMS)" and to learn how to use them at least, at a basic level. To this end, during the course we will consider the open source CMS Joomla and we'll see how to install and configure it. To carry out the practical activities of the course is necessary to have an Internet connection, a browser (Mozilla Firefox is recommended and, if necessary, its portable version), an FTP client (we recommend the Plug-In for Firefox called FireFTP. If you do not have FTP then it can be useful a PHP script that does it for you on the server: may be an unzipper in php. Also a zipper in php may be useful) and an ASCII text editor to write HTML, JavaScript and PHP (for example, notepad++ for Windows and possibly its portable version. In general, for other text editor see the following page).

Learning Materials:

Teaching material on Joomla:

  1. The Internet is a computer network = a network topology (that is, the hardware component representing the computing devices/nodes and the eventual direct communication channels/links among them. It is mathematically modelled as a graph) + a communication protocol (that is, the software component given by the language spoken by the nodes). The communication protocol of Internet is the TCP/IP or Internet Protocol Suite.
  2. The URL addresses/URI, file systems, directory structures and paths.
  3. The World Wide Web is a particular service of Internet.
  4. Definition of CMS.
  5. What is Joomla.
  6. Site of Joomla (where to find the current Joomla 3 software release to download).
  7. Sites of documentation for the installation, operation and customization of Joomla:
    2. How to copy a joomla web site,
    3. Screencast on how to copy a template Joomla Web site,
    4. Groups and permissions in Joomla 3,
    5. On the Joomla templates,
    6. Free Joomla 3 templates on Google search,
    8. Joomla 3 on Google search,

Teaching materials on Automatic Communication Theory:

  1. The etymological meaning of economics :-). Economics as resource allocation and management.
  2. The meaning of technology as way of doing. Technology and Science. Various scientific disciplines each characterized by its method of incresing knowledge.
  3. The objective communication technology given by Mathematics. The primitive notion of set. Ordered pairs and the cartesian product of sets. Relations, equivalence relations, order relations and functions. Injective, surjective and bijective functions and infinite sets.
  4. The Graphs,
  5. The Trees and application of Trees in Computer Science.
  6. Communication, Computer Science and Automatic Communication.
  7. What is a Computer and the Computer Science.
  8. Turing machines and the concept of automatic work.
  9. Artificial intelligence and Machine learning. Neural networks of artificial neurons (ANN), Feedforward neural networks and the backpropagation learning algorithm. Genetic algorithms, Evolutionary algorithms.
  10. Hierarchy of computational capabilities of various computer models. Formal languages, formal grammars and Chomsky hierarchy.
  11. What is communication.
  12. Multimedia, interactivity and hyper-multimedia.
  13. The Signals. Analog signals versus digital signals. The resolution of a digital signal.
  14. Andrew McAfee's talks: are droids taking our jobs (at TED), the future of jobs.
  15. Example of (very very) near future cultured people.

Material on Programming Languages ​​:

  1. Alan Turing.
  2. The Turing Machine.
  3. The concept of algorithm and program.
  4. John von Neumann: from the ENIAC to the stored-program computer EDVAC computer.
  5. The Computer and the modern architecture of von Neuman (see also the von Neumann machine and modern computers on wikipedia).
  6. Formal languages ​​(= languages ​​"interpreted" by the machines) versus natural languages ​​(= languages ​​"interpreted" by humans).
  7. Programming languages: Machine languages ​​versus high level programming languages.
  8. Compilers and interpreters.
  9. Client-side scripting and Web Browsers.
  10. Server-side scripting and Web Servers.

Material on PHP:

  1. What is PHP.
  2. Official PHP site.
  3. PHP manual at section Getting Started and section "Language Reference". The interpreter Symbol table. The regular expressions. The call stack.
  4. PHP Manual on
  5. Object orientation, Object oriented programming and PHP OOP basics techniques. The Visibility and the Encapsulation technique.
  6. PHP reference guide search on Google.

Material on MySQL:

  1. What is MySQL.
  2. What is a Database and a Database Management System (DBMS).
  3. What is a Relational database.
  4. The Structured Query Language (SQL) = Data Definition Language (DDL) + Data Manipulation Language (DML) + Data Control Language (DCL).
  5. SQL Manual on
  6. The MySQL PHP drivers (API) ( = PHP interface functions with MySQL). Manual of the original MySQL-PHP API.
  7. The 5.7 MySQL reference manual on You may find interesting the following chapters: Language Structure, Data Types, Functions and Operators and SQL Statement Syntax.

Subsidiary Teaching Material:

Material on HTML:

  1. HTML 4.0 Reference del Web Design Group (WDG) - (html).

Material on the CSS:

  1. CSS Reference del Web Design Group (WDG) - (html).

Material on JavaScript:

  1. JavaScript documentation  of the Mozilla Foundation.