Aims
- To imagine and realize a correct and efficient algorithm to solve a given problem
- To understand, choice and apply various methods to design programs in order to realize and demonstrate the exactness of complex algorithms
Main themes
- Methods to design and prove programs : invariant methods, wp calculus, induction on structures.
- Program transformations and techniques used to improve the efficiency
- Program schemes and problem classes: global research schemes (backward path, selection and evaluation, binary research), local research schemes (voracious strategy; gradient research, simulated annealing), structural reduction schemes (split to reign, dynamic programming, relaxation, constraints).
Content and teaching methods
see "Main themes"
Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
- Prerequisite
(1) LINF2121 Algorithmique et structures de données P. Dupont
- Reference
(1) Liskov, B.., "Program Development in Java: Abstraction, Specification, and Object-Oriented Design." , Addison-Wesley, 2001.
(2) Goodrich M.T. & Tamassia R, "Data Structure and Algorithms in Java." , Second Edition, John Wiley & Sons, 1997.
- Organization
Active learning through problem solving in small groups
Other credits in programs
SINF12BA
|
Deuxième année d'études de bachelier en sciences informatiques
|
(5 credits)
| |
|