This course examines a range of issues concerning computer systems that can process human languages. Among the issues to be discussed are morphological analysis, finite state automata, syntactic processing, parsing with CFG, information retrieval, knowledge representation, and NLP applications.