Fundamentals in Computer Science
Objectifs
Heterogeneous course grouping three parts : - Functionnal Programming – Caml (“FP- Caml”) - Logic and Prolog Logic programming (“FL- Prolog”) - Advanced Algorithmics (« AA ») At the end of this module, the student will understand and will be able to explain: Students are expected to: - 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 - translate natural language statements into formulas of propositional logic and of 1 - apply several methods in order to check the validity and the consistency of some formulas - explain the fundamentals of Prolog language and logic programming. - design a Prolog program and trace its execution Some paradigms in algorithmics for discrete optimization : - Exhaustive enumeration - Divide and Conquer - Dynamic Programming - Greedy Algorithms
Pré-requis
First and second year courses on Algorithms & Programming
É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 : 6.0
Nombre d’heures : 77.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.