Classes and Office Hours

Classes and Office Hours

Please feel free to come by my office hours in Edmunds 113 or on Zoom with questions about my classes, about general topics in CS, or about possible research work together. I’m also happy to schedule specific meeting times outside of office hours for non-class-related questions.

Fall 2020

Office Hours

  • TBD, schedule me using Outlook for now!

CSCI 151 PO—Artificial Intelligence

This fast-paced elective surveys key algorithms and areas of artificial intelligence as automated decision-making. We can think of decision-making in terms of satisfaction, optimization, or prediction, and examine the tradeoffs that algorithms make by focusing on one or another of these types of decision-making in the presence of other constraints.

Tuesdays and Thursdays, 14:30–15:45

CSCI 190 PO—Senior Seminar

In senior seminar (a speaking intensive course), CS majors explicate academic research papers for their peers. The major project of the course is a broad survey paper covering a field or sub-field of CS research. Co-taught with Prof. Greenberg.

Tuesday and Thursday sections, 11:00–12:15

Spring 2020

Office Hours

CSCI 051A PO—Introduction to Python with Topics in AI

This course introduces students to the Python programming language, with examples and exercises drawn from machine learning, natural language processing, and symbolic AI.

Co-taught with Prof. Zilong Ye (labs).

Mondays and Wednesdays, 11:00–12:15. Lab Wednesdays 19:00–21:50.

CSCI 054 PO—Discrete Math and Functional Programming

This required course builds knowledge and familiarity with fundamental discrete math concepts and proof techniques using a formal-first approach in the Coq theorem prover.

Co-taught with Prof. Michael Greenberg (alternating every two weeks).

Tuesdays and Thursdays, 13:15–14:30 (section 1), 14:45–16:00 (section 2).

Fall 2019

CSCI 051A PO—Introduction to Python with Topics in AI

This course introduces students to the Python programming language, with examples and exercises drawn from machine learning, natural language processing, and symbolic AI.

Co-taught with Prof. David Kauchak.

Tuesdays and Thursdays, 9:35–10:50. Lab Fridays 13:15–16:00.

CSCI 151 PO—Artificial Intelligence

This fast-paced elective surveys key algorithms and areas of artificial intelligence as automated decision-making. We can think of decision-making in terms of satisfaction, optimization, or prediction, and examine the tradeoffs that algorithms make by focusing on one or another of these types of decision-making in the presence of other constraints.

Mondays, Wednesdays, and Fridays, 10:00–10:50

Fall 2018

CSCI 054 PO—Discrete Math and Functional Programming

This required course builds knowledge and familiarity with fundamental discrete math concepts and proof techniques using a formal-first approach in the Coq theorem prover.

Tuesdays and Thursdays, 9:35–10:50.

CSCI 151 PO—Artificial Intelligence

This fast-paced elective surveys key algorithms and areas of artificial intelligence as automated decision-making. We can think of decision-making in terms of, for example, optimization, discrimination, or generation, and examine the tradeoffs that algorithms make due to focusing on one or another of these types of decision-making in the presence of other constraints (continuous or discrete domains of interest, the availability of a model, utility function, or other domain knowledge, and so on).

Tuesdays and Thursdays, 13:15–14:30.