2023-2024 / INFO0201-1

Introduction à la programmation

Durée

20h Th, 40h Pr

Nombre de crédits

 Bachelier en sciences géographiques, orientation générale5 crédits 
 Bachelier en sciences physiques6 crédits 

Enseignant

Peter Schlagheck

Langue(s) de l'unité d'enseignement

Langue française

Organisation et évaluation

Enseignement au deuxième quadrimestre

Horaire

Horaire en ligne

Unités d'enseignement prérequises et corequises

Les unités prérequises ou corequises sont présentées au sein de chaque programme

Contenus de l'unité d'enseignement

Le cours donne une introduction à l'art de la programmation en C/C++. Après une introduction générale au fonctionnement d'un ordinateur, les composantes élémentaires du langage de programmation C/C++ seront expliquées et leur application sera démontrée et discutée.
Sujets du cours en détail : - la logique électronique à la base de transistors - l'information binarisée : les bits et les octets - le fonctionnement principal d'un ordinateur - le syntaxe et les instructions élémentaires de C/C++ - les outils algorithmiques - les fonctions - les fichiers et la compilation - les tableaux et les pointeurs

Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement

Les objectifs principaux de ce cours sont - d'apprendre comment réaliser de petits programmes afin de résoudre des problèmes numériques, - de se familiariser avec les techniques de programmation générales (boucles, fonctions, tableaux, ...), - de savoir comment fonctionne un ordinateur en principe, afin de juger ce qui est praticable en programmation (e.g. du point de vue de la mémoire et du CPU), -de préparer pour le cours "Méthodes numériques de la physique".

Savoirs et compétences prérequis

Activités d'apprentissage prévues et méthodes d'enseignement

40 heures de travaux pratiques devant un ordinateur sont prévus pour ce cours. Ils se déroulent dans les salles informatiques 4/15 et 4/34 au bâtiment B5a. Des interrogations cotées seront organisées pendant les séances des travaux pratiques.

Mode d'enseignement (présentiel, à distance, hybride)

Le cours sera donné en présentiel "ex cathedra" par une présentation à projecteur. Les étudiants inscrits au cours pourront télécharger les slides via myULg.

Lectures recommandées ou obligatoires et notes de cours

Littérature recommandée : - T. Bastin: "Le Langage C/C++" (ULg, notes du cours) - H.-P. Garnir: "Introduction à l'Informatique" (ULg, notes du cours) -S. Lippmann, J. Lajoie & B.E. Moo: "C++ Primer" (Addison-Wesley, 2005) -B. Stroustrup: "The C++ Programming Language" (Addison-Wesley, 1997)

Modalités d'évaluation et critères

Examen(s) en session

Toutes sessions confondues

- En présentiel

évaluation écrite ( questions ouvertes )


Explications complémentaires:

L'évaluation sera effectuée par les interrogations organisées pendant les séances des travaux pratiques (10% de la cote totale) ainsi que par un examen (90% de la cote totale). Ce dernier comporte la réalisation de quelques programmes à l'ordinateur (partie pratique, 70%) et la réponse écrite à quelques questions (partie théorique, 30%).

Stage(s)

Remarques organisationnelles et modifications principales apportées au cours

Contacts

Peter Schlagheck Département de Physique Université de Liège IPNAS, bâtiment B15, local 0/125 Sart Tilman 4000 Liège Tél : 04 366 9043 Email : Peter.Schlagheck@ulg.ac.be http://www.pqs.ulg.ac.be

Association d'un ou plusieurs MOOCs

Notes en ligne

Chapitre 1
La logique électronique

Chapitre 2
L'information binarisée

Chapitre 3
Le fonctionnement d'un ordinateur

Chapitre 4
La programmation élémentaire en C/C++

Chapitre 5
Les outils algorithmiques

Chapitre 6
Les fonctions

Chapitre 7
Les fichiers et la compilation

Chapitre 8
Les tableaux

Code::Blocks
Introduction au logiciel Code::Blocks

notes de cours C/C++
Notes de cours sur le langage de programmation C/C++ du Pr. Thierry Bastin

Podcast Chapitre 1
Ce podcast a pour seule vocation d'être utilisé par les étudiants dans le cadre de leur cursus au sein de l'Université de Liège.
Aucun autre usage ni diffusion n'est autorisé, sous peine de constituer une violation de la Loi du 30 juin 1994 relative au droit d'auteur.

TP séance 1
variables, instructions, opérations élémentaires, entrée/sortie

TP séance 1 - version imprimable
variables, instructions, opérations élémentaires, entrée/sortie

TP séance 2
branchements conditionnels, boucles, fonctions mathématiques

TP séance 2 - version imprimable
branchements conditionnels, boucles, fonctions mathématiques

TP séance 3
tableaux, nombres aléatoires, erreurs et débogage

TP séance 3 - version imprimable
tableaux, nombres aléatoires, erreurs et débogage

TP séance 4
fonctions et routines, lecture et écriture dans des fichiers

TP séance 6
chaîne de caractères

TP séance 7
pointeurs, tableaux dynamiques

TP séance 7 - version imprimable
pointeurs, tableaux dynamiques

TP séance 8
Pointeurs, headers, tableaux dynamiques à 2 dimensions

TP séance 8 - version imprimable
Pointeurs, headers, tableaux dynamiques à 2 dimensions

TP séance d'introduction
Travaux pratiques: séance d'introduction

TP séance d'introduction - version imprimable
Travaux pratiques: séance d'introduction