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 Python language.

Goals

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 and emphasize their use for structuring a program. We study the use of tables and data structures and introduce some key notions of algorithmics. The programming language used in this course is Python, 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 Python 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.
 

Assessment method

The evaluations for modules SINFB103 and SINFB104 are linked. SINFB103 and SINFB104 build on the content covered in module SINFB103.

At the end of Q1, students will be assessed by means of a written examination covering the first half of the syllabus taught in module SINFB103. This written examination accounts for 100% of the marks for module SINFB103.

At the end of Q2, students will be assessed by means of a written examination covering the entire syllabus taught in module SINFB103. This written examination accounts for 100% of the marks for module SINFB104.

For those who fail module SINFB103 while passing module SINFB104:

No SINFB103/104 exam in Q3 if the ‘weighted’ average mark is equal or higher than 10/20 

SINFB103/104 exam in Q3 is required if the ‘weighted’  average mark is below 10/20

For those who pass SINFB103 and fail SINFB104: Exam in Q3 is required

Exam SINFB103/104 in Q3: Written examination at the end of Q3 covering the entire content of module SINFB103

Passing the Q3 exam means passing SINFB103 and SINFB104

Sources, references and any support material

The slides used during the course are available on Webcampus.

Textbook : Apprendre à programmer avec Python 3" (3ème édition), de Gérard Swinnen publié aux éditions Eyrolles (isbn: 9782212134346)

Available at chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://inforef.be/swi/download/apprendre_python3_5.pdf

 
 

Language of instruction

French
Training Block Credits Mandatory
Bachelor in Mathematics 1 3 Yes