Duration
16h Th, 16h Pr, 30h AUTR
Number of credits
| Bachelor in engineering | 4 crédits |
Lecturer
Language(s) of instruction
French language
Organisation and examination
Teaching in the first semester, review in January
Schedule
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:
- INFO2009: Introduction to computer science (http://progcours.ulg.ac.be/cocoon/cours/INFO2009-2.html)
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.