{
  "title": "CS4114 Formal Languages Fall 2020",
  "desc": "CS4114 Formal Languages Fall 2020",
  "build_dir": "Books",
  "code_dir": "SourceCode/",
  "code_lang": {
    "Java": {
      "ext": [
        "java"
      ],
      "label": "Java",
      "lang": "java"
    },
    "Java_Generic": {
      "ext": [
        "java"
      ],
      "label": "Java (Generic)",
      "lang": "java"
    },
    "C++": {
      "ext": [
        "cpp",
        "h"
      ],
      "label": "C++",
      "lang": "C++"
    }
  },
  "lang": "en",
  "build_JSAV": false,
  "build_cmap": false,
  "suppress_todo": false,
  "assumes": "recursion",
  "dispModComp": true,
  "glob_exer_options": {
    "JXOP-debug": "true"
  },
  "glob_ss_options": {
    "threshold": 0.1, 
    "points": 1.0, 
    "required": true
  }, 
  "glob_ff_options": {
    "threshold": 1.0, 
    "points": 1.0, 
    "required": true
  },
  "glob_ka_options": {
    "threshold": 5, 
    "points": 1.0, 
    "required": true
  }, 
  "glob_extr_options": {
    "code-workout": {
      "points": 2.0
    }, 
    "points": 1.0
  }, 
  "glob_pe_options": {
    "threshold": 0.9, 
    "points": 2.0, 
    "required": true
  }, 
  "chapters": {
    "Preface": {
      "Intro": {}
    },
    "Introduction": {
      "PIFormalLang/MajorConcepts": {},
      "PIFormalLang/IntroductoryGrammarExercises":{
        "sheet1exercise5":{
          "points": 2.0
        },
        "sheet1exercise6":{
          "points": 2.0
        },
        "sheet1exercise7":{
          "points": 2.0
        },
        "sheet1Practice5":{
          "points": 2.0
        },
        "sheet1Practice6":{
          "points": 2.0
        },
        "sheet1Practice7":{
          "points": 2.0
        }
      }
    },
    "Mathematical Background": {
      "PIFormalLang/SetDefinitions": {},
      "PIFormalLang/Relations": {},
      "PIFormalLang/MathProof":{}
    },
    "Finite Acceptors": {
      "PIFormalLang/DFA":{},
      "PIFormalLang/DFAExercises":{
        "sheet1exercise1":{
          "points": 5.0
        },
        "sheet1exercise2":{
          "points": 5.0
        },
        "sheet1exercise3":{
          "points": 5.0
        },
        "sheet1exercise4":{
          "points": 5.0
        },
        "sheet1Practice1":{
          "points": 5.0
        },
        "sheet1Practice2":{
          "points": 5.0
        },
        "sheet1Practice3":{
          "points": 5.0
        },
        "sheet1Practice4":{
          "points": 5.0
        }
      },
      "PIFormalLang/NFA":{},
      "PIFormalLang/NFAExercises":{
        "NFAtoDFAExerciseEditor":{
          "points": 10.0
        },
        "sheet2exercise4":{
          "points": 10.0
        },
        "NFAtoDFAPracticeEditor":{
          "points": 10.0
        },
        "sheet2Practice4":{
          "points": 10.0
        }
      },
      "PIFormalLang/DFAMinimization":{},
      "PIFormalLang/MinimizationExercises":{
        "DFAminimizationExerciseEditor":{
          "points": 10.0
        },"DFAminimizationExerciseEditor2":{
          "points": 10.0
        },
        "sheet2exercise3":{
          "points": 7.0
        }
      }
    },
    "Regular Languages": {
      "PIFormalLang/RegularExpression":{},
      "PIFormalLang/RegExExercises":{
        "sheet3exercise1":{
          "points": 5.0
        },
        "sheet3exercise2":{
          "points": 5.0
        },
        "sheet3exercise3":{
          "points": 5.0
        },
        "sheet3practice1":{
          "points": 5.0
        },
        "sheet3practice2":{
          "points": 5.0
        },
        "sheet3practice3":{
          "points": 5.0
        }
      },
      "PIFormalLang/RegularGrammars": {},
      "PIFormalLang/RegularGrammarsExercises":{
        "sheet3exercise4":{
          "points": 5.0
        },
        "sheet3exercise5":{
          "points": 5.0
        },
        "sheet3exercise6":{
          "points": 5.0
        },
        "sheet3practice4":{
          "points": 5.0
        },
        "sheet3practice5":{
          "points": 5.0
        },
        "sheet3practice6":{
          "points": 5.0
        }
      },
      "PIFormalLang/ClosurePropertiesOfRegularLanguages": {}
    },
    "Identifying Non-regular Languages":{
      "PIFormalLang/NonRegular":{}
    },
    "Context-Free Grammars and Languages":{
      "PIFormalLang/ContexFreeLanguages": {},
      "PIFormalLang/CFLExercises": {
        "sheet5exercise1":{
          "points": 5.0
        },
        "sheet5exercise2":{
          "points": 5.0
        },
        "sheet5Practice1":{
          "points": 5.0
        },
        "sheet5Practice2":{
          "points": 5.0
        }
      },
      "PIFormalLang/CFGTransormations":{},
      "PIFormalLang/CFGTransformationsExercies":{
        "sheet6exercise1":{
          "points": 10.0
        },
        "sheet6exercise2":{
          "points": 10.0
        },
        "sheet6exercise3":{
          "points": 10.0
        },
        "sheet6exercise4":{
          "points": 10.0,
          "threshold": 0.9
        }
      }
    },
    "Pushdown Automata":{
      "PIFormalLang/PDA": {},
      "PIFormalLang/PDAExercises":{
        "sheet7exercise1":{
          "points": 5.0
        },
        "sheet7exercise2":{
          "points": 5.0
        },
        "sheet7exercise3":{
          "points": 5.0
        },
        "sheet7exercise4":{
          "points": 5.0
        }
      },
      "PIFormalLang/PDACFL": {},
      "PIFormalLang/DPDA": {}
    },
    "Properties of Context-free Languages":{
      "PIFormalLang/CFLProp":{}
    },
    "Models of Computation":{
      "VisFormalLang/TuringIntro":{},
      "PIFormalLang/TuringMachines":{},
      "PIFormalLang/TMExercises":{
        "addOnea":{ 
          "points": 5.0
        },
        "eraseABC":{ 
          "points": 5.0
        },
        "keepABC":{ 
          "points": 5.0
        },
        "aNumsPowerOf2":{ 
          "points": 5.0
        },
        "ifaNumsPowerOf2":{ 
          "points": 5.0
        },
        "abcWInWWROut":{ 
          "points": 5.0
        },
        "abcNawlargerthanNbw":{ 
          "points": 5.0
        },
        "replaceABAbyACA":{ 
          "points": 5.0
        },
        "abPalindromes":{ 
          "points": 5.0
        }
      }
    },
    "Parsing":{
      "VisFormalLang/ParseIntro":{},
      "VisFormalLang/LLParsing":{},
      "VisFormalLang/LRParsing":{},
      "VisFormalLang/CYKParsing":{},
      "VisFormalLang/Compiler":{}
    },
    "Limits to Computing": {
      "PIFormalLang/PairToSortCONPI": {},
      "PIFormalLang/LowerBound": {},
      "PIFormalLang/TwoMulExample": {},
      "PIFormalLang/TravelSalesman": {},
      "PIFormalLang/KClique": {},
      "PIFormalLang/SATProof": {},
      "PIFormalLang/NPCCoping": {},
      "PIFormalLang/UnsolveableProblems1": {},
      "PIFormalLang/UnsolveableProblems2": {}
    },
    "Appendix": {
      "Glossary": {}
    }
  }
}
