Skip to content

dstl-lab/ContentGen-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ContentGen

Overview

ContentGen is a JupyterLab extension available on PyPI that generates context-aware practice questions and summaries directly within notebooks. Developed at the Data Science Teaching & Learning Lab at UC San Diego, it supports instructors by embedding dynamic, AI-generated content into the notebook workflow. The extension includes a pip-installable Python backend and a TypeScript frontend connected through custom HTTP handlers.

This project accompanies the paper “Improving LLM-Generated Educational Content: A Case Study on Prototyping, Prompt Engineering, and Evaluating a Tool for Generating Programming Problems for Data Science.”

DSTL Lab | SIGCSE 2026 Paper

Please cite this paper if you used the code, dataset, or prompts in this repository.

Jiaen Yu, Ylesia Wu, Gabriel Cha, Ayush Shah, and Sam Lau. 2026. Improving LLM-Generated Educational Content: A Case Study on Prototyping, Prompt Engineering, and Evaluating a Tool for Generating Programming Problems for Data Science. In Proceedings of the 57th ACM Technical Symposium on Computer Science Education V.1 (SIGCSE TS 2026), February 18–21, 2026, St. Louis, MO, USA. ACM, New York, NY, USA, 7 pages. https://doi.org/10.1145/3770762.3772619

@coming_soon

Quick Start

Install the Extension

To install the latest release from PyPI:

pip install contentgen

Then launch JupyterLab:

jupyter lab

Open the ContentGen sidebar and enter your API key to start generating content.

Get a Gemini API Key

  1. Go to Google AI Studio and create an API key.
  2. Copy and store your key securely.
  3. Launch JupyterLab, open the ContentGen sidebar, and paste the key when prompted.

Resources

Running the Example Notebook

To run the example notebooks locally:

  1. Clone this repository:
    git clone https://github.com/dstl-lab/ContentGen-demo.git
    cd ContentGen-demo
  2. Install dependencies:
    pip install -r requirements.txt
  3. Launch JupyterLab:
    jupyter lab
  4. Open the notebooks in example_notebooks.

You can then explore the notebooks interactively and utilize the ContentGen extension within JupyterLab to generate AI-assisted teaching content.

Acknowledgments

This project was developed as part of the Data Science Teaching & Learning Lab at UC San Diego, led by Professor Sam Lau.

Contributors: Ylesia Wu, Ayush Shah, Gabriel Cha, and Jiaen Yu.

We thank the lab members for their feedback during development of the tool.

Contact Information

Sam Lau
GitHub: @SamLau95
Email: sel011@ucsd.edu

Jiaen Yu
Website: jiaenyu.com
GitHub: @yujiaen1999
Email: jiy037@ucsd.edu

Ylesia Wu
GitHub: @ylesia-wu
Email: xw001@ucsd.edu

Ayush Shah
GitHub: @Ayush1124
Email: ajshah@ucsd.edu

Gabriel Cha
GitHub: @gabrielchasukjin
Email: gcha@ucsd.edu

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors