2018-2019 / INFO0952-1

Additional information technology

Duration

16h Th, 16h Pr, 30h AUTR

Number of credits

 Bachelor in engineering4 crédits 

Lecturer

Pierre Geurts

Language(s) of instruction

French language

Organisation and examination

Teaching in the first semester, review in January

Schedule

Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

This course is the second programming course in the bachelor's degree program in civil engineering. It consists of a theoretical part and a practical part. During the theoretical part, the focus is on the acquisition of algorithmic concepts useful for all engineers and in particular on an introduction to algorithmics and simple but common data structures, presented in a way to make students aware of the analysis and correct planning of a program. In the practical part, the students will have to carry out homework and programming projects putting into practice the concepts seen in the theoretical part. Regular feedback will be offered. Emphasis will be placed on evaluating the performance of the programs and on the structure of the code developed by the students.
The courses will consist of the following chapters:

  • Reminder and supplement of C
  • recursion
  • Program design and organization
  • Algorithmic complexity
  • Sort and search
  • Simple data structures (lists, stacks, files ...)
  • Programming paradigms and languages

Learning outcomes of the learning unit

At the end of the course, the students will have reinforced their knowledge of a programming language (C). They will be able to write programs to solve medium-sized realistic engineering problems. They will master the basics of algorithmics and will have a knowledge of the most common data structures, which they can use concretely in their programs. They will also have acquired a general knowledge of the main programming paradigms.

Prerequisite knowledge and skills

The following course is a prerequisite:


Planned learning activities and teaching methods

The weekly theoretical classes of 2 hours will be complemented by weekly tutorials of 2 hours also, supervised by teaching assistants and student-instructors, and by the accomplishment of homework and projects. These assignments and projects will aim to put into practice the theoretical notions seen in class. The assignments will consist of more targeted programming exercises, while the projects will need to analyze a problem, determine the best algorithm to solve it and implement the solution in C language. Participation in the theoretical course and rehearsals is optional but highly recommended. The completion of homework and projects is mandatory.
The weekly theoretical and exercice class will be complemented by practical assignments, which will consist in analysing a problem, finding the best algorithm and data structures to solve it, and to implement the solution in C. The participation to the theoretical lectures is voluntary but highly recommended. The assignments are mandatory.

Mode of delivery (face-to-face ; distance-learning)

Face-to-face, in the first semester.

Recommended or required readings

Several reference books will be recommended to the students, but not mandatory. Slides, problems and solutions and other materials will be available on the course webpage.

Assessment methods and criteria

Course evaluation will be based on homeworks (20%), projects (60%) and a written exam (20%). The homework and projects will be rated on the basis of their accuracy, the good use of the language and, where appropriate, the quality of the report. The written exam will be open book and may include the theoretical course, the rehearsal exercises but also the homework and projects. Students who have not returned homeworks and projects will be noted absent for the course.
In the second session, the evaluation modalities will be the same. Homeworks and projects not submitted during the year will have to be redone (possibly based on slightly adapted statements).

Work placement(s)

Organizational remarks

All details about the course (slides, practical exercices, projects) are given on this web page: http://www.montefiore.ulg.ac.be/~geurts/ci.html

Contacts

  • Instructor: Pierre Geurts - Tel: 04/366.48.15 - e-mail: p.geurts@uliege.be, Office: 1.134, B28 (Montefiore) 
  • Teaching Assistant: Nicolas Vecoven - e-mail: nvecoven@uliege.be 
  • Preferred contact modes: e-mail or personal contact after the lectures or by appointment.

Items online

Website of the course
This webpage containts lecture slides, rehearsal exercises, and all details about the homeworks and projects.