Teaching

I have taught many courses at Cal Poly, but teach only a few regularly. I keep all course material in the Cal Poly Polylearn system.

Academic term
CPE 350 + 450 Computer Engineering Capstone Definition and specification of a system to be constructed in CPE 450; requirements elicitation techniques, research and data gathering methods; project planning, time and budget estimating... Fall 2018, Winter 2019
CPE 357 Systems Programming C programming language from a system programming perspective. Standard C language including operators, I/O functions, and data types in the context of system functions. Unix commands, shell scripting... Fall 2011
CPE 453 Operating Systems An introduction to sequential and multiprogramming operating systems; kernel calls, interrupt service mechanisms, scheduling, files and protection mechanisms, conventional machine attributes that... Fall 2019, Spring 2018, Spring 2016, Winter 2016, Spring 2015, Spring 2014, Winter 2014, Fall 2013, Spring 2013, Winter 2013, Winter 2012
CPE 458 Current Topics in Computer Systems (Internet of Things) Special topics course on the Internet of Things. Selected aspects of design, implementation and analysis of networks, advanced operating and distributed systems. Topics may include process... Fall 2016, Spring 2015
CSC 101 Fundamentals of Computer Science Basic principles of algorithmic problem solving and programming using methods of top-down design, stepwise refinement and procedural abstraction. Basic control structures, data types, and input/... Spring 2013
CSC 171 Introduction to Interactive Entertainment Use of click-and-drag software application to create an entertaining or informative, socially responsible application, such as a game. Team collaboration to design, develop, and test applications.... Winter 2017
CSC 378 Interactive Entertainment Engineering Project-based, software oriented, design of interactive entertainment applications. Topics may include interactive storytelling, game physics, game AI, scripting, and development of virtual worlds... Spring 2017, Winter 2019, Winter 2020, Winter 2016, Winter 2015, Fall 2013, Spring 2012
CSC 466 Knowledge Discovery in Data Overview of modern knowledge discovery from data (KDD) methods and technologies. Topics in On-line Analytic Transaction Processing (OLAP), data mining (association rules mining, classification,... Spring 2017, Spring 2019, Spring 2016, Spring 2014
CSC 480 Artificial Intelligence Programs and techniques that characterize artificial intelligence. Programming in a high level language. 3 lectures, 1 laboratory. Crosslisted as CPE/CSC 480. Fall 2014, Winter 2015
CSC 482 Speech and Language Processing Introduction to Natural Language Processing. Fall 2019, Winter 2020
CSC 570 (Advanced Topics) AI in Games This is an experimental special topics section CSC 570 (Artificial Intelligence) dedicated to Game AI. It is the first time that Cal Poly is offering a course dedicated to game AI. We will dive into... Fall 2018, Winter 2017
CSC 582 Computational Linguistics  Classic Natural Language Processing systems and techniques; review of recent advancements in the subject. Topics selected from: parsing, tagging, word-sense disambiguation, natural language... Spring 2020, Fall 2016, Fall 2014, Fall 2012
CSC 590 Master's Thesis Seminar Preparation for conducting research in the field of computer science, through discussions, selected readings, and student presentations. 1 seminar. Winter 2017, Winter 2013
Course_num Title Academic term
CPE 350 + 450 Computer Engineering Capstone Fall 2018, Winter 2019
CPE 357 Systems Programming Fall 2011
CPE 453 Operating Systems Fall 2019, Spring 2018, Spring 2016, Winter 2016, Spring 2015, Spring 2014, Winter 2014, Fall 2013, Spring 2013, Winter 2013, Winter 2012
CPE 458 Current Topics in Computer Systems (Internet of Things) Fall 2016, Spring 2015
CSC 101 Fundamentals of Computer Science Spring 2013
CSC 171 Introduction to Interactive Entertainment Winter 2017
CSC 378 Interactive Entertainment Engineering Spring 2017, Winter 2019, Winter 2020, Winter 2016, Winter 2015, Fall 2013, Spring 2012
CSC 466 Knowledge Discovery in Data Spring 2017, Spring 2019, Spring 2016, Spring 2014
CSC 480 Artificial Intelligence Fall 2014, Winter 2015
CSC 482 Speech and Language Processing Fall 2019, Winter 2020
CSC 570 (Advanced Topics) AI in Games Fall 2018, Winter 2017
CSC 582 Computational Linguistics Spring 2020, Fall 2016, Fall 2014, Fall 2012
CSC 590 Master's Thesis Seminar Winter 2017, Winter 2013
Global Game Jam