| INFO0946-1 | |||||
| Introduction to computer programming | |||||
|
Duration :
|
|||||
| 30h Th, 20h Pr, 10h Labo. | |||||
|
Number of credits :
|
|||||
|
|||||
|
Lecturer :
|
|||||
| Benoît Donnet | |||||
|
Language(s) of instruction :
|
|||||
| French language | |||||
|
Organisation and examination :
|
|||||
| Teaching in the first semester, review in January | |||||
|
Units courses prerequisite and corequisite :
|
|||||
| Prerequisite or corequisite units are presented within each program | |||||
|
Course contents :
|
|||||
The course alternates between specific aspect of the C programming language and algorithmic aspects.
The main themes are the following: basic syntax and semantic of the C language, simple algorithms (linear run of an array, cumulative mathematical operations, binary search, introduction to sorting problems), dividing a problem into sub-problems, introduction to development methodology (problem analysis, invariant loop, terminating function), algorithm analysis (complexity), basic data structures (record, array, string, files), program modularity (function/procedure, global variable), documenting code with specifications (defensive programming), pointers and memory dynamic allocation.
The course structure is the following:
|
|||||
|
Learning outcomes of the course :
|
|||||
| The purpose of the course is to introduce, to students, basic principles of computer science and, in particular, the basic principles of programming.
The concept of a correct and efficient algorithm is highlighted, in particular in the context of a strict methodology. Dividing a problem into sub-problems, construction the solution with invariant loop, documentation of the code through specifications.
The programming language studied is C.
A the end of the course, the student will be able to analyze an average size problem, to propose data structures, to divide the problem into sub-problems and to solve each one, in C, in an efficient way. In addition, he will be able to evaluate the performance of his solution.
The student will also be able to use basic command line tools under Linux (among others in order to manage source code, compile it, and run it). |
|||||
|
Prerequisite knowledge and skills :
|
|||||
| The course does not assume any knowledge in computer science or programming. However, the course assume each student has a good knowledge of French (spoken and written). | |||||
|
Planned learning activities and teaching methods :
|
|||||
| In addition to the course, practical sessions (i.e., solving a problem) will be weekly organized. Each practical session lasts 2 hours. Each student will have 13 practical sessions during the semester. Those sessions are mandatory. The list of exercises to prepare (at home) prior to each practical session is given at the begining of the semester. Preparing at home those exercises is mandatory
In addition, laboratory sessions (i.e., solving a problem in front of a computer) will be organized. Each laboratory session lasts 2 hours. Each student will have 5 laboratory sessions during the semester. Those sessions are mandatory.
Finally, students also have the opportunity to learn soft skills during the semester. In particular, a formation introducing command line tools and Linux environment will be proposed to students. |
|||||
|
Mode of delivery (face-to-face ; distance-learning) :
|
|||||
| The course is given during the 1st semester, face-to-face. The course is built around examples and small exercises. The audience may be asked to actively participate to lessons. Students are also supposed to take additional notes. | |||||
|
Recommended or required readings :
|
|||||
The course support is mostly made of slides. A printable version (2 slides/page) is available, since the starting of the Academic Year, at the Centrale des Cours. An electronic version of the slides is also available on the course web page. The students are supposed to have, as soon as possible, the slides.
A written support for exercises (practical and laboratory sessions) is also available at the Centrale des Cours. An electronic version is also available on the course web page. Each student is supposed to have the exercises book at the first practical (or laboratory) session. Each student is supposed to have a copy of the written support for exercises for the very first practical session (typically by the end of september)
There is no mandatory book in this course. However, any student desiring to have an additional written support may refer to those books (in French -- they all were used to build the course):
|
|||||
|
Assessment methods and criteria :
|
|||||
The students are assessed as follows:
|
|||||
|
Work placement(s) :
|
|||||
|
Organizational remarks :
|
|||||
| The course is given during the 1st semester.
The Teacher and the TA are available, weekly, for Q/As (details and how to register for those Q/As are indicated on the course Web page, section "Contact"). In any case, it is always possible to contact them (with some prior email) |
|||||
|
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 Page The course Web page is of the highest importance as it covers contact information, PDFs, agenda and an example of an exam |
||||