Teaching
Courses I have helped teach — from probability theory to deep reinforcement learning.
Introduction to Reinforcement Learning
Graduate-level survey of core RL theory: MDPs, dynamic programming, Monte Carlo, temporal-difference learning, policy-gradient methods, multi-armed bandits, and multi-agent RL.
View Course at UCR
Digital Image Processing
Full pipeline from sensor-level acquisition through enhancement, restoration, and compression. Labs emphasise building end-to-end image processing systems under Prof. Bir Bhanu — my own Ph.D. advisor.
View Course at UCR
Probability, Random Variables & Random Processes
Rigorous probability theory with engineering applications — random variables, distributions, stochastic processes, autocorrelation, spectral analysis, and linear systems with random inputs.
View Course at UCR
Discrete Structures
Foundations of discrete mathematics: number theory, cryptography, asymptotic notation, recurrences, counting, graph theory, and trees with emphasis on proof techniques.
View Course at UCRIntroduction to Artificial Intelligence
Introduction to foundational AI methods with emphasis on principled problem solving: uninformed and informed search, adversarial game reasoning, Markov decision processes, reinforcement learning, constraint satisfaction, and modern AI systems.
View Course at UCR
Data Analysis Methods
End-to-end data analysis workflow: descriptive statistics, web data acquisition, cleaning, crowdsourcing, supervised & unsupervised learning, and visualisation with Python.
View Course at UCR