Mathematical Foundations for Computing

  1. Formal Languages and Automata Theory
    1. Languages and Grammars
      1. Alphabets and Strings
        1. Definition of Alphabet
          1. String Operations
            1. String Length
              1. Empty String
              2. Languages
                1. Definition of Language
                  1. Language Operations
                    1. Closure Properties
                    2. Formal Grammars
                      1. Grammar Components
                        1. Production Rules
                          1. Derivations
                            1. Parse Trees
                            2. The Chomsky Hierarchy
                              1. Type 0: Unrestricted Grammars
                                1. Type 1: Context-Sensitive Grammars
                                  1. Type 2: Context-Free Grammars
                                    1. Type 3: Regular Grammars
                                  2. Finite-State Machines
                                    1. Finite Automata with Output
                                      1. Moore Machines
                                        1. Mealy Machines
                                        2. Finite Automata without Output
                                          1. Deterministic Finite Automata
                                            1. Nondeterministic Finite Automata
                                              1. State Diagrams
                                                1. Transition Functions
                                                2. Equivalence of DFAs and NFAs
                                                  1. Subset Construction
                                                    1. Proof of Equivalence
                                                    2. Minimization of Finite Automata
                                                      1. Equivalent States
                                                        1. Minimization Algorithm
                                                      2. Regular Expressions
                                                        1. Definition and Syntax
                                                          1. Basic Symbols
                                                            1. Regular Operations
                                                            2. Operations on Regular Expressions
                                                              1. Union
                                                                1. Concatenation
                                                                  1. Kleene Star
                                                                  2. Equivalence of Regular Expressions and Finite Automata
                                                                    1. Thompson's Construction
                                                                      1. State Elimination Method
                                                                      2. Applications of Regular Expressions
                                                                        1. Pattern Matching
                                                                          1. Lexical Analysis
                                                                        2. Context-Free Grammars and Languages
                                                                          1. Definition of Context-Free Grammar
                                                                            1. Production Rules
                                                                              1. Derivation Trees
                                                                              2. Parse Trees and Ambiguity
                                                                                1. Leftmost and Rightmost Derivations
                                                                                  1. Ambiguous Grammars
                                                                                    1. Inherent Ambiguity
                                                                                    2. Normal Forms
                                                                                      1. Chomsky Normal Form
                                                                                        1. Greibach Normal Form
                                                                                        2. Pushdown Automata
                                                                                          1. Definition and Components
                                                                                            1. Equivalence with CFGs
                                                                                          2. Introduction to Turing Machines
                                                                                            1. Definition of a Turing Machine
                                                                                              1. Components and Configuration
                                                                                                1. Transition Function
                                                                                                2. Turing Machine Computations
                                                                                                  1. Configurations
                                                                                                    1. Computation Sequences
                                                                                                      1. Accepting and Rejecting
                                                                                                      2. Computable Functions
                                                                                                        1. Turing-Computable Functions
                                                                                                          1. Church-Turing Thesis
                                                                                                          2. Decidability and Undecidability
                                                                                                            1. Decidable Languages
                                                                                                              1. The Halting Problem
                                                                                                                1. Undecidable Problems
                                                                                                                  1. Reduction Techniques