Bachelor's degree Computer science
![Macaron diplôme national de Licence contrôlé par l'Etat](/typo3conf/ext/formations/Resources/Public/Images/Label/label-2.png)
![Institut d'électronique et d'informatique Gaspard Monge (IGM) Institut d'électronique et d'informatique Gaspard Monge (IGM)](/?type=11&logo=IGM-651ffe5e67577.png)
Entry requirements
Admission to L2 is possible after a year of L1 in science, preferably in mathematics and/or computer science.
Admission to L3 is possible on the basis of application after a high school diploma and two years of higher education or equivalent.
External candidates for L2 are expected to master the vast majority of the concepts and skills covered in L1 (and L2 for L3 candidates).
Benefits of the program
The course covers both theoretical and practical foundations of computer science. The first three semesters also include a strong mathematics curriculum.
The fact that the programme covers both disciplines from the very first year sets it apart from other degrees offered by University Technology Institutes (IUTs), preparatory schools and “general” science Licence degrees.
It is the only course in the eastern Paris area to offer such in-depth coverage of computer science and mathematics from the first year on.
Acquired skills
After completing the course, students are expected to be able to:
- choose appropriate data structures in a given setting, design an algorithm and develop an entire piece of software;
- have some knowledge about all stages of programme compilation;
- design a database and website;
- describe and use computer systems and networks;
- conduct mathematical reasoning, analyse, model and resolve a simple problem;
- work in a team, contribute to a project, present their work and undertake a literature review in French and English.
International
There is no specific international agreement for this Licence. However, in collaboration with the university’s international relations department, we help students who wish to study abroad for a semester, either through the Erasmus programme or via specific mobility funding.
Capacities
Licence 2 : 120
Licence 3 : 96
Course venue
Your future career
Over 80% of graduating students pursue further studies (source: OFIPE), mainly in various fields of computer science (software, networks, image, fundamental computer science, etc.), with the Master’s in Computer Science at UGE or other programmes at other universities.
However, the level of expertise acquired is sufficient to work in the industry straight away (as an IT technician or junior developer for example), even if few students choose this option.
After the L2, students can also apply to study computer science at UGE’s engineering school, ESIPE.
Professional integration
The Licence in Computer Science at Université Gustave Eiffel is not aimed at producing graduates to work in the industry straight away, as the vast majority choose to pursue further studies. However, there are options specifically aimed at solidly preparing students to work in the industry after graduating (such as internships) and/or the choice of a third year in a work-study programme.
Study objectives
The course covers both theoretical and practical foundations of computer science. The first three semesters also include a strong mathematics curriculum. The fact that the programme covers both disciplines from the very first year sets it apart from other degrees offered by University Technology Institutes (IUTs), preparatory schools and “general” science Licence degrees. It is the only course in the eastern Paris area to offer such in-depth coverage of computer science and mathematics from the first year onwards.
Major thematics of study
The computer science programme has 180 ECTS in total (30 per semester), divided into the following main areas:
Algorithms and programming (54 ECTS): imperative (Python, C), object-oriented (Java) and functional (Caml) programming, list, tree and graph algorithms.
Mathematics (36 ECTS): mathematical methodology, differential and integral calculus, sequences and series, probability, linear algebra.
Computer technologies (33 ECTS): computer systems and networks (organisation, architecture and programming), databases, web programming.
Theoretical computer science (24 ECTS): discrete mathematics, computational models, automata and languages, parsing, compilation.
Complementary subjects (9 ECTS): English, computer literacy.
Calendar
Optional work placement in L3:
at least two months, outside class periods.
Work-study programme in L3:
two days per week at a company.
Options
In the first and third year of the programme, there is also a total of 24 ECTS of optional units. In L1, they concern mostly non-disciplinary fields: other scientific disciplines, foreign languages, communication, creative writing workshop, etc.
In L3, optional subjects represent a deepening or introduction to specific computer science topics such as images, web, machine learning, mathematics for computer science, etc. The specific list of topics will vary from year to year, according to the availability of teaching staff. L3 also offers the possibility for individual supervised projects and internships in companies. Lastly, specific subjects are offered to students in the work-study programme.
Semester 1
Courses | ECTS | CM | TD | TP |
---|---|---|---|---|
Algoritmique et structures de données
| 3 | 12h | 18h | |
Algèbre linéaire 2
Déterminants, réduction des endomorphismes, espace euclidien. | 6 | 24h | 36h | |
Base de donnéees
Utiliser un système de gestion de base de données (SGBD) par une interface d'administration en ligne. Connaître les concepts fondamentaux liés aux bases de données relationnelles (Méthodologies, Modèle Entité-Association, Modèle relationnel). Utiliser le langage d'interrogation SQL. Concevoir et développer un site web dynamique avec accès à une base de données en environnement 3 tiers, en utilisant une solution côté-serveur, basée sur les langages HTML et PHP, le serveur Apache et le SGBD MySql. Renforcer les notions élémentaires de programmation (variable, fonction, tableaux, structures conditionnelles, boucles, etc) au travers du langage PHP | 6 | 24h | 12h | 24h |
PIX
| 1 | 2h | 2h | |
Initiation à la programmation en C
| 6 | 24h | 24h | 24h |
Labo Math Info
| 5 | 2h | 36h | |
Initiation à la programmation en C
| 6 | 24h | 24h | 24h |
Suite séries intégrales
| 6 | 24h | 36h | |
Anglais (pas de LV2)
L’enseignement de l’anglais au cours de la licence vise une amélioration des compétences écrites et orales afin que les étudiants deviennent plus d’autonome. Le but est de pouvoir comprendre et communiquer lors de futurs échanges professionnels, ainsi que de pouvoir comprendre les articles scientifiques qu’ils pourront rencontrer lors de leurs études et/ ou vies professionnelles. Tout au cours de la licence, les cours d’anglais s’attachent à apporter une ouverture sur les différentes cultures afin de favoriser les échanges entre pays. Des groupes de niveau sont mis en place lors du premier semestre afin de permettre à tous d’aborder les cours d’anglais dans les meilleures conditions. | 3 | 15h | ||
Anglais LV1
L’enseignement de l’anglais au cours de la licence vise une amélioration des compétences écrites et orales afin que les étudiants deviennent plus d’autonome. Le but est de pouvoir comprendre et communiquer lors de futurs échanges professionnels, ainsi que de pouvoir comprendre les articles scientifiques qu’ils pourront rencontrer lors de leurs études et/ ou vies professionnelles. Tout au cours de la licence, les cours d’anglais s’attachent à apporter une ouverture sur les différentes cultures afin de favoriser les échanges entre pays. Des groupes de niveau sont mis en place lors du premier semestre afin de permettre à tous d’aborder les cours d’anglais dans les meilleures conditions. | 2 | 15h | ||
Langue vivante 2
| 1 | 24h |
Semester 2
Courses | ECTS | CM | TD | TP |
---|---|---|---|---|
Algorithmique des arbres
Ce cours est centré sur les arbres et leurs applications. On présente : les méthodes de hachage; les arbres, les arbres binaires; les différentes représentations des arbres; les méthodes de parcours et leurs applications : ordre préfixe, ordre postfixe, ordre infixe; les applications des arbres : arbres binaires de recherche, codages de Huffman, tas et files de priorité; le rapport entre arbres binaires et complexité logarithmique; l'application aux algorithmes de tri : tri rapide, tri par tas, tri par fusion, bornes sur la complexité. Les notions introduites doivent être connues d'un point de vue théorique mais aussi pratique par le biais d'exercices de programmation | 6 | 18h | 18h | 24h |
Architecture des systèmes informatiques
Comprendre le rôle du système d'exploitation et savoir l'utiliser. Maîtriser certains des concepts fondamentaux du système: entrées-sorties, systèmes de fichiers et gestion de la mémoire. Comprendre la différence entre bibliothèques et appels systèmes | 5 | 24h | 24h | |
Mathématiques pour l'informatique
| 5 | 24h | 24h | |
Perfectionnelent à la programmation en C
l'objectif est d'approfondir certains aspects du langage C et d'aborder des techniques de programmation impératives avancées. Une première partie portera sur la révision en détail de la notion d'instruction, des structures de contrôle, de la bonne utilisation des entrées/sorties, de l'évaluation des expressions et de la définition des types. Une deuxième partie orthogonale à la première portera plus spécifiquement sur la programmation modulaire, une première approche de la programmation générique et le détail des étapes de compilation. Le but est d'avoir les outils et les connaissances nécessaires pour mener à bien un projet du début à la fin. Les travaux pratiques et travaux dirigés consisterons à analyser des projets et à les concevoir en appliquant les méthodes enseignées en cours | 6 | 18h | 18h | 24h |
Automates et langages
Ce cours reprend dans un premier temps les notions de bases concernant la théorie des langages: alphabet, mot et langages, ainsi que les opérations usuelles: union, concaténation et étoile de Kleene. Ensuite, il aborde la notion d'automate d'état fini et ses différentes variantes: déterministe ou non, avec ou sans epsilon-transitions, complets ou non. Nous donnons des algorithmes qui permettent de passer d'une définition à une autre (dont l'algorithme de déterminisation). Ensuite, nous introduisons la notion d'expression rationnelle et montrons comment en faire un automate fini suivant les algorithmes de Thomson et Glushkov ainsi que l'opération inverse. Le cours se poursuit par l'introduction des notions d'état accessible et co-accessible et par l'énonciation de l'algorithme de minimisation des automates finis et du théorème qui prouve l'existence d'un automate minimal unique. Nous montrons par la suite qu'il est possible de décider si deux expressions rationnelles caractérisent le même langage. Enfin, nous terminons par des propriétés de clôture des langages rationnels et montrant pourquoi l'on peut se passer du complémentaire et de l'intersection dans les expressions rationnelles et la raison pour laquelle ces deux opérations n'y sont pas présentes même pour des raisons de commodité. Le cours se termine par l'énoncé du théorème de l'étoile et de sa démonstration | 5 | 24h | 24h | |
Anglais (sans LV2)
L’enseignement de l’anglais au cours de la licence vise une amélioration des compétences écrites et orales afin que les étudiants deviennent plus d’autonome. Le but est de pouvoir comprendre et communiquer lors de futurs échanges professionnels, ainsi que de pouvoir comprendre les articles scientifiques qu’ils pourront rencontrer lors de leurs études et/ ou vies professionnelles. Tout au cours de la licence, les cours d’anglais s’attachent à apporter une ouverture sur les différentes cultures afin de favoriser les échanges entre pays. Des groupes de niveau sont mis en place lors du premier semestre afin de permettre à tous d’aborder les cours d’anglais dans les meilleures conditions. | 3 | 15h | ||
Anglais (si LV2)
L’enseignement de l’anglais au cours de la licence vise une amélioration des compétences écrites et orales afin que les étudiants deviennent plus d’autonome. Le but est de pouvoir comprendre et communiquer lors de futurs échanges professionnels, ainsi que de pouvoir comprendre les articles scientifiques qu’ils pourront rencontrer lors de leurs études et/ ou vies professionnelles. Tout au cours de la licence, les cours d’anglais s’attachent à apporter une ouverture sur les différentes cultures afin de favoriser les échanges entre pays. Des groupes de niveau sont mis en place lors du premier semestre afin de permettre à tous d’aborder les cours d’anglais dans les meilleures conditions. | 2 | 15h | ||
Langue vivante 2
| 1 | 24h |
Semester 3
Courses | ECTS | CM | TD | TP |
---|---|---|---|---|
Complements in C programming
Complementary course on imperative programming. | 12h | |||
Complements in automata theory
Complementary course on finite automata theory. | 12h | |||
Object-oriented programming
This module presents some of the main notions of object-oriented programming in Java: classes and objects, inheritance, polymorphism, visibility and encapsulation, etc. | 6 | 24h | 24h | |
Advanced C programming
The aim of this module is to further explore certain aspects of the C programming langage, in particular : code portability (norms and platform dependence), code structuration (modular programming), code efficiency (memory management, computations) and the limits of the language (side effects, type checking, floating-point arithmetic). | 6 | 24h | 24h | |
Syntactic analysis
This module presents classical parsing techniques (lexical analysis, grammars, main top-down or bottom-up parsing algorithms), up to the construction of an abstract syntax tree (AST). It precedes the Compiling module at semester 6. | 6 | 24h | 24h | |
Computer networks
After a general introduction (OSI model, usage), this course covers four categories of protocols, networks and applications: local networks, Internet, transport protocols and finally the application layer. For each category, the main issues, protocols and associated services are presented. | 5 | 20h | 20h | |
English
L’enseignement de l’anglais au cours de la licence vise une amélioration des compétences écrites et orales afin que les étudiants deviennent plus d’autonome. Le but est de pouvoir comprendre et communiquer lors de futurs échanges professionnels, ainsi que de pouvoir comprendre les articles scientifiques qu’ils pourront rencontrer lors de leurs études et/ ou vies professionnelles. Tout au cours de la licence, les cours d’anglais s’attachent à apporter une ouverture sur les différentes cultures afin de favoriser les échanges entre pays. Des groupes de niveau sont mis en place lors du premier semestre afin de permettre à tous d’aborder les cours d’anglais dans les meilleures conditions. | 3 | 20h | ||
Tutored project
Individual or small-team work supervised by a faculty member, leading to the writing of a report and an oral presentation. | 4 | |||
Critical thinking
Initiation to the importance of doubt in scientific thinking and methodology, and to the notion of scientific demonstration. The students will be presented with paradoxes, study the scope and influence of rhetorics, search for biases which might hinder objective access to information, and question the reliability of information sources (in particular in the absence of consensus). | 4 | 16h | 10h | |
Combinatorics
This modules presents classical notions of mathematics for computer science, in particular in combinatorics (couting and enumeration, generating series). | 4 | 18h | 18h | |
UE Libre
The module allows students to follow a unit of their choice in another department of the university (with the approval of the head of studies). | 4 | |||
Communication in the workplace
Oral and written communication. Students will be evaluated on their ability to write a report and perform an oral presentation on the theme of professional work (work organisation and methods, socio-economic context). | 4 | 6h | 10h | |
Introduction à l'image
| 4 | 14h | 14h |
Semester 4
Courses | ECTS | CM | TD | TP |
---|---|---|---|---|
Functional programming
Notions of functional programming, higher-order functions, immutable and persistent data structures. | 5 | 16h | 20h | |
Compiling
This module follows the Syntactic analysis module of the previous semester. It introduces assembly-type languages, and explores a few code generation and optimisation techniques. | 5 | 24h | 24h | |
Graph algorithms
This module presents graphs and their representations, and some fundamental graph algorithms: breadth-first and depth-first search, shortest path algorithms, spanning trees, maximal flow algorithms. | 6 | 24h | 24h | |
System programming
Concepts related to systems, kernel, inputs and outputs, APIs, fonctional layer, processes, activities, scheduling, kernel algorithms, reentrant procedures, distributed computations, inter-locking, locks, memory (allocation, garbage collection), virtual memory, cache, pipes, protocols. Writing of programs using system APIs and manipulating the previous concepts. | 5 | 24h | 24h | |
Advanced databases
This unit presents advanced concepts for relational databases such as triggers, concurrency and transactions, storage and indexing issues. It features an introduction to the PL/pgSQL language. | 5 | 16h | 20h | |
Advanced Web programming
This option introduces advanced web technologies such as Angular. | 4 | 14h | 14h | |
Tutored project
Individual or small-team work supervised by a faculty member, leading to the writing of a report and an oral presentation. | 4 | |||
Advanced computer architecture
In-depth exposition to computer architecture concepts. | 4 | 14h | 14h | |
Free-choice unit
The module allows students to follow a unit of their choice in another department of the university (with the approval of the head of studies) | 4 | |||
Apprenticeship period
Companion unit to the previous semester's "Communication in the workplace" unit, accompanying the students' work as apprentices in a company. Students will be evaluated on their ability to write a report and perform an oral presentation in front of their academic and professional tutor, detailing their activities over the apprenticeship period. | 4 | |||
Short internship
Short professional internship (for non-apprentices only). | 4 | |||
Introduction à l'IA
The topic of this option may vary from year to year. For example, it can focus on the introduction to data science, geomatics, embedded systems, etc. | 4 | 14h | 14h |
JUGE Vincent (L2-L3)
BONZOM Valentin (L2)
DAVID Claire (L3)
MARTIN Frédéric (L2)
Partners
![CFA Descartes CFA Descartes](/?type=11&logo=LOGO-ADEFSA-CFA-DESCARTES-651fdcb842486.png)