Teaching and learning

As the saying goes, teaching is a work of heart. Teaching provides me a noble opportunity to pass forward to future generations the body of knowledge contributed by pioneering researchers and dedicated teachers. Becoming an effective teacher is a journey rather than a destination. Therefore, my teaching philosophy itself is a moving goalpost which is continually attuned to the needs of students, the current educational environment, and societal factors at large. Furthermore, given my administrative roles, my teaching philosophy developed in the backdrop of the passion to bring systemic changes at the unit level.

Teaching

I have taught a broad range of courses in Computer Science, Data Science, Software Engineering, and Information Systems from freshman-level to Ph.D. level. Here are the recently taught courses:

  • CSCI 4150: Digital Image Processing/Computer Vision
  • CSCI 6050: Digital Image Analysis and Understanding
  • DASC-6000: Data Science Methods I
  • DASC 6050: Digital Image Analysis and Understanding

  • DASC-6005: Data Science Methods II
  • DASC-6040: Computational Analysis of Natural Languages
  • CSCI-6040: Computational Analysis of Natural Languages

  • CSCI-6020: Machine Learning
  • DASC-6000: Data Science Methods I
  • DASC-6020: Machine Learning
  • SENG-5005: Discrete Structures and Algorithmic Foundations

  • CSCI-4130: Information Retrieval
  • CSCI-6030: Information Extraction and Retrieval
  • DASC-6030: Information Extraction and Retrieval

  • CSCI-4120: Machine Learning
  • CSCI-6020: Machine Learning
  • SENG-6265: Foundations of Software Testing

  • CSCI-4130: Information Retrieval
  • CSCI-6905: Special Topics - Information Retrieval

  • SENG-5000: Programming and Data Structure Foundations
  • CSCI-6905: Topics in Computer Science

  • CSCI-4120: Machine Learning
  • CSCI-6905: Topics in Computer Science - Machine Learning

  • CSCI-4000: Ethical and Professional Issues in Computer Science
  • CSCI-6905: Topics in Computer Science - Advanced Java

  • CSCI-2310: Algorithmic Problem Solving
  • CSCI-6600: Database Management Systems

  • CSCI-2310: Algorithmic Problem Solving (two sections)

  • CS-440/540: Digital Image Processing
  • CS-410/510: Database Systems

  • CS-452/552: Natural Language Processing
  • CS-490: Senior Project
  • CS-660: Big Data Systems

Resources for Learning

  • LaTeX – a high-quality typesetting system for all computing platforms. It is free.

  • TikZ and PGF are TeX packages for creating sophisticated graphics programmatically. TikZ is built on top of PGF.

  • Overleaf is a collaborative, cloud-based LaTeX editor used for writing, editing and publishing scientific documents. Features include real-time collaboration, version control, and hundreds of ready to use LaTeX templates.

  • MathPix extracts equations as LaTeX code from PDFs or handwritten notes.

  • Grammarly – an AI-powered writing assistant.

  • R. L. Graham, D. E. Knuth, and O. Patashnik, Concrete Mathematics: A Foundation for Computer Science, Second ed. Boston, MA: Addison-Wesley Professional, 1994, isbn: 978-0201558029.

  • M. J. Kochenderfer and T. A. Wheeler, Algorithms for Optimization. Cambridge, MA: The MIT Press, 2019, isbn: 978-0262039420.

  • I. Stewart, In Pursuit of the Unknown: 17 Equations That Changed the World. New York, NY: Basic Books, 2013, isbn: 978-0465085989.

  • D. P. Bertsekas and J. N. Tsitsiklis, Introduction to Probability, Second ed. Cambridge, Massachusetts: Athena Scientific, 2008, isbn: 978-1886529236.

  • J. K. Blitzstein and J. Hwang, Introduction to Probability, Second ed. Boca Raton, Florida: Chapman & Hall/CRC, 2019, isbn: 978-1138369917.

  • F. Dekking, C. Kraaikamp, H. Lopuhaa, and L. Meester, A Modern Introduction to Probability and Statistics: Understanding Why and How, ser. Springer Texts in Statistics. Berlin, Germany: Springer, 2007, isbn: 978-1852338961.

  • S. Ghahramani, Fundamentals of Probability: With Stochastic Processes, Fourth ed. Boca Raton, Florida: Chapman & Hall/CRC, 2018, isbn: 978-1498755092.

  • M. Mitzenmacher and E. Upfal, Probability and Computing: Randomization and Probabilistic Techniques in Algorithms and Data Analysis, Second ed. Cambridge, UK: Cambridge University Press, 2017, isbn: 978-1107154889.

  • D. J. Morin, Probability: For the Enthusiastic Beginner. CreateSpace, 2016, isbn: 978-1523318674.

  • H. Pishro-Nik, Introduction to Probability, Statistics, and Random Processes. Kappa Research, 2014, isbn: 978-0990637202.

  • C. Davidson-Pilon, Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference, ser. Addison-Wesley Data & Analytics. Boston, MA: Addison-Wesley Professional, 2015, isbn: 978-0133902839.

  • J. Kruschke, Doing Bayesian Data Analysis: A Tutorial with R, JAGS, and Stan, Second ed. Cambridge, Massachusetts: Academic Press, 2014, isbn: 978-0124058880.

  • R. Dechter, Reasoning with Probabilistic and Deterministic Graphical Models: Exact Algorithms, Second ed., ser. Synthesis Lectures on Artificial Intelligence and Machine Learning. San Rafael, California: Morgan & Claypool Publishers, 2019, isbn: 978-1681734903.

  • F. Jensen and T. D. Nielsen, Bayesian Networks and Decision Graphs, ser. Information Science and Statistics. Berlin, Germany: Springer, 2007, isbn: 978-0387682815.

  • M. I. Jordan, Ed., Learning in Graphical Models, ser. Adaptive Computation and Machine Learning. Cambridge, Massachusetts: The MIT Press, 1998, isbn: 978-0262029445.

  • U. B. Kjarulff and A. L. Madsen, Bayesian Networks and Influence Diagrams: A Guide to Construction and Analysis, Second ed., ser. Information Science and Statistics. Berlin, Germany: Springer, 2015, isbn: 978-1461451037.

  • D. Koller and N. Friedman, Probabilistic Graphical Models: Principles and Techniques. Cambridge, Massachusetts: The MIT Press, 2009, isbn: 978-0262013192.

  • R. E. Neapolitan, Learning Bayesian Networks. London, UK: Pearson, 2019, isbn: 978-0130125347.

  • J. Pearl, Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference, ser. Morgan Kaufmann Series in Representation and Reasoning. Burlington, MA: Morgan Kaufmann, 1988, isbn: 978-1558604797.

  • L. E. Sucar, Probabilistic Graphical Models: Principles and Applications, ser. Advances in Computer Vision and Pattern Recognition. Springer, 2015, isbn: 978-1447166986.

  • A. Darwiche, Modeling and Reasoning with Bayesian Networks. Cambridge, UK: Cambridge University Press, 2014, isbn: 978-1107678422.

  • N. Fenton and M. Neil, Risk Assessment and Decision Analysis with Bayesian Networks, Second ed. Boca Raton, Florida: Chapman and Hall/CRC, 2018, isbn: 978-1138035119.

  • Q. Ji, Probabilistic Graphical Models for Computer Vision. Cambridge, Massachusetts: Academic Press, 2019, isbn: 978-0128034675.

  • M. J. Kochenderfer, Decision Making Under Uncertainty: Theory and Application. Cambridge, Massachusetts: The MIT Press, 2015, isbn: 978-0262029254.

  • D. J. C. MacKay, Information Theory, Inference and Learning Algorithms. Cambridge, UK: Cambridge University Press, 2003, isbn: 978-0521642989.

  • A. Pfeffer, Practical Probabilistic Programming. Shelter Island, NY: Manning Publications, 2016, isbn: 978-1617292330.

  • S. Watanabe and J.-T. Chien, Bayesian Speech and Language Processing. Cambridge, UK: Cambridge University Press, 2015, isbn: 978-1107055575.

  • Jekyll easily enables transforming plain text into static websites and blogs.
  • Hugo: another popular open-source static site generator.
  • D3.js: Data-Driven Documents(D3). D3.js is a JavaScript library for bringing data to life using HTML, SVG, and CSS.
  • Raphael: a JavaScript library for vector graphics on the Web.


Back to Home Page