Ce cours présente la discipline plus large de l'informatique à des personnes ayant une familiarité de base avec la programmation Java. Il couvre la seconde moitié de notre livre Computer Science : An Interdisciplinary Approach (la première moitié est couverte par notre cours Coursera Computer Science : Programming with a Purpose, qui sera publié à l'automne 2018). Notre intention est de démystifier l'informatique et de sensibiliser aux fondements intellectuels substantiels et à la riche histoire du domaine de l'informatique. Tout d'abord, nous présentons des algorithmes classiques ainsi que des techniques scientifiques d'évaluation des performances, dans le contexte d'applications modernes. Ensuite, nous présentons des modèles théoriques classiques qui nous permettent d'aborder des questions fondamentales sur l'informatique, telles que la calculabilité, l'universalité et l'irréductibilité. Nous terminons par l'architecture des machines (y compris la programmation en langage machine et sa relation avec le codage en Java) et la conception logique (y compris la conception d'un CPU complet construit à partir de la base). Le cours met l'accent sur les relations entre la programmation des applications, la théorie de la computation, les ordinateurs réels et l'histoire et l'évolution du domaine, y compris la nature des contributions de Boole, Shannon, Turing, von Neumann et d'autres. Toutes les caractéristiques de ce cours sont disponibles gratuitement. Les personnes souhaitant approfondir le contenu peuvent se procurer le manuel Computer Science : An Interdisciplinary Approach (sur lequel le cours est basé) ou de visiter le site web introcs.cs.princeton.edu pour une mine de matériel supplémentaire. Ce cours n'offre pas de certificat à l'issue de la formation.
L'informatique : Algorithmes, théorie et machines
Instructeurs : Robert Sedgewick
118 487 déjà inscrits
(629 avis)
Détails à connaître
10 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées
Il y a 11 modules dans ce cours
Cette leçon fournit des informations sur le cours Informatique : Programming with a Purpose, qui est le précurseur de Computer Science : Algorithmes, théorie et machines.
Inclus
1 lecture
Nous présentons et étudions des algorithmes classiques pour deux problèmes fondamentaux, dans le contexte d'applications réalistes. Notre message est que les algorithmes efficaces (la recherche binaire et le mergesort, dans ce cas) sont un ingrédient clé pour aborder les problèmes informatiques avec des solutions évolutives qui peuvent traiter des instances énormes, et que la méthode scientifique est essentielle pour évaluer l'efficacité de ces solutions.
Inclus
5 vidéos3 lectures1 devoir
Notre introduction aux structures de données est un regard attentif sur les abstractions fondamentales des piles et des files d'attente, y compris les spécifications de performance. Nous introduisons ensuite le concept de structures liées et nous nous concentrons sur leur utilité dans le développement d'implémentations simples, sûres, claires et efficaces des piles et des files d'attente.
Inclus
5 vidéos2 lectures1 devoir
L'abstraction de la table des symboles est l'un des outils de programmation les plus importants et les plus utiles, comme nous l'illustrerons à l'aide de plusieurs exemples dans cet exposé. En prolongeant l'approche scientifique des deux cours précédents, nous introduisons et étudions les arbres de recherche binaires, une structure de données classique qui supporte des implémentations efficaces de cette abstraction.
Inclus
5 vidéos2 lectures1 devoir
La théorie de l'informatique nous aide à répondre à des questions fondamentales sur la nature de l'informatique tout en nous aidant à mieux comprendre la façon dont nous interagissons avec l'ordinateur. Dans cet exposé, nous présentons les langages formels et les machines abstraites, en nous concentrant sur des modèles simples qui sont en fait largement utiles dans les applications pratiques.
Inclus
5 vidéos2 lectures1 devoir
En 1936, Alan Turing a publié un article qui est largement salué comme l'un des articles scientifiques les plus importants du 20e siècle. Cette conférence est consacrée aux deux idées centrales de grande portée de cet article : Tous les dispositifs de calcul ont une puissance de calcul équivalente et cette puissance est limitée.
Inclus
5 vidéos2 lectures1 devoir
Avec le développement des applications informatiques, les informaticiens et les mathématiciens ont compris qu'il fallait affiner les idées de Turing. Quels sont les problèmes informatiques que nous pouvons résoudre avec les limitations de ressources qui sont inéluctables dans le monde réel ? Comme nous le verrons dans cette conférence, cette question reste fondamentalement sans réponse.
Inclus
5 vidéos2 lectures1 devoir
Tout programmeur doit comprendre les caractéristiques de base du processeur informatique sous-jacent qu'il utilise. Heureusement, la conception fondamentale des processeurs informatiques a peu changé depuis les années 1960. Dans ce cours, nous vous proposons de comprendre comment votre code Java effectue réellement son travail en introduisant un ordinateur imaginaire qui est similaire à la fois aux mini-ordinateurs des années 1960 et aux microprocesseurs que l'on trouve dans les ordinateurs portables et les appareils mobiles d'aujourd'hui.
Inclus
5 vidéos2 lectures1 devoir
Poursuivant notre description de la conception des processeurs et de la programmation de bas niveau, nous fournissons un contexte remontant aux années 1950 et discutons des implications futures de la machine de von Neumann, où les programmes et les données sont conservés dans la même mémoire. Nous examinons en détail l'idée selon laquelle nous concevons de nouveaux ordinateurs en les simulant sur d'anciens ordinateurs, ce que la théorie de Turing garantit comme étant toujours efficace.
Inclus
4 vidéos2 lectures1 devoir
En commençant par quelques abstractions simples (des fils qui peuvent transporter des valeurs on/off et des interrupteurs qui peuvent contrôler les valeurs transportées par les fils), nous abordons dans ce cours la conception des circuits qui mettent en œuvre les processeurs d'ordinateur. Nous considérons les portes qui mettent en œuvre des fonctions logiques simples et les composants pour les fonctions de plus haut niveau, telles que l'addition. Le cours se termine par la présentation d'un circuit complet pour une unité arithmétique/logique.
Inclus
5 vidéos2 lectures1 devoir
Dans ce cours, nous apportons la dernière partie de notre réponse à la question "Comment fonctionne un ordinateur ?" en développant un circuit complet pour un processeur d'ordinateur, où chaque interrupteur et chaque fil est visible. Bien qu'à une échelle très différente, ce circuit présente, du point de vue de la conception, de nombreuses caractéristiques similaires à celles des circuits que l'on trouve dans votre ordinateur et votre téléphone.
Inclus
4 vidéos2 lectures1 devoir
Instructeurs
Offert par
Recommandé si vous êtes intéressé(e) par Algorithmes
University of Colorado Boulder
Codio
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Avis des étudiants
Affichage de 3 sur 629
629 avis
- 5 stars
76,06 %
- 4 stars
17,90 %
- 3 stars
3,64 %
- 2 stars
1,26 %
- 1 star
1,10 %
Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à plus de 7 000 cours de renommée internationale, à des projets pratiques et à des programmes de certificats reconnus sur le marché du travail, 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
Une fois inscrit, vous aurez accès à toutes les vidéos et à tous les travaux de programmation.
Non. Toutes les fonctionnalités de ce cours sont disponibles gratuitement.
Non. Conformément à la politique de l'University Certificates de Princeton, aucun certificat, titre ou rapport n'est délivré dans le cadre de ce cours.