IU Computational Linguistics offers a wide range of courses covering both theoretical foundations and practical applications in computational approaches to language. For complete graduate course offerings by the Department of Linguistics, see the official course catalog. Below, you'll find information about recently offered courses.
Instructor: Luke Gessler
Computer systems that process human language have become ubiquitous in modern life. This course surveys modern language technologies, which may include writing systems, writing assistants, language learning assistants, text classifiers, search engines, machine translation systems, and large language models such as ChatGPT. For the technologies covered, we explore how they function, emphasizing insights from linguistics, and discuss the ethical and social consequences of their use. No technical background is assumed.
Instructor: Sandra Kuebler
This course provides an introduction to natural language processing and computational linguistics. It is concerned with concepts, models, and algorithms to analyze and generate natural languages automatically. It will also look at NLP applications. We will look at sentiment analysis, and how to model information that is required for a machine learning approach. Thus, we will discuss different levels of linguistic analysis: morphology, morpho-syntax, syntax, and lexical semantics. In that process, we will move from simple representations of language, such as finite-state techniques and n-gram analysis, to more advanced representations, including word embeddings.
Instructor: Shuju Shi
An introduction to acoustic signal processing, focusing on the representation and analysis of continuous and discrete-time speech signals. Topics include phasors, sampling, FIR filters, the discrete-time Fourier transform, spectrum, and spectrogram analysis.
Instructor: Luke Gessler
In this course, students will develop their practical programming skills in Python while gaining familiarity with algorithms and data structures that are foundational for computational linguistics. Topics covered include linked lists, queues and stacks, tree-based data structures, tree-based algorithms, sorting algorithms, graphs, and search algorithms.
Instructor: Damir Cavar
Advanced Machine Learning for CL focuses on new methods in CL based on Generative AI, Graph representations and Knowledge Graphs for semantic modeling, and Graph Neural networks. The topics discussed include also tuning of Large Language Models and LLMs with RAGs.
Instructor: Shuju Shi
This course investigates the acoustic, phonetic, and statistical analysis of atypical speech, with a focus on accented and dysarthric speech. We will explore how speech variability affects intelligibility, survey corpora and annotation practices, and review modeling approaches ranging from traditional acoustic analysis to modern neural architectures. Students will lead discussions, analyze real datasets, and complete a final project that develops a computational model or empirical study of atypical speech.
Instructor: Luke Gessler
This course is geared towards students in Computational Linguistics and Linguistics, with little or no experience in programming. It introduces the fundamentals of programming and computer science, aiming at attaining practical skills for text processing. In contrast to similar courses in Computer Science, we will concentrate on problems in Computational Linguistics, which involve managing text, searching in text, and extracting information from text.
Instructor: Sandra Kuebler
Present-day computer systems work with human language. This course surveys issues relating natural language to computers, covers real-world applications, and provides practical experience with natural language on computers. Topics include text encoding, search technology, machine translation, dialogue systems, computer-aided language learning, and the social context of technology.
Instructor: Shuju Shi
This course is a graduate course that provides an introduction to natural language processing and computational linguistics. The course focuses on key concepts, models, and algorithms for the automatic analysis and generation of natural language, with a look at real-world NLP applications.
Instructor: Shuju Shi
This course explores advanced topics and current trends in speech processing, focusing on applications in areas such as speech recognition, synthesis, and speech enhancement. The course will cover both theoretical foundations and practical implementation aspects, including recent advances in machine learning and deep learning as applied to speech processing.
Instructor: Damir Cavar
An introduction to statistical models and machine learning paradigms in NLP. Covers basic notions in probability and information theory, focusing on the concepts needed for NLP, including Markov Models. Additional topics may include word sense disambiguation, text categorization, and statistical alignment methods and their use in machine translation.
Instructor: Luke Gessler
An introduction to machine learning (ML) methods for computational linguistics (CL). We begin by covering basic concepts in ML before turning to foundational ML methods in CL. Throughout, students develop practical skills in ML programming in Python, relying on libraries such as NumPy, PyTorch, and scikit-learn. Students will develop an understanding of the mathematical details underlying modern models used in CL, and will have practical skills for creating and using ML models for CL.
Instructor: Damir Cavar