This course will provide an in-depth understanding of Machine Translation from computational and linguistic perspectives, spanning classical to neural modeling paradigms. We will discuss techniques for automated processing of human language (morphological analysis, tagging, syntactic and semantic analysis, and language generation) with in-class exercises. Linguistic variation and its impact on computational models will be discussed. Term projects will involve implementing components of speech/text technologies and applications, identifying their limitations, and developing improvements, or any topic relevant to human language processing.