B0074 - PIATTAFORME PER LA TRASFORMAZIONE DIGITALE

Academic Year 2025/2026

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Digital Innovation Policies and Governance (cod. 5889)

    Also valid for Second cycle degree programme (LM) in Computer Science (cod. 6698)

Learning outcomes

This course aims at ensuring that at the end of the course the students: • know the main cognitive models that can explain how people develop software • are aware of the opportunities and the limits of applying techniques of artificial intelligence to develop software • are familiar at how the principles of software engineering can guide the development of AI systems • have an understanding of the principles of blockchain and their applications • understand the role and the potentials of cryptocurrencies and the problems associated to them when developing software • are able to build complex models of production processes and of products combining the most modern approaches, with specific attention to AI, blockchain, and cryptocurrencies.


Course contents

Course Presentation

The course examines the integration of emerging technologies in contemporary software development processes, with particular attention to the cognitive models that govern the production of complex systems. The course analyzes how artificial intelligence, blockchain systems, and cryptocurrencies modify traditional software engineering paradigms, requiring new methodological and architectural approaches.

The program is structured through critical analysis of the opportunities and constraints introduced by these technologies, examining both theoretical aspects and practical implications for the design and maintenance of distributed software systems. Particular emphasis is placed on cognitive models that describe how developers interact with artificial intelligence-based tools and how these influence decision-making processes in software construction.

Learning Objectives

Upon completion of the course, students will be able to:

  • Analyze cognitive models that describe the interaction between developers and artificial intelligence systems
  • Critically evaluate the potential and limitations of AI application in software development processes
  • Apply software engineering principles in the design of artificial intelligence-based systems
  • Understand the theoretical and practical foundations of blockchain systems and their architectural implications
  • Identify technical and methodological issues associated with cryptocurrency integration in software systems
  • Design complex software architectures that integrate artificial intelligence, blockchain, and cryptocurrencies

Course Content

Theoretical Modules

  • Cognitive models in software development: Analysis of mental processes involved in programming and interaction with intelligent systems
  • Artificial intelligence for software engineering: AI applications in testing, debugging, refactoring, and code maintenance processes
  • Software engineering for AI systems: Specific methodologies for development, validation, and deployment of machine learning-based systems
  • Blockchain architectures: Cryptographic principles, consensus mechanisms, and implications for software design
  • Cryptocurrencies and distributed systems: Protocols, smart contracts, and integration with traditional software applications

Practical Components

  • Analysis of real case studies of technological integration
  • Design of hybrid software architectures
  • Critical evaluation of existing systems • Experimentation with advanced research platforms

Prerequisites

While having no formal prerequisites, the course is characterized as a software engineering course and therefore will not present the foundational aspects of artificial intelligence and machine learning; for this purpose, students who do not have such competencies are recommended to previously take the Deep Learning course, code 91250, taught by Prof. Asperti.

Readings/Bibliography

Given the novelty of the topics and their constant evolution, there is not a official textbook of the course but the instructor will supply a list of relevant readings for the course.


Teaching methods

  • Frontal lectures
  • Guided exercises
  • Discussions
  • Presentations of experts
  • Presentations by students

Assessment methods

  • In the first exam session for those attending the course, the student can select between an omnicomprehensive oral and a (individual or group) project on the topics of the course and assigned by the instructor.
  • In the following sessions and for all the students not attending the course, the evaluation will be on an omnicomprehensive oral.

Teaching tools

The course uses the standard tools for the teaching activities and a unique experimental platform based on the integration of LLMs, semantic networks, and HPC (https://research.constructor.tech/) very kindly supplied by the pioneering Constructor Group (https://constructor.tech).

 

The instructor recommends warmly to use paper and pen/pencil to attend the class activities, or their electronic equivalent, and, when needed, a laptop with internet access, also to use the above-mentioned platform.

Open source systems are largely preferred.


Office hours

See the website of Giancarlo Succi