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 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.
- The URL addresses, 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 software Joomla 3.4 (or higher) to download).
- Sites of documentation for the installation, operation and customization of Joomla:
- docs.joomla.org,
- How to copy a joomla web site,
- Screencast on how to copy a template Joomla Web site,
- Groups and permissions in Joomla 3,
- On the Joomla templates,
- Free Joomla 3 templates on Google search,
- developer.joomla.org,
- Joomla 3 on Google search,
- www.joomla.it.
Topic on Automatic Communication Theory:
- The cartesian product of sets. Relations, equivalence 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.
- Hierarchy of computational capabilities of various computer models in the case of languages: the Chomsky Hierarchy.
- The formal languages,
- The formal grammars,
- The Automata.
- What is communication.
- Multimedia, interactivity and hypermedia.
- 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.
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 stack.
- 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).
- 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.
- 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:
- 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.
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
- Friday, June 1-st 2018 at 23:59:59 (to be ready for the first exam call on Monday, June 4-th 2018, at 11:00 am); or,
- Monday, June 11-th 2018 at 23:59:59 (to be ready for the second exam call on Thursday, June 14-th 2018, at 11:00 am).
Good LUCK !!
-LGT