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