Bootcamp

Séminaire de rentrée Bootcamp

Responsable : Pierre-Etienne MOREAU, Professeur (Pierre-Etienne.Moreau@univ-lorraine.fr)

Objectifs

  • Découverte du TechLab

  • Initiation aux microcontrôleurs (voir Microcontrôleur)

  • Initiation au langage Java

    • Donner les bases nécessaires pour être capable de se documenter sur le langage Java

    • Compréhension des concepts de bases

    • Comprendre la notion d'héritage et l'organisation de la bibliothèque Java

Niveau requis

  • Notions de programmation en Python correspondant au programme du cours de 1ère année

Programme

Concepts de base

    • notion de classes

    • champ

    • création d'objet

    • utilisation d'objet

    • type primitif

    • méthode

    • peut-on avoir 2 méthodes avec le même nom dans une même classe ? (overloading)

    • constructeurs / plusieurs constructeurs (pas bon)

    • public vs. private

    • static vs. non static

    • flow de contrôle (if-then-else, switch-case, break, return, )

    • prédicat (true, false, ==, <, ...)

    • for loop / while loop (4 variantes, avec foreach)

    • tableau

Architecture / Environnement

    • rappel sur l'exécution d'un programme

    • processeur, système, mémoire

    • machine abstraite

    • assembleur

    • objets, pile, tas et appels de méthodes

    • notion de registre, de SP et de heap

    • rappel sur les String, StringBuffer

    • références et objets

    • Garbage Collector

Concepts avancés

    • introduction à l'héritage

    • notion de classe abstraite

    • liaison dynamique

    • notion d'interface

    • exception

Bibliothèque

    • compilation séparée

    • unité de compilation, module

    • organisation de l'API (http://download.oracle.com/javase/6/docs/api/)

    • packages

    • java.io

    • java.lang

    • java.util

Modalité d'évaluation

Notes de cours 2016

Séances :

  • 04/09/2020 - 9h - Introduction à Java

  • 04/09/2020 - 13h30 - Installation environnement Linux

  • 07/09/2020 - 9h - Concepts avancés en Java

  • 07/09/2020 - 13h30 - TD Sorciers (classes abstraites)

  • 08/09/2020 - 9h - Interfaces et Collections

  • 08/09/2020 - 13h30 - TD Magiciens (interfaces) - github

  • 09/09/2020 - 9h - C - TD Elevator