Current Semester (Spring 2024)
- LING83800 - Methods in Computational Linguistics II
- LING79100/SPCH80900 - Signals and Symbols
- LING78100/73800 - Methods in Computational Linguistics I (Fall 2023)
This course is the first of a two-semester series introducing modern software development. The intended audience are students interested in speech and language processing technologies, though the materials will be beneficial to all language researchers.
- LING82100 - Language Acquisition (Fall 2023)
This course is an overview of research in language acquisition, focusing on the important connection between what children know and how they come to know it. We will devote special attention to the use of simple computational and mathematical models in explaining the mechanisms children possess to learn and use language.
- CS65 (Swarthmore) - Natural Language Processing (Spring 2022 and Fall 2020)
This course will introduce you to a broad range of topics in the area of natural language processing including language modeling, part of speech tagging, machine translation, syntactic parsing, vector semantics, text classification, as well as the application of computational tools to cognitive modeling and psycholinguistics.
- CS21 (Swarthmore) - Intro to Computer Science (Spring 2021)
This course will introduce fundamental ideas in computer science while also teaching you how to write computer programs. We will study algorithms for solving problems and implement solutions in the Python programming language. Python is an interpreted language that is known for its ease of use. We also introduce object-oriented programming and data structures. This course is appropriate for all students who want to learn how to write computer programs and think like computer scientists. It is the usual first course for computer science majors and minors.
- CS35 (Swarthmore) - Data Structures and Algorithms (Fall 2021)
This is the second semester in a broad introduction to computer science. Topics to be covered include object-oriented programming in C++, advanced data structures (such as priority queues, trees, hash tables, and graphs), advanced algorithms (and analysis of asymptotic complexity), as well as software design and verification. These topics are central to every sub-discipline in computer science, and also connect to central concepts across the sciences.
Office Hours: Wednesday 12:30-24:30, GC 7400.02 and by appt.
Various Past Courses
Before Joining CUNY GC
From 2020 through 2022 I was a Visiting Assistant Professor of Computer Science and Cognitive Science at Swarthmore College. I taught both upper-level courses in NLP and computational linguistics as well as introductory and intermediate courses in data structures, algorithms, and the fundamentals of computer science.In my graduate student days I also served as a teaching assistant for a range of courses in linguistics, formal language theory, experimental methods, and psycholinguistics.
In my teaching, as in my research, I apply computational approaches and thinking to topics in language, linguistics, and cognitive science. Particularly in a growing area like "computational linguistics", I believe it is important that students need not be experienced programmers in order to "think computationally."