Explore l'analyse du texte dans les arbres à l'aide de combinateurs d'analyseurs dans Scala, couvrant le filtrage, la transformation, le séquençage, les alternatives, la récursion, la manipulation des espaces, le lexing, la nature monadique et la notation.
Introduit l'algorithme d'analyse CYK pour les grammaires sans contexte, expliquant sa gestion de l'ambiguïté et de l'importance dans l'analyse des grammaires générales.
Couvre l'étude mathématique des comportements de programme, l'analyse, les langages spécifiques à un domaine et les outils puissants de conception de langage.
Explique la traduction de for-expressions en Scala à l'aide de fonctions map, flatmap et filter, avec des exemples et une discussion sur sa généralisation à différents types.
Couvre le problème de coupe de la tige et le problème de changement pour optimiser les appels récursifs et trouver le nombre minimum de pièces nécessaires pour un montant d'argent donné.
Couvre la façon dont les classes et les objets sont organisés en paquets, les importations, la hiérarchie des classes de Scala, les traits, les types supérieurs, le type Nothing, les exceptions et comprend un exercice sur la détermination de type.
Introduit la programmation dynamique, en se concentrant sur l'économie de calcul en se souvenant des calculs précédents et en l'appliquant pour résoudre efficacement les problèmes d'optimisation.