This course explores a range of issues related to getting computers to perform useful and interesting tasks involving human language. We will cover both deterministic and statistical models for morphological, syntactic, semantic and discourse processing. We'll be discussing these topics in the context of practical applications for information extraction (text analytics), sentiment analysis, question answering and machine translation.