- Design and implementation of iterative or recursive algorithms: path, counting, sorting, searching in collections
- Computational complexity
- Basic data structures: arrays, stacks, queues, linked lists
- Recursive data structures: tree structures, binary search trees
- Invariants
Given the learning outcomes of the "Bachelor in Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
- S1.I2, S1.I3
- S2.2-4
- S6.2
Students completing this course successfully will be able to
- justify a choice between several algorithmic solutions to a given problem,
- analyze algorithms, both iterative or recursive, for representing and manipulating collections and propose alternatives,
- select, design and use of data structures, including recursive ones
- estimate (and explain) a temporal complexity of iterative algorithms and spatial complexity of data structures
- reason about properties of algorithms or data structures in terms of invariants.
Students will have developed skills and operational methodology . In particular, they have developed their ability to
- take a critical look and make a reasoned analysis of a solution or set of solutions that could be made to a problem by setting quality criteria,
- implement programs of small size using algorithms and data structures.
The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled “Programmes/courses offering this Teaching Unit”.
A note of PARTICIPATION reflects the involvement of the student during the year to workouts, its work on Pythia (server with semi-automatic correction) and 2 mini-projects at the end of the first period.
In the first session, the participation grade takes account of 20% of the final grade + 80% for the final exam (closed book).
The participation mark can not be reassessed.
In the second session, it takes account of 10% and the final exam for 90% of the overall score.
- Magistral courses
- practical sessions
- 2 mini-projects at the end of the semester
- computing server (INGINious) to facilitate self-assessment by students of the solutions they propose to practical works
All documents (transparencies of courses, wording of pratical works, , ...) are present on the Moodle course:
http://moodleucl.uclouvain.be/course/view.php?id=9010
There are no compulsory reference book but, in addition some books are recommended on iCampus.
The following courses should be followed in the same year
- LSINF1101 basis of java language programming, basis in object-oriented programming
- LSINF1102 : apply these concpets in various situations