Teaching

Spring 2020: Language Processing in Humans and Machines (CSCI 2952-I/CLPS 1850)

Understanding language requires transforming sequences of sounds into words, combining those into meaningful thoughts, and incorporating those thoughts into an ongoing discourse of ideas. Psychologists and linguists have been trying to reverse-engineer how humans do this so easily, at the speed of conversation. In parallel, computer scientists have been trying to engineer machines to solve the same problems, leading to products such as Siri and Alexa. This class will explore how the two lines of research can help each other, bringing recent insights from machine learning into the study of human language processing, and insights from human processing into the architectures of machine language systems. This will be a lecture and discussion-based course, with a focus on comparing and contrasting the models of language used in each discipline. Class projects will give students the choice between implementing computational models themselves and writing research proposals. It is not required that students build or train models in order to succeed in the course. We have done our best to design this class so that knowing how to code is not a prerequisite.

Waitlist


Spring 2020: Data Science (CSCI 1951-A)

Data is the new soil of business and (soon) the core of essentially all domains from material science to healthcare. Mastering big data requires a set of skills spanning a variety disciplines, from distributed systems to statistics to machine learning. It is essential to develop a deep understanding of a complex ecosystem of tools and platforms, as well as the communication skills necessary to explain advanced analytics. This course will provide an overview of the wide area of data science, with a particular focus on to the tools required to store, clean, manipulate, visualize, model, and ultimately extract information from large amounts of data. Topics include: Relational algebra and SQL, Data integration and cleaning, Data modeling in Python and Pandas, Visualizations using D3, Clustering and classification, Scaling ML algorithms, Large-scale processing tools like Spark.

Visit the course webpage for more information.


Fall 2018: Computational Semantics (CSCI 2952-D)

Natural language understanding is a holy grail of AI. And with the machine learning advancing at such a rapid pace, breakthroughs in automatic language understanding seem to be just around the corner. But what exactly are the current barriers in automating human-like language capabilities? This course will dissect what makes language understanding so challenging, including both theoretical aspects (logic, formal semantics, pragmatics, knowledge representation) and practical methods (graphical models, game theory, neural networks). The course will be project-based, and will emphasize reading and critiquing current research in computer science, linguistics, and cognitive science.

Visit the course webpage for more information.