Course 2022-2023

Programming I [SINFB103]

  • 3 credits
  • 30h+16h
  • 1st quarter
Language of instruction: French / Français
Teacher: TUCI ELIO

Learning outcomes

By the end of SINFB103 and SINFB104, the students will master the basics of imperative programming and will be able to write small-scale programs in the C language.

Objectives

The goal of the units SINF B103 and SINF B104 is to introduce the students to the basic concepts of algorithmics and imperative programming, and to familiarise them with a rigourous approach for the construction of (small) programs.
 

Content

After introducing the key concepts behind the concepts of algorithms and programs, we study the basic elements of imperative programming: variable assignment and control structures (sequence, selection, and iteration). We pay attention to the formal reasoning underlying programming in particular for the construction of loops (the invariant method) and the creation of computation by iteration. We study the use sub-programs including parameter passing (by value and by reference) and emphasize their use for structuring a program. We study the use of tables and structures and introduce some key notions of algorithmics and complexity. The programming language used in this course is C, although the concepts discussed and the methodology to be acquired are independent of a particular language.
 

Table of contents

The contents of the course is divided in 6 units:
  1. Introducing the notions of algorithm and program
  2. Basic elements of C programming
  3. Computing by iteration
  4. Functions being the essential components of a program 
  5. Data structures
  6. Introduction to algorithmics 
 

Teaching methods

Lectures (ex-cathedra) where students are introduced to the complete contents described above. Exercice sessions are organized every other week and deal with the first halve of the course contents (the first three units). Before each exercice session, the students are asked to prepare a series of introductory exercices, registered into their personal portfolio, that will be completed with exercices resolved during the session. Students will submit some of their exercices - in paticular those made during the session - to Webcampus. Students will participate in a peer reviewing process in which they evaluate the exercices of their fellow students.
 

Evaluations

Students are evaluated during the semester based on their personal exercises portfolio and, in partiuclar, on the exercises that are realised during the guided exercise sessions and submitted to Webcampus.
 

Recommended readings

A course syllabus is available (in french); W. Vanhoof, Introduction à la programmation. Université de Namur, 194 pages.
 
The slides used during the course are available on Webcampus.
 
Some other references that could be used but that go beyond what is seen in the course:
 
M. Sprankle, Problem solving and programming concepts, 2006 Pearson education.
Tim Bailey, An Introduction to the C programming language and Software design.
N. Dale and C. Weems. Programming and problem solving with C. Jones & Bartlett
Kernighan, B.W. and Ritchie, D.M. Le langage C (ANSI). Dunod 2005
 

Language of instruction

French / Français

Location for course

NAMUR

Organizer

Faculté des sciences
Rue de Bruxelles, 61
5000 NAMUR

Degree of Reference

Undergraduate Degree