Teaching


Present and Past Courses

Important Note: I do not have control over individual enrollment for any of my courses. If you need help adding a course, speak with your academic advisor.

For a full list of courses I've taught, check out my CV.

SRA 472: Integration of Privacy and Security

This undergraduate course introduces students to the major organizational, technical, operational, and regulatory issues in information privacy and security, and to give them experience in performing a privacy analysis, designing privacy-aware applications and developing privacy policy in organizations. Topics covered include: conceptualizations and theories of privacy and security, privacy laws and compliance, building a privacy organizational infrastructure, integrating privacy in the software development process, performing a privacy analysis, privacy issues in outsourcing and cross-border data transfers, integrating privacy into customer relationship management and vendor management, information systems audits, and intentional standards on privacy and security.

IST 110H: Introduction to Information, People And Technology

This undergraduate course introduces students to the landscape of IST, where information, people, and technology intersect. Uses for information technology are staggering in their richness and complexity: they include entertainment, social interaction, productivity, safety, finance, research, education, transportation, and nearly every sector of human activity. Students in this course examine how information technology interacts with our culture, and how those interactions will shape the future of information technology and our society. This course satisfies Penn State's first-year seminar requirement and also satisfies a GS General Education requirements for students not in IST.

PSU 17: First-Year Seminar for Data Science Majors

This course introduces students to the expectations of college and the landscape of data science. Uses for data science are staggering in their richness and complexity: they include entertainment, social interaction, productivity, safety, finance, research, education, transportation, and nearly every sector of human activity. Students in this course will gain an understanding of college expectations and resources, and they will critically explore applications of data science, with particular attention to their own interests and future goals.

IST 597 (section number varies): Natural Language Processing for Sentiment, Semantics, and Discourse

This is a graduate course on selected topics in natural language processing, covering sentiment analysis, computational semantics, and computational discourse. We explore each of these topics in a module that begins with background material and then changes over to recent research results. Students also work in groups on term projects, which I encourage them to submit for publication. (See my Final Project Hall of Fame below.)

To be prepared for this course, I recommend that students (1) have some prior experience with machine learning or natural language processing (either is fine) and (2) be comfortable with programming in Java or Python (e.g., familiar with the concepts in the first half of Python.org's Python tutorial).

11-411/11-611, CS 5134/6034: Natural Language Processing

I taught this course at Carnegie Mellon University in Spring 2014 and at the University of Cincinnati in Fall 2017.

This course introduces students to methods that enable computers to extract structure and meaning from human languages. It covers topics such as (but not limited to) morphology, language modeling, syntactic parsing, sentiment analysis, meaning representations, dialogue systems, question answering, and machine translation. Proficiency in Python and/or Java is a prerequisite for this course.

Final Project Hall of Fame

I encourage students in some of my courses to submit modified versions of their final project reports to conferences, journals, and workshops. In Spring 2019 I began keeping track of final project teams that took up the challenge. Accepted papers appear with full citations. To protect anonymous submissions, I include only brief descriptions of other papers.

Teaching NLP at CMU

In spring 2015 I co-taught Carnegie Mellon University's 11-411/611 Natural Language Processing with Chris Dyer and Alan Black.

The course included a semester-long project to build question answering and question generation systems that operate on Wikipedia articles. Students worked in small teams of three to five, and they competed to produce the best-performing systems. You can watch the final reports from the top three teams below.

I can provide a statement of teaching philosophy and teaching references upon request.