Intelligent Systems Engineering is taught at the University of Bologna, Cesena Campus, in the academic year 2025/2026, and is split into two modules: Module 1 is in charge of Prof. Andrea Omicini, Module 2 of Prof. Giovanni Ciatto. Module 1 runs from 17 February to 29 April 2026, Module 2 from 5 May to 3 June 2026. Classes are on Tuesday (h. 12–14, Lab 4.2 CAD) and Wednesday (h. 10–13, Room 2.5).
Lessons come in three flavours, and it is worth knowing which one you are sitting in, because the expectations differ:
| Type | Purpose | Mostly in |
|---|---|---|
| Theory classes | Introducing the fundamental issues of intelligent systems engineering | Module 1 |
| Lab classes | Experimenting with technologies for intelligent systems engineering | Module 2 |
| Seminars | Advanced contents in the field | Either module, if any |
The material lives in two places: the VLE pages of the course (where most of the interaction takes place) and the APICe pages. Slides are made available as PDF, typically before the lesson and often adapted or corrected shortly afterwards. The slides are declared to be the overall reference for the course — everything you read here is a consolidation of them.
The final exam is the oral discussion of a project. The path is fixed: the project artefacts (documentation and code) are checked first by Prof. Ciatto; only once the artefacts are approved can the student take the exam and discuss the overall work; exam dates are frequent, by appointment with Prof. Omicini. Only the professors decide whether the artefacts are in a satisfactory state. A project should cover, or follow from, a specific topic of the course; it may be theoretical, technological or methodological; it may be individual or in group; and it has to be negotiated with the professors, to ensure both its focus on intelligent systems engineering and its feasibility in a reasonable amount of time.
Because the exam is a discussion and not a written test, “for the exam” callouts in these pages flag the distinctions you should be able to state and defend out loud: the ones the course keeps coming back to, and on which a project discussion naturally leans.
The course opens with a deliberately provocative question: who is entitled to speak about artificial intelligence? Psychologists, cognitive scientists, philosophers, logicians, mathematicians, physicists, electronic engineers — or is it just us, computer scientists and engineers? What about journalists, who cannot even write a line in Python?
The answer the course gives is that AI is a fundamentally multidisciplinary effort. It has a long history, many people from many disciplines contributed to it, and its pervasiveness is already affecting, or is going to affect, every aspect of human life and activity. Not everyone talking about AI knows what they are saying — but many do, and they hold a legitimate view over AI even when they use different languages and different perspectives from ours. That is why the course keeps an open mind towards diverse sources, including those who simply speak the truth about the world they sense around them without specific technical knowledge: artists, for instance — and AI itself.
The multidisciplinary premise is not decoration. The whole of Module 1 is built on it: to understand what an autonomous system is we will go to biology and philosophy; to understand what a tool is we will go to activity theory, anthropology and ethology. Engineering enters afterwards, to encapsulate what those disciplines discovered.
Taking “AI itself” as a source literally, the deck reports a set of questions put to ChatGPT about its own workings. The answers are useful less as authority than as a map of the object-level vocabulary that the rest of the course will assume.
Asked which knowledge is required to understand how it works, the system lists neural networks (GPT is based on a transformer architecture), natural language processing (tokenization, language modelling, sequence-to-sequence models), machine learning (supervised, unsupervised and semi-supervised learning, overfitting and generalisation), the attention mechanism, and data pre-processing techniques. Asked about its own architecture, it describes an encoder that processes the input into a condensed representation and a decoder that generates the output, both transformer-based, pre-trained together on massive text and then fine-tuned.
More interesting for us is the list of limitations the system reports about itself, because several of them are exactly the gaps that agents and tools will later be asked to fill:
| Limitation | What it means |
|---|---|
| Lack of true understanding | Generation is based on learned patterns; it cannot infer new knowledge or make deductions |
| Lack of common sense | Output can be grammatical and coherent without any ability to reason about the world |
| Bias | Trained on internet text, it can reproduce the biases present in the data |
| Privacy and security | Human-like text can be used to impersonate people or organisations, or to fabricate news |
| Computational cost | Models are computation- and memory-intensive, hard to deploy on constrained devices |
| Fine-tuning data size | Task specialisation needs a large amount of data, often unavailable |
| Structured data | Proficient on unstructured text, limited on tables or graphs |
Behind those answers, three technical notions are singled out at the object level.
The attention mechanism was introduced to improve the performance of the encoder–decoder model for machine translation [Bahdanau et al., 2015]. Its fundamental idea: allowing the decoder to exploit the most relevant parts of the input sequence in a flexible manner, through a weighted combination of all the encoded input vectors, with the most relevant vectors attributed the highest weights.
Transformers are big encoder–decoder models able to process a whole sequence with a sophisticated attention mechanism. Encoders basically produce embedding vectors for decoders. The original architecture is [Vaswani et al., 2017].
Language modelling refers to the use of statistical and probabilistic techniques to determine the probability of a given sequence of words occurring in a sentence: language models analyse large corpora to ground their word predictions. Simply put, a LM aims at predicting the next word(s) in a sequence. Large Language Models were introduced in 2007 by a Google paper [Brants et al., 2007], over a distributed language-model training and deployment infrastructure.
The Q&A also shows the system confidently mis-attributing papers — for instance presenting “Exploring the Limits of Language Modeling” as the paper that introduced GPT-2. Using AI as a source is legitimate; using it as an unchecked source is not. This is the practical face of the “lack of true understanding” limitation the system itself declares.
Move now from the object level to the meta level: not how does it work, but what would count as intelligence at all. After providing the fundamental theoretical machinery for computation — the Turing Machine [Turing, 1937] — Turing started exploring the limits of automatic computation and asked whether it could be a path towards machine intelligence. Hence the Turing Test [Turing, 1950], summarised by Wooldridge as follows:
“You are interacting via a computer keyboard and screen with something that is either another person or a computer program. The interaction is in the form of text — questions and answers. Your task is to determine whether the thing being interrogated is in fact a person. Now suppose, after some time, you cannot tell whether the thing is a person or program. Then, Turing argued, you should accept that the thing being interrogated has human-like intelligence.” [Wooldridge, 2018]
Three properties of this criterion matter. It is a behavioural interpretation of intelligence: independent from how the thing works, dependent on what it can achieve. It defines intelligence as indistinguishability from human behaviour. And it has limitations, and has been refined many times — is it still meaningful today?
The course argues that it probably is not. Literally, when chatting with ChatGPT we do not have the impression of interacting with another human; yet the conversation is smooth, and there are possibly more mistakes and missteps in the questions by humans than in its answers. What makes the system not-so-human is first of all its super-human ability to handle an enormous amount of information and to exhibit such a wide range of human skills — somehow too much for a human.
So it is fair to call the Turing Test out of the AI picture and to look for more refined criteria, dwelling on experience, situation of knowledge, consciousness, rather than on conversational capabilities — possibly including action and the ability to use tools [Gibson and Ingold, 1993].
That last clause is the hinge of the whole course. If conversation is no longer the discriminating criterion, and action and tool use are, then the unit of analysis can no longer be a language model: it has to be something that acts. That something is the agent, and Chapter 11 will return to tools with a full theory behind them.
Floridi proposes a formula that the course adopts as a working diagnosis of the present moment: AI as agency without intelligence [Floridi, 2023]. Large language models can process text with extraordinary success, often in a way indistinguishable from human output; however, they lack any intelligence, understanding, or cognitive ability. The consequence is a decoupling of agency and intelligence: two things that our intuition binds together can, it turns out, be produced separately.
The companion diagnosis comes from the survey on augmented language models [Mialon et al., 2023]. The fundamental problem of LLMs is that they are generally trained to perform statistical language modelling given a single parametric model and a limited context — typically the n previous or surrounding tokens. A possible solution: integrating language models with both reasoning and tools. Which is exactly the point where agents and action come into play.
Before the conceptual work begins, Module 1 grounds the discussion in what the profession expects to happen. The IEEE Computer Society publishes yearly technology predictions, and reading three consecutive editions side by side shows a trajectory rather than a snapshot.
The 2026 edition is explicit about its own surprise: the speed, depth and breadth of AI adoption over the previous year biased the prediction team towards the near term, and literally all predictions were AI-related, AI-influenced or AI-driven. Aggressive AI adoption is said to enable new megatrends (health, energy, space, robotics), new verticals (future of coding, future of work) and new types of computing (in-memory, rack-scale). Notably, many predictions have higher impact on humanity than likelihood of success, which forced the team to introduce risk–reward categories.
The same year the analysts add a diagnosis that will resonate through the whole course. Gartner puts agentic AI at the top of its strategic technology trends, defining it as software programs designed to independently make decisions and take actions to achieve specific goals, combining AI techniques with memory, planning, sensing the environment, using tools and following safety guidelines. And it frames the open problem as an AI agency gap, spanning from low to high agency along several axes at once:
| Low agency | High agency |
|---|---|
| Static | Adaptive |
| Reactive | Proactive planning |
| Simple tasks | Complex goals |
| Simple environment | Complex environment |
| Supervised | Autonomous |
Read that table as a specification, not as marketing. Every row names a property that this course will study in its own right: adaptivity and proactiveness in Chapter 4 and 7, complex goals in Chapter 3 and 10, complex environments in Chapter 7, autonomy in Chapters 2 and 3. The “agency gap” is the distance between a function call and an agent.
Nowadays both individuals and human organisations rely more and more upon artificial systems, which are delegated increasingly-complex functions, tasks and goals that human processes depend upon. Computational systems are at the core of most (if not all) artificial systems — which is why every principled discipline for modelling and engineering computational systems affects the modelling and engineering of almost every sort of artificial system. That is the licence under which a computer-science course is allowed to talk about systems in general.
What are those systems required to do? And, symmetrically, what are they required not to do? The deck sets the two lists side by side, and the second list is what keeps the first one honest.
Artificial systems are nowadays required to:
Dually, artificial systems are also required to:
Drawing from those requirements, the three drivers for the engineering of artificial systems are read off directly: intelligence, autonomy and physical distribution. They are the main lines of development of the course, to be pursued while coping with the limitations above.
A terminological point that matters more than it looks. We call systems what many years ago we simply called machines: complexity has grown, and we now understand the many levels at which systems, their components and their mutual relationships can be understood. At the right level of abstraction, hardware and software systems are machines in the same acceptation as mechanical machines. The course then uses two simple, not strictly coherent notions in parallel: system as a primitive notion that we all share to some extent, and system as an engineer-designed entity — draw a line around what you call a system.
An artificial system is a system either partially or totally designed by humans, either directly or indirectly (and the deck leaves open the question: systems designed by systems?), featuring a goal in the mind of the designer and a function in the body of the system. Roughly: any sort of system which humans put at work by assigning it a function in order to achieve some goal.
Most artificial systems participate in the activities of individuals, groups and societies; nowadays they are essential to all sorts of human activity. When both humans and artificial components play the role of system components — from online reservation systems to social networks — we speak of socio-technical systems [Whitworth, 2006]. Most of today’s systems are just socio-technical systems, or at least cannot be engineered and put to work successfully without a socio-technical perspective at the engineering stage.
Be able to state the difference between an artificial system (goal in the designer’s mind, function in the system’s body) and a socio-technical system (an artificial system in which humans are components, not just users). The distinction returns in Chapter 10, where explainability is motivated precisely by the need of humans to understand what is going on in order to participate.
Understanding how intelligence works is a persistent issue for humans; Aristotle’s logic is the most outstanding example of that [De Rijk, 2002]. And “understanding”, for humans, typically means being able to model and reproduce. Building machines that can reproduce intelligence — either by reproducing some known intelligent process, or by reproducing some observed intelligent behaviour — is a way to measure how much we actually understand the way intelligence works.
That dualism (process vs. behaviour) is not a side remark: as Chapter 6 will show, it is present in AI from the 1956 Dartmouth workshop onwards, and it is the same fault line as the Turing Test debate. Historically, humans have kept building machines exhibiting intelligent behaviour, from The Turk [Standage, 2002] to AlphaGo [Silver et al., 2016]. Objections have not been lacking: Searle’s Chinese Room [Searle, 1980] imagines a man who understands no Chinese, receiving questions in Chinese through a slot and following detailed English instructions to produce answers, well enough to pass a Chinese Turing test. The course judges it an interesting argument carrying so many assumptions and mistakes — mainly, no understanding of how computational machines work, and possibly of how language understanding by humans works either — and considers the matter an old story.
The interesting questions are not about whether machine intelligence is possible, but about how to build intelligent systems:
Hence the question that Chapter 4 will answer in a single word: where can we ground the foundation of a general-purpose engineering discipline for intelligent systems? And, first of all: what is intelligence, where does it come from, is there one intelligence or many different sorts, and how does it connect with autonomy?
The second driver comes with a much longer history than computing. Machines doing something by themselves are an obsession that comes along with technique — technique being basically our way to affect the world around us, possibly according to our goals. The obsession is everywhere: China, Greece, Italy, England, France; hundreds of years of attempts, and some sort of success too. The deck parades the evidence: Heron of Alexandria’s “Hercules and the Dragon” in Aleotti’s 1589 reconstruction, where hitting the dragon’s head makes it shoot water in Hercules’ face; Leonardo’s self-propelled cart; the 1784 Joueuse de tympanon by Peter Kinzing. And, since the fascination was so strong, fake automata were frequent and even famous — the Mechanical Turk (1770, Wolfgang von Kempelen) faked both intelligence and autonomy at once.
Underneath the parade there is a serious question: what can human artefacts actually do, what can they achieve, and what can humans achieve with the systems they create? Two answers have historically driven machine building:
| Motive | Content |
|---|---|
| Constructing for understanding | Building machines with initiative, autonomy, knowledge, intelligence and action, in order to understand ourselves — our reach as creators — and the world we live in. “Playing God” to understand the world. |
| Relieving humans from fatigue | Substituting human work in quality, quantity, cost and speed: more, better, cheaper work done, so that new activities become feasible. First physical work; then repetitive, enduring work; subsequently intellectual work; finally work that is simply more complex, for any or all reasons. |
And there is a step beyond substitution. Delegating existing human functions to machines happens within already existing social structures, organisations and processes. Creating new functions instead makes new social structures, organisations and processes possible — the example given is steam engines on wheels. Essentially: affecting and changing the world we live in.
Keep the Mechanical Turk in mind as a methodological warning rather than as an anecdote. It was a system whose observable behaviour was indistinguishable from that of an autonomous intelligent player, and whose internal mechanism was a human being in a box. Behavioural criteria alone — the Turing Test included — cannot tell the Turk from the real thing.
The questions that close the section are the ones Chapters 2 and 3 will spend their whole length on: what is autonomy in these systems, is there one single notion of autonomy or many different notions playing diverse roles, how do we model autonomy in computational systems, how do we engineer it, and how does it connect with intelligence?
Computational systems have become pervasive: they are everywhere and tend to affect every aspect of everyday life and activity [Grimm et al., 2004]. We live immersed in a sort of ever-expanding computational bubble, where a huge number of computations are performed at every instant around us — at home, in our cars, in workplaces, hospitals, airports and train stations, schools and universities, public spaces. Those are distributed, concurrent computations, either controlled and triggered, or autonomous.
Interaction is pervasive too: almost any computational system today comes equipped with ICT technologies for interacting with other computational systems, and computational devices continuously interact with humans, with each other, and with the physical environment and its resources.
The physical nature of artificial systems adds complexity to their computational components: in terms of spatial distribution, of temporal distribution, and of unpredictability of the environment where they have to work. What exactly is spatially distributed? Computational units; communication channels; data, information and knowledge, along with their representations; sensors and actuators — so that the boundary between the system and the surrounding environment becomes spatially sparse.
The consequences are structural, not incidental. The spatio-temporal unity of the system is lost: there is no longer a notion of system time, nor of system location, and system components at different levels of abstraction are only partially correlated, temporally and spatially. And a number of assumptions no longer hold: system events no longer constitute a totally-ordered set (partial ordering is generally the only feature available), and admissible interactions among components no longer depend on compresence in space or time, or within the same physical or virtual topology.
Consequently, conceiving and constructing artificial systems nowadays means dealing with distributed systems, whose core is represented by distributed computational systems, to be modelled and built. Modelling them involves new theoretical problems, hence new frameworks, models, abstractions and techniques — one of the main objects of study of computer science. Building them involves new practical problems, hence new technologies, infrastructures, methods and methodologies — one of the main objects of study of computer engineering. What is needed, concretely: new (meta-)models for computational systems, new methodologies for analysis, design and development, new technologies for development, implementation and deployment.
And a pair of questions that name the rest of the course: distributed autonomy? distributed intelligence?
The three drivers are not independent, and the deck closes by rubbing them against each other.
Autonomy vs. intelligence. Can we design and build intelligent systems with some level of autonomy, or autonomous systems with some sort of intelligence? And how? What is the conceptual bridge between intelligence and autonomy, and what is the technical link connecting them?
Distribution vs. autonomy vs. intelligence. Do the abstractions and techniques used for distributed systems fit intelligent systems? Do they fit autonomous systems? Do they fit intelligent autonomous systems? It is, plausibly, a hyper-constrained problem.
Theory vs. technology vs. methodology. Are there coherent, viable, usable models, technologies and methodologies allowing us to engineer intelligent distributed systems with the required level of autonomy? Is theory comprehensive enough to promote a well-founded design and development? Are the available technologies stable and solid enough? Are methodological guidelines, specifications and processes clearly defined and specific enough for the many different application scenarios?
Following the three drivers, the course will:
The parallel questions closing the opening deck are worth copying verbatim, because they are the exam questions of the whole module: we need a new understanding of what AI is and could become; we need to understand what intelligence is; we need to understand what is the essence of agency; and we need to learn how we can use agents to build intelligent systems.
If you take one thing from this chapter into the discussion, take the ordering: drivers → autonomy → agents → intelligence inside agents → agentic AI. The course does not define agents because agents are fashionable; it defines them as the abstraction that encapsulates computational autonomy, and only then hangs intelligence off them. Being able to reconstruct that chain is worth more than any single definition inside it.
Intelligence, autonomy and physical distribution. They are not postulated: they are read off the three requirements placed on artificial systems today — understanding context, users and goals; operating autonomously in dynamic environments; working with physically distributed components. They are pursued while coping with three dual limitations: being trustworthy, respecting human autonomy, being non-intrusive.
Because the criterion is behavioural indistinguishability from a human, and today’s systems fail it in the wrong direction: conversation with an LLM is smooth, with possibly fewer mistakes than in the human questions, and what makes it non-human is its super-human handling of information and range of skills. The proposal is to move to more refined criteria dwelling on experience, situation of knowledge and consciousness rather than conversational ability — possibly including action and the ability to use tools.
It is Floridi’s reading of generative AI: LLMs process text with extraordinary success, often indistinguishably from human output, yet lack intelligence, understanding or cognitive ability. Agency and intelligence, which intuition binds together, turn out to be decoupled. For engineering this is good news and bad news: good, because it means agency can be built and studied on its own terms (which is exactly what computational autonomy does); bad, because a system that acts without understanding is precisely the kind of system for which trustworthiness, accountability and explainability become hard requirements.
The problem: they are generally trained to perform statistical language modelling given a single parametric model and a limited context — typically the n previous or surrounding tokens. The proposed solution: integrating language models with both reasoning and tools. That is the point at which agents and action enter the picture.
A system either partially or totally designed by humans, directly or indirectly, featuring a goal in the mind of the designer and a function in the body of the system; roughly, any sort of system which humans put at work by assigning it a function in order to achieve some goal. The computational part is implicitly considered essential.
An artificial system where both humans and artificial components play the role of system components — from online reservation systems to social networks [Whitworth, 2006]. The insistence is because most systems today are just that, or at least cannot be engineered and put to work successfully without adopting a socio-technical perspective at the engineering stage. It is also the setting in which requirements such as transparency and explainability stop being optional.
The spatio-temporal unity of the system: there is no longer a notion of system time nor of system location, and components at different levels of abstraction are only partially correlated in time and space. Two assumptions break in particular: system events no longer form a totally-ordered set (only partial ordering is generally available), and admissible interactions no longer depend on compresence in space, time, or a shared topology. What is distributed: computational units, communication channels, data/information/knowledge with their representations, sensors and actuators — so the boundary between system and environment becomes spatially sparse.
To establish that the drive towards machines that do something by themselves is an obsession that comes with technique itself, not a recent effect of computing, and that it has always been double-edged: the fascination was so strong that fake automata — the Mechanical Turk above all — were frequent and famous, faking both intelligence and autonomy. Behind the parade sit the real questions: what can human artefacts actually do, what can they achieve, and what can humans achieve through the systems they create.
Delegating existing human functions to machines happens within already existing social structures, organisations and processes. Creating new functions makes new social structures, organisations and processes possible — the example given is steam engines on wheels. The second move does not optimise the world, it changes it.
The framing used by Gartner in its 2025 strategic trends: the distance between low-agency and high-agency systems along several axes at once — static vs. adaptive, reactive vs. proactive planning, simple tasks vs. complex goals, simple vs. complex environment, supervised vs. autonomous. Agentic AI is described there as software designed to independently make decisions and take actions to achieve specific goals, combining AI techniques with memory, planning, sensing the environment, tool use and safety guidelines.
Because computational systems are at the core of most (if not all) artificial systems today; therefore every principled discipline for modelling and engineering computational systems affects the modelling and engineering of almost every sort of artificial system. The licence is factual, not rhetorical.
(1) Provide the overall picture of the current setting for AI models, methods and techniques; (2) define goals and scope of autonomy in artificial systems; (3) focus on computational autonomy and introduce agents as the fundamental abstractions for distributed systems built out of autonomous components; (4) discuss the main AI threads by framing them in the intelligent agents context; (5) move towards agentic AI with a coherent conceptual framework.