A comprehensive academic resource for Theory of Computer Science (TCS), covering automata theory, formal languages, Turing machines, computability, and complexity theory.
Overview · Contents · Reference Books · Assignments · Quizzes · Online Exam · Semester Exam · Question Papers · Submission Report · Syllabus · Usage Guidelines · License · About · Acknowledgments
Theory of Computer Science (CSC504) is a core subject in the Third Year (Semester V) of the Computer Engineering curriculum at the University of Mumbai. This course provides foundational knowledge of computation theory, formal languages, automata, and the theoretical limits of computing.
The curriculum encompasses several key domains in Theoretical Computer Science:
- Set Theory & Mathematical Foundations: Sets, Relations, Functions, Proof Techniques.
- Formal Languages: Regular Languages, Context-Free Languages, Grammar Classifications.
- Automata Theory: Finite Automata (DFA, NFA), Pushdown Automata, Turing Machines.
- Regular Expressions: Pattern Matching, Equivalence with Finite Automata.
- Context-Free Grammars: Parse Trees, Ambiguity, Chomsky Normal Form.
- Computability Theory: Decidability, Undecidability, Halting Problem.
This repository represents a curated collection of study materials, reference books, assignments, and personal preparation notes compiled during my academic journey. The primary motivation for creating and maintaining this archive is simple yet profound: to preserve knowledge for continuous learning and future reference.
As a computer engineer, understanding theoretical foundations of computation is crucial for compiler design, algorithm analysis, and understanding computational limits. This repository serves as my intellectual reference point: a resource I can return to for relearning concepts, reviewing methodologies, and strengthening understanding when needed.
Why this repository exists:
- Knowledge Preservation: To maintain organized access to comprehensive study materials beyond the classroom.
- Continuous Learning: To support lifelong learning by enabling easy revisitation of fundamental TCS concepts.
- Academic Documentation: To authentically document my learning journey through Theory of Computer Science.
- Community Contribution: To share these resources with students and learners who may benefit from them.
Note
All materials in this repository were created, compiled, and organized by me throughout my undergraduate program (2018-2022) as part of my coursework, laboratory assignments, and project implementations.
This collection includes comprehensive reference materials covering all major topics:
| # | Resource | Focus Area |
|---|---|---|
| 1 | TCS Techmax | Complete syllabus coverage |
| 2 | Introduction to Theory of Computation - Sipser | Standard Textbook (Sipser) |
| 3 | Automata Theory | Finite Automata and Languages |
| 4 | Theory of Computation | Computation Theory Concepts |
| 5 | Theory of Computer Science | Comprehensive Reference |
| 6 | Set Theory PPT | Mathematical Foundations |
| 7 | TCS Easy Solution | Solved questions and summaries |
| 8 | TCS Easy Solutions | Extended solved questions |
| 9 | TCS Question Bank | Practice questions for exam preparation |
| 10 | Theory of Computer Science Diagram | Key architectural diagrams |
| 11 | Semester 5 Books | Curated book recommendations |
Academic assignments for comprehensive learning and practice:
| # | Assignment | Description | Date | Marks |
|---|---|---|---|---|
| 1 | Assignment 1 | Set Theory and Mathematical Foundations | November 20, 2020 | 10/10 |
| 2 | Assignment 2 | Finite Automata Basics | November 20, 2020 | 09/10 |
| 3 | Assignment 3 | DFA and NFA Conversions | November 21, 2020 | 09/10 |
| 4 | Assignment 4 | Regular Expressions | November 22, 2020 | 09/10 |
| 5 | Assignment 5 | Context-Free Grammars | November 22, 2020 | 10/10 |
| 6 | Assignment 6 | Pushdown Automata | November 22, 2020 | 09/10 |
| 7 | Assignment 7 | Turing Machines Basics | November 28, 2020 | 09/10 |
| 8 | Assignment 8 | Turing Machine Variations | November 28, 2020 | 09/10 |
| 9 | Assignment 9 | Decidability and Undecidability | November 28, 2020 | 09/10 |
| 10 | Assignment 10 | Complexity Theory | November 28, 2020 | 09/10 |
Topics Covered: Set Theory · Finite Automata · Regular Expressions · Context-Free Grammars · Pushdown Automata · Turing Machines · Decidability · Complexity
TCS-specific quizzes conducted during the course:
| # | Quiz | Topics | Date | Marks |
|---|---|---|---|---|
| 1 | Introduction | Course Introduction | July 11, 2020 | 10/10 |
| 2 | Quiz 1 | Set Theory, Finite Automata | — | 08/10 |
| 3 | Quiz 2 | Finite State Automata | — | 09/10 |
| 4 | Quiz 3 | Regular Expressions, CFG | — | 09/10 |
| 5 | Quiz 4 | Pushdown Automata | — | 10/10 |
| 6 | Quiz 5 | Turing Machines | — | 10/10 |
| 7 | Quiz 6 | Decidability, Complexity | — | 10/10 |
Important
COVID-19 Impact: This coursework was completed during the COVID-19 pandemic. All examinations and assessments were conducted in a digital format.
Online assessments conducted during the semester:
| # | Resource | Description | Date | Marks |
|---|---|---|---|---|
| 1 | TCS UT-2 | Unit Test 2 Assessment | 2020 | — |
| 2 | TCS Online Test | Subject-specific online test | July 18, 2020 | 8/8 |
| 3 | All Subjects Test 1 | Collective subject test 1 | July 18, 2020 | 40/40 |
| 4 | All Subjects Test 2 | Collective subject test 2 | July 25, 2020 | 50/50 |
| 5 | All Subjects Test 3 | Collective subject test 3 | August 03, 2020 | 50/50 |
| 6 | All Subjects Test 4 | Collective subject test 4 | August 08, 2020 | 50/50 |
Final semester examination submission:
| # | Resource | Description | Date |
|---|---|---|---|
| 1 | Question 2 | TCS Semester Exam Answer Sheet | January 14, 2021 |
| 2 | Question 3 | TCS Semester Exam Answer Sheet | January 14, 2021 |
University of Mumbai examination papers from 2019:
| # | Exam Session | Syllabus | Resource |
|---|---|---|---|
| 1 | May 2019 | CBCGS | View |
| 2 | December 2019 | CBCGS | View |
Course completion documentation:
| # | Document | Description |
|---|---|---|
| 1 | Submission Report | Final coursework submission report |
Official CBCGS Syllabus
Complete Third Year Computer Engineering syllabus document from the University of Mumbai, including detailed course outcomes, assessment criteria, and module specifications for TCS.
Important
Always verify the latest syllabus details with the official University of Mumbai website, as curriculum updates may occur after this repository's archival date.
This repository is openly shared to support learning and knowledge exchange across the academic community.
For Students
Use these resources as reference materials for understanding automata theory, formal languages, and preparing for examinations. All content is organized for self-paced learning.
For Educators
These materials may serve as curriculum references or supplementary teaching resources. Attribution is appreciated when utilizing content.
For Researchers
The documentation and organization may provide insights into academic resource curation and educational content structuring.
This repository and all linked academic content are made available under the Creative Commons Attribution 4.0 International License (CC BY 4.0). See the LICENSE file for complete terms.
Note
Summary: You are free to share and adapt this content for any purpose, even commercially, as long as you provide appropriate attribution to the original author.
Created & Maintained by: Amey Thakur
Academic Journey: Bachelor of Engineering in Computer Engineering (2018-2022)
Institution: Terna Engineering College, Navi Mumbai
University: University of Mumbai
This repository represents a comprehensive collection of study materials, reference books, assignments, and personal preparation notes curated during my academic journey. All content has been carefully organized and documented to serve as a valuable resource for students pursuing Theory of Computer Science.
Connect: GitHub · LinkedIn · ORCID
Grateful acknowledgment to the faculty members of the Department of Computer Engineering at Terna Engineering College for their guidance and instruction in Theory of Computer Science. Their clear teaching and continued support helped develop a strong understanding of computation theory and formal languages.
Special thanks to the mentors and peers whose encouragement, discussions, and support contributed meaningfully to this learning experience.
Overview · Contents · Reference Books · Assignments · Quizzes · Online Exam · Semester Exam · Question Papers · Submission Report · Syllabus · Usage Guidelines · License · About · Acknowledgments
Computer Engineering (B.E.) - University of Mumbai
Semester-wise curriculum, laboratories, projects, and academic notes.