Mata kuliah ini bertujuan untuk memberikan bekal pengetahuan mengenai latar belakang perancangan bahasa pemrograman dan memberikan kemampuan memodelkan permasalahan nyata menggunakan automata sebagai alat pemodelannya (dengan studi kasus bahasa pemrograman). Selain itu, mahasiswa diharapkan dapat mengasah kemamuan mendefinisikan objek atau himpunan tertentu dengan menggunakan definisi rekursif, baik

secara mandiri atau juga dalam kerjasama tim.