| INFO0947-1 | |||||
| Complements of computer programming | |||||
|
Duration :
|
|||||
| 30h Th, 22h Pr, 45h Proj. | |||||
|
Number of credits :
|
|||||
|
|||||
|
Lecturer :
|
|||||
| Benoît Donnet | |||||
|
Language(s) of instruction :
|
|||||
| French language | |||||
|
Organisation and examination :
|
|||||
| Teaching in the second semester | |||||
|
Units courses prerequisite and corequisite :
|
|||||
| Prerequisite or corequisite units are presented within each program | |||||
|
Course contents :
|
|||||
| The objective of the course is to increase students' programming skills.
In particular, the course can be divided in two big parts:
The course structure is the following:
|
|||||
|
Learning outcomes of the course :
|
|||||
| The purpose of the course is to improve the students knowledge and skills in programming. A program construction and its complexity will be at the heart of the course, through a strict methodology based on Hoare's triplet. The programming language used is C. At the end of the course, the student will be able to model (through assertions) a problem, to draw from the model formal specifications and invariant loops on which he will build his code. The student will also be able to use an advanced data structure, as well as to entirely define (signature, semantic, and implementation) an abstract data type. Finally, the student will learn how to write reports (for various assignments through the semester) with the LaTeX tool. | |||||
|
Prerequisite knowledge and skills :
|
|||||
Corequisites are the following:
|
|||||
|
Planned learning activities and teaching methods :
|
|||||
| In addition to theoretical lessons, practical sessions (i.e., exercises) will be weekly organized. Each session last 2 hours. Attending those sessions is mandatory. Each student must prepare a certain number of exercises prior to each practical session. Computers/tablets/smartphones are prohibited during practical sessions.
In addition, the course proposes several assignments, during the semester, in order to illustrate and practice notions taught. Each assignment requires to write a C program, as well as a report (in French). Those assignments, to be done by group of 2, are mandatory.
Additional trainings are also proposed during the semester (report writing, LaTeX usage) |
|||||
|
Mode of delivery (face-to-face ; distance-learning) :
|
|||||
| Theoretical lessons are given during the second semester, in face-to-face. Theoretical lessons are build around examples and small exercises. The audience is supposed to participate during lessons. In addition, students are supposed to take additional notes. To this end, computers/tablets/smartphones are prohibited during the course. | |||||
|
Recommended or required readings :
|
|||||
Notes are essentially made of slides. A printable version (2 slides/page) is available, since the beginning of the semester, at the Centrale des Cours. An electronic version (PDF) of the slides is also made available on the course Web page. Students are supposed to have the slides as soon as possible.
Practical sessions subjects are made available electronically on the course Web page. A printed version will also be available at the Centrale des Cours
No book is mandatory for this course. However, any student willing to have an additional written support may refer to those books (in French -- they were used to build the course):
|
|||||
|
Assessment methods and criteria :
|
|||||
| Students are assessed in two ways: assignments and exam.
Assignments
The course is composed of several assignments (typically three), to be realized by group of two. Groups are formed at the early stage of the semester. Groups cannot be modified during the semester.
Those assignments count for 40% of the final grade.
Those assignments are mandatory. Any student that does not give back an assignment cannot take the June exam. In that case, the student will automatically have a resit (with an absence).
Exam
The exam is oral and mandatory. It is organized in June and is made of two parts. First, the students is examined by the Teacher. Second, the student must quickly code a function/procedure (related to programming assignments) with the TA. The exam counts for 60% of the final grade.
The main objective of the oral exam is to check the student's ability to think by himself and his ability to adopt a strict methodological approach when solving a problem. There is also a possibility for an oral resit exam. This oral exam is optional. Any student thinking he failed in June (exam + assignment) with a grade below 10/20 can take the oral exam. Typical questions of the oral exam may be taken from the written exam and/or the various assignments. Septembre Resit In case of failure in June, there are two possibilities for the student:
|
|||||
|
Work placement(s) :
|
|||||
|
Organizational remarks :
|
|||||
| The course is given during the second semester. | |||||
|
Contacts :
|
|||||
| Teacher: Benoit Donnet (benoit.donnet@ulg.ac.be) -- Office 1.15 (B28)
TA: Simon Liénardy (simon.lienardy@ulg.ac.be) -- Office R.83a (B28) |
|||||
|
Items online :
|
|||||
![]() | Course Web Site The web site is important as it covers contact information, PDFs and assignments subjects |
||||