YoVDO

Introduction to Computation Theory

Offered By: Santa Fe Institute via Complexity Explorer

Tags

Algorithms and Data Structures Courses Algorithms Courses Randomized Algorithms Courses Computational Complexity Courses

Course Description

Overview

Introduction to Computation Theory is an overview of some basic principles of computation and computational complexity, with an eye towards things that might actually be useful without becoming a researcher. Students will examine the formal mathematics for foundational computation proofs, as well as gain tools to analyze hard computational problems themselves. 

Students who take this course should have basic knowledge of the principles of graphs. Some tutorial material references linear algebra, but familiarity is not necessary. This tutorial uses proofs, and requires understandings of formal math notations.

 


Syllabus

  1. What is an algorithm?
  2. Absolute Limitations on Algorithms
  3. Resource limitations on algorithms
  4. Types of Algorithms
  5. P versus NP
  6. An algorithmic perspective on complex systems
  7. Algorithms for NP-hard problems in the real world
  8. Randomized algorithms and derandomization
  9. Homework

 


Taught by

Josh Grochow

Tags

Related Courses

算法设计与分析 Design and Analysis of Algorithms
Peking University via Coursera
Introdução à Ciência da Computação com Python Parte 2
Universidade de São Paulo via Coursera
Automata Theory
Stanford University via edX
Computation in Complex Systems
Santa Fe Institute via Complexity Explorer
Introduction to Computational Thinking and Data Science
Massachusetts Institute of Technology via edX