The objective of the course is to introduce the fundamental concepts at the basis of the design and development of Web and Cloud applications, discussing the operating principles, the service models, and the technologies at the basis of web programming and cloud computing paradigm.
Expected learning outcomes
At the end of the course, the student shall know the fundamental concepts of web programming and the operating principles of the cloud computing paradigm. Moreover, through laboratory activities, the student shall acquire the ability to design and develop web and cloud applications showing a good knowledge of metodologies and technologies learnt during the course.
The course will first analyze the fundamental concepts and technologies at the basis of web application design and development. The course will then discuss the fundamental concepts, the working principles, the service delivery models, the deployment models, and the technologies at the basis of cloud computing. To achieve the above objectives, the course will consist of both traditional lectures (32 hours - 4 cfu) and practical laboratory lessons (32 hours - 2 cfu).
More in detail, the theoretical part is composed of two modules.
The second module will present principles, service delivery models, and technologies at the basis of cloud computing. 1. Virtualization technologies. Virtualization taxonomy. Hypervisor. Virtualization costs. VMware suite. 2. Cloud Computing. History of Cloud computing. Requirements and characteristics. Service delivery models. Deployment models. Migration to the cloud. Cloud computing costs (Cloudonomics). Issues and challenges. 3. IaaS, PaaS, SaaS: Concepts. Technologies. Use cases.
The practical part will clarify all concepts discussed in the theoretical part by means of practical exercises in laboratory, mainly focusing on the development of web and cloud applications.
Prerequisites for admission
Basic knowledge of computer architectures and fundamentals of programming languages
The theoretical part consists of traditional lectures. The practical part consists of laboratory lessons and exercises.
The exam consists of a written exam, a project, and an oral exam, all mandatory. The written exam (duration 2 hours) aim to verify, by means of open and closed questions, the knowledge of the student about all arguments discussed during the course. The project aims to deepen the practical aspects of a single topic discussed during the course. The oral exam concentrates on the topic faced in the project development and aims to evaluate the project quality. When the student successfully passes all exams, a final evaluation is computed, expressed in thirtieths, considering: the knowledge of the topics, ability of applying the learned knowledge to the resolution of a practical project, project quality, critical thinking skills, clarity of exposition, and property of language.