Skip to Main Content (Press Enter)

Logo UNINSUBRIA
  • ×
  • Home
  • Degrees
  • Courses
  • Jobs
  • People
  • Outputs
  • Organizations
  • Third Mission
  • Projects
  • Expertise & Skills

UNI-FIND
Logo UNINSUBRIA

|

UNI-FIND

uninsubria.it
  • ×
  • Home
  • Degrees
  • Courses
  • Jobs
  • People
  • Outputs
  • Organizations
  • Third Mission
  • Projects
  • Expertise & Skills
  1. Courses

SCV0327 - Automata and languages

courses
ID:
SCV0327
Duration (hours):
52
CFU:
6
SSD:
INFORMATICA
Located in:
Como - Università degli Studi dell'Insubria
Year:
2025
  • Overview
  • Syllabus
  • Degrees
  • People

Overview

Date/time interval

Primo Semestre (22/09/2025 - 19/12/2025)

Syllabus

Course Objectives

This is a theoretical course providing an introduction to automata and formal languages and computability theory. The course focus is on modeling discrete systems and software/hardware systems using an abstract and formal approach. These aspects have a central role in several areas of computer science as compiler implementation, complex system modeling and software engineering. Expected learning outcomes. Students will be able to: •possess basic notions on languages over a free monoid. • describe the basic models of computation (finite state automata, push-down automata, Turing machines) their properties and their computational power in terms of recognized languages; • describe and use rewriting systems, grammars (Chomsky's hierarchy) and the corresponding classes of languages •have a clear idea about the relations among finite state automata and Turing machines, and their relation with sequential programming • identify the role of the various languages (in particular regular and context-free languages) in the compilation process of programming-languages and in other basic language applications; • identify and use the notations (generators) for describing regular languages and context-free languages; • appropriately apply recognizers and generators to study simple languages; • demonstrate an understanding of the limitations of the various computational models; • recognize and use the proper terminology of automata theory, formal languages and computability theory.

Course Prerequisites

The prerequisites for a profitable learning and for achieving the objectives of the course include the basic mathematical notions and the proof techniques imparted in the fundamental teaching of Algebra and Geometry of the first year, which is therefore a pre-requisite. Moreover, some knowledge of programming languages and algorithms and data structures will be helpful.

Teaching Methods

The teaching activities include lectures (40h) and class exercises (12h). The arguments presented during lectures are applied through class exercises; students are expected to actively participate in exercises discussion. The presented exercises have an essential role in preparing the final exam.

Assessment Methods

The exam ( oral) aims to verify the acquisition and the correct understanding of the contents of the course and the ability to apply them to so solve some simple problems. The exam is structured as follows: (part A) two questions concerning the notions presented in the course and their application; (part B) the proof of a theorem demonstrated in the course; (part C) exercises of the kind discussed during class exercises. During the oral exam will be evaluated the acquisition of an appropriate technical language.


The final grade will be determined as follows: 50% from the knowledge of definitions and examples of the concepts dealt during the course (part A); 20% from the knowledge and understanding of the theorem demonstrations; 30% from the proper conduct of the exercises.

The final grade is expressed in a score out of 30, where 18 represents the minimum and 30 the maximum.

Contents

Mathematical preliminaries. (4h)
Strings, languages and their finite description (2h)
• Deterministic Finite Automata (DFA), Non-deterministic Finite Automata (NFA), Non-deterministic finite automata with ε-moves (ε-NFA) and their equivalence (12h)
• Compositionality and Kleene's theorem (4h)
• Regular languages: main properties and Pumping Lemma. (4h)
• Context-free grammars: derivations, derivation trees, ambiguous grammars. Structure of a parser (8h)
• Pushdown Automata (PDA): acceptance by final state and acceptance by empty stack (equivalence). Equivalence between context free languages and PDA. (4h)
• Context-free languages: main properties and Pumping Lemma. (4h)
• The Chomsky Hierarchy. (2h)
• Deterministic and Non-deterministic Turing Machines (4h).
• Recursively enumerable languages and undecidable problems. (4h)
Automata with product and non sequential models (4h)

Course Language

Italian

More information

via Teams,
via e-mail a nicoletta.sabadini@uninsubria.it.
Thesis are possible.
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Automi, linguaggi e calcolabilità, Pearson Paravia Bruno Mondadori, Terza Edizione, 2009.
A. Bertoni, B. Palano, Linguaggi formali e automi, http://bertoni.di.unimi.it/Linguaggi_e_Automi.pdf


Slides and exercises (PDF) are available on the e-learning platform.

Degrees

Degrees

COMPUTER SCIENCE 
Bachelor’s Degree
3 years
No Results Found

People

People

SABADINI NICOLETTA
Settore INFO-01/A - Informatica
Gruppo 01/INFO-01 - INFORMATICA
AREA MIN. 01 - Scienze matematiche e informatiche
Docenti di ruolo di Ia fascia
No Results Found
  • Accessibility
  • Use of cookies

Powered by VIVO | Designed by Cineca | 26.4.5.0