La chaîne globale
Nécessité de paliers entre la pensée humaine et les séquences binaires 01010001...
Les différentes phases : sources, compilation, binaire
Le cas particulier d'un interpréteur
Ne pas tout réécrire (bibliothèques, éditions de liens, et exécutables)
Algorithme
Les "atomes" pour s'exprimer
Apprendre à formuler un traitement (rien ne s'invente)
Utilisation d'un pseudo langage
Exemples d'algorithme bien conçu, "mal" conçu, et ... faux !
Variables et types de données
Pourquoi typer les variables ?
Exemples de type (entier, réel, caractères...)
Exemples de problèmes liés aux types
Les opérateurs disponibles (+, -, /, */ % ...)
Le confort des tableaux et des structures
La "grammaire" d'un langage
Les blocs de programme (début ... fin)
Le test d'une expression (si ... alors ... sinon ...)
La boucle (tant que ...)
Les conforts syntaxiques
Un premier programme
Présentation de l'environnement de développement
Un premier programme simple en Java
Compilation et exécution
Avantage d'une interface de développement (IDE)
Présentation des acteurs majeurs pour les langages objet
Structurer son programme
La nécessité d'utiliser des procédures ou des fonctions
Différences conceptuelles et syntaxiques entre les deux
Passer des arguments à une fonction (prototype, code retour)
Passage par valeur et par adresse dans une fonction
Les bibliothèques
Ne pas réécrire ce qui existe déjà (librairies)
Écrire ses propres librairies
Comment les utiliser dans d'autres programmes ?
L'importance de la présentation
Les bonnes habitudes pour anticiper les erreurs
Les commentaires utiles et efficaces
Les architectures de code (couches, séparation clients/serveur, etc.)
L'approche Objet
Rappel sur l'algorithme
Les objectifs du monde Objet, les classes et les objets
Travailler avec les attributs et les méthodes (fonctions de classes, constructeurs, destructeurs et accesseurs)
Comprendre et savoir utiliser efficacement l'encapsulation, l'instanciation
Traduction des concepts Objet en langage : les packages et les espaces de noms, les classes, les méthodes et leur visibilité, les attributs et leur visibilité, l'instanciation, l'appel de méthodes et la référence aux variables
Mise en pratique
Analyse et conception
Comprendre le besoin du client
Savoir imaginer une architecture logicielle adaptée
Imaginer les acteurs de l'application
UML
Spécification
Dans quel cas utiliser UML
Diagrammes de cas d'utilisation : que fait notre application ?
Diagrammes de classe : adapter ses connaissances objets aux diagrammes
Diagramme de séquence : modéliser les interactions de nos applications
Utilisation d'UML dans le monde réel