Programming with LLMs for Data Practitioners
Welcome
These are the materials for a two-day workshop at the 50th Summer Institute of Applied Statistics (SIAS) at Brigham Young University on 17-18 June 2026, taught by Julia Silge. The workshop is split into two days:
Day 1, Build on AI: programming with large language models (LLMs) from R and Python using ellmer and chatlas, covering prompts, token management, structured output, tool calling, retrieval-augmented generation (RAG), and Shiny chat interfaces.
Day 2, Build with AI: using AI coding assistants effectively as a data practitioner, centered on Posit Assistant. Working from a real dataset, we climb from in-editor help (completions, chat, debugging) to steering an agent (plans, project memory, skills, and MCP) to autonomous, reproducible workflows.
No prior AI background is required; the workshop is built for both newcomers and experienced data practitioners.
Learning objectives
At the end of this workshop, participants will understand how to:
- Call LLMs from R and Python using ellmer and/or chatlas.
- Design effective system prompts and reason about token usage, history, and cost.
- Use structured output and tool calling to make LLMs reliably interact with data and other systems.
- Build retrieval-augmented generation (RAG) workflows and wrap LLM-powered features into Shiny apps.
- Choose between inline, chat, and agentic AI coding assistants and use each one effectively.
- Maintain control of AI-assisted code through good context, tests, and plans.
Preparation
We will be working locally during the workshop, so please come with a laptop that has the following installed (all available for free):
- A recent version of Positron, or optionally if preferred, RStudio
- A recent version of Python and/or R
- For Python, create a virtual environment for the workshop such as via
uv venv
- For Python, create a virtual environment for the workshop such as via
- Clone the workshop repo to the laptop you will bring to the workshop
- Posit Assistant, which is included in recent Positron builds and the RStudio dailies
- uv
- This is the easiest way to install and manage Python
- We’ll use this tool on Day 2 to run a small local MCP server for the assistant, so try to get it installed even if you are only planning on using R for data analysis
- Install the packages needed for the workshop:
- For Python, install the packages listed in
requirements.txtsuch as withuv pip install -r requirements.txt - For R, install the packages listed in
DESCRIPTIONsuch as withpak::local_install_deps()
- For Python, install the packages listed in
You will also need API credentials for at least one LLM provider; we will make an API key available for folks who do not have one.
Schedule
Code files for working along are available on GitHub.
Wednesday, 17 June 2026: Build on AI
| Time | Activity |
|---|---|
| 09:00 - 10:10 | Talking with LLMs via code |
| 10:10 - 10:30 | Break |
| 10:30 - 11:45 | Programming with LLMs |
| 11:45 - 13:30 | Lunch |
| 13:30 - 14:40 | Prompt engineering and RAG |
| 14:40 - 15:00 | Break |
| 15:00 - 16:15 | Beyond prompts |
Thursday, 18 June 2026: Build with AI
| Time | Activity |
|---|---|
| 09:00 - 10:10 | Intro to AI coding assistants |
| 10:10 - 10:30 | Break |
| 10:30 - 11:45 | Working in your editor |
| 11:45 - 13:30 | Lunch |
| 13:30 - 14:40 | Steering and extending |
| 14:40 - 15:00 | Break |
| 15:00 - 16:15 | Agentic workflows |
Instructor bio
Julia Silge is a data scientist and engineering manager at Posit PBC, where she works on open source software for data science in Python and R. She is an author, an international keynote speaker, and a real-world practitioner focusing on data analysis and machine learning. Julia loves text analysis, making beautiful charts, and communicating about technical topics with diverse audiences.
Credits
Illustrations throughout the workshop materials are from unDraw and used under their license.
The Utah crash dataset is from the Utah Open Data Portal.
Demos build on work by Garrick Aden-Buie and are MIT licensed.