2019-2020 / INFO0201-1

Introduction à la programmation

Durée

20h Th, 40h Pr

Nombre de crédits

 Bachelier en sciences géographiques, orientation générale6 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 ; enseignement à distance)

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

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 qui se déroule en une séance de 4 heures (8h30-12h30 ou 14h-18h; 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

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

Adaptation des engagements pédagogiques suite à la pandémie de COVID-19 pour la session de mai-juin

Méthodes d'apprentissage mises en œuvre : enseignement à distance

Le cours ex cathedra est remplacé par des podcasts qui ont été realisés par le professeur. Ces podcasts contiennent les slides du cours garnies des explications orales de la part du professeur. Les slides de présentation des séances de travaux pratiques ont été remplacées par des podcasts réalisés par les assistants. Ces podcasts sont disponibles sur eCampus.
Les exercices de programmation sont mis à disposition sur eCampus. Les étudiants sont invités à réaliser des programmes C/C++ pour résoudre ces exercices et à contacter les assistants en cas de problème. La participation à ces exercices est facultatif dans le sens qu'elle n'intervient pas dans la détermination de la cote totale associée au cours.
Des forums ont été installés sur eCampus afin de pouvoir répondre aux questions posées par des étudiants de manière publique.

Matière de l'évaluation

La matière d l'évaluation recouvre l'intégralité du cours (chapitres 1 - 8) ainsi que des exercices de programmation.

Méthodes d'évaluation

L'évaluation du cours se fera par un examen écrit qui se déroulera à distance. Cet examen comporte la réalisation de quelques programmes à l'ordinateur (partie pratique, 70%) et la réponse écrite à quelques questions (partie théorique, 30%). Les étudiants auront 4 heures pour cet examen. Les modalités techniques de cet examen seront communiquées par mail aux étudiants.

Contact

Titulaire du cours : Peter Schlagheck : Peter.Schlagheck@uliege.be
Assistants : Renaud Chrétien : rchretien@uliege.be Guillaume Vanhaele : guillaume.vanhaele@uliege.be

Adaptation des engagements pédagogiques suite à la pandémie de COVID-19 pour la session août-sept

Matière de l'évaluation

La matière d l'évaluation recouvre l'intégralité du cours (chapitres 1 - 8) ainsi que des exercices de programmation.

Méthodes d'évaluation (et plateforme utilisée)

L'évaluation du cours se fera par un examen écrit qui se déroulera à distance. Cet examen comporte la réalisation de quelques programmes à l'ordinateur (partie pratique, 70%) et la réponse écrite à quelques questions (partie théorique, 30%). Les étudiants auront 4 heures pour cet examen. Les modalités techniques de cet examen seront communiquées par mail aux étudiants.

Contact(s)

Titulaire du cours : Peter Schlagheck : Peter.Schlagheck@uliege.be
Assistants : Renaud Chrétien : rchretien@uliege.be Guillaume Vanhaele : guillaume.vanhaele@uliege.be

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 physique : séance 1
variables, instructions, opérations élémentaires, entrée/sortie

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

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

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

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

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

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

TP physique : séance 7
pointeurs, tableaux dynamiques

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

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