Slides available at: matteomagnini.github.io/distributed-systems-python-101
Compiled on: 2024-10-19 — printable version
teacher: Andrea Omicini, full professor
email: andrea.omicini@unibo.it
teacher: Giovanni Ciatto, junior assistant professor (RTD-A)
email: giovanni.ciatto@unibo.it
tutor: Matteo Magnini, PhD student
email: matteo.magnini@unibo.it
Students must enroll
Put it simply, it is about learning python and producing good quality software products
In particular, nowadays, software engineering must also deal with:
At the end of the course…
To reach that goal, we shall follow a learn-by-doing approach
+ Python is one of the most _popular_ programming languages
The exam consists of a project work to be produced and presented by students
The project work consists of
The report is more important than the source code
The project work can be done individually or in groups of up to 3 students – 4 students in exceptional and wee-motivated cases
Students are encouraged to propose project works themes/topics/concepts
We incentivise students to complete their project work as soon as possible
Proposal: students propose a project theme/topic/concept on Project forum
Approval: the teacher will provide feedback and possibly suggest changes/strategies or set requirements
Repository creation: students create a GitHub repository and share it with the teacher
gciatto
, MatteoMagnini
)Development: students develop the software artifact and write the report
Submission: students submit the final pdf version of the report on Project forum and ask an appointment for the discussion
Discussion: students present and discuss their project work with the teacher
The software artifact must be a working piece of software
“it works on my machine” is not a valid excuse
The software artifact can be developed in any programming language of choice
The software artifact is mostly aimed at demonstrating students’ understanding of the many aspects of Distributed Systems, so that’s what we will mostly evaluate
Exploitation of Git, GitHub, and version control is important to facilitate your own work
The report is more important than the software artifact
The report must be a document describing the design and development processes of the software artifact
The report is the entry point for evaluating the project work
Templates and guidelines for the report will be provided on Virtuale
An account on GitHub (create one if missing)
john-doe
instead of johnny-the-king
)A working installation of Python
3.11.x
A working installation of Git
A working installation of Visual Studio Code
[Recommended] A working installation of PyCharm
Lectures are recorded by default
Slides and other materials are available on Virtuale