DIGITAL SKILLS LAB
Obiettivi formativi
The course of Digital Skills Lab aims at turning into practice concepts and methods that have been introduced in computer programming courses, in the context of a connected world. The course will introduce the foundations of how the Internet works, and guide the students through the process of creating a web application.
Risultati di apprendimento attesi
Knowledge and understanding:
Although this course is a laboratory, several new concepts will be vehiculated through lessons and practical activities. At the end of the course, students will have a basic understanding of how the Internet works, and of network security fundamentals; they will learn the technologies the World Wide Web is based on, such as the HTTP protocol, HTML, CSS and Javascript; they will understand how a web page can be dynamically generated, based on information stored in a relational database.
Applying knowledge and understanding:
The main purpose of Digital Skills Lab is offering students a chance to apply the computer programming concepts they have learned in other courses, such as Introduction to computer programming and Algorithms, to realize practical project works. For the first time in our Bachelor's Degree Program, the final artifacts will be not just a bunch of code fragments which solve some exercises, but a complete, working system. To cope with the complex task of designing and implementing the project work, development strategies will be presented and discussed.
Making judgments:
In the process of designing and developing a project work, several decisions have to be taken. Students will be challenged with usability, security, code maintainability and performance questions, and will thus gain autonomy in making judgments.
Communications Skills:
The course will give the students the possibility to understand terms and concepts related to digital systems. The students will be able to communicate their ideas, proposals, analysis and critical reasoning in the digital world in the most effective and appropriate way.
Learning skills:
This course will boost the general learning skills of students by giving them a chance to review and apply their knowledge in a complex, practical setting. Students will thus gain a mindset where, for a deeper understanding of computer science concepts, projecting their minds to a focused, real-world application will let them grasp the purpose of theory.
Contenuti Del Corso
How the Internet works: the Internet stack. Introduction to technologies that power the World Wide Web (HTTP, HTML, CSS, javascript). Fundamentals of online security. Dynamic web sites and applications using the Django web framework. Complements of Python
Testi Di Riferimento
Course material will be provided by the instructor.
Metodologie Didattiche
Digital Skills Lab is a hands-on course: during the course, every student will work on a personal project, with the goal of building a web application. Concepts will be explained and exemplified during classes on a master “tutorial” project; students will then have an opportunity to apply the same concepts on their own project.
Modalità di verifica dell'apprendimento
Students can pass the exam through continuous assessment during the course. There will be four checkpoints, where students will construct parts of a web application (HTML, CSS, Django) in the classroom. The fourth checkpoint will be a theoretical quiz. There will be a final recovery session for at most one checkpoint. If a student misses or fails a checkpoint, they must take a final exam. The final exam will evaluate a group project work consisting of a web application, developed by 1 to 3 students. The students will choose the project topic and specifications, and submit their proposal to the instructors. The Digital Skills Lab final exam will involve a discussion of the complete project work. The process is as follows:
All group members book their exams for the same date.
One group member submits the project as a single zip file the day before the exam.
On exam day: each group member brings a computer with a running version of the project. The exam will proceed as follows:
One group member will briefly present the project
Each group member will run the Django project on their computer. The exam commission may request minor code modifications, such as changing an HTML element's color, size, or position, adding a title or image, modifying a Django model or field, adding or modifying a view or template, or modifying an ORM query.
Each student will pass or fail the exam individually. If a student fails, they must start over with a new project and take another exam at a later date.
Criteri per l’assegnazione dell’elaborato finale
Theses cannot be assigned because Digital Skills Lab is a laboratory course
Settimana 1
Introduction to the course - Introduction to HTML – Practice on HTML
Settimana 2
More HTML – Practice on HTML
Settimana 3
Overview on how the Internet works – HTML forms - Continuous assessment checkpoint: HTML
Settimana 4
Cookies - Introduction to CSS – Practice on CSS
Settimana 5
More CSS – Practice on CSS
Settimana 6
Introduction to databases - Continuous assessment checkpoint: CSS
Settimana 7
Introduction to databases and Django – Practice on Django
Settimana 8
More Django – Practice on Django
Settimana 9
More Django – Practice on Django
Settimana 10
More Django – Introduction to Javascript - Practice on Django
Settimana 11
More Javascript - Continuous assessment checkpoint: Django
Settimana 12
Introduction to Internet security - Continuous assessment checkpoint: theory