The examination will be held at the end of the course as a colloquium in which the discussion will be on a student project and the course topics given below.

The student project consists on:

  1. the installation and customization of a website with Joomla. The site content may be choosen freely by the student;
  2. a freely developed application written in PHP-MySQL;

The courser topics to be covered for the exam are the following.

Topic on Joomla:

  1. The Internet is a computer network = a computer network (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, 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 software Joomla 3.4 (or higher) to download).
  7. Sites of documentation for the installation, operation and customization of Joomla:
    1. docs.joomla.org,
    2. Groups and permissions in Joomla 3,
    3. On the Joomla templates,
    4. developer.joomla.org,
    5. www.google.com with Joomla 3.4 as a keyword,
    6. www.joomla.it.

Topic on Automatic Communication Theory:

  1. The cartesian product of sets. Relations, equivalence relations and functions. Injective, surjective and bijective functions and infinite sets.
  2. The Graphs,
  3. The Trees and application of Trees in Computer Science.
  4. Communication, Computer Science and Automatic Communication.
  5. What is a Computer and the Computer Science.
  6. Turing machines and the concept of automatic work.
  7. Hierarchy of computational capabilities of various computer models in the case of languages: the Chomsky Hierarchy.
    1. The formal languages,
    2. The formal grammars,
    3. The Automata.
  8. What is communication.
  9. Multimedia, interactivity and hypermedia.
  10. The Signals. Analog signals versus digital signals. The resolution of a digital signal.
  11. Andrew McAfee's talks: are droids taking our jobs (at TED), the future of jobs.

Topic 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.

Topic on PHP:

  1. What is PHP.
  2. Official PHP site.
  3. PHP manual at php.net: section Getting Started and section "Language Reference". The interpreter Symbol table.
  4. Object orientation, Object oriented programming and PHP OOP basics techniques.

Topic on MySQL:

  1. What is MySQL.
  2. What is a Database and a Database Management System (DBMS).
  3. The Structured Query Language (SQL) = Data Definition Language (DDL) + Data Manipulation Language (DML) + Data Control Language (DCL).
  4. SQL Manual on wikibooks.org.
  5. The MySQL PHP drivers (API) ( = PHP interface functions with MySQL). Manual of the original MySQL-PHP API.
  6. In the 5.7 MySQL reference manual on http://dev.mysql.com/doc/refman/5.7/en/. The following chapters: Language Structure, Data Types, Functions and Operators and SQL Statement Syntax.

As regard the project, the students must:

  1. create a Web server account in Internet (for example, on the http://www.altervista.org servers, or other organizations that support PHP, MySQL as well as a Web server);
  2. install the latest stable release of the software "Joomla 3.x" (this can be downloaded from http://www.joomla.org/).
  3. customize their own site. This include to get rid of all Joomla references in the front-end template (eventually choosen by the student). Other types of site customization will be evaluated;
  4. go to the course site, create an account, login and submit a link to the course site (using the "Submit the link of your website" of the "User Menu") containing the student site data;
  5. implement the application project consisting of at least one file containing PHP-MySQL code;
  6. download the PHP-MySQL project to a folder in the students' own site by making two copies of the same file (or, files if more than one) respectively called filename.php and filename.php.txt;
  7. create an article on the students' own site with two links: one to the project executable/s (that is, to filename.php) and the other to the project source/s (that is, to filename.php.txt). Also put few words explaining what the application does and how it works. As an example, please see, how I realized the content "Podcasting, blackboards and examples" in the course site);
  8. create a button in the main menu of the students' own site (referred to in point 2) linked to the content in the previous point. As an example, please see, how I realized the main menu item "Podcasting, blackboards and examples" in my site.

As regard the students joining the student agreement, they can review/improve their Mid-term exam 1, Mid-term exam 2 and Mid-term exam 3 until Sunday, January 22-th 2017 at 23:59:59 (to be ready for the first exam on Tuesday, January 24-th 2017, at 11:00 am).

Good LUCK !!

-LGT