CSC 171 – Introduction to Computer Science – TR 1400-1515
CSC 246 – Machine Learning – TR 1105-1220
CSC 171 – Introduction to Computer Science (every term Fall 2019 through Fall 2021)
CSC 257/457 – Computer Networks (Fall 2019, Fall 2020, Fall 2021)
CSC 246 – Machine Learning (Spring 2020, Spring 2021)
CSC 442 – Artificial Intelligence (Fall 2018, Fall 2019, Fall 2020, Fall 2021)
My research interests have been primarily directed at improving the scope and flexibility of symbolic reasoning methods applied in connection with natural language. In conjunction with my advisor Len Schubert, I wrote a pattern transduction tool for working with parse trees, explored semi-supervised methods for training statistical parsers, and developed an inferentially coherent modal embedding for probabilistic knowledge in first order (and higher order) logics. As an instructional track professor, my teaching responsibilities now claim the majority of my time; however, I remain interested in the development of human-level artificially intelligent machines. Relevant publications are presented below:
It is my hope that all participants in my courses feel welcome, respected, and supported. If anyone feels unfairly excluded, please let me know and I will do my best to fix it.
I am looking for a good platform for asynchronous communication for my classes. Piazza is full of ads and feels predatory. Options under consideration are Blackboard discussion boards, Discord, and Slack. UniversityIT supports Microsoft Teams, but it can be onerous. Something like IRC can be truly free and reliable, but some technical knowledge is required. Any students who have strong feelings about a good solution are encouraged to email me (AP) with your thoughts.
I really like computer science. It is a vast field and I've found almost no aspect to be boring. A few topics are particularly fun for me though, so I've listed them below. If you're interested in these things, or working on them and want to chat, feel free to find me after class or in office hours:   Natural language understanding, knowledge representation, commonsense reasoning, machine learning, numerical programming, sampling algorithms, virtual machines, computer networking, network and computer security.