About this Spécialisation
Cours en ligne à 100 %

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Planning flexible

Planning flexible

Définissez et respectez des dates limites flexibles.
Niveau débutant

Niveau débutant

Heures pour terminer

Approx. 3 mois pour terminer

10 heures/semaine recommandées
Langues disponibles

Anglais

Sous-titres : Anglais...

Ce que vous allez apprendre

  • Check

    Apply basic algorithmic techniques such as greedy algorithms, binary search, sorting and dynamic programming to solve programming challenges.

  • Check

    Apply various data structures such as stack, queue, hash table, priority queue, binary search tree, graph and string to solve programming challenges.

  • Check

    Apply graph and string algorithms to solve real-world challenges: finding shortest paths on huge maps and assembling genomes from millions of pieces.

  • Check

    Solve complex programming challenges using advanced techniques: maximum flow, linear programming, approximate algorithms, SAT-solvers, streaming.

Compétences que vous acquerrez

Graph TheoryNumber TheoryCryptographyProbability
Cours en ligne à 100 %

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Planning flexible

Planning flexible

Définissez et respectez des dates limites flexibles.
Niveau débutant

Niveau débutant

Heures pour terminer

Approx. 3 mois pour terminer

10 heures/semaine recommandées
Langues disponibles

Anglais

Sous-titres : Anglais...

How the Spécialisation Works

Suivez les cours

Une Spécialisation Coursera est une série de cours axés sur la maîtrise d'une compétence. Pour commencer, inscrivez-vous directement à la Spécialisation ou passez en revue ses cours et choisissez celui par lequel vous souhaitez commencer. Lorsque vous vous abonnez à un cours faisant partie d'une Spécialisation, vous êtes automatiquement abonné(e) à la Spécialisation complète. Il est possible de terminer seulement un cours : vous pouvez suspendre votre formation ou résilier votre abonnement à tout moment. Rendez-vous sur votre tableau de bord d'étudiant pour suivre vos inscriptions aux cours et vos progrès.

Projet pratique

Chaque Spécialisation inclut un projet pratique. Vous devez réussir le(s) projet(s) pour terminer la Spécialisation et obtenir votre Certificat. Si la Spécialisation inclut un cours dédié au projet pratique, vous devrez terminer tous les autres cours avant de pouvoir le commencer.

Obtenir un Certificat

Lorsque vous aurez terminé tous les cours et le projet pratique, vous obtiendrez un Certificat que vous pourrez partager avec des employeurs éventuels et votre réseau professionnel.

how it works

Cette Spécialisation compte 5 cours

Cours1

Mathematical Thinking in Computer Science

4.5
328 notes
72 avis
Mathematical thinking is crucial in all areas of computer science: algorithms, bioinformatics, computer graphics, data science, machine learning, etc. In this course, we will learn the most important tools used in discrete mathematics: induction, recursion, logic, invariants, examples, optimality. We will use these tools to answer typical programming questions like: How can we be certain a solution exists? Am I sure my program computes the optimal answer? Do each of these objects meet the given requirements? In the course, we use a try-this-before-we-explain-everything approach: you will be solving many interactive (and mobile friendly) puzzles that were carefully designed to allow you to invent many of the important ideas and concepts yourself. Prerequisites: 1. We assume only basic math (e.g., we expect you to know what is a square or how to add fractions), common sense and curiosity. 2. Basic programming knowledge is necessary as some quizzes require programming in Python....
Cours2

Combinatorics and Probability

4.6
163 notes
36 avis
Counting is one of the basic mathematically related tasks we encounter on a day to day basis. The main question here is the following. If we need to count something, can we do anything better than just counting all objects one by one? Do we need to create a list of all phone numbers to ensure that there are enough phone numbers for everyone? Is there a way to tell that our algorithm will run in a reasonable time before implementing and actually running it? All these questions are addressed by a mathematical field called Combinatorics. In this course we discuss most standard combinatorial settings that can help to answer questions of this type. We will especially concentrate on developing the ability to distinguish these settings in real life and algorithmic problems. This will help the learner to actually implement new knowledge. Apart from that we will discuss recursive technique for counting that is important for algorithmic implementations. One of the main `consumers’ of Combinatorics is Probability Theory. This area is connected with numerous sides of life, on one hand being an important concept in everyday life and on the other hand being an indispensable tool in such modern and important fields as Statistics and Machine Learning. In this course we will concentrate on providing the working knowledge of basics of probability and a good intuition in this area. The practice shows that such an intuition is not easy to develop. In the end of the course we will create a program that successfully plays a tricky and very counterintuitive dice game. As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students....
Cours3

Introduction to Graph Theory

4.6
139 notes
32 avis
We invite you to a fascinating journey into Graph Theory — an area which connects the elegance of painting and the rigor of mathematics; is simple, but not unsophisticated. Graph Theory gives us, both an easy way to pictorially represent many major mathematical results, and insights into the deep theories behind them. In this course, among other intriguing applications, we will see how GPS systems find shortest routes, how engineers design integrated circuits, how biologists assemble genomes, why a political map can always be colored using a few colors. We will study Ramsey Theory which proves that in a large system, complete disorder is impossible! By the end of the course, we will implement an algorithm which finds an optimal assignment of students to schools. This algorithm, developed by David Gale and Lloyd S. Shapley, was later recognized by the conferral of Nobel Prize in Economics. As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students....
Cours4

Number Theory and Cryptography

4.6
92 notes
20 avis
We all learn numbers from the childhood. Some of us like to count, others hate it, but any person uses numbers everyday to buy things, pay for services, estimated time and necessary resources. People have been wondering about numbers’ properties for thousands of years. And for thousands of years it was more or less just a game that was only interesting for pure mathematicians. Famous 20th century mathematician G.H. Hardy once said “The Theory of Numbers has always been regarded as one of the most obviously useless branches of Pure Mathematics”. Just 30 years after his death, an algorithm for encryption of secret messages was developed using achievements of number theory. It was called RSA after the names of its authors, and its implementation is probably the most frequently used computer program in the word nowadays. Without it, nobody would be able to make secure payments over the internet, or even log in securely to e-mail and other personal services. In this short course, we will make the whole journey from the foundation to RSA in 4 weeks. By the end, you will be able to apply the basics of the number theory to encrypt and decrypt messages, and to break the code if one applies RSA carelessly. You will even pass a cryptographic quest! As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students....

Enseignants

Avatar

Alexander S. Kulikov

Visiting Professor
Department of Computer Science and Engineering
Avatar

Michael Levin

Lecturer
Computer Science
Avatar

Vladimir Podolskii

Associate Professor
Computer Science Department

Partenaires du secteur

Industry Partner Logo #0

À propos de University of California San Diego

UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory....

À propos de National Research University Higher School of Economics

National Research University - Higher School of Economics (HSE) is one of the top research universities in Russia. Established in 1992 to promote new research and teaching in economics and related disciplines, it now offers programs at all levels of university education across an extraordinary range of fields of study including business, sociology, cultural studies, philosophy, political science, international relations, law, Asian studies, media and communications, IT, mathematics, engineering, and more. Learn more on www.hse.ru...

Foire Aux Questions

  • Oui ! Pour commencer, cliquez sur la carte du cours qui vous intéresse et inscrivez-vous. Vous pouvez vous inscrire et terminer le cours pour obtenir un Certificat partageable, ou vous pouvez accéder au cours en auditeur libre afin d'en visualiser gratuitement le contenu. Si vous vous abonnez à un cours faisant partie d'une Spécialisation, vous êtes automatiquement abonné(e) à la Spécialisation complète. Visitez votre tableau de bord d'étudiant(e) pour suivre vos progrès.

  • Ce cours est entièrement en ligne : vous n'avez donc pas besoin de vous présenter physiquement dans une salle de classe. Vous pouvez accéder à vos vidéos de cours, lectures et devoirs en tout temps et en tout lieu, par l'intermédiaire du Web ou de votre appareil mobile.

  • Cette Spécialisation n'est pas associée à des crédits universitaires, mais certaines universités peuvent décider d'accepter des Certificats de Spécialisation pour des crédits. Vérifiez-le auprès de votre établissement pour en savoir plus.

  • Time to completion can vary based on your schedule, but most learners are able to complete the Specialization in 6-8 months.

  • As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.

  • We recommend taking the courses in the order presented, as each subsequent course will build on material from previous courses.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.