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:
- the installation and customization of a website with Joomla. The site content may be choosen freely by the student;
- a freely developed application written in PHP-MySQL;
The courser topics to be covered for the exam are the following.
Topic on Joomla:
- 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.
- The URL addresses/URI, file systems, directory structures and paths.
- The World Wide Web is a particular service of Internet.
- Definition of CMS.
- What is Joomla.
- Site of Joomla (where to find the current Joomla 3 software release to download).
- Sites of documentation for the installation, operation and customization of Joomla:
Topic on Automatic Communication Theory:
- The etymological meaning of economics :-). Economics as resource allocation and management.
- The meaning of technology as way of doing. Technology and Science. Various scientific disciplines each characterized by its method of incresing knowledge.
- 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.
- The Graphs,
- The Trees and application of Trees in Computer Science.
- Communication, Computer Science and Automatic Communication.
- What is a Computer and the Computer Science.
- Turing machines and the concept of automatic work.
- Artificial intelligence and Machine learning. Neural networks of artificial neurons (ANN), Feedforward neural networks and the backpropagation learning algorithm. Genetic algorithms, Evolutionary algorithms.
- Hierarchy of computational capabilities of various computer models. Formal languages, formal grammars and Chomsky hierarchy.
- What is communication.
- Multimedia, interactivity and hyper-multimedia.
- The Signals. Analog signals versus digital signals. The resolution of a digital signal.
- Andrew McAfee's talks: are droids taking our jobs (at TED), the future of jobs.
- Example of (very very) near future cultured people.
Topic on Programming Languages :
- Alan Turing.
- The Turing Machine.
- The concept of algorithm and program.
- John von Neumann: from the ENIAC to the stored-program computer EDVAC computer.
- The Computer and the modern architecture of von Neuman (see also the von Neumann machine and modern computers on wikipedia).
- Formal languages (= languages "interpreted" by the machines) versus natural languages (= languages "interpreted" by humans).
- Programming languages: Machine languages versus high level programming languages.
- Compilers and interpreters.
- Client-side scripting and Web Browsers.
- Server-side scripting and Web Servers.
Topic on PHP:
- What is PHP.
- Official PHP site.
- PHP manual at php.net: section Getting Started and section "Language Reference". The interpreter Symbol table. The regular expressions. The call stack.
- PHP Manual on wikibooks.org.
- Object orientation, Object oriented programming and PHP OOP basics techniques. The Encapsulation technique.
Topic on MySQL:
- What is MySQL.
- What is a Database and a Database Management System (DBMS).
- What is a Relational database.
- The Structured Query Language (SQL) = Data Definition Language (DDL) + Data Manipulation Language (DML) + Data Control Language (DCL).
- SQL Manual on wikibooks.org.
- The MySQL PHP drivers (API) ( = PHP interface functions with MySQL). Manual of the original MySQL-PHP API.
- 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:
- 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);
- install the latest stable release of the software "Joomla 3.x" (this can be downloaded from http://www.joomla.org/).
- 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;
- 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;
- implement the application project consisting of at least one file containing PHP-MySQL code;
- 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.txt;
- 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.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);
- 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.
- Sunday, June 2-nd 2019 at 23:59:59 (to be ready for the first exam call on Wednesday, June 5-th 2019, at 11:00 am); or,
- Saturday, June 15-th 2019 at 23:59:59 (to be ready for the second exam call on Tuesday, June 18-th 2019, at 11:00 am); or,
- Tuesday, June 25-th 2019 at 23:59:59 (to be ready for the third exam call on Friday, June 28-th 2019, at 11:00 am)
Good LUCK !!
P. S. (Student code of conduct): Cooperation among the students is strongly encouraged. However, eventually each student must do the due project work by himself/herself. Any form of cheating and/or plagiarism is considered a misconduct and sanctioned.