Programme des cours 2023-2024
INAE0001-2  
Initiation aux langages de programmation
  • C
  • Java
Durée :
C : 15h Th, 15h Pr
Java : 12h Th, 12h Pr
Nombre de crédits :
Bachelier en informatique, orientation développement d'applications5
Nom du professeur :
C : Benoit Burlion
Java : Isabelle Dony
Coordinateur(s) :
Benoit Burlion
Langue(s) de l'unité d'enseignement :
Langue française
Organisation et évaluation :
Enseignement au premier quadrimestre, examen en janvier
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 :
Voir la description des activités d'apprentissage du module
C
Comprendre les diverses étapes pour construire un programme exécutable à partir d'un programme C.

Construire des programmes intégrant les notions suivantes:

  • Lire à l'écran et écrire au clavier (ce qui inclut la notion de format des données)
  • Les types, les opérateurs, les expressions, l'affectation
  • Les structures de contrôle
  • Utilisation d'une bibliothèque
  • Les tableaux
  • Les chaînes de caractères
  • Les fonctions
Java
Compiler et exécuter un programme Java en ligne de commande; implémenter des programmes intégrant les notions suivantes:

  • Les types primitifs et opérateurs
  • Les conversions entre types primitifs
  • Les structures de contrôle
  • Les tableaux
  • La classe String
  • Les méthodes
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
Savoirs:
Connaître les notions fondamentales des langages: bien maitriser la syntaxe et la sémantique du langage.
Savoir-faire:
Implémenter des algorithmes, modéliser des problèmes, documenter son travail, valider ses programmes
Savoir-être:
respecter les échéances, travailler de manière régulière, fournir des codes lisibles et documentés
C
Ce cours initiera l'étudiant au langage C, un langage impératif incontournable. Il permettra à l'étudiant d'appliquer/de concrétiser les concepts vus dans le cours de méthodes de programmation et d'apprendre le C.   Ce langage « de programmation système » sera utilisé en première année dans les laboratoires d'OS et dans le cours de fichiers, il servira également de base pour l'apprentissage du C++ et C# en 2ème année, dans le cours de structure de données et dans d'autres cours. 

en termes de savoirs :

  • L'étudiant devra connaître les notions fondamentales de C : maîtriser la syntaxe et la sémantique du langage (compétence : concevoir et implémenter des algorithmes répondant à des spécifications et des fonctionnalités données...)
en termes de savoir-faire :

  • Implémenter des algorithmes en C. (compétence : concevoir et implémenter des algorithmes répondant à des spécifications et des fonctionnalités données...)
  • Documenter son travail.
  • Valider ses algorithmes. (Compétence : mettre en œuvre un processus de validation)
en termes de savoir-être/devenir :

  • Rendre les travaux en respectant les différentes consignes.  (Compétences : Evaluer la charge et la durée de travail liée à une tâche, Planifier son travail, respecter les délais prévus, suivre un protocole méthodologique précis)
  • Fournir des codes lisibles et documentés. (Compétence : documenter son travail afin d'en permettre la traçabilité)
Java
en termes de savoirs
  • Connaître les notions fondamentales de Java : maîtriser la syntaxe et la sémantique du langage. (compétence : concevoir et implémenter des algorithmes répondant à des spécifications et des fonctionnalités données)
en termes de savoir-faire
  • Implémenter des algorithmes simples en Java. (compétence : concevoir et implémenter des algorithmes répondant à des spécifications et des fonctionnalités données)
  • Utiliser la classe String et quelques autres classes utilitaires(Scanner, JOptionPane, Math ...) 
  • Documenter son travail.
  • Vérifier la correction de ses algorithmes. (Compétence : mettre en œuvre un processus de validation)
en termes de savoir-être/devenir
  • Rendre les travaux en respectant les différentes consignes. (Compétences : évaluer la charge et la durée de travail liée à une tâche, planifier son travail, respecter les délais prévus, suivre un protocole méthodologique précis)
  • Fournir des codes lisibles et documentés. (Compétence : documenter son travail afin d'en permettre la traçabilité)
Savoirs et compétences prérequis :
C
  • pas de prérequis particulier
  • en corequis avec le module de méthode de programmation
Java
  • pas de prérequis particulier
  • en corequis avec le module de méthode de programmation
Activités d'apprentissage prévues et méthodes d'enseignement :
C
  • Concepts théoriques expliqués au tableau
  • Laboratoires à l'école réalisés sur papiers et /ou sur machines avec feedback et corrections.
  • Travaux à réaliser à la maison, parfois intégrés avec d'autres AA, en évaluation continue ou en évaluation formative (avec feedback général ou feedback individuel).
Java
  • Les concepts théoriques sont expliqués au tableau
  • Laboratoires à l'école réalisés sur papiers et /ou sur machines avec feedback et corrections.
  • Travaux à réaliser à la maison, parfois intégrés avec d'autres AA, en évaluation continue ou en évaluation formative (avec feedback général ou feedback individuel).
Mode d'enseignement (présentiel, à distance, hybride) :
  • Cours théoriques
  • Travaux dirigés ( laboratoires sur machine)
  • Travaux à la maison
  • Toute activité organisée durant le quadrimestre (par exemple une conférence) est en rapport avec la matière de l'activité d'apprentissage
C
  • Cours théoriques
  • Travaux dirigés ( laboratoires sur machine)
  • Travaux à la maison
  • Toute activité organisée durant le quadrimestre (par exemple une conférence) est en rapport avec la matière de l'activité d'apprentissage


Nous privilégions : Présentiel + travail à la maison

Toute activité organisée durant le quadrimestre (par exemple une conférence), non dispensée par l'enseignant, et qui est en rapport avec la matière de l'activité d'apprentissage, compte dans les heures de ladite activité d'apprentissage. La matière abordée par l'activité en question pourra faire l'objet d'une évaluation, quelle soit continue ou certificative.
Notez que la matière abordée par l'activité en question pourra faire l'objet d'une évaluation, quelle soit continue ou certificative.
Java
Présentiel 
+ travail à la maison

+ toute activité organisée durant le quadrimestre ( par exemple une conférence), en rapport avec la matière de l'AA même si elle n'est pas dispensée par l'enseignant titulaire du cours ( l'activité compte dans les heures de l'AA)

Notez que la matière abordée par l'activité en question pourra faire l'objet d'une évaluation, quelle soit continue ou certificative.
Lectures recommandées ou obligatoires et notes de cours :
C
le syllabus
Java
le syllabus
Modalités d'évaluation et critères :
Les activités d'apprentissages (AA : Java et Langage C) de cette unitié d'enseignement (UE) sont évaluées distinctement car elles vérifient des connaissances syntaxiques propres à chaque langage sur des concepts communs.


Les critères d'évaluation de chacune des activités sont décrits au niveau des activités.

Règle de validation de l'unité : moyenne géométrique pondérée des deux AA.


 
C
Les activités d'apprentissages (AA : Java et Langage C) de cette unitié d'enseignement (UE) sont évaluées distinctement car elles vérifient des connaissances syntaxiques propre à chaque langage sur des concepts communs.

Evaluation continue (30%) :
  - Interrogations
  - Projet à implémenter intégrant toutes les connaissances acquises à travers cette unité

Examen écrit (70%) :
  - Examen écrit

En seconde session, seul l'examen écrit est considéré dans la note globale.
Java
Les activités d'apprentissages (AA : Java et Langage C) de cette unitié d'enseignement (UE) sont évaluées distinctement car elles vérifient des connaissances syntaxiques propres à chaque langage sur des concepts communs.

Evaluation continue (30%):

  • Interrogations   
et/ou 

  • Travaux dirigés et évalués: Ceux-ci permettent d'appliquer les connaissances acquises au cours tout en intégrant la méthode de programmation et sa logique, et tout en insistant sur la documentation (les spécifications) et la validation d'un programme.
Examen écrit en présentiel(70%):

  • Quelques algorithmes à concevoir et implémenter (sur papier ou  sur pc)
  • Et  quelques questions plus spécifiques au langage de programmation Java, à la représentation des données dans la mémoire, etc.
En seconde session (cad en aout/septembre), seul l'examen écrit est considéré dans la note globale, l'évaluation continue n'est donc comptabilisée que en janvier et en juin
Stage(s) :
Remarques organisationnelles :
C
  • Les énoncés des exercices et projets sont postés sur Moodle.
  • Pour la plupart des exercices, une solution est postée.
  • Les travaux réalisés par l'étudiant sont à poster sur le moodle.
Java
  • Les énoncés des exercices et projets sont postés sur Moodle.
  • Pour la plupart des exercices, une solution est postée sur Moodle.
  • Les travaux réalisés par l'étudiant sont à poster sur le moodle.
Contacts :
isabelle.dony[at]hers.be
benoit.burlion[at]hers.be
C
benoit.burlion[at]hers.be
Java
isabelle.dony@hers.be