owned this note
owned this note
Published
Linked with GitHub
---
title: ResBaz AZ Annual Festival 2023 - Track B
description: "ResB[az]2's annual data science festival where researchers come together to level-up in digital research tools and skills."
image: https://github.com/resbazaz/resbazaz_promotional_materials/blob/master/resbazaz_logos/ResBazAZ_square.png?raw=true
robots: noindex, nofollow
---
## ResBaz AZ '23 - Track B
:::warning
### Welcome to ResBaz AZ 2023! :tada:
:page_facing_up: Use this doc to get info on sessions you want to attend, see notes on sessions you can't attend, collaborate, help archive our conference for future learners, and much more!
Edit this doc by clicking ":pencil2: Edit" at the top, and typing in the black box side. You can switch back to preview mode with :eye: and view this page's table of contents
#### :video_camera: [**Zoom Link**](https://arizona.zoom.us/j/87241009518)
#### :train: [HackMD - Track A](https://hackmd.io/@hidyverse/ResBazAZ23_TrackA)
:::
# Monday
## Speaker Session: Programs for Your Programming
> Apr 17, 1:00-2:00 PM (PDT) [color=#EA5A2A]
> [Ryan Bartelme, PhD](rbartelme.github.io)
> Location: UArizona Libraries CATalyst Studio, room 254
::: info
Are you chasing bugs in your code?
Does your group struggle with consistent readability?
I learned git, now what?
*Speaker session* to discuss helper tools for tasks like formatting, type checking, and software development management in research.
:::
###### tags: `software engineering`
:::spoiler Session Notes
### :card_index: Speaker Bio
<!-- Add speaker bio) -->
Dr. Ryan Bartelme is a designated campus colleague with the BIO5 institute at the University of Arizona. He also works full-time as a bioinformatic scientist at Pivot Bio, a Bay Area agriculture biotech startup.
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
- [`lintr`](https://lintr.r-lib.org/)
- [`styler`](https://styler.r-lib.org/)
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Workshop: Refresher on version control with git
> Apr 17, 2:00-3:00 PM (PDT) [color=#244c7b]
> [Heidi Steiner](https://heidiesteiner.netlify.app/)
> Location: UA library, room 252
::: info
:rewind: Refresh your memory of **version control with Git and GitHub** to help you make the most of the sessions throughout the conference
:::
###### tags: `beginner`, `version control`
:::spoiler Session Notes
### :wrench: Getting Started
<!-- Add any session prerequisites here) -->
To use `git`, you'll need a bash terminal for your machine.
Follow instructions here to [install bash](https://carpentries.github.io/workshop-template/#shell).
### :goal_net: Learning Objectives
<!-- add learning objectives here -->
Learners will gain a general awareness of:
- Version control software
- Workflows associated with versioning
### :wave: Introductions
<!-- If you want, have your learners introduce themselves here so they get a chance to learn HackMD before starting -->
- :mega: **Instructor:** Heidi Steiner, PhD; UArizona Data Science Institute; heidiesteiner@arizona.edu
- :hugging_face: **Helper:** Ashvini
-
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
- use `git config --list` to check out your setup
- set default branch to `main` with `git config --global init.defaultBranch main`
- Find all the version control material [here](https://swcarpentry.github.io/git-novice/)
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Workshop: Making your first Shiny app
> Apr 17, 3:00-5:00 PM (PDT) [color=#244c7b]
> [Jeff Oliver](https://jcoliver.github.io/)
> Location: UArizona Libraries CATalyst Studio, room 254
::: info
The Shiny package for R provides a way to transform your R code into interactive applications accessible through a web browser. This workshop will provide a hands-on example of how you can use Shiny to create intuitive graphical user interfaces.
:::
###### tags: `beginner`, `R`, `shiny`
:::spoiler Session Notes
### :wrench: Getting Started
Participants should come with a computer with R and RStudio installed (see https://jcoliver.github.io/learn-r/000-setup-instructions.html).
<!-- Add any session prerequisites here) -->
### :goal_net: Learning Objectives
1. Explain the different responsibilities of the user interface and the server function
2. Manipulate user interface options in side panels
3. Apply defensive programming techniques to reduce errors
4. Diagnose problems with Shiny built-in debugging features
5. Share the application through shinyapps.io
<!-- add learning objectives here -->
### :wave: Introductions
<!-- If you want, have your learners introduce themselves here so they get a chance to learn HackMD before starting -->
- :mega: **Instructor: Jeff Oliver**
- :hugging_face: **Helper: Shashank Yadav**
### Lesson materials
- https://jcoliver.github.io/learn-r/016-intro-shiny.html
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
# Tuesday
## Workshop: Intro to machine learning
> Apr 18, 9:00-11:30 AM (PDT) [color=#244c7b]
> [Goutamkumar Kalburgi](https://www.linkedin.com/in/goutamkalburgi/)
> Location: NAU - Du Bois South Union, Juniper room
::: info
Catch machine learning (ML) basics such as train/test split, one hot encoding, and dummy variables.
Then, dive a bit deeper into ML, covering topics: Linear Regression, Logistic Regression, Decision Tree, SVM, Random Forest, K-Fold, K-Means, Naive Bayes, L1, L2, KNN, and Grid Search CV.
:::
###### tags: `machine learning`, `beginner`
:::spoiler Session Notes
### :wrench: Getting Started
<!-- Add any session prerequisites here) -->
- Python
- Jupyter Notebook
- Anaconda
### :goal_net: Learning Objectives
<!-- add learning objectives here -->
- Create a handwritten digits classifier
### :wave: Introductions
<!-- If you want, have your learners introduce themselves here so they get a chance to learn HackMD before starting -->
- :mega: **Instructor:**
- :hugging_face: **Helper:**
-
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
-
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Speaker Session: GIS Data in the Humanities
> Apr 18, 11:30-12:00 PM (PDT) [color=#EA5A2A]
> [Duo Bao](https://github.com/DuoBao1015/all-programming-languages)
> Location: UArizona Libraries CATalyst Studio, room 254
::: info
I will present on how to display humanities data in the form of a map, and also share more generally about data visualization methods in the humanities.
:::
###### tags: `beginner`, `geographic information systems`, `data visualization`
:::spoiler Session Notes
### :card_index: Speaker Bio
<!-- Add speaker bio -->
Duo Bao is a Master's student in Information Science and affiliated with Digital Humanities.
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
-
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Social: Computational Social Sciences Lunch Panel
> Apr 18, 12:10-1:00 PM (PDT) [color=#EA5A2A]
> Location: UArizona Libraries CATalyst Studio, room 254
::: info
Join Computational Social Sciences for a career panel.
:::
###### tags: `academic`, `social sciences`
## Workshop: Building a knowledge graph with Stardog
> Apr 18, 1:00-2:00 PM (PDT) [color=#244c7b]
> [Alex Bigelow](https://alex-r-bigelow.github.io/)
> Location: ASU - Goldwater Center 487
::: info
Thinking about your data as mere tables can bias your thinking, and limit the analysis questions you even think to ask [1]. Join this workshop to learn how to model, reason about, query, and visualize data as a graph with Stardog — coding is optional!
[1] Bigelow, A., Williams, K., & Isaacs, K. E. (2020). Guidelines for pursuing and revealing data abstractions. IEEE Transactions on Visualization and Computer Graphics, 27(2), 1503-1513.
:::
###### tags: `beginner`, `data visualization`
:::spoiler Session Notes
### :wrench: Getting Started
Reqiurements: just a web browser.
There will be time for doing this in the workshop, though feel free to get started beforehand!
1. Sign up for a free [Stardog Cloud account](https://www.stardog.com/get-started/)
2. Download and extract the [sample Designer project](https://drive.google.com/uc?export=download&id=1TIIpUSpfTfC19-FR212VawbpKhR9-MkA) that we'll be working with
### :goal_net: Learning Objectives
Participants will gain an overview of what Stardog is, and how it works. They will learn how to import and model tabular data as a graph, visualize and query the graph interactively, and (time-permitting) an initial sense for RDF data and writing SPARQL queries.
### :wave: Introductions
<!-- If you'd like, please sign in here! -->
- :mega: **Instructor:** Alex Bigelow, Stardog Union
-
### :spiral_note_pad: Session Notes
Some more resources:
- The [full Movies Designer project](https://drive.google.com/uc?export=download&id=1uScwKNLIP64bYqtvEOQ5_w1GUeSwgw7Y) that I show later in the workshop.
- Note that, if you try this out, two of the files are a little too big to fit in the browser's memory! If you try to publish the project, Designer will ask you to re-upload `people.csv` and `crew.csv`, which are inside this .zip file
- The [script I used](https://github.com/alex-r-bigelow/tmdb-scraper) for downloading data from TMDB
Data in this workshop was downloaded from the [TMDB API](https://www.themoviedb.org/documentation/api?language=en-US) and the [Bechdeltest API](https://bechdeltest.com/)
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Workshop: Basics of regex
> Apr 18, 3:00-5:00 PM (PDT) [color=#244c7b]
> [Kristina Riemer](https://kristinariemer.github.io/)
> Location: UArizona Libraries CATalyst Studio, room 254
::: info
Have you ever needed to get all of the numbers out of a string of random characters, or get only the words that start with a particular letter from some text? Maybe you have written something like [0-9]+ or ^T or even /^-?\d*(\.\d+)?$/ to achieve this type of task? Do you want to understand how to write these expressions without just copying and pasting from a Stack Overflow post? Then this is the workshop for you!
Walk through the basics of regular expressions and how they are constructed piece by piece. These basics will apply across different platforms, including using them on the command line with commands like grep and in programming languages like R and Python.
:::
###### tags: `intermediate`, `regular expressions`
:::spoiler Session Notes
### :wrench: Getting Started
<!-- Add any session prerequisites here) -->
Prerequisites: none.
### :goal_net: Learning Objectives
<!-- add learning objectives here -->
Attendees will learn how to assemble appropriate regex for a pattern of interest and how to use resources to figure these out.
### :wave: Introductions
<!-- If you want, have your learners introduce themselves here so they get a chance to learn HackMD before starting -->
- :mega: **Instructor:** Kristina Riemer, UArizona CALS Communications and Cyber Technologies, kristinariemer@arizona.edu, https://datascience.cct.arizona.edu/
- :hugging_face: **Helper:** Simona Merlini, PhD Student in Biomedical Engineering at University of Arizona, Center for Innovation in Brain Science (CIBS), simonamerlini@arizona.edu
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
- Regular expression = matching based on character patterns. There are no spaces so nothing is actually human-readable unless you are Poppy.
- test your regular expressions: https://regex101.com/
- see the breakdown of your regular expression (what is your regex actually doing?): https://regexper.com/
- Cheat sheet: http://www.rexegg.com/regex-quickstart.html
- Link to presentation slides: https://docs.google.com/presentation/d/1cNZC7vIE5rM6pIXbsOV-L9yHwaTTs5wfJ6RP67Cmojs/edit#slide=id.g206bbb2c5f5_0_118
Digits and ranges
- `\d`: numerical digits
- a character class
- looks for a match for each character in the string
- looks for a digit match: any digit,`0-9`
- `[ ]` looks for any digits or characters within the brackets.
- look for ranges: `[0-9]` (or other digits)
- looks for anything that is within the range
- `[0-9]` could also be written as `[0123456789]`
- `[^ ]` excudes anything within the brackets.
- Example) Write an expression that matches every string containing 150 or 160 (matches `150`, `tan150`, `444160444`, but does not match `1510`, `hahaha`, `16cats`).
- Answer: `1[56]0`
Characters and ranges
- Looks for a specific letter in a string (case-sensitive): `a` or any letter.
- Look for a range of characters: `[a-c]` will look for `a`, `b`, and `c`.
Digits and characters:
- Any alphanumeric character in string: `[A-Za-z0-9]` will look for any letter or any digit.
- Is a combination of `[A-Z]`, `[a-z]`, `[0-9]`, but you don't put any spaces when combining them.
- Can also use `\w`.
Quantifiers (how many times the preceding element is allowed to repeat):
- One or more occurences of the preceding item: `+`
- Zero or more occurrences of the preceding item: `*`
- Zero or one occurrence of the preceding item: `?`
- Example) Matches multiple spellings of the name Shawn (Shawn and Shaun):
- Answer: `Sha[uw]n`
- Example) Matches multiple spellings of the name Shawn (Shawn, Shaun, Sean):
- Answers: `
- `S[a-z]n`
- `S[eh]aw*u*n`
- `Sh?e?a[wu]?n`
- `S[he]a[uw]?n`
- Specify a specific number of occurences (`n` times): `{n}`.
- Example) Match a date in the format MM-DD-YYYY.
- Answer: `\d{2}-\d{2}-\d{4}`
- Example) Match a date in the format MM-DD-YYYY and MM/DD/YYYY.
- Answer: `\d{2}[-\/]\d{2}[-\/]\d{4}`
- `\` is an escape: now searches for the symbol "/" rather than seeing `/` as regex syntax.
Others:
- Look for any character (wildcard): `.`
- Look for whitespace (trailing or leading): `\s`
- Conditional, if either option is present: `(x|y)` looks for `x` or `y`.
Capturing:
- Groups what is between the parentheses: `()`
Putting it together:
- Example) Write an expression that will extract file names from camera images where the file names start with `cam`, and is a PNG (matches `cam1_01-20-2021.png`, `camera2_12-01-2019.png`, `camera3_07-13-2021_test.png`; does not match `03-16-2020.png` or `cam4_10-10-2010`).
- Answer: `^cam\w*(\d{2}-\d{2}-\d{4})\w*.png?`
- Or, modified for R: `^cam.*_([0-9]{2}-[0-9]{2}-[0-9]{4}).*.png$`
ChatGPT: can help you get started with writing regular expressions, but you should always check it to make sure it is actually doing what you want (https://chat.openai.com/)
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Social: Tucson Python Meetup :pizza:
> Apr 18, 6:00 PM -8:00 PM (PDT) [color=#5992d2]
> Tucson Python Meetup community
> Location: UArizona Libraries CATalyst Studio, room 254
> Zoom link: https://roche.zoom.us/j/92517258720
> Passcode: 632128
###### tags: `python`, `social`
:::info
[Tucson Python Meetup @ ResBaz AZ](https://www.meetup.com/tucson-python-meetup/events/xrmtvsyfcgbxb/): Poppy Argus talks about "Web in Python with Flask"
:::
# Wednesday
## Workshop: Collaborating on Code with GitHub
> Apr 19, 9:00-10:00 AM (PDT) [color=#244c7b]
> [Andrew Antaya](https://andrewantaya.com)
> Location: UArizona Libraries CATalyst Studio, room 254
> https://github.com/amantaya/ResBaz23-GitHub-Collaboration
::: info
Stop emailing code! Instead, use GitHub as a place to collaborate! Learn to use the *Discussion* section on GitHub to review and discuss changes to code, manage merge conflicts, and integrate Pull Requests (PR) into your code.
:::
###### tags: `github`, `intermediate`
:::spoiler Session Notes
### :wrench: Getting Started
<!-- Add any session prerequisites here) -->
Please sign up for GitHub before the workshop, and if possible, send Andrew your GitHub username (aantaya@arizona.edu). We will be using the version control integration and terminal within R Studio for this workshop. You are welcome follow along and use your favorite git version control tool, such as Git Bash, R Studio, and GitHub Desktop, as most of these steps will be very similar between tools.
We will be skipping the intro to git and jumping right to this section:
https://github.com/amantaya/ResBaz23-GitHub-Collaboration/blob/main/README.md#collaborators-vs-forks
### :goal_net: Learning Objectives
<!-- add learning objectives here -->
Participants will be able to initialize a repo on GitHub, git clone it in a new R studio project, make some changes to the code, push it back to GitHub, have others pull the changes. Participants will become familiar with the discussion section on GitHub and learn strategies for dealing with merge conflicts and coding styles.
### :wave: Introductions
<!-- If you want, have your learners introduce themselves here so they get a chance to learn HackMD before starting -->
- :mega: **Instructor:**: Andrew Antaya, University of Arizona School of Natural Resources and the Environment, aantaya@arizona.edu
- :hugging_face: **Helper:** Simona Merlini, PhD Student in Biomedical Engineer at University of Arizona, Center for Innovation in Brain Science (CIBS), simonamerlini@arizona.edu
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
- See the README for lesson instructions & tutorial: https://github.com/amantaya/ResBaz23-GitHub-Collaboration/blob/main/README.md
- Collaborators have read and write permissions.
- R demo for cloning and working with a remote Github repository
- Workflow: create own `name/feature` branch --> edit code/add features --> commit changes --> discuss and approve changes --> merge pull request with `main` branch --> delete `feature` branch.
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Workshop: Intro to deep learning in R
> Apr 19, 10:15-12:00 AM (PDT) [color=#244c7b]
> [Toby Hocking](http://tdhock.github.io/)
> Location: NAU - Du Bois South Union, Juniper room
::: info
Learn to code deep learning algorithms using `R` and `torch`.
:::
###### tags: `advanced`, `deep learning`, `R`, `torch`
:::spoiler Session Notes
### :wrench: Getting Started
<!-- Add any session prerequisites here-->
Prerequisites: Previous programming experience with a vectorized language (R, matlab, numpy)
Class Materials: https://github.com/tdhock/2023-res-baz-az
- `R` version 4.2.3
- install.packages("torch")
### :goal_net: Learning Objectives
<!-- add learning objectives here -->
Students will understand machine learning basics (cross-validation) as well as more advanced concepts (gradient descent, neural network architecture).
### :wave: Introductions
<!-- If you want, have your learners introduce themselves here so they get a chance to learn HackMD before starting -->
- :mega: **Instructor:** Toby Dylan Hocking, Northern Arizona University, toby.hocking@nau.edu
- Berkeley-educated California native, Toby Dylan Hocking received his PhD in mathematics (machine learning) from Ecole Normale Superiere de Cachan (Paris, France) in 2012. He worked as a postdoc in Masashi Sugiyama's machine learning lab at Tokyo Tech in 2013, and in Guillaume Bourque's genomics lab in McGill University, Montreal, Canada (2014-2018). Since 2018 he is Assistant Professor at Northern Arizona University, where he directs the Machine Learning Research Lab. His main research interests are new statistical models, optimization algorithms, interactive systems, and software for machine learning.
- :hugging_face: **Helper:** Daniel Agyapong, Northern Arizona University, da2343@nau.edu
-
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
-
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Speaker Session: Decoding the Microbial World
> Apr 19, 1pm-2pm (PDT) [color=#EA5A2A]
> [Michael Pavia](https://www.linkedin.com/in/michaelpavia27/)
> Location: ASU - Engineering Research Center 490
::: info
Explore the world of microbial ecology and the use of computational methods in studying these vital communities. I'll highlight key tools used in analysis of marker genes to multi-omics datasets, and show how these are applied to real-world scenarios such as climate change and human health.
:::
###### tags: `genes`, `omics`, `climate change`, `microbes`
:::spoiler Session Notes
### :card_index: Speaker Bio
<!-- Add speaker bio) -->
Michael Pavia is a fifth year Ph.D. microbiology student at ASU who is passionate about the environment and 3D printing.
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Speaker Session: Functional Data Analysis
> Apr 19, 2:00-3:00 PM (PST) [color=#EA5A2A]
> Kayode Oshinubi
> Location: NAU - Du Bois South Union in the Juniper room
::: info
An overview and application of functional data analysis.
:::
###### tags: `applied data science`, `machine learning`. `pathogens`
:::spoiler Session Notes {state="open"}
### :card_index: Speaker Bio
<!-- Add speaker bio) -->
Kayode Oshinubi is currently a postdoctoral researcher at the School of Informatics, Computing and Cyber Systems at Northern Arizona University, supporting the effort to build software to run spatial models of disease transmission for human pathogens.
Kayode obtained their PhD at Université Grenoble Alpes, France with specialty in infectious diseases modeling using statistical and mathematical approach, and graduated with distinction in my master’s degree. Their research interests are biostatistics, machine learning, data analysis, statistical analysis, infectious disease modeling, biomathematics, and mathematical modeling, epidemiology modeling.
### :spiral_note_pad: Session Notes
<!-- Add your agenda bones here and encourage learners to fill in notes as you go -->
Repo: https://github.com/kayodeoshinubi/COVID-19-outbreak-in-France-Application-of-Functional-Data-Analysis-
Link to a conversation on the difference between FDA and GAMs: https://stats.stackexchange.com/questions/500032/generalized-additive-models-vs-functional-data-models.
-
### :question: Session Questions
<!-- add good questions that came up during your session here -->
-
:::
## Speaker Session: Dataset Roulette
> Apr 19, 4:30 PM - 6:00 PM (PDT) [color=#5992d2]
> [Ellen Bledsoe, PhD](https://nature.arizona.edu/ellen-bledsoe)
> Location: UArizona Libraries CATalyst Studio, room 254
>
###### tags: `r`, `social`, `beginner`, `wrangling`
:::info
[Dataset Roulette](https://jcoliver.github.io/dataset-roulette/) @ ResBaz, an informal opportunity to see how data professionals actually deal with, well, data. Working with a dataset that they’ve never seen before, a data scientist/engineer/wrangler/enthusiast will explore, analyze, and visualize data using open source software. We will post links to datasets here, and if we can get our act together, recordings of our attempts to wring meaning from data.
In this session, Dr. Ellen Bledsoe will work on a surprise dataset in R. There will be wrangling, plotting, and maybe even a little salty language.
:::
# Thursday
## Women in Data Science - Tucson
> Apr 20, 8:30 AM - 5:00 PM (PDT) [color=#5992d2]
> [Women in Data Science (WiDS) Tucson](https://widstucson.org/)
> Location: UArizona Student Union Kachina Room
###### tags: `data science`, `speaker sessions`
:::info
[Women in Data Science (WiDS) Tucson](https://widstucson.org/) is an independent event organized by the University of Arizona to coincide with the Global WiDS Conference held at Stanford University and an estimated 200+ locations worldwide annually.
:::
## Social: Hacky Hour
> Apr 20, 4:00 PM -7:00 PM (PDT) [color=#5992d2]
> [Snakes and Lattes Tempe](https://www.snakesandlattes.com/tempe), 20 West 6th St, **Tempe**, AZ
> [Mother Road Brewing Company](https://www.motherroadbeer.com/), 7 S Mikes Pike St, **Flagstaff**, AZ
> [Snakes & Lattes](https://www.snakesandlattes.com/tucson), 988 E University Blvd, **Tucson**, AZ
###### tags: `social`
:::info
Celebrate the end of ResBaz AZ 2023! :tada:
:::