 |  |  |
| INFO0030-3 | Programming Projects
|

 |
| Duration : | 20h Th, 100h Proj. |
 |
| Number of credits : |
|
 |
| Lecturer : | Benoît Donnet |
 |
Language(s) of instruction :
 |
| French language |
 |
Organisation and examination :
 |
| Teaching in the second semester |
 |
Course contents :
 |
| The course is made of a certain number of theoretical lessons (+/- 10 lessons) and various programming projects (4) that must be solved by students, individually or by groups of two.
The theoretical courses aims at introducing concepts required to do the projects. The theoretical courses is made of 4 parts:
Part 1: Advanced C Concepts
- Chapter 1: Advanced C Techniques
Part 2: Tools
- Chapter 1: Compilation
- Chapter 2: Tests
- Chapter 3: Documentation
- Chapter 4: Debugging
- Chapter 5: Performance Analysis
- Chapter 6: Source Code Management
Part 3: Event-Based Programming Concepts
- Chapter 1: Introduction to Graphical User Interfaces
- Chapter 2: Interactive Applications
- Chapter 3: MVC Patter
Part 4: Introduction to Software Engineering
- Chapter 1: Software Engineering Basics
|
 |
Learning outcomes of the course :
 |
| The objective of the course is to allow students to apply principles studied in the programming courses of the 1st Bachelor (INFO0946 and INFO0947) but, also, to learn to write programs, in C, that are correct, efficient, elegant, and readable.
At the end of the course, the student will be able
- to produce a software architecture that is rigourous, efficient and elegant.
- to handle opaque types, program arguments, and write "generic" C code.
- to handle varous tools for helping the programmer, such as the Makefile, library generation, unit tests (with the Seatest library), code documentation (doxygen), code debugging (gdb, valgrind), source code management (svn, git-hub).
- to build a graphical user interface with GTK and the MVC pattern.
- to discuss the different steps for creating a software and the different software development methods.
In addition, students will learn various soft skills, such as report writing, LaTeX, and oral defense of a report. |
 |
Prerequisites and co-requisites/ Recommended optional programme components :
 |
| The course requires several corequisites:
|
 |
Planned learning activities and teaching methods :
 |
| Practical application (i.e., project solving) of concepts/tools seen during lessons. |
 |
Mode of delivery (face-to-face ; distance-learning) :
 |
| Theoretical lessons are based on slides (cfr. web site). Students are supposed to add personal notes on the slides. The audience is expected to actively participate to each course.
Home works are distributed during the semester.
The course is given during the second semester. |
 |
Recommended or required readings :
 |
| The course slides are available on the course web page. A printed version is made available at the CDC. Students are supposed to have a copy of the slides as soon as possible
During the semester, students also receive an individual feedback on their projects. |
 |
Assessment methods and criteria :
 |
| Students are evaluated based on projects and a written exam (done in june, during the session)
The weighting is the following
- Project 1: 10% of the final grade
- Project 2: 10% of the final grade
- Project 3: 10% of the final grade
- Project 4: 50% of the final grade
- Written Exam: 20% of the final grade
The first 3 projects must be done individually. Grades are given based on a generic evaluation matrix (75% of the project grade) shared at the begining of the semester and on key learning outcomes of the project (25% of the project grade).
The 4th project must be done by group of two. It requires, in addition to C code, a written report and an oral defense. 50% of the project grade is assigned with the evaluation matrix, 20% for the learning outcomes, 15% for the written report, and 15% for the oral defense.
The written exam aims at verifying theoretical and practical knowledge of students. Students have to submit all projects. In case of non respecting this rule, the student will not be allowed to present the written exam.
In case of failure in june, all projects must be redone for the resit (no support will be provided during the summer). The exam must also be redone
- The 4th project must be redone individually. However, the report and the defense are not anymore part of the assignment. The grade will thus be assigned based on the evaluation matrix (75%) and the project learniing outcomes (25%).
- The exam grade can be reported if and only if the grade is above 10/20. A student wanting his examen being reported must explicitly ask the authorisation to the Professor.
- You cannot, of course, copy (or be inspired) by project realised during the semester by one of your friends. Plagiarism is prohibited
|
 |
Work placement(s) :
 |
| |
 |
Organizational remarks :
 |
| A web page clearly describing the course is available: http://www.montefiore.ulg.ac.be/~info0030 |
 |
Contacts :
 |
| Teacher: Benoit Donnet (mailto:benoit.donnet@ulg.ac.be(benoit.donnet@ulg.ac.be) -- Office I/15 (B28)
TA: Korian Edeline) |
 |

 |
| Items online : |
|
| Course Web Page |
| Course web page |
|
|