Teaching Assistant - Automata Theory and Formal Languages
Undergraduate course, Shahid Rajaee Teacher Training University, Computer Engineering Department, 2021
Served as Teaching Assistant for Automata Theory and Formal Languages under Dr. Kianian.
Responsibilities
- Assisted with theoretical concepts in computation and formal languages
- Conducted tutorial sessions on automata, grammars, and complexity theory
- Helped students understand finite automata, regular expressions, and context-free grammars
- Graded problem sets, proofs, and exams
- Provided additional support for students struggling with theoretical concepts
Topics Covered
- Finite Automata (DFA, NFA) and regular expressions
- Context-Free Grammars and Pushdown Automata
- Turing Machines and computability theory
- Decidability and undecidability
- Complexity theory (P, NP, NP-completeness)
- Formal language hierarchies
Teaching Approach
- Breaking down complex theoretical concepts into understandable parts
- Providing numerous examples and counterexamples
- Visual representations of automata and state transitions
- Step-by-step proof techniques
- Connecting theory to practical applications in compiler design
Skills Developed
- Teaching abstract mathematical and theoretical concepts
- Proof verification and mathematical rigor
- Helping students develop theoretical thinking
- Creating clear explanations for complex topics
