К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Discrete Math for Computer Science - Algorithms & Recursion · LearnSpace
Назад в каталог
courseraПрограммирование

Discrete Math for Computer Science - Algorithms & Recursion

Курс от The Hong Kong University of Science and Technology
Начальный≈ 13.7 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

This course focuses on the mathematical foundations behind algorithms, efficiency, and recursive problem solving, building on the logic and counting techniques developed in earlier courses. It introduces key ideas from number theory and shows how they naturally lead to efficient algorithms used throughout computer science. The course begins with modular arithmetic, divisibility, and greatest common divisors, leading to classic algorithms such as the Euclidean algorithm and its extended form. These concepts are then applied to practical problems in cryptography, including modular exponentiation, key exchange, and public-key encryption, illustrating how abstract mathematics enables secure communication. You will then study the analysis of algorithms, learning how to measure running time using asymptotic notation and compare algorithms based on their growth rates. The course emphasizes reasoning about performance rather than machine-dependent details. Finally, the course develops mathematical induction and recursion as powerful tools for defining, analyzing, and proving the correctness of algorithms. Topics include recursive definitions, recurrence relations, and structural induction, with classic examples such as Fibonacci numbers and recursive counting problems. By the end of the course, learners will be able to design recursive algorithms, analyze their efficiency, and understand the mathematical principles that make modern computation possible.

Навыки, которые вы освоите

AlgorithmsCryptographyEncryptionApplied MathematicsCombinatoricsMathematical Theory & AnalysisComputational ThinkingKey ManagementTheoretical Computer ScienceArithmetic

Программа курса

7 модулей · 126 учебных материалов

01Introduction to Discrete Math for Computer Science (Algorithms & Recursions)1 материалов
Course introduction and overviewЧтение
02Modular Arithmetic19 материалов
Modular ArithmeticЧтениеModular Arithmetic OverviewВидео

Учитесь у экспертов

Kenneth Wai-Ting Leung

Associate Professor of Engineering Education

Discrete Math for Computer Science - Algorithms & Recursion
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 13.7 ч

7 модулей

Язык: Английский

Часть программы вашего университета
Number Theory & IntroВидео
Divisibility_DefinitionВидео
Divisibility_Properties of DivisibilityВидео
(Optional) Divisibility_ExampleВидео
Divisibility_Euclid’s Division Theorem_Proof of ExistenceВидео
Divisibility_Euclid’s Division Theorem_Proof of UniquenessВидео
Modular Arithmetic_LemmaВидео
(Optional) Modular Arithmetic_ExampleВидео
Modular Arithmetic_Theorem1 & 2Видео
Modular Arithmetic_Modular Arithmetic on ZmВидео
Modular Arithmetic_Properties of Arithmetic Modulo m & Proof of AssociativityВидео
Modular Arithmetic_Additive inverses and multiplicative inversesВидео
Congruences_Definition & Modular Arithmetic and CongruencesВидео
Congruences_Theorem & CorollaryВидео
Applications of Modular Arithmetic_Parity BitsВидео
Applications of Modular Arithmetic_Random Numbers & Pseudorandom NumbersВидео
Quiz 1Задание
03Greatest Common Divisor20 материалов
GCDЧтениеGCD Overview ВидеоGCD_introВидеоReview of Primary School KnowledgeВидеоGreatest Common Divisor_DefinitionВидеоGreatest Common Divisor_Euclidean Algorithm_LemmaВидео(Optional) Greatest Common Divisor_Euclidean Algorithm_ExampleВидеоGreatest Common Divisor_gcds as Linear CombinationsВидеоGreatest Common Divisor_The Extended Euclidean Algorithm & Puzzle_Water MeasuringВидеоMultiplicative Inverses_Definition & TheoremВидеоMultiplicative Inverses_Proof of uniquenessВидеоMultiplicative Inverses_Finding Inverses_ExamplesВидеоSolving Linear Congruences_Corollary & Proof, ExampleВидеоSolving Linear Congruences_Revisiting the String Hash FunctionВидеоSolving Linear Congruences_HKID Checksum_Single & Transposition ErrorВидеоThe Chinese Remainder Theorem_Sun-Tsu’s Problem & TheoremВидеоThe Chinese Remainder Theorem_ProofВидео(Optional) The Chinese Remainder Theorem_ExampleВидео(Optional) InclassExВидеоQuiz 2Задание
04Cryptography20 материалов
CryptographyЧтениеCryptography OverviewВидеоSecret Key Cryptography_IntroВидеоSecret Key Cryptography_Caesar Cipher (Shift Cipher) & ExampleВидеоSecret Key Cryptography_Affine CiphersВидеоSecret Key Cryptography_Block CiphersВидеоSecret Key Cryptography_AESВидеоKey Exchange_Problems with secret-key cryptography & The Key Exchange PuzzleВидеоKey Exchange_Modular exponentiation & A One-Way Function_Modular Exponentiation and LogarithmВидеоKey Exchange_Discrete Logarithm & Diffie-Hellman Key ExchangeВидеоKey Exchange_Man-in-the-middle AttackВидеоPublic Key Cryptography and RSA_Intro & Public Key CryptographyВидеоPublic Key Cryptography and RSA_The RSA CryptosystemВидеоPublic Key Cryptography and RSA_Another one-way function_Multiplication and factoringВидеоPublic Key Cryptography and RSA_Key Generator, RSA Encryption & Decryption, RSA in Use & CorrectnessВидеоPublic Key Cryptography and RSA_Fermat Little Theorem_LemmaВидеоPublic Key Cryptography and RSA_Fermat Little Theorem_Theorem, Corollary & ProofВидеоPublic Key Cryptography and RSA_RSA Correctness_ProofВидео(Optional) InclassExВидеоQuiz 3Задание
05Algorithms20 материалов
AlgorithmsЧтениеAlgorithms OverviewВидеоRevisiting the Selection Sort Algorithm & How to Measure the Running TimeВидеоRevisiting the Selection Sort Algorithm_SolutionВидеоThe Growth of FunctionsВидеоBig-Theta_DefinitionВидеоBig-Theta_Using Definition to Derive Big-ThetaВидеоBig-Theta_Comparison of AlgorithmsВидеоBig-Theta_Examples1 & Solving Geometric SeriesВидео(Optional) Big-Theta_Examples2Видео(Optional) Big-Theta_Examples3ВидеоBig-Theta_Limitation of Big-ThetaВидеоBig-Oh & Big-Omega, ReviewВидеоBig-Theta, Big-Oh & Big-Omega_ExamplesВидео(Optional) Analysis of Algorithms_Example_Insertion SortВидеоAnalysis of Algorithms_Worst-case AnalysisВидео(Optional) Analysis of Algorithms_Example_Linear SearchВидео(Optional) Analysis of Algorithms_Example_Binary SearchВидео(Optional) InclassExВидеоQuiz 4Задание
06Induction18 материалов
InductionЧтениеInduction OverviewВидеоClimbing an Infinite Ladder & Validity of Mathematical InductionВидеоProving Summations_Example1 & The Good and Bad of InductionВидео(Optional) Proving Summations_Example2Видео(Optional) Proving Inequalities_Example1 & 2ВидеоProving Divisibility ResultsВидеоNumber of Subsets of a Finite SetВидеоOdd Pie Fight Problem_ProofВидеоTiling CheckerboardsВидеоEuclid’s Division TheoremВидеоVariants of InductionВидеоStrong InductionВидеоFundamental Theorem of ArithmeticВидеоTwo Piles of Matches ProblemВидеоMistakes in Proofs by Induction1ВидеоMistakes in Proofs by Induction2ВидеоQuiz 5Задание
07Recursion28 материалов
RecursionЧтениеRecursion OverviewВидеоRecursively Defined Functions_From Induction to RecursionВидео(Optional) Recursively Defined Functions_Example1Видео(Optional) Recursively Defined Functions_Example2ВидеоRecursively Defined Functions_Recurrences & Solving First-Order Linear RecurrenceВидеоRecursively Defined Functions_Mortgage CalculationВидеоRecursively Defined Functions_Counting RabbitsВидеоRecursively Defined Functions_Fibonacci Numbers_IntroВидео(Optional) Recursively Defined Functions_Fibonacci Numbers_Example1Видео(Optional) Recursively Defined Functions_Fibonacci Numbers_Example2_Counting Bit StringsВидеоRecursively Defined Functions_Revisiting Euclid’s GCD Algorithm_LemmaВидео Recursively Defined Functions_Revisiting Euclid’s GCD Algorithm_Proof of LemmaВидеоOther Recursively Definitions_Recursively Defined SetsВидео Other Recursively Definitions_Full Binary TreesВидеоStructural Induction_Example1 & Proof, Structural Induction FrameworkВидеоStructural Induction_Example2_Full Binary TreesВидеоStructural Induction_More examples on recursive definition and structural induction & Example3ВидеоStructural Induction_StringsВидеоStructural Induction_Balanced ParenthesesВидеоStructural Induction_String ConcatenationВидеоStructural Induction_Length of a StringВидео(Optional) Structural Induction_Example4ВидеоRecursive Algorithms_Recursive Algorithms, Euclid’s GCD Algorithm & Fibonacci NumbersВидеоRecursive Algorithms_The Tower of HanoiВидеоRecursive Algorithms_SummaryВидео(Optional) InclassExВидеоQuiz 6Задание