Diseño de algoritmos y lenguajes formales en ciencias de la computación