This repository contains my personal assignments, solutions, and any related work for my self-study of the MIT 18.404/6.840 Theory of Computation course (Fall 2020) available on the MIT OpenCourseware website.
All materials in this repository are my own interpretations and should not be used as primary or authoritative solutions for any course.
This repository is meant as a personal reference and documentation of my journey through the course. If you're currently taking the course or planning to study it, please use this repository as a supplementary reference only.
- Original Work: Everything in this repository is my own work unless otherwise specified.
- Not Official Solutions: The content may contain errors or omissions. They are not verified or endorsed by MIT or any course instructor.
- Academic Integrity: If you're a student currently enrolled in the course, I encourage you to work through problems on your own and consult this repository only for additional insight or if you're stuck after exhausting other avenues of study.
- Problem Set 1 - Regular Languages and Context-Free Languages
- Problem Set 2 - Church-Turing Thesis and Decidability
- Problem Set 3 - Reducibility and Advanced Topics in Computability Theory
- Problem Set 4 - Time Complexity
- Problem Set 5 - Time Complexity and Space Complexity
- Problem Set 6 - Space Complexity, Intractability, and Advanced Topics in Complexity Theory
- LaTeX for mathematical notation (Overleaf)
All my notes, solutions, and other related work are under MIT License. However, the course materials I reference belong to MIT, and their use should comply with the terms set by MIT OpenCourseware.
I'd like to extend my gratitude to Professor Sipser and the wider MIT team for writing such a beatiful textbook, and making such valuable resources available for free on the MIT OpenCourseware platform.