- Docente: Federico Galli
- Credits: 6
- SSD: IUS/20
- Language: Italian
- Moduli: Federico Galli (Modulo 1) Giuseppe Contissa (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
-
Corso:
Single cycle degree programme (LMCU) in
Law (cod. 9232)
Also valid for Second cycle degree programme (LM) in Legal Studies (cod. 9062)
-
from Apr 09, 2025 to Apr 24, 2025
-
from Feb 26, 2025 to Apr 03, 2025
Learning outcomes
This course offers an introduction specifically designed for lawyers to the basic principles of computational thinking and programming. The basic principles of computational thinking and programming will be introduced. You will learn how computational methods and tools can be used in law and legal practice as tools to support analysis and decision-making. By the end of the course, students will be able to develop simple algorithms and implement them in programming languages. They will be aware of the design, architecture and typical application of computer-based solutions in a legal context.
Course contents
For all students, attending and non-attending, the syllabus and assessment procedure are the same. Erasmus students follow the same syllabus as other students.
The course does not require prior knowledge and skills in coding.
Attendance at lectures to exercise with coding for lawyers is highly recommended. For this purpose, students are invited to bring their own PC/tablet.
The course will cover the following topics:
- Introduction to coding and its relevance for lawyers and legal professionals;
- Imperative languages: basic concepts and examples in the legal field with Python;
- Declarative languages: basic concepts and examples in the legal field with Prolog;
- Rule-based systems: basic concepts and examples;
- Machine learning systems: basic concepts and examples;
- Introduction to prompt engineering and large language models (LLM).
Readings/Bibliography
All materials are made available through the course web site.
Teaching methods
- Theory lessons – aimed at introducing fundamental issues of coding for lawyers
- Lab lessons – aimed at experimenting with technologies for coding for lawyers in the legal domain
- Seminars, guest speakers, presentation of developments and research projects in coding for lawyers.
Assessment methods
The assessment of learning takes place by means of a coding project and its oral discussion. The project can be developed individually or in groups (max. 4 persons).
The project must be negotiated with the professors to ensure its focus on the course and its feasibility in a reasonable time. In the proposal (to be sent by e-mail), the following must be formulated: 1) the coding problem; 2) the students in the group, if any (in which case, all students in the group must be included in the e-mail).
The project is accompanied by a short report (max. 2/3 pp.), containing the problem and its relevance; solutions and methods; and results.
At the end of the course, when the project is ready, you can hand in your project and request an appointment for discussion (there are no fixed dates). The lecturers will provide further information on timing.
The evaluation of the project depends on the complexity of the computational problem, the solutions adopted, the ability to explain the code (with comments and report), and the ability to present the project and answer relevant questions.
Teaching tools
- Web site of the teachers
- Virtuale page of thee course with slides (PDF), other materials and useful links.
Office hours
See the website of Federico Galli
See the website of Giuseppe Contissa
SDGs




This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.