CodeGym /Blog Java /Random-FR /Coding Skills LevelUp, partie 2. Où en savoir plus sur le...
John Squirrels
Niveau 41
San Francisco

Coding Skills LevelUp, partie 2. Où en savoir plus sur les algorithmes

Publié dans le groupe Random-FR
Poursuite de notre série d'articles sur des sujets supplémentaires liés à la programmation qui ne font pas partie du cours de CodeGym, avec des liens et des recommandations sur les endroits où vous pouvez les apprendre. Aujourd'hui, nous allons parler d'algorithmes. Coding Skills LevelUp, Partie 2. Où en savoir plus sur les algorithmes - 1

Qu'est-ce que les algorithmes

Un algorithme en soi n'est rien de plus qu'une recette étape par étape pour résoudre un problème. La majorité des algorithmes utilisés dans la programmation de nos jours ont déjà été découverts, testés et éprouvés. Les algorithmes en Java sont des méthodes statiques utilisées pour effectuer diverses opérations sur les collections. Si les structures de données sont utilisées par les programmeurs Java pour stocker et organiser les données, des algorithmes sont utilisés pour manipuler les données dans ces structures. Ces deux sujets sont donc liés l'un à l'autre, et comprendre comment ils fonctionnent ensemble est très important et peut rendre votre codage Java beaucoup plus efficace. Les algorithmes peuvent être appliqués à n'importe quel langage de programmation, et les programmeurs expérimentés doivent normalement connaître au moins les bases de ce sujet, ainsi que savoir comment convertir les algorithmes en code dans le langage de programmation qu'ils utilisent.

Livres sur les algorithmes

  1. Structures de données et algorithmes simplifiés par Narasimha Karumanchi.

    L'un des meilleurs manuels pour les débutants en algorithmes (et structures de données). 'Data Structures And Algorithms Made Easy: Data Structures and Algorithmic Puzzles' est un livre qui propose des solutions aux structures de données et aux algorithmes complexes. Il existe plusieurs solutions pour chaque problème, et le livre est codé en C/C++. Vous pouvez utiliser celui-ci comme guide pour vous préparer aux entretiens, aux examens et au travail sur le campus.

  2. Algorithmes de Grokking par Aditya Bhargava.

    « Grokking Algorithms » est un autre outil facile à comprendre, entièrement illustré et écrit dans un guide convivial qui vous apprend à appliquer des algorithmes courants aux problèmes pratiques auxquels vous êtes confrontés quotidiennement en tant que programmeur. Vous commencerez par trier et rechercher et, au fur et à mesure que vous développerez vos compétences en matière de réflexion algorithmique, vous aborderez des problèmes plus complexes tels que la compression des données et l'intelligence artificielle. Chaque exemple comprend des diagrammes et des exemples de code entièrement annotés en Python.

  3. Algorithmes déverrouillés par Thomas Cormen.

    Un livre sur les bases des algorithmes pour les débutants et les professionnels du codage qui souhaitent approfondir leurs connaissances sur le sujet, cette fois écrit comme un manuel universitaire pour les étudiants du MIT.

    « Les lecteurs apprendront ce que sont les algorithmes informatiques, comment les décrire et comment les évaluer. Ils découvriront des moyens simples de rechercher des informations dans un ordinateur ; les méthodes de réorganisation des informations dans un ordinateur dans un ordre prescrit ("tri"); comment résoudre des problèmes de base qui peuvent être modélisés dans un ordinateur avec une structure mathématique appelée « graphe » (utile pour modéliser les réseaux routiers, les dépendances entre les tâches et les relations financières) ; comment résoudre des problèmes qui posent des questions sur des chaînes de caractères telles que les structures de l'ADN ; les principes de base de la cryptographie ; bases de la compression de données ; et même qu'il y a des problèmes que personne n'a trouvé comment résoudre sur un ordinateur dans un délai raisonnable », explique l'auteur du livre.

  4. Structures de données et algorithmes en Java par Robert Lafore.

    Et voici un manuel qui se concentre spécifiquement sur Java. Outre des exemples de programmes clairs et simples, Robert Lafore a ajouté au livre un atelier sous la forme d'un petit programme de démonstration exécutable sur un navigateur Web. Les programmes montrent sous forme graphique à quoi ressemblent les structures de données et comment elles fonctionnent.

    Des suggestions de solutions aux projets de programmation se trouvant à la fin de chaque chapitre sont mises à la disposition des enseignants des établissements d'enseignement reconnus. Ce supplément pédagogique au manuel est disponible sur pearson.com , dans le centre de ressources de l'instructeur.

  5. Hello World : Être humain à l'ère des algorithmes par Hannah Fry.

    "Hello World : Being Human in the Age of Algorithms" de Hannah Fry est un livre plutôt intéressant qui examine les algorithmes d'un point de vue légèrement différent. L'auteur décrit les véritables pouvoirs et limites des algorithmes qui automatisent déjà des décisions importantes dans les domaines de la santé, des transports, de la criminalité et du commerce.

Cours en ligne sur les algorithmes

  1. Algorithmes, partie I , partie II par l'Université de Princeton via Coursera.

    Un très bon cours totalement gratuit de Princeton. Il couvre les informations essentielles que tout programmeur sérieux doit connaître sur les algorithmes et les structures de données, en mettant l'accent sur les applications et l'analyse scientifique des performances des implémentations Java. La partie I couvre les structures de données élémentaires, les algorithmes de tri et de recherche. La partie II se concentre sur les algorithmes de traitement de graphes et de chaînes. Le cours n'offre pas de certificat à la fin.

  2. Programme de spécialisation en structures de données et algorithmes par UC San Diego via Coursera.

    Un autre programme de cours réputé sur les algorithmes et les structures de données proposé par l'Université de Californie à San Diego et la National Research Institute Higher School of Economics. Cette spécialisation est un mélange de théorie et de pratique : vous apprendrez des techniques algorithmiques pour résoudre divers problèmes de calcul et implémenterez environ 100 problèmes de codage algorithmique dans un langage de programmation de votre choix.

    "Aucun autre cours en ligne sur les algorithmes ne vous offre même une multitude de défis de programmation auxquels vous pourriez être confronté lors de votre prochain entretien d'embauche. Pour vous préparer, nous avons investi plus de 3000 heures dans la conception de nos défis comme alternative aux questions à choix multiples que vous trouvez habituellement dans les MOOC. Désolé, nous ne croyons pas aux questions à choix multiples lorsqu'il s'agit d'apprendre des algorithmes... ou quoi que ce soit d'autre en informatique ! Pour chaque algorithme que vous développez et implémentez, nous avons conçu plusieurs tests pour vérifier son exactitude et sa durée d'exécution — vous devrez déboguer vos programmes sans même savoir ce que sont ces tests ! Cela peut sembler difficile, mais nous pensons que c'est le seul moyen de vraiment comprendre le fonctionnement des algorithmes et de maîtriser l'art de la programmation », ont déclaré les auteurs du cours.

  3. Spécialisation Algorithmes par l'Université de Stanford via Coursera.

    Et le troisième cours d'algorithmes gratuits bien reconnu d'une université réputée, l'Université de Stanford cette fois. Ce cours est une introduction aux algorithmes pour les apprenants ayant au moins une petite expérience en programmation. Les apprenants pratiqueront et maîtriseront les principes fondamentaux des algorithmes à travers plusieurs types d'évaluations. Chaque semaine, il y a un quiz à choix multiples pour tester votre compréhension des concepts les plus importants. Il existe également des devoirs de programmation hebdomadaires, où vous implémentez l'un des algorithmes couverts en cours dans un langage de programmation de votre choix. Chaque cours se termine par un examen final à choix multiples.

Chaînes et listes de lecture YouTube

  1. Algorithmes d'Abdul Bari.

    Une liste de courtes conférences sur les algorithmes par Abdul Bari, un YouTuber plutôt populaire qui explique des sujets complexes de la manière la plus simple et la plus facile à comprendre à ses téléspectateurs.

  2. Structures de données et algorithmes en Java sur la programmation avec le canal Mosh.

    "Programming with Mosh" est une chaîne YouTube populaire pour les débutants en programmation. Il contient de nombreux tutoriels sur Java et d'autres langages de programmation, ils sont bien structurés et bien présentés, y compris le tutoriel sur les structures de données et les algorithmes. Un bon moyen de vous familiariser avec ces sujets si vous n'avez pas envie de lire des livres et de payer des cours.

  3. MIT 6.006 Introduction aux algorithmes, automne 2011 par MIT OpenCourseWare

    MIT OpenCourseWare est une chaîne du Massachusetts Institute of Technology et propose de nombreux cours vidéo gratuits, dont celui sur les algorithmes. L'ensemble du cours se compose de 47 séances d'environ une heure.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION