charlie-the-coding-cow-classroom

Charlie the Coding Cow: Classroom Edition

https://github.com/arjunguha/charlie-the-coding-cow-classroom

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Charlie the Coding Cow: Classroom Edition

Basic Info
  • Host: GitHub
  • Owner: arjunguha
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Size: 487 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Charlie the Coding Cow - Classroom Edition

Charlie the Coding Cow Screenshot

This is a simplified version of the "Charlie the Coding Cow" experiment platform, designed for classroom use. The original version of this platform was used in the following papers:

  • Hannah Babe, Sydney Nguyen, Yangtian Zi, Arjun Guha, Molly Q Feldman, and Carolyn Jane Anderson. StudentEval: a Benchmark of Student-Written Prompts for Large Language Models of Code. ACL Findings 2024.
  • Molly Q Feldman and Carolyn Jane Anderson. Non-Expert Programmers in the Generative AI Future. CHIWORK 2024.
  • Sydney Nguyen, Hannah Babe, Yangtian Zi, Arjun Guha, Carolyn Jane Anderson, and Molly Q Feldman. How Beginning Programmers and Code LLMs (Mis)read Each Other. CHI 2024.

This version features a single sequence of problems for all users (defined in tasks.jsonl), without end-of-problem surveys or a built-in tutorial (which can be run separately in class). It simplifies data storage by logging all results to results_USERNAME.jsonl files. For authentication, it just uses a list of usernames without any passwords (defined in users.txt)

The file all_tasks.jsonl contains all the tasks from the original platform, and is derived from problems.yaml.

Requirements

  • Python 3
  • pip3 install gradio openai
  • An LLM endpoint supporting the OpenAI completions API

Usage

  1. Set environment variables:

    • BASE_URL
    • API_KEY
  2. Run the application: python3 app.py --model MODEL_NAME

  3. For more options: python3 app.py --help

Example

The following command starts the program with gpt-4o-mini, and makes it publicly accessible:

bash API_KEY=$OPENAI_API_KEY python3 app.py --model gpt-4o-mini --share --is-chat

After the program starts, Gradio will print the public URL to the console.

Owner

  • Name: Arjun Guha
  • Login: arjunguha
  • Kind: user
  • Location: Boston, MA
  • Company: @nuprl

hacker / cs professor

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Guha"
    given-names: "Arjun"
date-released: 2024-10-07
url: "https://github.com/arjunguha/charlie-the-coding-cow-classroom"
title: "Charlie the Coding Cow: Classroom Edition"
version: 1.0
preferred-citation:
  type: conference-paper
  authors:
    - family-names: "Nguyen"
      given-names: "Sydney"
    - family-names: "Babe"
      given-names: "Hannah McLean"
    - family-names: "Zi"
      given-names: "Yangtian"
    - family-names: "Guha"
      given-names: "Arjun"
    - family-names: "Anderson"
      given-names: "Carolyn Jane"
    - family-names: "Feldman"
      given-names: "Molly Q"
  title: "How Beginning Programmers and Code LLMs (Mis)read Each Other"
  conference:
    name: "ACM Conference on Human Factors in Computing Systems"
    abbreviation: "CHI"
  year: 2024

GitHub Events

Total
  • Watch event: 2
  • Push event: 1
Last Year
  • Watch event: 2
  • Push event: 1