Duration
16h Th, 16h Pr, 30h AUTR
Number of credits
| Bachelor of Science (BSc) 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 of C
- Construction of iterative and recursive algorithms
- Program design and organization
- Algorithmic complexity
- Sort and search
- Data structures (lists, stacks, queues, hash table, trees ...)
- 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 highly recommended. The completion of homework and projects is 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 answers in the report. The written exam will be open book and may include questions on the theoretical course, the rehearsal exercises but also the homework and projects. Students who have not realised the homeworks and projects within the prescribed time or in the prescribed form will not be allowed to take the written exam.
In the second session, projects and assignments not completed during the year, as well as any assignment or project with a score of less than 10, must be repeated (possibly on the basis of adapted statements). For students who did not complete all projects and assignments during the year, the second session weighting will be 40% for projects and 60% for the written exam. For students who had done homework and projects during the year, the weighting applied will be either the first session weighting or 40% for projects, 60% for the written exam, whichever is more favourable to them.
Given the importance of the practical activity in this course, there is no postponement of grades for assignments and projects from one year to the next.
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, Pascal Leroy - e-mail: pleroy@uliege.be
- Preferred contact modes: e-mail or personal contact after the lectures or by appointment.
Adaptation of teaching commitments following the COVID-19 pandemic for the May-June 2020 session
Teaching methods implemented : distance-learning
Assessment subjects
Assessment methods
Contacts
Adaptation of teaching commitments following the COVID-19 pandemic for the Aug-Sept 2020 session
Assessment subjects
The course having been given during the first semester, the subject of the assessment is unchanged.
Assessment methods
The conditions of the evaluation during the second session are unchanged from the initial teaching commitments, with the only difference that the written exam will be carried out remotely via the ecampus platform.
Contacts
Items online
Website of the course
This webpage containts lecture slides, rehearsal exercises, and all details about the homeworks and projects.