# Teaching

##### Course materials and students mentored

### Course materials

For current and potential CS master students at NAU, here is a list of progression plans with various specialties including machine learning, which should be useful for planning what classes you take.

- Fall 2023, CS 470, Artificial Intelligence, my course materials.
- Fall 2023, CS 599, Deep Learning, my course materials.
- Fall 2023, CS 599, Unsupervised Learning, my course materials.
- Spring 2023, Introduction to Deep Learning in R, a 2 hour lecture for Research Bazaar Arizona, my course materials.
- Spring 2023, CS 470, Artificial Intelligence, my course materials.
- Fall 2022, CS 499-002 (5893), Deep Learning, my course materials.
- Fall 2022, CS 105/205/305, Computing Tools, my course materials.
- Summer 2022, Introduction to Machine Learning and Neural Networks, with an application to earth system modeling. 60 minute lecture for summer school on “New Advances in Land Carbon Cycle Modeling” (5th year), my course materials.
- Spring 2022, CS570, Advanced Intelligent Systems (Deep Learning). my course materials
- Fall 2021, CS499/599, Unsupervised Learning. my course materials
- Summer 2021, Introduction to Machine Learning and Neural Networks, with an application to earth system modeling. 60 minute lecture for summer school on “New Advances in Land Carbon Cycle Modeling” (4th year). code, slides, video, quiz
- Spring 2021, CS470/570, Artificial Intelligence, my course materials
- Fall 2020, CS499/599, Unsupervised Learning. my course materials
- Summer 2020, Introduction to Machine Learning and Neural Networks, 90 minute lecture for summer school on “New Advances in Land Carbon Cycle Modeling” (3rd year). my course materials
- Spring 2020, CS499-3, Deep Learning. my course materials
- Fall 2019, CS599-6 / EE599-4, Machine learning research. my course materials
- Spring 2019, CS499-007, Machine learning algorithms. my course materials
- Fall 2018, Open source software engineering class at NAU. my course materials
- Summer 2017, International useR 2017 conference, Brussels, Belgium, Tutorial on Introduction to Supervised changepoint detection, my course materials, video.
- Spring 2017, Université de Montréal, Criminology Department, Introduction to R for Criminology, my course materials.
- Summer 2016, International useR 2016 conference, Stanford, CA, Tutorial on Understanding and Creating Interactive Graphics, my course materials.
- Spring 2011, Mines ParisTech, teaching assistant for Fabien Moutarde’s Machine Learning class, my course materials.

### Screencasts

Topics without links below are on my TODO list.

- Convolutional neural networks in R
- Number of hidden units is a regularization parameter (R keras)
- Neural networks using keras in R
- Make an R package with C++ code
- Machine learning basics in R
- Regular expressions for text parsing and data reshaping
- R and Emacs Speaks Statistics
- emacs and python
- Interpreting machine learning models with feature selection
- Data manipulation with data.table
- Interactive data visualization with the grammar of graphics
- git/github

### NAU students mentored

See my Lab Members web page.

“Science is a cooperative enterprise, spanning the generations. It’s the passing of a torch from teacher to student to teacher. A community of minds reaching back to antiquity and forward to the stars.” Neil DeGrasse Tyson, Cosmos (2014), Episode 1: Standing Up in the Milky Way.

### Google Summer of Code students mentored

I have mentored the following students in coding free/open-source software.

- Arthur Pan, 2023, polars in R.
- Jocelyne Chen, 2023, animint2 documentation and bug fixes (primary mentor).
- Yufan Fei, 2022-2023, animint2: interactive grammar of graphics (primary mentor).
- Fabrizio Sandri, 2022, RcppDeepState: github action for fuzz testing C++ code in R packages (primary mentor).
- Daniel Agyapong, 2022, Rperform github action for performance testing R packages (primary mentor).
- Anirban Chetia, 2021, directlabels improvements (primary mentor).
- Diego Urgell, 2021, BinSeg efficient C++ implementation of binary segmentation (primary mentor).
- Mark Nawar, 2021, re2r back on CRAN (primary mentor).
- Sanchit Saini, 2020, rtracklayer R package improvements.
- Himanshu Singh, 2020, animint2: interactive grammar of graphics (primary mentor).
- Julian Stanley, 2020, Graphical User Interface for gfpop R package (primary mentor).
- Anirban Chetia, 2020, testComplexity R package (primary mentor).
- Anuraag Srivastava, 2019, Optimal Partitioning algorithm and opart R package (primary mentor).
- Avinash Barnwal, 2019, AFT and Binomial loss functions for xgboost (primary mentor).
- Aditya Sam, 2019, Elastic net regularized interval regression and iregnet R package (primary mentor).
- Alan Williams, 2018, SegAnnDB: machine learning system for DNA copy number analysis, blog (primary mentor).
- Vivek Kumar, 2018, animint2: interactive grammar of graphics, blog (primary mentor).
- Johan Larsson, 2018, sgdnet: SAGA algorithm for sparse linear models.
- Marlin Na, 2017, TnT: interactive genome browser.
- Rover Van, 2017, iregnet: regularized interval regression (primary mentor).
- Faizan Khan, 2016–2017, animint: interactive grammar of graphics (primary mentor).
- Abhishek Shrivastava, 2016, SegAnnDB: interactive system for labeling and machine learning in genomic data (primary mentor).
- Anuj Khare, 2016, iregnet: regularized interval regression (primary mentor).
- Qin Wenfeng, 2016, re2r: regular expressions (primary mentor).
- Akash Tandon, 2016, Rperform: performance testing R packages (primary mentor).
- Ishmael Belghazi, 2015, bigoptim: stochastic average gradient algorithm (primary mentor).
- Kevin Ferris, 2015, animint: interactive grammar of graphics (primary mentor).
- Tony Tsai, 2015, animint: interactive grammar of graphics (primary mentor).
- Carson Sievert, 2014, animint: interactive grammar of graphics (primary mentor).
- Susan VanderPlas, 2013, animint: interactive grammar of graphics (primary mentor).