A Computational Introduction to Linguistics by