Fundamentals in Computer Science
Description
Objectifs
This course is heterogeneous course and groups 3 parts :
- Functionnal Programming ¿ Caml (¿FP- Caml¿)
- Formal Logic and Logic Programming in Prolog
(¿FL- Prolog¿)
- Advanced Algorithmics (« AA »)
At the end of this module, students are expected to :
[FP-Caml]
- understand and write pure functional programs,
- design recursive functions to iterate over recursive
data types,
- define variants or parameterized types,
- more generally think in terms of higher-order functions
in order to write reusable codes.
- describe the semantics of simple lambda terms
- have a basic theoretical understanding of the type
systems theory
[FL-Prolog part]
- translate natural language statements into formulas of
propositional logic and of 1st order predicate calculus
- apply several methods in order to check the validity and
the consistency of a formula
- explain the fundamentals of logic programming and of
Prolog.
- express problem solving as a demonstration (proof)
based on axioms and theorems describing the particular
properties of the problem.
- design a Prolog program and trace its execution
[AA Part]
Some paradigms in algorithmics for discrete optimization :
- Exhaustive enumeration
- Divide and Conquer
- Dynamic Programming
- Greedy Algorithms
Pré-requis
Évaluation
L’évaluation des acquis d’apprentissage est réalisée en continu tout le long du semestre. En fonction des enseignements, elle peut prendre différentes formes : examen écrit, oral, compte-rendu, rapport écrit, évaluation par les pairs…
En bref
Crédits ECTS : 7.0
Nombre d’heures : 72.0

INSA Toulouse
135 avenue de Rangueil
31077 Toulouse cedex 4
Tél : 05 61 55 95 13
Fax : 05 61 55 95 00

Dans un souci d'alléger le texte et sans aucune discrimination de genre, l'emploi du genre masculin est utilisé à titre épicène.