Error message
User error : Failed to connect to memcache server: druportbe01:11211 in dmemcache_object() (line 415 of /production/drupal/dim_prod/drupal/d7cl4/prod/unich/releases/7/web/sites/all/modules/contrib/memcache/dmemcache.inc ).
WEB PROGRAMMING LABORATORY Course Sheet Academic Year of enrolment:
Hours of classroom activity:
Prerequisites:
- Knowledge of the principles of imperative and object-oriented programming.
- Knowledge of databases and of the SQL language.
- Ability to write small programs and to design databases.
- Ability to understand documentation and guides in English.
Objectives
Contents - Client-server architectures and HTTP. HTML and CSS.
- Introduction to the PHP language.
- Forms, Cookies and Sessions. User authentication.
- Accessing databases.
- Browser Object Model, Document Object Model, Javascript and asynchronous interaction via AJAX.
- Security: access control, data protection. Vulnerability of web applications and countermeasures.
Extended Syllabus - Laboratory: analysis of HTTP request and response messages exchanged during the visit of a website. Creating and sending a custom HTTP message.
- Laboratory: creation of web pages containing links, tables and data entry forms.
- Laboratory: development of PHP programs to validate the data received via HTTP, and entered through HTML forms
- Laboratory: development of PHP programs to create, use and delete data using cookies.
- Laboratory: development of PHP programs to create, use and delete data using sessions.
- Laboratory: development of PHP programs to manage user authentication and access control
- Laboratory: development of PHP programs to access databases via the PDO library.
- Laboratory: analysis of PHP programs vulnerable to SQL injection security attacks. Adoption of countermeasures using PDO prepared statements.
- Laboratory: development of PHP programs to manage interaction with the user to view, insert, modify and delete data stored in a database.
- Laboratory: development of simple Javascript functions to manipulate strings and arrays.
- Laboratory: development of Javascript functions for the validation of HTML forms
- Laboratory: development of Javascript functions to access the contents of an HTML page and modify them using the Document Object Model.
- Laboratory: development of Javascript functions to interact asynchronously with servers via AJAX.
Recommended Bibliography - Course notes
- Enrico Zimuel. Sviluppare in PHP 7. Tecniche Nuove
- Mark Wandschneider. Sviluppare applicazioni web con PHP e MySQL. Apogeo
Teaching Methods Presentation of case studies.
Practical sessions in the computer laboratory.
Evaluation methods Verification of learning:
Knowledge and understanding
The learning assessment can be carried out in two alternative modes.
The first mode requires the student to take one or more written tests containing theoretical questions and/or empirical exercises for the creation of web applications using the PHP and Javascript languages.
After passing the written tests, an oral test can be taken to verify the knowledge of the fundamental concepts presented in class (at student request and at teacher discretion).
The final grade will be expressed in thirtieths and will be based on the evaluation of the written tests and, possibly, of the oral exam.
In the second mode one or more written tests can be replaced by an in-depth study (or software project development) carried out individually or in small groups.
At the end of this work, a written paper must be delivered accompanied by any software artifacts created during its course.
Subsequently an oral test will be held to ascertain the individual contribution of the student to the in-depth study (or project) work and to verify the knowledge of the theoretical and fundamental concepts presented in class.
The final grade will be expressed in thirtieths and will be based on the evaluation of any written tests taken, the in-depth study (or project) work, and the oral exam.
Applying knowledge and understanding
During the exam tests and the performance of any project or in-depth study, the students' ability to apply the knowledge acquired to create web applications using client-side and server-side technologies is verified.