I primarily teach courses on topics involving computational analysis of text for students belonging to diverse majors ranging from Computer Science to English! I also taught introductory courses in programming for graduate applied linguistics students and a technical communication course for undergraduate students.

Here are some details about my teaching. If anyone wants to know more the syllabus or other course materials for any of these courses, please contact me via email. I am happy to share.

* Spring 2018:

1) LING 516: Methods of Formal Linguistic Analysis (aka Introductory Programming)

This course is a introductory course in programming for applied linguistics graduate students. I used Python as the programming language, and PyCharm as the IDE. I followed “Python for Informatics” by Charles Severence as the primary textbook for this course.If you never did any programming before and want to learn language processing, I strongly recommend Python as the language to start.

(Syllabus - yet to be uploaded)

2) LING 410X: Language as Data

This is an experimental course which introduces text analysis to liberal arts majors by using R programming language. We discussed topics ranging from reading different file formats, doing text pre-processing, calculating and plotting word frequency analyses to methods of doing text classification, topic modeling and visualization in R. It was first taught in Spring 2017. No prior programming background needed.

(Syllabus - yet to be uploaded)

* Fall 2017:

1) LING 120: Language and Computers

An elementary course introducing the different technological applications which involve computers working with human language. I wrote several blogposts on teaching this course during August-December 2017. They can be accessed here.

2) ENGL 314: Technical Communication

2) LING 590: Independent Study on visualizing speech data with Javascript

* Spring 2017:

1) LING 515: Statistical Natural Language Processing

This is a graduate/adv. under graduate course introducing the algorithms and methods used in Natural Language Processing. Topics covered include: morphological analysis, POS tagging, parsing algorithms, text classification, machine translation and introduction to neural networks in NLP. Syllabus. Pre-requisites: strong background in programming and interest in learning more on the linguistic aspects of text processing.

2) LING 410X: Language as Data

This is an experimental course which introduces text analysis to liberal arts majors by using R programming language. We discussed topics ranging from reading different file formats, doing text pre-processing, calculating and plotting word frequency analyses to methods of doing text classification, topic modeling and visualization in R. Syllabus. (no prior programming background needed)

* Fall 2016:

1) LING 520: Computational Analysis of English

This is an introductory NLP course, and involves teaching about basic text processing, part of speech tagging and parsing algorithms.Involves programming assignments and a final project.

Textbooks used: Speech and Language Processing by Jurafsky and Martin, NLTK book by Bird et.al.

Referred Coursera courses: Courses by Dragomir Radev, and Jurafsky and Manning respectively.

2) ENGL 314: Technical Communication

This course has undergraduate students coming from various engineering disciplines (and some from liberal arts and sciences), and I teach how to prepare different kinds of technical documentation and how to present technical content to a broad range of audience.

* Summer 2016:  

LING 590 : Independent study on Speech Processing (supervised a graduate student)

* Spring 2016:

1) LING 516: Methods of Formal Linguistic Analysis

This course is a introductory course in programming for applied linguistics graduate students. I used Python as the programming language, and PyCharm as the IDE. 

I followed “Python for Informatics” by Charles Severence as the primary textbook for this course. 

If you never did any programming before and want to learn language processing, I strongly recommend Python as the language to start.

2) ENGL 314: Technical Communication

In this course, I taught technical communication (both oral and written) to undergraduate EE/CS engineering students. 

The courses teaches how to write different forms of technical documents (project reports, proposals, memos, instruction manuals etc), and how to present technical content to a broad range of audience.

* Summer  Semester 2013:

Graduate level research seminar: “Computational Approaches to Text Simplification”

I taught this course along with Dr Detmar Meurers at University of Tuebingen, Germany.

Course website

*  Winter  Semester 2011/12:

Graduate level research seminar: “Analyzing complexity and text simplification: Connecting linguistics, processing, and applications”

I taught this course along with Dr Detmar Meurers at University of Tuebingen, Germany.

Course website