Teacher(s)
Language
English
> French-friendly
> French-friendly
Prerequisites
Required : principles of computer systems, as targeted in course LINFO1252
Desirable :
- skills in computer networks as targeted in course LINFO1341
- advanced notions of algorithms and data structures as targeted in course LINFO1121
Desirable :
- skills in computer networks as targeted in course LINFO1341
- advanced notions of algorithms and data structures as targeted in course LINFO1121
Main themes
- Architectural principles of cloud computing
- Scalability of cloud services (storage, computing, ...)
- Building blocks for cloud services
- Large scale computations in cloud environments
- Programming models for cloud services
- Providing scalable web services from the cloud
Learning outcomes
At the end of this learning unit, the student is able to : | |
Given the learning outcomes of the "Master in Computer Science and Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
|
|
Content
This course covers modern cloud computing technologies and development principles. It covers systems aspects including virtualization, storage, and fault tolerance, as well as software engineering aspects such as building elastically scalable, service-oriented application backends. It explains modern data management and processing techniques and how to integrate them into cloud applications. The course also covers advanced topics and emerging technologies for secure, efficient cloud infrastructure.
Core concepts and tools covered in class are gradually applied in a semester-long project in which students build, from the ground up, a cloud-native backend for a representative application.
Core concepts and tools covered in class are gradually applied in a semester-long project in which students build, from the ground up, a cloud-native backend for a representative application.
Teaching methods
- Lectures
- Scientific readings or/and videos from the industry
- Quizzes (about readings, labs, and lectures)
- Practical lab sessions (tutorials)
- Project
Evaluation methods
First session in January
The final grade is computed as follows for the first session:
Second session in August
It will not be possible to redo the project for the second session. The weights are:
The exam may use all or a subset of the following evaluation modalities. The respective proportion of points for each part is announced at the beginning of the exam:
Evaluation modalities (project)
The project evaluation is based on three mandatory elements:
All provided project material is in English. The project code (comments), documentation, report, and technical presentation must be given in English.
Any violation of deontological obligations (including but not limited to plagiarism, collaboration with students outside of the project group or with third parties, voluntary or involuntary sharing of code, e.g., via a public GitHub repository, etc.) will result in a grade of 0 for the project, and students will be denounced to the relevant authorities.
Evaluation modalities (general information)
The professor may request that a student take an additional oral exam in addition to the final exam and/or the project in cases including, but not limited to, technical issues or suspicion of irregularities.
Rules regarding the use of artificial intelligence (AI) for continuous assessment activities
You may not use AI to answer quizzes or provide feedback during the peer evaluation phase. This activity only has pedagogical value if students express their understanding of the course in their own words.
The use of AI for the project is not recommended, as completing the project manually is the most effective way to acquire the skills targeted by the course. Its use is nevertheless authorized (whether to generate code or documentation), subject to the following rules:
The final grade is computed as follows for the first session:
- Final exam 60%
- Project 40%
Second session in August
It will not be possible to redo the project for the second session. The weights are:
- Final exam 70%
- Project 30% (carried over from first session)
The exam may use all or a subset of the following evaluation modalities. The respective proportion of points for each part is announced at the beginning of the exam:
- open questions on the course content;
- open problems requiring an application of skills and knowledge acquired during the course and the project;
- multiple-choice and multiple-answer questions under the principle of "standard-setting". An incorrect answer cannot lead to a negative grade, but a minimum threshold T (announced in the exam) of correct answers may be required before students can effectively start earning points for this part of the exam.
Evaluation modalities (project)
The project evaluation is based on three mandatory elements:
- Delivery of a software repository with appropriate documentation and reproducibility material;
- Delivery of a short report, including a self-assessment of the project’s functionalities, with respect to a feature list;
- A private technical presentation with one of the members of the course teaching staff, in which both students from the pair are expected to demonstrate their understanding of their project architecture and code and their ability to deploy it.
All provided project material is in English. The project code (comments), documentation, report, and technical presentation must be given in English.
Any violation of deontological obligations (including but not limited to plagiarism, collaboration with students outside of the project group or with third parties, voluntary or involuntary sharing of code, e.g., via a public GitHub repository, etc.) will result in a grade of 0 for the project, and students will be denounced to the relevant authorities.
Evaluation modalities (general information)
The professor may request that a student take an additional oral exam in addition to the final exam and/or the project in cases including, but not limited to, technical issues or suspicion of irregularities.
Rules regarding the use of artificial intelligence (AI) for continuous assessment activities
You may not use AI to answer quizzes or provide feedback during the peer evaluation phase. This activity only has pedagogical value if students express their understanding of the course in their own words.
The use of AI for the project is not recommended, as completing the project manually is the most effective way to acquire the skills targeted by the course. Its use is nevertheless authorized (whether to generate code or documentation), subject to the following rules:
- Students must take full responsibility for their work and be able to explain orally all the code and deliverables (documentation, deployment scripts, etc.) submitted as part of the project. Failure to explain any part of the deliverable during the oral exam will result in a failing grade, regardless of the volume of code and features present in the deliverable.
- The use of AI must be precisely documented in the project documentation, in a dedicated AI statement indicating which AIs were used and for which part. Submitting code or documentation generated partially or entirely by AI without documenting this use will be considered plagiarism. Students who did not use AI must also provide this statement. Projects missing an AI statement, regardless of whether AI was used or not, will get a penalty of -5 points (out of 20).
- Abusive use of AI that undermines the acquisition of the knowledge targeted by the project may be considered an irregularity under Section 7, Articles 107 and following of the General Regulations for Studies and Exams (RGEE), with all the consequences that entail, as provided in Articles 111 and following. In the event of suspected abusive use of AI in the submitted project or an incomplete or inaccurate report of AI use, the course instructor may summon the student concerned for an additional oral consultation and take the necessary measures in consultation with the EPL jury chair.
Other information
Required background:
- LINFO1252 (or a similar undergraduate Operating Systems course)
- LINFO1341
- LINFO1121
Online resources
Page Moodle (rechercher LINFO2145).
Dépôt GitHub privé contenant tous les tutoriels et le matériel technique du projet.
Dépôt GitHub privé contenant tous les tutoriels et le matériel technique du projet.
Faculty or entity
Programmes / formations proposant cette unité d'enseignement (UE)
Title of the programme
Sigle
Credits
Prerequisites
Learning outcomes
Master [120] in Computer Science and Engineering
Master [120] in Computer Science
Master [120] in Mathematical Engineering
Master [120] in Data Science Engineering
Master [120] in Data Science: Information Technology