Certificat Programmeur Java
Financement
- Chèque annuel de formation (CAF)
CAF750n°2800 Voir conditions
Prérequis
Description
Public
Toute personne débutante en programmation ayant une motivation et un goût marqué pour la programmation ainsi que les programmeurs qui désirent apprendre un autre langage informatique.Perspectives professionnelles
Le langage Java est largement utilisé dans les entreprises spécialement pour la partie back-office. Le programmeur Java est appelé à intervenir pour développer ou faire évoluer des applications dans divers domaines (banque, finance, administration, industrie, etc).Objectifs
- De mettre en ?uvre les fonctionnalités récentes introduites dans le langage Java.
- Appliquer les concepts orientés objet : abstraction, encapsulation, héritage et polymorphisme
- Utiliser les fonctionnalités natives de Java: visibilité (public, protected, package, private), properties, exception, dates, expressions régulières, fichiers, JDBC
- Utiliser les tests unitaires : JUnit
- Choisir les structures de données appropriées : Tables, Listes, Ensembles et Dictionnaires
- Utiliser la syntaxe moderne de Java : Stream, lambda
- Faire la programmation fonctionnelle et la programmation générique
- Utiliser Gradle et Maven
- Gérer la version avec Github
- Déployer une application Java
- Tester et faire tester votre application
Contenu
Découverte de Java
- Présentation du langage Java
- Environnements Windows, Linux, MacOs
- Installation : JRE, JDK, IntelliJIDEA
- Environnement de développement (JDK, JRE, JVM, javac, java, jse)
- Environnement de production (JVM, JRE, java)
Les bases de Java
- Les variables, types, conversions de types
- Les opérateurs arithmétiques et logiques
- Mutabilité et immuabilité
- Le debugger
Les structures de contrôle
- Les instructions if, else if et else
- L'instruction switch
- L'opérateur ternaire
- Introduction aux itérables
- Les boucles for & while
- Les instructions continue et break
Les fonctions
- Introduction aux fonctions
- Les paramètres et arguments
- Passage par valeur ou référence
Programmation orientée objet
- Introduction à la POO
- Les classes et objets
- Les attributs et constructeurs
- Les méthodes
- Les accesseurs
- L'héritage
- Les méthodes de comparaison d'objets et d'affichage
- Les records
- Introduction aux interfaces
- Les classes internes
- Les énumérations
Tableaux et collections
- Les tableaux
- Type List : les listes
- Type Set : les ensembles
- Type Map : les associations clés/valeurs
- La méthode hashCode
- Les interfaces des collections
Les packages & Visibilités
- Packages et sous-packages
- Private, Public, Protected & Package
Mini projet
- Introduction au projet
- Mise en place du projet
- Préparation de l'algorithme
- Améliorations du projet
La gestion d'erreurs
- Introduction aux exceptions
- Les blocs try / catch / finally
- Les exceptions personnalisées
- L'instruction try-with-resources
Les dates
- Les classes standard des Date, Time, Duration et Period
- Formatter les dates
- Les classes mathématiques
- Introduction aux classes mathématiques
- La classe java.lang.Math
- La classe java.math.BigInteger
- La classe java.math.BigDecimal
La programmation fonctionnelle
- Introduction à la programmation fonctionnelle
- Interfaces fonctionnelles et expressions Lambda
- API Stream : Les méthodes terminales
- Introduction à l'API Stream
- API Stream : les méthodes intermédiaires
Les génériques
- Introduction aux génériques
- Les classes et méthodes génériques
- La classe java.util.Optional
- La classe Object
- Les annotations
- Introduction à l'introspection
- Héritage et généricité
- Les expressions régulières
- Qu'est-ce qu'une expression régulière ?
- Construire des regex valides
- Les classes Pattern et Matcher
- Les méthodes de Matcher en détails
Gradle & Maven
- Présentation de Gradle
- Les Tasks
- Le plugin java
- Les dépendances
- Les plugins
- Le wrapper
- Le deamon Gradle
Tests et JUnit
- Introduction aux tests
- Tests unitaires
- Les mocks
- Rapports de tests
- Les méthodes "setup" et "teardown"
- Manipulation des fichiers en Java
- Introduction aux flux
- Les flux de caractères
- Les flux d'octets
- La classe File
- Précisions sur Scanner et Closeable
- Présentation de l'API NIO 2
Properties et internationalisation
- Introduction aux properties
- La classe ResourceBundle
- L'internationalisation (i18n)
- Des properties plus complexes
Le logging
- Introduction au logging
- Les loggers
- Configurer les loggers
- Exemple d'utilisation des loggers
Réseau et sérialisation
- Introduction réseau et sérialisation
- L'interface Serializable
- Serveurs TCP
- Sérialisation JSON
- Serveurs HTTP
La programmation parallèle
- Introduction : le multithreading
- Runnable et Thread
- Manipuler des threads
- Les race conditions
- Synchronisation et verrous
- Immutabilité et parallélisme
Méthode et supports
La méthodologie est participative avec des exercices pratiques et repose sur une implication importante de la part des apprenantes et apprenants.Intervenants
intervenant-es qualifié-es et expérimenté-es, issu-es du milieu professionnel de la matière enseignée et ayant réalisé plusieurs projets et applications web.Evaluation et titre décerné
L'évaluation certificative prend la forme de contrôles continus (QCM) et implique la réalisation d'un projet (application Java fonctionnelle).Informations complémentaires
Durée et horaires:
120 périodes, en matinée ou après-midi, ou 16 semaines de 2 leçons par semaine, en soirée.
Chèque annuel de formation (CAF) : CHF 750.-
N° CAF : 2800
Conditions d'obtention et procédure à suivre : www.ge.ch/caf