Enrollment year
Academic year
Academic discipline
Year of study
1st semester (27/09/2021 - 21/01/2022)
Lesson hours
75 lesson hours
Activity type
To proficiently attend this class the Student must already have attended the previous classes of "Principles of Computer Science" (1st year) and "Medical Informatics" (second year). The Student should also have passed the assessments of those classes proving a general understanding of their related concepts and principles.

The course requires a basic (but solid) knowledge relative to the fundamental concepts of computer programming (i.e. variables, exressions, statements, blocks, functions / methods, logic expressions and control structures) combined with the students' ability to code simple algorithms. Additional requirements concern knowledge of the methodologies/technologies for the design of relational databases and the ability to write queries in SQL using all the constructs made available by that language. All those prerequisites are acquired attending the above mentioned previous courses.

The Student's profile is completed by a basic knowledge on the use of the PC and Web browsing, as well as by the mix of design skills, logic ability, and critical acumen, that represent a prerequisite for every School of Engineering.
Learning outcomes
The module helps the Student in becoming familiar with the basic methodologies and technologies for creating 'dynamic' web applications that interact with databases through a browser. The class is strongly experimental and oriented towards the application, stimulating the design capabilities of the Student by asking him to develop a team project as part of the class work.

The module relies on the classes addressing the fundamentals of programming and methodologies for designing databases. The course augments those skills illustrating the languages and tools ​​for "web publishing" and exploiting them for coding the modules required to connect the pages of the application project to a relational database.
Course contents
The course, positioned at the last year of the Bachelor of Science, has a strongly experimental format and structuring.

Basic Internet Skills
Birth and growth of the Internet, its protocols: TCP/IP, WWW, etc...

Use of Hypertexts
Languages for representing hypertexts. Illustration of the HTML protocol and its most important elements that allow the definition of an hypertext. The composition of static web pages and the ways to access them. URLs, forms, and parameters passed across server requests.

Application Server
Difference between static and dynamic web pages and the importance of the latter. Preserving the state across multiple HTTP interactions with the server.

Developing dynamic pages in JSP
Fundamentals of JSP applications. Generating dynamic content in web pages. Use of scripting elements. Accessing databases with custom JSP actions.

Project Development
Students will be encouraged to develop a team project during the course. This activity encompasses the design and implementation of a small web application including different sections and restricted areas. Users with different roles should be able to connect to the application which will exhibit different behaviors according to the user's role. The application should support the exchange of data between users and a backend application.
Teaching methods
The class is shaped according to the following format:

Lectures: 30 hours (4 ECTS)
Practical class: 9 hours (0.6 ECTS)
Project: 32 hours (1.4 ECTS)

In the past few year the class has also been complemented by a tutorship programme held by proficient Students that have passed the assessment test during the previous years with remarkable results.
Reccomended or required readings
Several open source specifications and books are available for free on the course site. Additional references are:

Chuck Musciano, Bill Kennedy. HTML & XHTML: The Definitive Guide (5th Edition). O'Reilly & Associates. ISBN: 0-596-00382-X (August 2002, 700 Pages). A basic textbook on HTML.

Hans Bergsten. JavaServer Pages, (3rd Edition). O'Reilly & Associates. ISBN: 0-596-00563-6 (December 2003, 764 pages). This textbook approaches different issues related to the implementation of dynamic web application using JSP as the enabling technology.

C. J. Date, Hugh Darwen. A Guide to SQL Standard, A (4th Edition). Addison-Wesley Professional. ISBN: 978-0201964264 (Novembre 1996, 544 pagine). The textbook illustrates the SQL standard language for interacting with databases.

Jason Brittain, Ian F. Darwin. Tomcat: The Definitive Guide. O'Reilly & Associates. ISBN: 0-596-00318-8 (Giugno 2003, 180 Pagine). A guide to installing and using Tomcat, the reference implementation of a Servlet and JSP container available in open-source.
Assessment methods
There are two alternative assessments for this course.
Group Project + Practical Test
Students are encouraged to team in groups with the aim of creating a simple Web application that complies with the format shown in the classroom during the semester. A review is scheduled after 6-8 weeks to verify the correctness of the specifications of that application. By the end of the course, Students should complete the application in accordance to the specifications they provided during the review. The applications are evaluated, giving a starting grade for the final test. The grade is redeemed through an individual Practical Test requiring to make some changes to a given page. The time elapsed to provide the solution allows to better assess the level of profit and discriminate the individual contributions to the group project.

Quiz Test
Students who did not take part to a project during the semester, together with those that failed twice the Practical Test, may get a grade through a Quiz verification test.
Further information
During the class semester a case study will be introduced that will be used as a requirement specification for the development of a group project by approximately 15 teams. The participation to those teams is optional and is limited to Students having the following requisites:
-) They never previously took part to any group project concerning this module.
-) By the start of the third year they have acquired at least 60 ECTS.
-) In order to take part to quality groups Students must also have already passed the assessments of the classes "Principles of Computer Science" and "Medical Informatics".

Group projects are opened only during the course semester in class.
Taking part to a group project allows to redeem the project grade through a Practical Test during the regular exams. However Students that fail this test twice loose the project and may only undergo the Quiz Test.

Leaving a group project and switching to the Quiz Test is always allowed by requesting permission to the instructor.
Sustainable development goals - Agenda 2030