Aims
- To design correct and efficient algorithms to solve well specified computational problems.
- To motivate the choice of appropriate data structures and algorithms.
- To implement data structures and algorithms in Java in a professional way.
- To apply object-oriented programming principles such as genericity, data abstraction, composition and reusability.
- To work efficiently in teams for the analysis, design, programming and documentation of the proposed solutions.
Main themes
- Computational complexity
- Specifications and object-oriented design
- Basic data structures (lists, trees, binary search trees): study of their abstract properties, practical representations, concrete applications and associated algorithms
- Introduction to data structures design pattersn
- Advanced data structures and algorithms: hash tables, heaps, balanced search trees, text processing techniques, dictionaries, graph representation and processing
Content and teaching methods
- Computational complexity
- Trees, binary search trees, AVL trees, multi-way search trees
- Dictionaries and hash tables
- Priority queues and heaps
- Graphs
- Text processing (suffix trees, pattern matching, compression algorithms)
- Design patterns in Java
Teaching method:
- problem based learning
Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
- Prerequisites
(1) Significant programming experience in an object-oriented language such as Java and knowledge of elementary data structures (stacks, queues, lists)
OR
(1) LINF1150 Introduction à l'algorithmique et la programmation: 1ère partie B. LeCharlier
(2) LINF1251 Introduction à l'algorithmique et à la programmation : 2ème partie P. VanRoy
OR
(1) FSAC1650 Informatique T6
- References
(1) Goodrich et Tamassia, "Data Structures and Algorithms in Java, Third Edition" , John Wiley & Sons, 2004.
(2) Cormen T.H. et al. , "Introduction to Algorithms, Second Edition" , MIT Press, 2001. Brassard G. & Bratley P., "Fundamentals of Algorithms" , Prentice Hall, 1996.
- Modalités d'organisation
(1) Evaluation during the whole year
(2) Written exam at the end.
- Remarque:
Course Web Site: http://www.info.ucl.ac.be/notes_de_cours/LINF2121/
Programmes in which this activity is taught
ECGE3DS/IG
|
Diplôme d'études spécialisées en économie et gestion (informatique de gestion - Master in Information Systems)
|
| |
ECGE3DS/SC
|
Diplôme d'études spécialisées en économie et gestion (Master in business administration) (Supply Chain Management)
|
| |
INFO2
|
Ingénieur civil informaticien
|
| |
LINF2
|
Licence en informatique
|
| |
LING2MS
|
Master en linguistique, à finalité spécialisée en ingénierie linguistique
|
| |
Other credits in programs
ECGE3DS/IG
|
Diplôme d'études spécialisées en économie et gestion (informatique de gestion - Master in Information Systems)
|
(5 credits)
|
Mandatory
|
ECGE3DS/SC
|
Diplôme d'études spécialisées en économie et gestion (Master in business administration) (Supply Chain Management)
|
(5 credits)
|
Mandatory
|
INFO21
|
Première année du programme conduisant au grade d'ingénieur civil informaticien
|
(5 credits)
|
Mandatory
|
LINF21
|
Première licence en informatique
|
(5 credits)
| |
LINF21/GN
|
Première licence en informatique (informatique générale)
|
(5 credits)
|
Mandatory
|
LINF21/GS
|
Première licence en informatique (informatique de gestion)
|
(5 credits)
|
Mandatory
|
LING2MS
|
Master en linguistique, à finalité spécialisée en ingénierie linguistique
|
(5 credits)
| |
MAP22
|
Deuxième année du programme conduisant au grade d'ingénieur civil en mathématiques appliquées
|
(5 credits)
| |
MAP23
|
Troisième année du programme conduisant au grade d'ingénieur civil en mathématiques appliquées
|
(5 credits)
| |
MATH21/G
|
Première licence en sciences mathématiques (Général)
|
(5 credits)
| |
|