La Programmation Orienté Objets
5 livres et 6 critiques, dernière mise à jour le 31 août 2022 , note moyenne : 4.3
Détails du livre
Sommaire
Critiques (1)
0 commentaire
Apprendre la Programmation Orientée Objet avec le langage C#
de Luc GERVAIS
Public visé :
Débutant
Résumé de l'éditeur
Ce livre s'adresse aux étudiants et aux développeurs ayant déjà une première expérience de la programmation structurée et qui sont désireux de passer à la Programmation Orientée Objet (POO) avec le langage C#, pour développer des applications .NET.
Après un historique de la POO et du langage C#, l'auteur explique pourquoi ce type de programmation est devenu incontournable pour développer dans les environnements graphiques événementiels. Les notions d'objet, de classe, et de référence sont présentées aux lecteurs puis les fondements de la POO que sont l'encapsulation, l'héritage, le polymorphisme et l'abstraction. Les différentes étapes d'un développement objet avec les principes de modélisation UML sont exposées.
L'auteur présente ensuite le framework .NET, son intérêt, sa richesse et son environnement de développement avec Microsoft Visual Studio 2015 Community. Le lecteur découvre comment C# reproduit les principes de la POO avec des explications simples, des exemples concrets et des exercices corrigés à télécharger sur le site www.editions-eni.fr. Il découvre également les types de base du développement .NET et leur utilisation, les nouveautés du C# 6 et comment exploiter Visual Studio 2015 pour simplifier saisie des programmes et mise au point. Les programmes d'essais sont de type console ou graphique, basés sur l'utilisation des Windows Forms pour illustrer les communications entre objets. Quand ils sont pertinents, des parallèles sont menés avec les langages de programmation objet C++ et Java. La communication entre mondes managé et non managé est abordée ainsi que la conception de tests de régression en forme objets. Enfin, l'aspect programmation multithread permettant l'exécution simultanée de plusieurs flux d'instructions et la programmation asynchrone terminent l'ouvrage.
À la fin de ce livre, le lecteur disposera de bases solides pour appréhender les puissantes bibliothèques du .NET et réaliser des programmes objet modulaires, fiables et extensibles.
Édition : ENI - 410 pages, 2e édition, 9 mars 2016
ISBN10 : 2409000339 - ISBN13 : 9782409000331
- Introduction à la POO
- La conception orientée objet
- Introduction au framework .NET et à VS
- Les types du C#
- Création de classes
- Héritage et polymorphisme
- Communication entre objets
- Le multithreading
- P-Invoke
- Les tests
La seconde édition de « Apprendre la Programmation Orientée Objet avec le langage C# » de Luc Gervais est un livre reprenant l’ensemble des concepts du paradigme de programmation orientée objet qu’il illustre à l’aide d’implémentation en C#. Le propos tenu y est clair et est illustré de très nombreux exemples, ce qui le rend véritablement abordable même par un débutant en programmation.
L’auteur balaye ici l’intégralité des concepts de ce type de programmation, de la conception pour arriver jusqu’à l’implémentation, et apporte un soin particulier à en illustrer les plus abstraits. En effet, il est appréciable de découvrir (ou de redécouvrir) la programmation orientée objet sous l’éclairage contemporain du C# et de Visual Studio. Egalement, le chapitre sur le multithreading ancre d’autant plus cet enseignement dans une réalité actuelle, celle des plateformes multi-cœurs/processeurs. L’objectif de ce manuel est clair : de l’information concrète et exploitable sur des outils actuels.
On notera que ce livre contient des exercices et de nombreux conseils relatifs à l’utilisation de Visual Studio (probablement l’IDE de choix pour le développement en C#) qui peuvent s’avérer utiles aux étudiants comme aux professionnels souhaitant revoir certaines connaissances. En conclusion, il s’agit d’un ouvrage complet qui reprend l’intégralité des éléments théoriques caractérisant la programmation orientée objet et qui les illustre d’une manière très concrète dans un langage de programmation actuel, le C#. J’ai trouvé cet ouvrage à la fois exhaustif et pragmatique, ce qui en fait, à mon humble avis, un livre à obligatoirement posséder.
L’auteur balaye ici l’intégralité des concepts de ce type de programmation, de la conception pour arriver jusqu’à l’implémentation, et apporte un soin particulier à en illustrer les plus abstraits. En effet, il est appréciable de découvrir (ou de redécouvrir) la programmation orientée objet sous l’éclairage contemporain du C# et de Visual Studio. Egalement, le chapitre sur le multithreading ancre d’autant plus cet enseignement dans une réalité actuelle, celle des plateformes multi-cœurs/processeurs. L’objectif de ce manuel est clair : de l’information concrète et exploitable sur des outils actuels.
On notera que ce livre contient des exercices et de nombreux conseils relatifs à l’utilisation de Visual Studio (probablement l’IDE de choix pour le développement en C#) qui peuvent s’avérer utiles aux étudiants comme aux professionnels souhaitant revoir certaines connaissances. En conclusion, il s’agit d’un ouvrage complet qui reprend l’intégralité des éléments théoriques caractérisant la programmation orientée objet et qui les illustre d’une manière très concrète dans un langage de programmation actuel, le C#. J’ai trouvé cet ouvrage à la fois exhaustif et pragmatique, ce qui en fait, à mon humble avis, un livre à obligatoirement posséder.
Commenter Signaler un problème
Ce livre s'adresse aux étudiants et aux développeurs ayant déjà une première expérience de la programmation structurée et qui sont désireux de passer à la Programmation Orientée Objet (POO) avec le langage C#, pour développer des applications .NET.
Après un historique de la POO et du langage C#, l'auteur explique pourquoi ce type de programmation est devenu incontournable pour développer dans les environnements graphiques événementiels. Les notions d'objet, de classe, et de référence sont présentées aux lecteurs puis les fondements de la POO que sont l'encapsulation, l'héritage, le polymorphisme et l'abstraction. Les différentes étapes d'un développement objet avec les principes de modélisation UML sont exposées.
L'auteur présente ensuite le framework .NET, son intérêt, sa richesse et son environnement de développement avec Microsoft Visual Studio 2015 Community. Le lecteur découvre comment C# reproduit les principes de la POO avec des explications simples, des exemples concrets et des exercices corrigés à télécharger sur le site www.editions-eni.fr. Il découvre également les types de base du développement .NET et leur utilisation, les nouveautés du C# 6 et comment exploiter Visual Studio 2015 pour simplifier saisie des programmes et mise au point. Les programmes d'essais sont de type console ou graphique, basés sur l'utilisation des Windows Forms pour illustrer les communications entre objets. Quand ils sont pertinents, des parallèles sont menés avec les langages de programmation objet C++ et Java. La communication entre mondes managé et non managé est abordée ainsi que la conception de tests de régression en forme objets. Enfin, l'aspect programmation multithread permettant l'exécution simultanée de plusieurs flux d'instructions et la programmation asynchrone terminent l'ouvrage.
À la fin de ce livre, le lecteur disposera de bases solides pour appréhender les puissantes bibliothèques du .NET et réaliser des programmes objet modulaires, fiables et extensibles.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Détails du livre
Sommaire
Critiques (1)
0 commentaire
ADO.NET 3.5 Cookbook
de Bill Hamilton
Public visé :
Débutant
Résumé de l'éditeur
This guide is strikingly different from other books on Microsoft ADO.NET. Rather than load you down with theory, the new edition of ADO.NET 3.5 Cookbook gives you more than 200 coding solutions and best practices for real problems you're likely to face with this technology using Visual Studio 2008 and the .NET 3.5 platform.
Organized to help you find the topic and specific recipe you need quickly and easily, this book is more than just a handy compilation of cut-and-paste C# code. ADO.NET 3.5 Cookbook also offers clear explanations of how and why each code solution works, and warns you of potential pitfalls so you can learn to adapt the book's problem-solving techniques to different situations.
Ideal for ADO.NET programmers at all levels, from the relatively inexperienced to the most sophisticated, this new edition covers the significant 3.5 upgrade, including new programming tools such as LINQ. ADO.NET 3.5 Cookbook offers a painless way for those of you who prefer to learn by doing when it comes to expanding your skills and productivity.
Organized to help you find the topic and specific recipe you need quickly and easily, this book is more than just a handy compilation of cut-and-paste C# code. ADO.NET 3.5 Cookbook also offers clear explanations of how and why each code solution works, and warns you of potential pitfalls so you can learn to adapt the book's problem-solving techniques to different situations.
Ideal for ADO.NET programmers at all levels, from the relatively inexperienced to the most sophisticated, this new edition covers the significant 3.5 upgrade, including new programming tools such as LINQ. ADO.NET 3.5 Cookbook offers a painless way for those of you who prefer to learn by doing when it comes to expanding your skills and productivity.
Édition : O'Reilly UK - 980 pages, 2e édition, 1er mars 2008
ISBN10 : 0596101406 - ISBN13 : 9780596101404
- Connecting to Data
- Working with Disconnected Data Objects
- Querying and Retrieving Data
- Searching and Analyzing Data
- Adding and Modifying Data
- Copying and Transferring Data
- Maintaining Database Integrity
- Programmatically Working with Data in .NET Windows and Web Forms User Interfaces
- Working with XML Data
- Optimizing .NET Data Access
- Enumerating and Maintaining Database Objects
- SQL Server CLR Integration
- What's New in ADO.NET Since Version 1.0
Ce livre fait partie de la gamme Cookbook" d'O'Really. Il s'agit d'une gamme regroupant des livres dont le contenu est un ensemble de fiches au format problème/solution/discutions. ADO.NET 3.5 Cookbook contient plus de 200 fiches de ce genre réparties sur douze chapitres. Chaque fiche permet de répondre à une problématique bien précise, par exemple: comment se connecter à une base de donnée Oracle, comment passer la valeur Null en paramètre d'une requête, comment énumérer la liste des providers .NET présent sur une machine. Cette organisation permet en plus de lire les fiches dans un ordre quelconques (chacune étant indépendante des autres) ainsi que de retrouver une information précise plus facilement.
Le code complet de chaque solution est disponible ainsi que les copies écrans des sorties console. Les exemples de code sont tous en C# mais leurs équivalents en VB.NET sont disponibles sur le site de l'éditeur (après enregistrement de sa copie du livre). Des explications détaillées permettent de comprendre chaque morceau de code donné en solution. Le livre se focalise principalement sur SQL server mais pas mal d'exemples sont aussi disponibles sur les interactions avec des bases Oracle, Access et même des fichiers Excel.
Cependant, le titre est trompeur car il y a en fait peu de contenu spécifique au Framework 3.5. Pour ceux qui veulent un livre sur Linq to SQL, passez votre chemin ! Ici nous parlons de SqlCommand, de DataReader, de DataSet. D'ailleurs, en parlant de DataSet ce livre en fait une utilisation un peu trop courante à mon goût. Le chapitre 8 par exemple est dédié à la liaison entre données et composants d'interface graphique. Je n'ai cependant pas trouvé ce chapitre très intéressant étant donné que tout passe par l'utilisation de DataSets directement remplis dans la couche de l'interface graphique. Ceux qui comme moi aiment utiliser des objets métiers et séparer leur code en différentes couches risquent de sauter ce chapitre.
Au final il s'agit d'un bon livre sur les entrailles d'ADO.NET. Les débutants comme les développeurs confirmés y trouveront sans nul doute de quoi améliorer leurs connaissances.
Le code complet de chaque solution est disponible ainsi que les copies écrans des sorties console. Les exemples de code sont tous en C# mais leurs équivalents en VB.NET sont disponibles sur le site de l'éditeur (après enregistrement de sa copie du livre). Des explications détaillées permettent de comprendre chaque morceau de code donné en solution. Le livre se focalise principalement sur SQL server mais pas mal d'exemples sont aussi disponibles sur les interactions avec des bases Oracle, Access et même des fichiers Excel.
Cependant, le titre est trompeur car il y a en fait peu de contenu spécifique au Framework 3.5. Pour ceux qui veulent un livre sur Linq to SQL, passez votre chemin ! Ici nous parlons de SqlCommand, de DataReader, de DataSet. D'ailleurs, en parlant de DataSet ce livre en fait une utilisation un peu trop courante à mon goût. Le chapitre 8 par exemple est dédié à la liaison entre données et composants d'interface graphique. Je n'ai cependant pas trouvé ce chapitre très intéressant étant donné que tout passe par l'utilisation de DataSets directement remplis dans la couche de l'interface graphique. Ceux qui comme moi aiment utiliser des objets métiers et séparer leur code en différentes couches risquent de sauter ce chapitre.
Au final il s'agit d'un bon livre sur les entrailles d'ADO.NET. Les débutants comme les développeurs confirmés y trouveront sans nul doute de quoi améliorer leurs connaissances.
Commenter Signaler un problème
This guide is strikingly different from other books on Microsoft ADO.NET. Rather than load you down with theory, the new edition of ADO.NET 3.5 Cookbook gives you more than 200 coding solutions and best practices for real problems you're likely to face with this technology using Visual Studio 2008 and the .NET 3.5 platform.
Organized to help you find the topic and specific recipe you need quickly and easily, this book is more than just a handy compilation of cut-and-paste C# code. ADO.NET 3.5 Cookbook also offers clear explanations of how and why each code solution works, and warns you of potential pitfalls so you can learn to adapt the book's problem-solving techniques to different situations.
Ideal for ADO.NET programmers at all levels, from the relatively inexperienced to the most sophisticated, this new edition covers the significant 3.5 upgrade, including new programming tools such as LINQ. ADO.NET 3.5 Cookbook offers a painless way for those of you who prefer to learn by doing when it comes to expanding your skills and productivity.
[Lire la suite]
Organized to help you find the topic and specific recipe you need quickly and easily, this book is more than just a handy compilation of cut-and-paste C# code. ADO.NET 3.5 Cookbook also offers clear explanations of how and why each code solution works, and warns you of potential pitfalls so you can learn to adapt the book's problem-solving techniques to different situations.
Ideal for ADO.NET programmers at all levels, from the relatively inexperienced to the most sophisticated, this new edition covers the significant 3.5 upgrade, including new programming tools such as LINQ. ADO.NET 3.5 Cookbook offers a painless way for those of you who prefer to learn by doing when it comes to expanding your skills and productivity.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Détails du livre
Critiques (1)
0 commentaire
Conception et Programmation orientées objet
de Bertrand MEYER
Public visé :
Expert
Résumé de l'éditeur
Écrit dans un style d'une clarté absolue, cet ouvrage réussit le tour de force d'être à la fois un livre de réflexion approfondie sur les concepts objet et un ouvrage pratique, apportant des réponses concrètes aux questions que se posent tous les programmeurs et concepteurs de logiciels: Comment construire des applications logicielles fiables, performantes, faciles à utiliser et à faire évoluer ?
Partant d'une analyse des écueils souvent rencontrés dans les projets de développement, Bertrand Meyer définit une liste de critères de qualité logicielle et en déduit un ensemble de règles et de principes qui conduisent naturellement aux grands concepts objet.
Théorie du typage, gestion de la mémoire, techniques d'héritage, programmation concurrente, objets distribués, persistance et bases de données objet, analyse et conception, réutilisabilité... : tous les aspects du processus de développement logiciel et des technologies objet sont expliqués et discutés dans leurs moindres détails, dans un style brillant, souvent drôle et provocateur.
Une lecture dont on sort intellectuellement subjugué, et techniquement mieux armé pour répondre à ses défis professionnels.
Ce livre s'adresse à tous les architectes logiciel, ingénieurs méthode et programmeurs impliqués dans des projets de développement logiciel et souhaitant approfondir leur compréhension des technologies objet, ainsi qu'aux étudiants en informatique (niveau 2e cycle ou écoles d'ingénieur).
Partant d'une analyse des écueils souvent rencontrés dans les projets de développement, Bertrand Meyer définit une liste de critères de qualité logicielle et en déduit un ensemble de règles et de principes qui conduisent naturellement aux grands concepts objet.
Théorie du typage, gestion de la mémoire, techniques d'héritage, programmation concurrente, objets distribués, persistance et bases de données objet, analyse et conception, réutilisabilité... : tous les aspects du processus de développement logiciel et des technologies objet sont expliqués et discutés dans leurs moindres détails, dans un style brillant, souvent drôle et provocateur.
Une lecture dont on sort intellectuellement subjugué, et techniquement mieux armé pour répondre à ses défis professionnels.
Ce livre s'adresse à tous les architectes logiciel, ingénieurs méthode et programmeurs impliqués dans des projets de développement logiciel et souhaitant approfondir leur compréhension des technologies objet, ainsi qu'aux étudiants en informatique (niveau 2e cycle ou écoles d'ingénieur).
Édition : Eyrolles - 1224 pages, 1re édition, 1er juillet 2000
ISBN10 : 2212091117 - ISBN13 : 9782212091113
Ce livre est une véritable référence, que dis-je : une BIBLE !
L'auteur nous fait découvrir tous les principes de la programmation orientée objet, des concepts les plus simples aux plus compliqués.
L'auteur nous permet, en plus, de découvrir le langage qu'il a inventé: le langage Eiffel.
Bref, ce livre constitue la référence en matière de POO, même si sa lecture nécessite tout de même d'avoir quelques notions dans ce domaine.
Un conseil: Achetez-le !
L'auteur nous fait découvrir tous les principes de la programmation orientée objet, des concepts les plus simples aux plus compliqués.
L'auteur nous permet, en plus, de découvrir le langage qu'il a inventé: le langage Eiffel.
Bref, ce livre constitue la référence en matière de POO, même si sa lecture nécessite tout de même d'avoir quelques notions dans ce domaine.
Un conseil: Achetez-le !
Commenter Signaler un problème
Écrit dans un style d'une clarté absolue, cet ouvrage réussit le tour de force d'être à la fois un livre de réflexion approfondie sur les concepts objet et un ouvrage pratique, apportant des réponses concrètes aux questions que se posent tous les programmeurs et concepteurs de logiciels: Comment construire des applications logicielles fiables, performantes, faciles à utiliser et à faire évoluer ?
Partant d'une analyse des écueils souvent rencontrés dans les projets de développement, Bertrand Meyer définit une liste de critères de qualité logicielle et en déduit un ensemble de règles et de principes qui conduisent naturellement aux grands concepts objet.
Théorie du typage, gestion de la mémoire, techniques d'héritage, programmation concurrente, objets distribués, persistance et bases de données objet, analyse et conception, réutilisabilité... : tous les aspects du processus de développement logiciel et des technologies objet sont expliqués et discutés dans leurs moindres détails, dans un style brillant, souvent drôle et provocateur.
Une lecture dont on sort intellectuellement subjugué, et techniquement mieux armé pour répondre à ses défis professionnels.
Ce livre s'adresse à tous les architectes logiciel, ingénieurs méthode et programmeurs impliqués dans des projets de développement logiciel et souhaitant approfondir leur compréhension des technologies objet, ainsi qu'aux étudiants en informatique (niveau 2e cycle ou écoles d'ingénieur).
[Lire la suite]
Partant d'une analyse des écueils souvent rencontrés dans les projets de développement, Bertrand Meyer définit une liste de critères de qualité logicielle et en déduit un ensemble de règles et de principes qui conduisent naturellement aux grands concepts objet.
Théorie du typage, gestion de la mémoire, techniques d'héritage, programmation concurrente, objets distribués, persistance et bases de données objet, analyse et conception, réutilisabilité... : tous les aspects du processus de développement logiciel et des technologies objet sont expliqués et discutés dans leurs moindres détails, dans un style brillant, souvent drôle et provocateur.
Une lecture dont on sort intellectuellement subjugué, et techniquement mieux armé pour répondre à ses défis professionnels.
Ce livre s'adresse à tous les architectes logiciel, ingénieurs méthode et programmeurs impliqués dans des projets de développement logiciel et souhaitant approfondir leur compréhension des technologies objet, ainsi qu'aux étudiants en informatique (niveau 2e cycle ou écoles d'ingénieur).
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Détails du livre
Sommaire
Critiques (2)
0 commentaire
C # - Développez avec Visual Studio 2008 (Broché)
de Thierry Groussard
Public visé :
Débutant
Résumé de l'éditeur
Ce livre sur C# s'adresse aux développeurs, même débutants, désireux de maîtriser le langage C#.
Après une description de l'environnement de développement (Visual Studio 2008), le lecteur découvrira les bases de la programmation orientée objet avec C#.
Il évoluera de façon progressive vers sa mise en uvre avec le développement d'applications Windows Form.
Les nombreux exemples et les conseils sur l'utilisation des outils de débogage lui fourniront une aide précieuse pendant la réalisation d'une application.
Un chapitre consacré à l'accès aux bases de données à l'aide de ADO.NET 2.0 et de SQL permettra d'évoluer vers le développement d'applications client-serveur.
Les puissantes fonctionnalités de LINQ sont présentées et détaillées pour faciliter l'accès et la manipulation des données.
L'utilisation du langage XML est également présenté permettant ainsi de faciliter l'échange d'informations avec d'autres applications.
Les utilisateurs des versions précédentes découvriront les nouveautés et améliorations de cette version 2008 leur permettant de développer encore plus rapidement et facilement des applications pour le framework .NET 3.5 et pour Windows Vista.
La distribution d'une application est présentée avec l'utilisation de Windows Installer et de la technologie Click Once.
Les exemples cités dans le livre sont en téléchargement sur le site de l'éditeur.
Après une description de l'environnement de développement (Visual Studio 2008), le lecteur découvrira les bases de la programmation orientée objet avec C#.
Il évoluera de façon progressive vers sa mise en uvre avec le développement d'applications Windows Form.
Les nombreux exemples et les conseils sur l'utilisation des outils de débogage lui fourniront une aide précieuse pendant la réalisation d'une application.
Un chapitre consacré à l'accès aux bases de données à l'aide de ADO.NET 2.0 et de SQL permettra d'évoluer vers le développement d'applications client-serveur.
Les puissantes fonctionnalités de LINQ sont présentées et détaillées pour faciliter l'accès et la manipulation des données.
L'utilisation du langage XML est également présenté permettant ainsi de faciliter l'échange d'informations avec d'autres applications.
Les utilisateurs des versions précédentes découvriront les nouveautés et améliorations de cette version 2008 leur permettant de développer encore plus rapidement et facilement des applications pour le framework .NET 3.5 et pour Windows Vista.
La distribution d'une application est présentée avec l'utilisation de Windows Installer et de la technologie Click Once.
Les exemples cités dans le livre sont en téléchargement sur le site de l'éditeur.
Édition : ENI - 482 pages, 9 juin 2008
ISBN10 : 2746042614 - ISBN13 : 9782746042612
- Présentation de la plate-forme .NET
- Présentation de Visual Studio
- Organisation d'une application
- Bases du langage
- Programmation objet
- Gestion des erreurs et débogage du code
- Applications Windows
- Accès aux bases de données
- Présentation de LINQ
- Utilisation de XML
- Déploiement d'applications et de composants
Après une entrée matière sur la plate forme .net et l'organisation des projets dans les chapitres 1 à 3 l'auteur rentre dans le détail syntaxique du langage C#.
La description commence par les éléments de base du langage : variables, constantes énumérations, opérateurs, structure, procédures et fonctions et enfin assemblies namespace et attributs.
Cette description tient sur un chapitre soit à peu près 50 pages, c'est donc une description concentrée mais précise, convenant très bien à des lecteurs pratiquants un langage comme le C ou le C++, pour les autres il faudra s'attarder un peu plus longtemps sur ces pages et faire des essais.
Le chapitre 5 est consacré à la programmation objet.
Environ de la même taille que le chapitre précédent ( ~50 pages) il expose les éléments de syntaxe sur les classes et leurs utilisations, l'héritage ,les interfaces, les délégués, les types génériques et les collections de données.
Encore une fois sans expérience préalable sur la programmation objet de premier niveau c'est-à-dire une utilisation basique des éléments exposés dans un autre langage comme le c++ le lecteur risque d'être un peu égaré, car ce contenu se veut pratique.
L'auteur enchaine ensuite sur un court chapitre sur la gestion des erreurs et le débogage du code ( 24 pages), le contenu est synthétique mais très bien illustré.
C'est à partir du chapitre 7 que le développement des applications Windows est abordé.
C'est le plus gros chapitre de ce livre (112 pages), l'auteur passe en revue les différents types d'application, les fenêtres, la gestion des événements claviers et souris, les boîtes de dialogues et enfin les contrôles Windows disponibles.
Chaque élément est brièvement décrit et illustré par des images et mis en action avec une portion de code réduite à l'utilisation du contrôle.
Le chapitre 8 concerne l'accès aux bases de données (24 pages), il est construit comme les autres chapitres pour délivrer une information brève et concise.
Le chapitre 9 est une présentation de Linq (32 pages), très bien expliqué dans la partie liens avec des objets, un peut court sur la partie LINQ vers SQL en ce qui concerne les outils pour le mappage d'objet relationnel.
Le chapitre 10 concerne l'utilisation de XML (13 pages), les opérations basiques à partir de DOM et XPATH sont décrites, mais c'est très bref .
Enfin le chapitre 11 est consacré au déploiement d'applications et de composants ( 26 pages).
L'auteur décrit l'utilisation de Windows Installer et ClickOnce.
C'est bien expliqué avec des images illustrant chaque étape de la mise en ouvre.
Conclusion :
Un livre clair et facile à lire, de nombreuses illustrations émaillent les différents chapitres.
Les exemples donnés sont très simples et sont disponibles sur le site de l'éditeur au format .txt sans projets directement utilisables, dommage.
Bien que le livre soit conseillé pour développeurs débutants, je pense que la cible est plus à propos sur des développeurs ayant une petite expérience de .net ou graphique autre dans un langage proche, idéalement le C++.
Ce livre devenant alors un moyen très rapide d'appréhender C# pour développer des applications Windows.
La description commence par les éléments de base du langage : variables, constantes énumérations, opérateurs, structure, procédures et fonctions et enfin assemblies namespace et attributs.
Cette description tient sur un chapitre soit à peu près 50 pages, c'est donc une description concentrée mais précise, convenant très bien à des lecteurs pratiquants un langage comme le C ou le C++, pour les autres il faudra s'attarder un peu plus longtemps sur ces pages et faire des essais.
Le chapitre 5 est consacré à la programmation objet.
Environ de la même taille que le chapitre précédent ( ~50 pages) il expose les éléments de syntaxe sur les classes et leurs utilisations, l'héritage ,les interfaces, les délégués, les types génériques et les collections de données.
Encore une fois sans expérience préalable sur la programmation objet de premier niveau c'est-à-dire une utilisation basique des éléments exposés dans un autre langage comme le c++ le lecteur risque d'être un peu égaré, car ce contenu se veut pratique.
L'auteur enchaine ensuite sur un court chapitre sur la gestion des erreurs et le débogage du code ( 24 pages), le contenu est synthétique mais très bien illustré.
C'est à partir du chapitre 7 que le développement des applications Windows est abordé.
C'est le plus gros chapitre de ce livre (112 pages), l'auteur passe en revue les différents types d'application, les fenêtres, la gestion des événements claviers et souris, les boîtes de dialogues et enfin les contrôles Windows disponibles.
Chaque élément est brièvement décrit et illustré par des images et mis en action avec une portion de code réduite à l'utilisation du contrôle.
Le chapitre 8 concerne l'accès aux bases de données (24 pages), il est construit comme les autres chapitres pour délivrer une information brève et concise.
Le chapitre 9 est une présentation de Linq (32 pages), très bien expliqué dans la partie liens avec des objets, un peut court sur la partie LINQ vers SQL en ce qui concerne les outils pour le mappage d'objet relationnel.
Le chapitre 10 concerne l'utilisation de XML (13 pages), les opérations basiques à partir de DOM et XPATH sont décrites, mais c'est très bref .
Enfin le chapitre 11 est consacré au déploiement d'applications et de composants ( 26 pages).
L'auteur décrit l'utilisation de Windows Installer et ClickOnce.
C'est bien expliqué avec des images illustrant chaque étape de la mise en ouvre.
Conclusion :
Un livre clair et facile à lire, de nombreuses illustrations émaillent les différents chapitres.
Les exemples donnés sont très simples et sont disponibles sur le site de l'éditeur au format .txt sans projets directement utilisables, dommage.
Bien que le livre soit conseillé pour développeurs débutants, je pense que la cible est plus à propos sur des développeurs ayant une petite expérience de .net ou graphique autre dans un langage proche, idéalement le C++.
Ce livre devenant alors un moyen très rapide d'appréhender C# pour développer des applications Windows.
La majeure partie de ce livre est basée sur l'apprentissage et les nouveautés de la plateforme .NET 3.5, du langage C#, de Visual Studio et de la POO. Si jamais vous êtes déjà un connaisseur de ces trois choses, il vous faudra passer les 200 premières pages et donc les 5 premiers chapitres.
Le chapitre 6 lui, consacré essentiellement au débogage et à la gestion d'erreur, présente en majeure partie les nouveautés de Visual C# 2008 sur ces questions. Cette partie est très intéressante car on y apprend à se servir de ces nouveautés pour faire un code efficace et ce rapidement.
Le chapitre 7 parle des applications qui sont propres à Windows (gestion des contrôles, clavier/souris, boîte de dialogue,...). Ce chapitre est bien pratique car il montre bien comment utiliser ces applications, même si on ne les avait jamais utilisées auparavant, pour les incorporer dans vos codes simplement.
Les chapitres 8 et 9 sont consacrés à la gestion d'une BDD avec ADO.NET et LINQ. Le chapitre sur ADO.NET est assez complet, même s'il ne nous montre que les bases et deux ou trois petites choses en plus. Par contre le chapitre qui traite de LINQ - seulement une petite dizaine de pages - malgré qu'il soit bien expliqué est trop court car j'ai trouvé vraiment intéressant son utilisation et suis resté un peu sur ma faim.
Le chapitre 10, quant à lui, nous parle de l'utilisation de XML. On y voit comment est fait un document XML et diverses utilisations possibles pour la communication et l'échange avec d'autres applications. Ce chapitre est encore une fois un peu maigre avec même pas 10 pages.
Pour le dernier chapitre, on apprend à se servir de Windows Installer et de ClickOnce pour pouvoir créer des exécutables afin de mettre à la disposition des utilisateurs vos applications ou encore pour permettre aux utilisateurs d'installer vos applications à partir d'un emplacement précis. Ce chapitre est vraiment bien décrit et explique bien chaque étape de l'utilisation de ces deux outils.
Conclusion: Très bon livre pour apprendre ou maîtriser le C# - les codes y sont vraiment bien expliqués - simple à comprendre autant pour un débutant que pour un utilisateur confirmé. Seule lacune, la pauvreté du chapitre sur LINQ qui pourrait être un peu plus développé. Pour le chapitre sur XML, malgré sa maigreur, tout y est bien expliqué pour l'utilisation que l'on en fait dans ce livre .
Le chapitre 6 lui, consacré essentiellement au débogage et à la gestion d'erreur, présente en majeure partie les nouveautés de Visual C# 2008 sur ces questions. Cette partie est très intéressante car on y apprend à se servir de ces nouveautés pour faire un code efficace et ce rapidement.
Le chapitre 7 parle des applications qui sont propres à Windows (gestion des contrôles, clavier/souris, boîte de dialogue,...). Ce chapitre est bien pratique car il montre bien comment utiliser ces applications, même si on ne les avait jamais utilisées auparavant, pour les incorporer dans vos codes simplement.
Les chapitres 8 et 9 sont consacrés à la gestion d'une BDD avec ADO.NET et LINQ. Le chapitre sur ADO.NET est assez complet, même s'il ne nous montre que les bases et deux ou trois petites choses en plus. Par contre le chapitre qui traite de LINQ - seulement une petite dizaine de pages - malgré qu'il soit bien expliqué est trop court car j'ai trouvé vraiment intéressant son utilisation et suis resté un peu sur ma faim.
Le chapitre 10, quant à lui, nous parle de l'utilisation de XML. On y voit comment est fait un document XML et diverses utilisations possibles pour la communication et l'échange avec d'autres applications. Ce chapitre est encore une fois un peu maigre avec même pas 10 pages.
Pour le dernier chapitre, on apprend à se servir de Windows Installer et de ClickOnce pour pouvoir créer des exécutables afin de mettre à la disposition des utilisateurs vos applications ou encore pour permettre aux utilisateurs d'installer vos applications à partir d'un emplacement précis. Ce chapitre est vraiment bien décrit et explique bien chaque étape de l'utilisation de ces deux outils.
Conclusion: Très bon livre pour apprendre ou maîtriser le C# - les codes y sont vraiment bien expliqués - simple à comprendre autant pour un débutant que pour un utilisateur confirmé. Seule lacune, la pauvreté du chapitre sur LINQ qui pourrait être un peu plus développé. Pour le chapitre sur XML, malgré sa maigreur, tout y est bien expliqué pour l'utilisation que l'on en fait dans ce livre .
Commenter Signaler un problème
Ce livre sur C# s'adresse aux développeurs, même débutants, désireux de maîtriser le langage C#.
Après une description de l'environnement de développement (Visual Studio 2008), le lecteur découvrira les bases de la programmation orientée objet avec C#.
Il évoluera de façon progressive vers sa mise en uvre avec le développement d'applications Windows Form.
Les nombreux exemples et les conseils sur l'utilisation des outils de débogage lui fourniront une aide précieuse pendant la réalisation d'une application.
Un chapitre consacré à l'accès aux bases de données à l'aide de ADO.NET 2.0 et de SQL permettra d'évoluer vers le développement d'applications client-serveur.
Les puissantes fonctionnalités de LINQ sont présentées et détaillées pour faciliter l'accès et la manipulation des données.
L'utilisation du langage XML est également présenté permettant ainsi de faciliter l'échange d'informations avec d'autres applications.
Les utilisateurs des versions précédentes découvriront les nouveautés et améliorations de cette version 2008 leur permettant de développer encore plus rapidement et facilement des applications pour le framework .NET 3.5 et pour Windows Vista.
La distribution d'une application est présentée avec l'utilisation de Windows Installer et de la technologie Click Once.
Les exemples cités dans le livre sont en téléchargement sur le site de l'éditeur.
[Lire la suite]
Après une description de l'environnement de développement (Visual Studio 2008), le lecteur découvrira les bases de la programmation orientée objet avec C#.
Il évoluera de façon progressive vers sa mise en uvre avec le développement d'applications Windows Form.
Les nombreux exemples et les conseils sur l'utilisation des outils de débogage lui fourniront une aide précieuse pendant la réalisation d'une application.
Un chapitre consacré à l'accès aux bases de données à l'aide de ADO.NET 2.0 et de SQL permettra d'évoluer vers le développement d'applications client-serveur.
Les puissantes fonctionnalités de LINQ sont présentées et détaillées pour faciliter l'accès et la manipulation des données.
L'utilisation du langage XML est également présenté permettant ainsi de faciliter l'échange d'informations avec d'autres applications.
Les utilisateurs des versions précédentes découvriront les nouveautés et améliorations de cette version 2008 leur permettant de développer encore plus rapidement et facilement des applications pour le framework .NET 3.5 et pour Windows Vista.
La distribution d'une application est présentée avec l'utilisation de Windows Installer et de la technologie Click Once.
Les exemples cités dans le livre sont en téléchargement sur le site de l'éditeur.
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Détails du livre
Sommaire
Critiques (1)
0 commentaire
L'Intelligence Artificielle pour les développeurs
Concepts et implémentations en C#
de Virginie MATHIVET
Public visé :
Intermédiaire
Résumé de l'éditeur
Ce livre sur l'Intelligence Artificielle s'adresse particulièrement aux développeurs et ne nécessite pas de connaissances mathématiques approfondies. Au fil des chapitres, l'auteur présente les principales techniques d'Intelligence Artificielle et, pour chacune d'elles, les inspirations, biologiques, physiques voire mathématiques, puis les différents concepts et principes (sans entrer dans les détails mathématiques), avec des exemples et figures pour chacun de ceux-ci. Les domaines d'application sont illustrés par des applications réelles et actuelles. Chaque chapitre contient un exemple d'implémentation générique, complété par une application pratique, développée en C#. Ces exemples de code étant génériques, ils sont facilement adaptables à de nombreuses applications C#, que ce soit en Silverlight, sur Windows Phone, pour Windows 8 ou pour des applications .Net plus classiques. Les techniques d'Intelligence Artificielle décrites sont : - Les systèmes experts, permettant d'appliquer des règles pour prendre des décisions ou découvrir de nouvelles connaissances. - La logique floue, permettant de contrôler des systèmes informatiques ou mécaniques de manière beaucoup plus souple que les programmes traditionnels. - Les algorithmes de recherche de chemin, dont le A* très utilisé dans les jeux vidéo pour trouver les meilleurs itinéraires. - Les algorithmes génétiques, utilisant la puissance de l'évolution pour apporter des solutions à des problèmes complexes. - Les principales métaheuristiques, dont la recherche tabou, trouvant des optimums à des problèmes d'optimisation, avec ou sans contraintes. - Les systèmes multi-agents, simulant des foules ou permettant des comportements émergents à partir de plusieurs agents très simples. - Les réseaux de neurones, capables de découvrir et de reconnaître des modèles, dans des suites historiques, des images ou encore des données. Pour aider le lecteur à passer de la théorie à la pratique, l'auteur propose en téléchargement sur le site www.editions-eni.fr, sept projets Visual Studio 2013 (un par technique d'Intelligence Artificielle), développés en C#. Chaque projet contient une PCL, pour la partie générique, et une application WPF, pour la partie spécifique à l'application proposée. Le livre se termine par une bibliographie, permettant au lecteur de trouver plus d'informations sur ces différentes techniques, une sitographie listant quelques articles présentant des applications réelles, une annexe et un index. Les chapitres du livre : Avant-propos - Introduction - Systèmes experts - Logique floue - Recherche de chemins - Algorithmes génétiques - Métaheuristiques d'optimisation - Systèmes multi-agents - Réseaux de neurones - Bibliographie - Sitographie - Annexe
Édition : ENI - 484 pages, 1re édition, 1er décembre 2014
ISBN10 : 2746092158 - ISBN13 : 9782746092150
Introduction
1. Structure du chapitre
2. Définir l’intelligence
3. L’intelligence du vivant
4. L’intelligence artificielle
5. Domaines d’application
6. Synthèse
Systèmes experts
1. Présentation du chapitre
2. Exemple : un système expert en polygones
2.1 Triangles
2.2 Quadrilatères
2.3 Autres polygones
3. Contenu d'un système expert
3.1 Base de règles
3.2 Base de faits
3.3 Moteur d'inférences
3.4 Interface utilisateur
4. Types d'inférences
4.1 Chaînage avant
4.1.1 Principe
4.1.2 Application à un exemple
4.2 Chaînage arrière
4.2.1 Principe
4.2.2 Application à un exemple
4.3 Chaînage mixte
5. Étapes de construction d'un système
5.1 Extraction des connaissances
5.2 Création du moteur d'inférences
5.3 Écriture des règles
5.4 Création de l'interface utilisateur
6. Performance et améliorations
6.1 Critères de performance
6.2 Amélioration des performances par l'écriture des règles
6.3 Importance de la représentation du problème
7. Domaines d’application
7.1 Aide au diagnostic
7.2 Estimation de risques
7.3 Planification et logistique
7.4 Transfert de compétences et connaissances
7.5 Autres applications
8. Création d’un système expert en C#
8.1 Détermination des besoins
8.2 Implémentation des faits
8.3 Base de faits
8.4 Règles et base de règles
8.5 Interface
8.6 Moteur d'inférences
8.7 Saisie des règles et utilisation
9. Utilisation de Prolog
9.1 Présentation du langage
9.2 Syntaxe du langage
9.2.1 Généralités
9.2.2 Prédicats
9.2.3 Poser des questions
9.2.4 Écriture des règles
9.2.5 Autres prédicats utiles
9.3 Codage du problème des formes géométriques
9.4 Codage du problème des huit reines
9.4.1 Intérêt du chaînage arrière
9.4.2 Étude du problème
9.4.3 Règles à appliquer
9.4.4 Règles de conflits entre reines
9.4.5 But du programme
9.4.6 Exemples d'utilisation
10. Ajout d’incertitudes et de probabilités
10.1 Apport des incertitudes
10.2 Faits incertains
10.3 Règles incertaines
11. Synthèse
Logique floue
1. Présentation du chapitre
2. Incertitude et imprécision
2.1 Incertitude et probabilités
2.2 Imprécision et subjectivité
2.3 Nécessité de traiter l'imprécision
3. Ensembles flous et degrés d’appartenance
3.1 Logique booléenne et logique floue
3.2 Fonctions d'appartenance
3.3 Caractéristiques d'une fonction d'appartenance
3.4 Valeurs et variables linguistiques
4. Opérateurs sur les ensembles flous
4.1 Opérateurs booléens
4.2 Opérateurs flous
4.2.1 Négation
4.2.2 Union et intersection
5. Création de règles
5.1 Règles en logique booléenne
5.2 Règles floues
6. Fuzzification et défuzzification
6.1 Valeur de vérité
6.2 Fuzzification et application des règles
6.3 Défuzzification
7. Exemples d’applications
7.1 Premières utilisations
7.2 Dans les produits électroniques
7.3 En automobile
7.4 Autres domaines
8. Implémentation d’un moteur de logique floue
8.1 Le cœur du code : les ensembles flous
8.1.1 Point2D : un point d'une fonction d'appartenance
8.1.2 FuzzySet : un ensemble flou
8.1.3 Opérateurs de comparaison et de multiplication
8.1.4 Opérateurs ensemblistes
8.1.5 Calcul du barycentre
8.2 Ensembles flous particuliers
8.3 Variables et valeurs linguistiques
8.3.1 LinguisticValue : valeur linguistique
8.3.2 LinguisticVariable : variable linguistique
8.4 Règles floues
8.4.1 FuzzyExpression : expression floue
8.4.2 FuzzyValue : valeur floue
8.4.3 FuzzyRule : règle floue
8.5 Système de contrôle flou
8.6 Synthèse du code créé
9. Implémentation d’un cas pratique
10. Synthèse
Recherche de chemins
1. Présentation du chapitre
2. Chemins et graphes
2.1 Définition et concepts
2.2 Représentations
2.2.1 Représentation graphique
2.2.2 Matrice d’adjacence
2.3 Coût d'un chemin et matrice des longueurs
3. Exemple en cartographie
4. Algorithmes naïfs de recherche de chemins
4.1 Parcours en profondeur
4.1.1 Principe et pseudo-code
4.1.2 Application à la carte
4.2 Parcours en largeur
4.2.1 Principe et pseudo-code
4.2.2 Application à la carte
5. Algorithmes "intelligents"
5.1 Algorithme de Bellman-Ford
5.1.1 Principe et pseudo-code
5.1.2 Application à la carte
5.2 Algorithme de Dijkstra
5.2.1 Principe et pseudo-code
5.2.2 Application à la carte
5.3 Algorithme A*
5.3.1 Principe et pseudo-code
5.3.2 Application à la carte
6. Implémentations
6.1 Nœuds, arcs et graphes
6.1.1 Implémentation des nœuds
6.1.2 Classe représentant les arcs
6.1.3 Interface des graphes
6.2 Fin du programme générique
6.2.1 IHM
6.2.2 Algorithme générique
6.3 Codage des différents algorithmes
6.3.1 Recherche en profondeur
6.3.2 Recherche en largeur
6.3.3 Algorithme de Bellman-Ford
6.3.4 Algorithme de Dijkstra
6.3.5 Algorithme A*
6.4 Application à la carte
6.4.1 Tile et Tiletype
6.4.2 Implémentation de la carte
6.4.3 Programme principal
6.5 Comparaison des performances
7. Domaines d’application
8. Synthèse
Algorithmes génétiques
1. Présentation du chapitre
2. Évolution biologique
2.1 Le concept d'évolution
2.2 Les causes des mutations
2.3 Le support de cette information : les facteurs
2.4 Des facteurs au code génétique
2.5 Le « cycle de la vie »
3. Évolution artificielle
3.1 Principes
3.2 Vue d'ensemble du cycle
3.2.1 Phases d'initialisation et de terminaison
3.2.2 Phase de sélection
3.2.3 Phase de reproduction avec mutations
3.2.4 Phase de survie
3.3 Convergence
4. Exemple du robinet
4.1 Présentation du problème
4.2 Initialisation de l'algorithme
4.3 Évaluation des individus
4.4 Reproduction avec mutations
4.5 Survie
4.6 Suite du processus
5. Choix des représentations
5.1 Population et individus
5.2 Gènes
5.3 Cas d'un algorithme de résolution de labyrinthe
6. Évaluation, sélection et survie
6.1 Choix de la fonction d’évaluation
6.2 Opérateurs de sélection
6.3 Opérateurs de survie
7. Reproduction : crossover et mutation
7.1 Crossover
7.2 Mutation
8. Domaines d’application
9. Implémentation d'un algorithme génétique
9.1 Implémentation générique d'un algorithme
9.1.1 Spécifications
9.1.2 Paramètres
9.1.3 Individus et gènes
9.1.4 IHM
9.1.5 Processus évolutionnaire
9.2 Utilisation pour le voyageur de commerce
9.2.1 Présentation du problème
9.2.2 Environnement
9.2.3 Gènes
9.2.4 Individus
9.2.5 Programme principal
9.2.6 Résultats
9.3 Utilisation pour la résolution d'un labyrinthe
9.3.1 Présentation du problème
9.3.2 Environnement
9.3.3 Gènes
9.3.4 Individus
9.3.5 Programme principal
9.3.6 Résultats
10. Coévolution
11. Synthèse
Métaheuristiques d'optimisation
1. Présentation du chapitre
2. Optimisation et minimums
2.1 Exemples
2.2 Le problème du sac à dos
2.3 Formulation des problèmes
2.4 Résolution mathématique
2.5 Recherche exhaustive
2.6 Métaheuristiques
3. Algorithmes gloutons
4. Descente de gradient
5. Recherche tabou
6. Recuit simulé
7. Optimisation par essaims particulaires
8. Méta-optimisation
9. Domaines d’application
10. Implémentation
10.1 Classes génériques
10.2 Implémentation des différents algorithmes
10.2.1 Algorithme glouton
10.2.2 Descente de gradient
10.2.3 Recherche tabou
10.2.4 Recuit simulé
10.2.5 Optimisation par essaims particulaires
10.3 Résolution du problème du sac à dos
10.3.1 Implémentation du problème
10.3.2 Algorithme glouton
10.3.3 Descente de gradient
10.3.4 Recherche tabou
10.3.5 Recuit simulé
10.3.6 Optimisation par essaims particulaires
10.3.7 Programme principal
10.4 Résultats obtenus
11. Synthèse
Systèmes multi-agents
1. Présentation du chapitre
2. Origine biologique
2.1 Les abeilles et la danse
2.2 Les termites et le génie civil
2.3 Les fourmis et l'optimisation de chemins
2.4 Intelligence sociale
3. Systèmes multi-agents
3.1 L'environnement
3.2 Les objets
3.3 Les agents
4. Classification des agents
4.1 Perception du monde
4.2 Prise des décisions
4.3 Coopération et communication
4.4 Capacités de l'agent
5. Principaux algorithmes
5.1 Algorithmes de meutes
5.2 Optimisation par colonie de fourmis
5.3 Systèmes immunitaires artificiels
5.4 Automates cellulaires
6. Domaines d’application
6.1 Simulation de foules
6.2 Planification
6.3 Phénomènes complexes
7. Implémentation
7.1 Banc de poissons
7.1.1 Les objets du monde et les zones à éviter
7.1.2 Les agents-poissons
7.1.3 L'océan
7.1.4 L'application graphique
7.1.5 Résultats obtenus
7.2 Tri sélectif
7.2.1 Les déchets
7.2.2 Les agents nettoyeurs
7.2.3 L'environnement
7.2.4 L'application graphique
7.2.5 Résultats obtenus
7.3 Le jeu de la vie
7.3.1 La grille
7.3.2 L'application graphique
7.3.3 Résultats obtenus
8. Synthèse
Réseaux de neurones
1. Présentation du chapitre
2. Origine biologique
3. Le neurone formel
3.1 Fonctionnement général
3.2 Fonctions d'agrégation
3.3 Fonctions d'activation
3.3.1 Fonction "heavyside"
3.3.2 Fonction sigmoïde
3.3.3 Fonction gaussienne
3.4 Poids et apprentissage
4. Perceptron
4.1 Structure
4.2 Condition de linéarité
5. Réseaux feed-forward
6. Apprentissage
6.1 Apprentissage non supervisé
6.2 Apprentissage par renforcement
6.3 Apprentissage supervisé
6.3.1 Principe général
6.3.2 Descente de gradient
6.3.3 Algorithme de Widrow-Hoff
6.3.4 Rétropropagation
6.4 Surapprentissage et généralisation
6.4.1 Reconnaître le surapprentissage
6.4.2 Création de sous-ensembles de données
7. Autres réseaux
7.1 Réseaux de neurones récurrents
7.2 Cartes de Kohonen
7.3 Réseaux de Hopfield
8. Domaines d'application
8.1 Reconnaissance de patterns
8.2 Estimation de fonctions
8.3 Création de comportements
9. Implémentation d'un MLP
9.1 Points et ensembles de points
9.2 Neurone
9.3 Réseau de neurones
9.4 IHM
9.5 Système complet
9.6 Programme principal
9.7 Applications
9.7.1 Application au XOR
9.7.2 Application à Abalone
9.7.3 Améliorations possibles
10. Synthèse du chapitre
Bibliographie
1. Bibliographie
Sitographie
1. Pourquoi une sitographie ?
2. Systèmes experts
3. Logique floue
4. Algorithmes génétiques
5. Recherche de chemins
6. Métaheuristiques
7. Systèmes multi-agents
8. Réseaux de neurones
Annexe
1. Installation de SWI-Prolog
2. Utilisation de SWI-Prolog
Index
1. Structure du chapitre
2. Définir l’intelligence
3. L’intelligence du vivant
4. L’intelligence artificielle
5. Domaines d’application
6. Synthèse
Systèmes experts
1. Présentation du chapitre
2. Exemple : un système expert en polygones
2.1 Triangles
2.2 Quadrilatères
2.3 Autres polygones
3. Contenu d'un système expert
3.1 Base de règles
3.2 Base de faits
3.3 Moteur d'inférences
3.4 Interface utilisateur
4. Types d'inférences
4.1 Chaînage avant
4.1.1 Principe
4.1.2 Application à un exemple
4.2 Chaînage arrière
4.2.1 Principe
4.2.2 Application à un exemple
4.3 Chaînage mixte
5. Étapes de construction d'un système
5.1 Extraction des connaissances
5.2 Création du moteur d'inférences
5.3 Écriture des règles
5.4 Création de l'interface utilisateur
6. Performance et améliorations
6.1 Critères de performance
6.2 Amélioration des performances par l'écriture des règles
6.3 Importance de la représentation du problème
7. Domaines d’application
7.1 Aide au diagnostic
7.2 Estimation de risques
7.3 Planification et logistique
7.4 Transfert de compétences et connaissances
7.5 Autres applications
8. Création d’un système expert en C#
8.1 Détermination des besoins
8.2 Implémentation des faits
8.3 Base de faits
8.4 Règles et base de règles
8.5 Interface
8.6 Moteur d'inférences
8.7 Saisie des règles et utilisation
9. Utilisation de Prolog
9.1 Présentation du langage
9.2 Syntaxe du langage
9.2.1 Généralités
9.2.2 Prédicats
9.2.3 Poser des questions
9.2.4 Écriture des règles
9.2.5 Autres prédicats utiles
9.3 Codage du problème des formes géométriques
9.4 Codage du problème des huit reines
9.4.1 Intérêt du chaînage arrière
9.4.2 Étude du problème
9.4.3 Règles à appliquer
9.4.4 Règles de conflits entre reines
9.4.5 But du programme
9.4.6 Exemples d'utilisation
10. Ajout d’incertitudes et de probabilités
10.1 Apport des incertitudes
10.2 Faits incertains
10.3 Règles incertaines
11. Synthèse
Logique floue
1. Présentation du chapitre
2. Incertitude et imprécision
2.1 Incertitude et probabilités
2.2 Imprécision et subjectivité
2.3 Nécessité de traiter l'imprécision
3. Ensembles flous et degrés d’appartenance
3.1 Logique booléenne et logique floue
3.2 Fonctions d'appartenance
3.3 Caractéristiques d'une fonction d'appartenance
3.4 Valeurs et variables linguistiques
4. Opérateurs sur les ensembles flous
4.1 Opérateurs booléens
4.2 Opérateurs flous
4.2.1 Négation
4.2.2 Union et intersection
5. Création de règles
5.1 Règles en logique booléenne
5.2 Règles floues
6. Fuzzification et défuzzification
6.1 Valeur de vérité
6.2 Fuzzification et application des règles
6.3 Défuzzification
7. Exemples d’applications
7.1 Premières utilisations
7.2 Dans les produits électroniques
7.3 En automobile
7.4 Autres domaines
8. Implémentation d’un moteur de logique floue
8.1 Le cœur du code : les ensembles flous
8.1.1 Point2D : un point d'une fonction d'appartenance
8.1.2 FuzzySet : un ensemble flou
8.1.3 Opérateurs de comparaison et de multiplication
8.1.4 Opérateurs ensemblistes
8.1.5 Calcul du barycentre
8.2 Ensembles flous particuliers
8.3 Variables et valeurs linguistiques
8.3.1 LinguisticValue : valeur linguistique
8.3.2 LinguisticVariable : variable linguistique
8.4 Règles floues
8.4.1 FuzzyExpression : expression floue
8.4.2 FuzzyValue : valeur floue
8.4.3 FuzzyRule : règle floue
8.5 Système de contrôle flou
8.6 Synthèse du code créé
9. Implémentation d’un cas pratique
10. Synthèse
Recherche de chemins
1. Présentation du chapitre
2. Chemins et graphes
2.1 Définition et concepts
2.2 Représentations
2.2.1 Représentation graphique
2.2.2 Matrice d’adjacence
2.3 Coût d'un chemin et matrice des longueurs
3. Exemple en cartographie
4. Algorithmes naïfs de recherche de chemins
4.1 Parcours en profondeur
4.1.1 Principe et pseudo-code
4.1.2 Application à la carte
4.2 Parcours en largeur
4.2.1 Principe et pseudo-code
4.2.2 Application à la carte
5. Algorithmes "intelligents"
5.1 Algorithme de Bellman-Ford
5.1.1 Principe et pseudo-code
5.1.2 Application à la carte
5.2 Algorithme de Dijkstra
5.2.1 Principe et pseudo-code
5.2.2 Application à la carte
5.3 Algorithme A*
5.3.1 Principe et pseudo-code
5.3.2 Application à la carte
6. Implémentations
6.1 Nœuds, arcs et graphes
6.1.1 Implémentation des nœuds
6.1.2 Classe représentant les arcs
6.1.3 Interface des graphes
6.2 Fin du programme générique
6.2.1 IHM
6.2.2 Algorithme générique
6.3 Codage des différents algorithmes
6.3.1 Recherche en profondeur
6.3.2 Recherche en largeur
6.3.3 Algorithme de Bellman-Ford
6.3.4 Algorithme de Dijkstra
6.3.5 Algorithme A*
6.4 Application à la carte
6.4.1 Tile et Tiletype
6.4.2 Implémentation de la carte
6.4.3 Programme principal
6.5 Comparaison des performances
7. Domaines d’application
8. Synthèse
Algorithmes génétiques
1. Présentation du chapitre
2. Évolution biologique
2.1 Le concept d'évolution
2.2 Les causes des mutations
2.3 Le support de cette information : les facteurs
2.4 Des facteurs au code génétique
2.5 Le « cycle de la vie »
3. Évolution artificielle
3.1 Principes
3.2 Vue d'ensemble du cycle
3.2.1 Phases d'initialisation et de terminaison
3.2.2 Phase de sélection
3.2.3 Phase de reproduction avec mutations
3.2.4 Phase de survie
3.3 Convergence
4. Exemple du robinet
4.1 Présentation du problème
4.2 Initialisation de l'algorithme
4.3 Évaluation des individus
4.4 Reproduction avec mutations
4.5 Survie
4.6 Suite du processus
5. Choix des représentations
5.1 Population et individus
5.2 Gènes
5.3 Cas d'un algorithme de résolution de labyrinthe
6. Évaluation, sélection et survie
6.1 Choix de la fonction d’évaluation
6.2 Opérateurs de sélection
6.3 Opérateurs de survie
7. Reproduction : crossover et mutation
7.1 Crossover
7.2 Mutation
8. Domaines d’application
9. Implémentation d'un algorithme génétique
9.1 Implémentation générique d'un algorithme
9.1.1 Spécifications
9.1.2 Paramètres
9.1.3 Individus et gènes
9.1.4 IHM
9.1.5 Processus évolutionnaire
9.2 Utilisation pour le voyageur de commerce
9.2.1 Présentation du problème
9.2.2 Environnement
9.2.3 Gènes
9.2.4 Individus
9.2.5 Programme principal
9.2.6 Résultats
9.3 Utilisation pour la résolution d'un labyrinthe
9.3.1 Présentation du problème
9.3.2 Environnement
9.3.3 Gènes
9.3.4 Individus
9.3.5 Programme principal
9.3.6 Résultats
10. Coévolution
11. Synthèse
Métaheuristiques d'optimisation
1. Présentation du chapitre
2. Optimisation et minimums
2.1 Exemples
2.2 Le problème du sac à dos
2.3 Formulation des problèmes
2.4 Résolution mathématique
2.5 Recherche exhaustive
2.6 Métaheuristiques
3. Algorithmes gloutons
4. Descente de gradient
5. Recherche tabou
6. Recuit simulé
7. Optimisation par essaims particulaires
8. Méta-optimisation
9. Domaines d’application
10. Implémentation
10.1 Classes génériques
10.2 Implémentation des différents algorithmes
10.2.1 Algorithme glouton
10.2.2 Descente de gradient
10.2.3 Recherche tabou
10.2.4 Recuit simulé
10.2.5 Optimisation par essaims particulaires
10.3 Résolution du problème du sac à dos
10.3.1 Implémentation du problème
10.3.2 Algorithme glouton
10.3.3 Descente de gradient
10.3.4 Recherche tabou
10.3.5 Recuit simulé
10.3.6 Optimisation par essaims particulaires
10.3.7 Programme principal
10.4 Résultats obtenus
11. Synthèse
Systèmes multi-agents
1. Présentation du chapitre
2. Origine biologique
2.1 Les abeilles et la danse
2.2 Les termites et le génie civil
2.3 Les fourmis et l'optimisation de chemins
2.4 Intelligence sociale
3. Systèmes multi-agents
3.1 L'environnement
3.2 Les objets
3.3 Les agents
4. Classification des agents
4.1 Perception du monde
4.2 Prise des décisions
4.3 Coopération et communication
4.4 Capacités de l'agent
5. Principaux algorithmes
5.1 Algorithmes de meutes
5.2 Optimisation par colonie de fourmis
5.3 Systèmes immunitaires artificiels
5.4 Automates cellulaires
6. Domaines d’application
6.1 Simulation de foules
6.2 Planification
6.3 Phénomènes complexes
7. Implémentation
7.1 Banc de poissons
7.1.1 Les objets du monde et les zones à éviter
7.1.2 Les agents-poissons
7.1.3 L'océan
7.1.4 L'application graphique
7.1.5 Résultats obtenus
7.2 Tri sélectif
7.2.1 Les déchets
7.2.2 Les agents nettoyeurs
7.2.3 L'environnement
7.2.4 L'application graphique
7.2.5 Résultats obtenus
7.3 Le jeu de la vie
7.3.1 La grille
7.3.2 L'application graphique
7.3.3 Résultats obtenus
8. Synthèse
Réseaux de neurones
1. Présentation du chapitre
2. Origine biologique
3. Le neurone formel
3.1 Fonctionnement général
3.2 Fonctions d'agrégation
3.3 Fonctions d'activation
3.3.1 Fonction "heavyside"
3.3.2 Fonction sigmoïde
3.3.3 Fonction gaussienne
3.4 Poids et apprentissage
4. Perceptron
4.1 Structure
4.2 Condition de linéarité
5. Réseaux feed-forward
6. Apprentissage
6.1 Apprentissage non supervisé
6.2 Apprentissage par renforcement
6.3 Apprentissage supervisé
6.3.1 Principe général
6.3.2 Descente de gradient
6.3.3 Algorithme de Widrow-Hoff
6.3.4 Rétropropagation
6.4 Surapprentissage et généralisation
6.4.1 Reconnaître le surapprentissage
6.4.2 Création de sous-ensembles de données
7. Autres réseaux
7.1 Réseaux de neurones récurrents
7.2 Cartes de Kohonen
7.3 Réseaux de Hopfield
8. Domaines d'application
8.1 Reconnaissance de patterns
8.2 Estimation de fonctions
8.3 Création de comportements
9. Implémentation d'un MLP
9.1 Points et ensembles de points
9.2 Neurone
9.3 Réseau de neurones
9.4 IHM
9.5 Système complet
9.6 Programme principal
9.7 Applications
9.7.1 Application au XOR
9.7.2 Application à Abalone
9.7.3 Améliorations possibles
10. Synthèse du chapitre
Bibliographie
1. Bibliographie
Sitographie
1. Pourquoi une sitographie ?
2. Systèmes experts
3. Logique floue
4. Algorithmes génétiques
5. Recherche de chemins
6. Métaheuristiques
7. Systèmes multi-agents
8. Réseaux de neurones
Annexe
1. Installation de SWI-Prolog
2. Utilisation de SWI-Prolog
Index
Cet ouvrage constitue un point d'entrée pour qui veut découvrir des domaines de l'intelligence artificielle et une façon de l'implémenter en C#. On y parle de thèmes assez divers (systèmes experts, logique floue, recherche de chemins, algorithmes génétiques, métaheuristiques d'optimisation, systèmes multiagents et réseaux de neurones).
Autant le dire tout de suite, c'est une bonne chose de s'être déjà intéressé à l'I.A. auparavant, car malgré des rappels théoriques importants, les concepts abordés sont assez compliqués à appréhender. Malgré tout, l'auteur prend quand même son temps pour y revenir, ce qui est fort appréciable. À noter un très gros avantage de ce livre par rapport à d'autres : il n'y a quasiment pas de math et de formules imbitables ce qui le rend abordable à quelqu'un qui n'a pas fait six ans de FAC …
Cependant, on reste quand même sur une introduction avancée, tant le domaine est vaste.
Le livre est agréable à lire et les exemples de code plutôt bien expliqués. Vous pouvez y aller.
Autant le dire tout de suite, c'est une bonne chose de s'être déjà intéressé à l'I.A. auparavant, car malgré des rappels théoriques importants, les concepts abordés sont assez compliqués à appréhender. Malgré tout, l'auteur prend quand même son temps pour y revenir, ce qui est fort appréciable. À noter un très gros avantage de ce livre par rapport à d'autres : il n'y a quasiment pas de math et de formules imbitables ce qui le rend abordable à quelqu'un qui n'a pas fait six ans de FAC …
Cependant, on reste quand même sur une introduction avancée, tant le domaine est vaste.
Le livre est agréable à lire et les exemples de code plutôt bien expliqués. Vous pouvez y aller.
Commenter Signaler un problème
Ce livre sur l'Intelligence Artificielle s'adresse particulièrement aux développeurs et ne nécessite pas de connaissances mathématiques approfondies. Au fil des chapitres, l'auteur présente les principales techniques d'Intelligence Artificielle et, pour chacune d'elles, les inspirations, biologiques, physiques voire mathématiques, puis les différents concepts et principes (sans entrer dans les détails mathématiques), avec des exemples et figures pour chacun de ceux-ci. Les domaines d'application sont illustrés par des applications réelles et actuelles. Chaque chapitre contient un exemple d'implémentation générique, complété par une application pratique, développée en C#. Ces exemples de code étant génériques, ils sont facilement adaptables à de nombreuses applications C#, que ce soit en Silverlight, sur Windows Phone, pour Windows 8 ou pour des applications .Net plus classiques. Les techniques d'Intelligence Artificielle décrites sont : - Les systèmes experts, permettant d'appliquer des règles pour prendre des décisions ou découvrir de nouvelles connaissances. - La logique floue, permettant de contrôler des systèmes informatiques ou mécaniques de manière beaucoup plus souple que les programmes traditionnels. - Les algorithmes de recherche de chemin, dont le A* très utilisé dans les jeux vidéo pour trouver les meilleurs itinéraires. - Les algorithmes génétiques, utilisant la puissance de l'évolution pour apporter des solutions à des problèmes complexes. - Les principales métaheuristiques, dont la recherche tabou, trouvant des optimums à des problèmes d'optimisation, avec ou sans contraintes. - Les systèmes multi-agents, simulant des foules ou permettant des comportements émergents à partir de plusieurs agents très simples. - Les réseaux de neurones, capables de découvrir et de reconnaître des modèles, dans des suites historiques, des images ou encore des données. Pour aider le lecteur à passer de la théorie à la pratique, l'auteur propose en téléchargement sur le site www.editions-eni.fr, sept projets Visual Studio 2013 (un par technique d'Intelligence Artificielle), développés en C#. Chaque projet contient une PCL, pour la partie générique, et une application WPF, pour la partie spécifique à l'application proposée. Le livre se termine par une bibliographie, permettant au lecteur de trouver plus d'informations sur ces différentes techniques, une sitographie listant quelques articles présentant des applications réelles, une annexe et un index. Les chapitres du livre : Avant-propos - Introduction - Systèmes experts - Logique floue - Recherche de chemins - Algorithmes génétiques - Métaheuristiques d'optimisation - Systèmes multi-agents - Réseaux de neurones - Bibliographie - Sitographie - Annexe
[Lire la suite]
[Lire la suite]
- Avez-vous lu ce livre ou pensez-vous le lire ?
- Souhaitez-vous ajouter une critique de ce livre sur la page de la rubrique ?
- Avez-vous un commentaire à faire ?
Voir aussi :
La rubrique intelligence artificielle
Le forum intelligence artificielle