Donald Knuth, légende de l'informatique, a dit un jour : "Je ne comprends pas les choses tant que je n'essaie pas de les programmer" Nous pensons également que la meilleure façon d'apprendre un algorithme est de le programmer. Cependant, beaucoup d'excellents livres et de cours en ligne sur les algorithmes, qui excellent dans l'introduction des idées algorithmiques, n'ont pas encore réussi à vous enseigner comment mettre en œuvre les algorithmes, la compétence informatique cruciale que vous devez maîtriser lors de votre prochain entretien d'embauche. Nous avons essayé de combler cette lacune en formant une équipe diversifiée d'instructeurs qui comprend des experts de renommée mondiale en algorithmes théoriques et appliqués à l'UCSD (Daniel Kane, Alexander Kulikov, et Pavel Pevzner) et un ancien ingénieur logiciel chez Google (Neil Rhodes). Cette combinaison unique de compétences rend cette Specializations différente des autres excellents MOOC sur les algorithmes qui sont tous développés par des informaticiens théoriques. Alors que ces MOOC se concentrent sur la théorie, notre Specializations est un mélange de théorie/pratique/applications algorithmiques avec le génie logiciel. Vous apprendrez les algorithmes en mettant en œuvre près de 100 problèmes de codage dans un langage de programmation de votre choix. À notre connaissance, aucun autre cours en ligne sur les algorithmes n'est en mesure de vous offrir une richesse de défis de programmation (et d'énigmes !) que vous pourriez rencontrer lors de votre prochain entretien d'embauche. Nous avons investi plus de 3000 heures pour concevoir nos défis comme une alternative aux questions à choix multiples que vous trouvez habituellement dans les MOOC.

3 days left: Discover new skills with 30% off courses from industry experts. Save now.


Spécialisation Structures de données et algorithmes
Maîtriser les techniques de programmation algorithmique. Faites progresser votre carrière en génie logiciel ou en science des données en apprenant les algorithmes par la programmation et la résolution d'énigmes. Ace entretiens de codage en mettant en œuvre chaque défi algorithmique dans cette Specializations. Appliquez les techniques algorithmiques nouvellement apprises à des problèmes réels, tels que l'analyse d'un énorme réseau social ou le séquençage du génome d'un agent pathogène mortel.



Instructeurs : Michael Levin
363 706 déjà inscrits
Inclus avec
(13,344 avis)
Expérience recommandée
(13,344 avis)
Expérience recommandée
Ce que vous apprendrez
Appliquez des techniques algorithmiques (algorithmes gourmands, recherche binaire, programmation dynamique, etc.) et des structures de données (piles, files d'attente, arbres, graphes, etc.) pour résoudre 100 défis de programmation qui apparaissent souvent lors d'entretiens dans des entreprises de haute technologie. Vous obtiendrez un retour d'information instantané pour savoir si votre solution est correcte.
Appliquer les algorithmes nouvellement appris pour résoudre des problèmes concrets : naviguer dans un grand réseau ou assembler le génome d'un agent pathogène mortel à partir de millions de substrats courts de son ADN.
Apprenez exactement la même matière que les étudiants de premier cycle en "Algorithmes 101" dans les meilleures universités et plus encore ! Nous sommes ravis que des étudiants de différentes parties du monde étudient désormais nos supports en ligne dans les cours d'algorithme 101 de leurs universités. Voici un extrait du site Web du professeurSauleh Eetemadi de l'Université des sciences et technologies d'Iran : "Après avoir examiné les programmes et les supports de cours des meilleures universités, notammentStanford,Princeton etle MIT, nous avons choisi de suivre laspécialisation en structures de données et algorithmes de l'UCSD.... en raison de l'excellent matériel de cours et de son approche pratique."
Si vous décidez de vous aventurer au-delà d'Algorithmes 101, essayez de résoudre des problèmes de programmation plus complexes (flux dans les réseaux, programmation linéaire, algorithmes de flux, etc.) et complétez l'équivalent d'un cours de troisième cycle en algorithmes !
Vue d'ensemble
Compétences que vous acquerrez
- Bioinformatics
- Graph Theory
- Operations Research
- Development Testing
- Computer Programming
- Epidemiology
- Network Model
- Theoretical Computer Science
- Data Structures
- Computational Thinking
- Program Development
- Data Storage
- Network Analysis
- Debugging
- Programming Principles
- Social Network Analysis
- File Systems
- Algorithms
- Network Routing
- Software Testing
Ce qui est inclus

Ajouter à votre profil LinkedIn
Améliorez votre expertise en la matière
- Acquérez des compétences recherchées auprès d’universités et d’experts du secteur
- Maîtrisez un sujet ou un outil avec des projets pratiques
- Développez une compréhension approfondie de concepts clés
- Obtenez un certificat professionnel auprès de University of California San Diego

Spécialisation - série de 6 cours
Ce que vous apprendrez
Techniques algorithmiques essentielles
Concevoir des algorithmes efficaces
Entraînez-vous à résoudre des problèmes algorithmiques d'entretien
Mettre en œuvre des solutions efficaces et fiables
Compétences que vous acquerrez
Ce que vous apprendrez
Compétences que vous acquerrez
Ce que vous apprendrez
Compétences que vous acquerrez
Ce que vous apprendrez
Compétences que vous acquerrez
Ce que vous apprendrez
Compétences que vous acquerrez
Ce que vous apprendrez
Compétences que vous acquerrez
Obtenez un certificat professionnel
Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.
Instructeurs





Offert par
Partenaires du secteur



Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?





Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
Vous serez en mesure d'appliquer les bons algorithmes et les bonnes structures de données dans votre travail quotidien et d'écrire des programmes qui fonctionnent dans certains cas plusieurs ordres de grandeur plus rapidement. Vous serez en mesure de résoudre des problèmes algorithmiques tels que ceux rencontrés lors des entretiens techniques chez Google, Facebook, Microsoft, Yandex, etc. Si vous faites de la science des données, vous serez en mesure d'augmenter considérablement la vitesse de certaines de vos expériences. Vous disposerez également d'un diplôme de fin d'études en bio-informatique ou sur les chemins les plus courts dans les réseaux routiers et sociaux, que vous pourrez présenter à des employeurs potentiels.
1. Connaissance de base d'au moins un langage de programmation : C++, Java, Python, C, C#, Javascript, Haskell, Kotlin, Ruby, Rust, Scala.
Nous attendons de vous que vous soyez capable de mettre en œuvre des programmes qui : 1) lisent des données à partir de l'entrée standard (dans la plupart des cas, l'entrée est une séquence d'entiers) ; 2) calculent le résultat (dans la plupart des cas, quelques boucles suffisent) ; 3) impriment le résultat sur la sortie standard. Pour chaque défi de programmation de ce cours, nous fournissons des solutions de départ en C++, Java et Python. La meilleure façon de vérifier si vos compétences en programmation sont suffisantes pour passer les problèmes de cette spécialisation est de résoudre deux problèmes de la première semaine. Si vous êtes capable de les réussir (après avoir lu nos tutoriels), alors vous serez certainement capable de réussir le cours.
2. Connaissances de base en mathématiques discrètes : preuve par induction, preuve par contradiction.
La connaissance des mathématiques discrètes est nécessaire pour l'analyse des algorithmes (prouver la correction, estimer le temps d'exécution) et pour la pensée algorithmique en général. Si vous souhaitez rafraîchir vos connaissances en mathématiques discrètes, nous vous encourageons à suivre notre spécialisation partenaire - Introduction aux mathématiques discrètes pour l'informatique (https://ecommercepillar.top/specializations/discrete-mathematics). Elle enseigne les bases des mathématiques discrètes selon une approche "essayez ceci avant que nous n'expliquions tout" : vous résoudrez de nombreuses énigmes interactives qui ont été soigneusement conçues pour vous permettre d'inventer vous-même un grand nombre d'idées et de concepts importants
Nous pensons qu'apprendre la théorie des algorithmes (comme dans la plupart des cours Algorithmes 101 enseignés dans des milliers d'universités) est important mais pas suffisant pour un informaticien professionnel aujourd'hui. Cette spécialisation combine la théorie des algorithmes avec de nombreux défis de programmation. Contrairement à de nombreux cours d'algorithmes 101, vous mettrez en œuvre plus de 100 problèmes algorithmiques dans le langage de programmation de votre choix. Et vous verrez par vous-même que la meilleure façon de comprendre un algorithme est de l'implémenter !
Plus de questions
Aide financière disponible,