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

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

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

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

Algorithms and Complexity

Курс от University of London, Goldsmiths, University of London
Средний≈ 19.7 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

Algorithms and complexity are at the heart of computer science, shaping how we design solutions and measure efficiency. This course provides a rigorous introduction to both the theory and practice of algorithms. You’ll begin with automata theory, exploring how machines recognise and process languages. You’ll then move into practical algorithmic techniques, including searching and sorting, before learning to design and evaluate recursive and iterative algorithms. Finally, you’ll study complexity theory, developing the ability to classify problems and understand computational limits. By combining abstract models with real-world techniques, this course equips you to design algorithms, assess performance, and reason about scalability. Whether you’re pursuing studies in computer science, preparing for a programming role, or aiming to strengthen your technical foundations, you’ll gain both theoretical insight and practical skills for tackling computing challenges.

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

AlgorithmsData StructuresTheoretical Computer ScienceAnalysisCritical Thinking and Problem SolvingMathematical Theory & AnalysisComplex Problem SolvingGame TheoryComputational ThinkingClassification AlgorithmsGraph TheoryComputer ScienceComputational LogicLogical ReasoningCritical Thinking

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

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

01Automata Theory26 материалов

Lesson 1.0 Introduction

Course structure and navigationЧтениеHow to learn effectively on this courseЧтениеIntroduction to the courseВидеоCourse SyllabusЧтение

Lesson 1.1 Finite automata

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

Omar Karakchi

Lecture

Algorithms and Complexity
В каталоге вашей программы

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

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

Начать на Coursera

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

Обучение на Coursera

≈ 19.7 ч

4 модулей

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

Часть программы вашего университета
IntroductionВидео
Basic definitions, letters, stringsВидео
What is an automaton?Видео
BasicsЗадание

Lesson 1.2 Deterministic automata

Finite automata – example (part 1)ВидеоFinite automata – example (part 2)ВидеоWorking with Automata SimulatorВидеоDesign an automata to accept a simple language using Automata SimulatorDIALOGUELanguage of the automataВидеоRecognise a languageВидеоExercises with hints and tipsЧтение

Lesson 1.3 Non-deterministic Automata

Deterministic finite automata (DFA) vs nondeterministic finite automata (NFA)ВидеоDFA exampleВидеоDFA example in Automata SimulatorВидеоDFA SimulatorЛабораторнаяComputation by NFAВидеоNFA exampleВидеоNFA example in Automata SimulatorВидеоNFA SimulatorЛабораторнаяExercises with hints and tipsЧтение

Lesson 1.4 Summary and Assessments

ConclusionВидеоCheck your understanding: End of module 1Задание
02Searching and Sorting Algorithms20 материалов

Lesson 2.1 Introducing Algorithms

What is an algorithm ?ВидеоTell us about an algorithm that you useОбсуждениеRepresenting algorithmsВидеоSimple algorithms – insertion sortВидеоHow else would you sort?ЗаданиеSimple algorithms – bubble sortВидео

Lesson 2.2 Sorting and Search Techniques

Selection sortВидеоInsertion, bubble and selection sortЗаданиеWhen we should use which sorting algorithm?DIALOGUESorting algorithms simulator: Bubble Sort and Insertion SortЛабораторнаяExercises with hints and tipsЧтениеSearch techniquesВидео

Lesson 2.3 Heap sort

Binary trees and heapsВидеоHeapify algorithmВидеоHeap sortВидеоBinary trees and heapsЧтениеHeap sortЗадание

Lesson 2.4: Summary and Assessments

ConclusionВидеоCheck your understanding: End of module 2Задание
03Recursive and Iterative Algorithms20 материалов

Lesson 3.1 Recursive and Iterative Algorithms

RecursionВидеоIterative algorithmsВидеоRecursive algorithms exampleВидеоRecursive and iterative algorithmsЗаданиеQuick sortВидеоQuick sort exampleВидеоQuick sortЗаданиеPartition and quick sort algorithmsЧтениеLesson 1 exercises with hints and tipsЧтение

Lesson 3.2 Merging

Merging listsВидеоHow does this magic work?ЗаданиеMerge sortВидеоKeep mergingЗадание

Lesson 3.3 The Gale-Shapley alogrithm

The algorithm of happinessВидеоName an allocation problem that you knowОбсуждениеThe Gale-Shapley algorithm – example and pseudocodeВидеоStable matchingЗадание

Lesson 3.4 Summary and Assessments

Exercises with hints and tipsЧтениеConclusionВидеоCheck your understanding: End of module 3Задание
04 Complexity Theory25 материалов

Lesson 4.1 Analysing insertion sort

IntroductionВидеоEfficiency – insertion sort (time complexity)ВидеоAverage, worst and best caseЗаданиеEfficiency – bubble sort and binary searchВидео

Lesson 4.2 Asymptomatic analysis

Asymptotic complexityВидеоWhy do we need asymptotic behaviour? [Review]ЗаданиеBig O notationВидеоBig O notation exampleВидеоAsymptotic complexityЗаданиеUsing Big O to analyse selection sortВидеоModule exercises with hints and tipsЧтениеMastering Big O analysisDIALOGUE

Lesson 4.3 Recursion Complexity and Master Theorem

Recursion complexityВидеоMaster theoremВидео Master theorem exampleВидеоMaster theoremЗаданиеConsidering approachesОбсуждениеEfficiency – quick sortВидеоEfficiency – merge sort

Lesson 4.4 Summary and Assessments

ConclusionВидеоCheck your understanding: End of module 4Задание

Course Wrap-Up

Algorithms and Complexity: Course SummaryЧтениеThe Vanishing Lanterns: A Cave of Logic MysteryDIALOGUECourse summaryВидео
Binary and sequential searchЗадание
Видео
Time complexityЗадание