Course Details

WEB PROGRAMMING METODOLOGIES

MF0437

Course
WEB PROGRAMMING METODOLOGIES
Code
MF0437
Academic Year
2025/2026
Curriculum Year
2024/2025
Degree Programme
CHEMICAL SCIENCES
Curriculum
000 - CORSO GENERICO
Course coordinator
Credits
6
Lecture Hours
48
Scientific Disciplinary Sector (SSD)
INF/01 - Computer Science
Course Type
Single-subject learning activity
Course Delivery
OBB - Obbligatoria
Year
2
Teaching period
Secondo Semestre
Campus
ALESSANDRIA
Teaching language
Italian
Course Contents
During the course, concepts related to markup languages like HTML5 will be introduced, together with concepts related to style notations like CCS3. The course will also cover client-side programming (JavaScript) and server-side programming (Node.js), as well as methods for interacting with relational DBMS (RDBMS). The above technologies will also be used to apply the foundational principles of human-machine interaction, usability, and accessibility of Web sites and applications.
Reference Texts
Deitel et al., Internet and World Wide Web: How to program (5th ed.), Prentice Hall R. Connolly, R. Hoar, Fundamentals of Web Development, Pearson R. Sebesta, Programming the World Wide Web, Pearson Material provided by the teacher on DIR.
Learning Outcomes
The course aims to acquire the basic skills to design and implement the user interface (front end) and back end technology of sites and applications on the World Wide Web, according to a 3-tier architecture (client/application/data).
Prerequisites
Object-oriented Programming. Database systems.
Teaching Methods
Lectures that introduce theoretical concepts and laboratory exercises that apply them. In the lessons, theoretical topics are addressed through slide presentations, with examples and some questions to verify students' learning. In laboratory exercises, students are guided in the implementation of simple projects aimed at putting into practice the theoretical knowledge acquired. The laboratory is intended to encourage active participation and the development of a critical and independent mindset among students throughout the learning process.
Additional Information
Monitoring the learning process: during the course the students will interact with the teacher to solve exercises and lab assignments. Students with physical disabilities, Learning Disabilities or Special Education Needs can request specific services and tools via the Staff Sviluppo e Coordinamento Carriere e Servizi alle Studentesse e agli Studenti, consulting the University webpage: https://www.uniupo.it/en/services/services- students-physical-or-learning-disabilities Students with disabilities, learning disabilities or special education needs, once they have contacted the University Staff, can refer to the tutor in charge of the course to define the examination modalities, concerning academic aspects.
Assessment Methods
The exam consists of two parts, which are closely connected and both mandatory, to be completed on the same day of the exam session: Presentation of the individual project, which involves the development of a Web application, complete with both front-end and back-end components. Demonstration and oral discussion of the project, including the theoretical and methodological principles that govern Web programming. The discussion will cover design choices (layout, components used, database structure, etc.) as well as implementation and functional decisions made. During the lab sessions, a complete project will be built step by step together with the class. This project can be used as a reference, in terms of complexity and applied methodologies, for the one to be submitted during the exam. While referring to that project is allowed, copying parts of it without being able to consciously modify the code is not permitted. The project consists of a Web application that must meet certain technical, stylistic, and functional requirements, detailed in the specifications that will be released toward the end of the course. The Web application must use the technologies introduced and practiced during the lessons. The topic of the Web application is to be chosen by the student, but the chosen topic must comply with the constraints outlined in the specification document that will be published. Additionally, it is essential that the student communicates the chosen topic before starting to work on the project: this will allow the instructor to provide a personalized version of the specifications, which must be implemented in addition to the general specifications previously mentioned. The topic of the website must be communicated via DIR before starting development. The project must be submitted at least three days before the official exam date. For example, if the exam is scheduled for February 21, the complete code and all its components must be uploaded to DIR by midnight on February 17, so that the instructor has three days to evaluate the work before the oral discussion. The project will be evaluated and will allow admission to the oral exam if all general specifications and at least half of the personalized specifications have been implemented. 80% of the final grade will depend on the student’s ability to discuss the project correctly and with appropriate technical terminology. The remaining 20% will be based on the student’s ability to respond in real time to error resolution and to implement code or site modifications requested by the instructor during the discussion.
Detailed Syllabus
Basic notions about programming and designing for the Web The HTML5 language Cascading Style Sheets (CSS3) and responsive web design Human-Computer Interaction for Web applications Usability Create accessible web pages and applications Client-side programming: JavaScript, Dynamic HTML and DOM, AJAX Overview on RDBMS design Server-side programming: web servers and 3-tier architectures, node.js and the Express framework Interaction with RDBMS Devolopent of web services and REST APIs Development tools for the web, inside and outside the browser
Expected Learning Outcomes
Knowledge and understanding: familiarity with the principles of building complex, yet usable and accessible, web sites, interfaces and applications by following a 3-tier architecture (client/application/data).

Applying knowledge and understanding: ability to design and implement a project using the above mentioned web programming tools, by following a 3-tier architecture

Making judgments: ability to recognize 1) good and bad web programming practices, 2) when it is more appropriate to adopt a solution at client level, application level, or data level, and 3) to evaluate the architectural quality of a project.

Communication Skills: mastering the specific terminology of web programming and improving teamwork skills.

Learning Skills: ability to learn autonomously the use of other web development languages, technologies, and architectural design patterns
Last update:09-09-2026 00:14:31