Natural Computing (2021/2022)

Course code
Academic sector

Learning outcomes

Knowledge and understanding The course is designed to first recall basic concepts of traditional computational models, such as formal languages and automata, and then present several models of bio-inspired computing, including bio-molecular algorithms. Main models of natural computing are presented, in terms of computational processes observed in and inspired by nature. Applying knowledge and understanding During the course students will aquire the following competences: Applying basic notions of discrete mathematics (sets, multisets, sequences, trees, graphs, induction, grammars and finite automata) to explain a few computational methods both to process genomic information and to investigate metabolic networks. Making judgements Students will develop the required skills in order to be autonomous in the following tasks: - choose and processing data in large genomic contexts; - choose the appropriate methodologies and tools for represent biological information in the context of discrete biological models. Communication skills The student will learn how to address the correct and appropriate methods and languages for communicating problems and solutions in the field of computationaql genomics and of biological dynamics. The course aims at developing the ability of the student both to master notions of discrete structures and dynamics, and to deepen his/her notion of Turing computation, in order to extend it to informational processes involving either natural or bio-inspired algorithms. Student's knowledge of all the topics explained in class will be tested at the exam, along with his/her learning and understanding skills. Lifelong learning skills Introduction to natural computing, biological algorithms, and life algorithmic strategies. Basic notions of discrete mathematics and of formal language theory (Chomsky's hierarchy, automata, and computability). Elements of information theory (information sources, codes, entropy, and entropy divergences, typical sequences, first and second Shannon's theory). Methods to extract and analyze genomic dictionaries. Genomic profiles and distributions of recurrent motifs. Software IGtools to analyze and visualize genomic data. Computational models of bio-molecular processes, such as DNA self-assembly and membrane computing. DNA computing and bio-complexity of bio-algorithms. DNA algorithms to solve NP-complete problems. MP grammars, networks, and metabolic dynamics.