Collaborative Research with ChatGPT

John Gordon
University of Utah

This assignment actively integrates ChatGPT as a virtual research team participant in a student group research project. Each team is assigned a specific topic prompt and a theoretical framework to guide their research. All team members, both humans and ChatGPT (through a moderator), formulate research questions, undertake research to address these questions and participate in cross-team peer reviews to evaluate the outcomes of each group. A unique aspect of this assignment is for each team member to collaboratively identify the distinctions in writing style and research approach between their human peers and ChatGPT.


Learning Goals

  • Understand and apply rhetorical concepts
  • Develop critical thinking and analytical skills
  • Collaborative research and teamwork
  • Evaluate the role of Artificial Intelligence (AI) in research
  • Communication and presentation skills
  • Ethical considerations in technology and research
  • Reflective learning and self-assessment

Original Assignment Context: Interdisciplinary courses in computer programming and Code Studies

Materials Needed

  • Assignment overview and instructions
  • DemoAutoInsurance.py computer programming source code file
  • Research materials and data access (library, etc.)
  • Access to ChatGPT
  • Collaboration tools (email, Zoom, etc.)
  • Other research tools
  • Guidelines for ethical use of AI in research
  • Peer-review guidelines

Time Frame: 6 weeks

Overview

This assignment stems from my experience teaching computer programming within a computer science department and writing for a writing and rhetoric department. Historically, ChatGPT has been either discouraged or outright prohibited in these settings. The methodology proposed here reimagines ChatGPT's role, integrating it into the educational process as a collaborative tool. The assignment integrates ChatGPT into student research teams as an active collaborator, with dual objectives: to demystify its capabilities and to prompt students to critically assess its strengths, limitations, and ethical implications in an educational context. This approach has been applied in Python and Code Studies courses over two recent semesters. The model, illustrated below, has garnered overwhelmingly positive and insightful feedback from students of those courses. Such encouraging outcomes motivate the ongoing refinement of this approach, aiming to evolve it into a versatile framework suitable for diverse objects of study and theoretical approaches.


Assignment

Prompt

Conduct a comprehensive rhetorical analysis of the DemoAutoInsurance.py program provided below based on the rhetorical concepts of ethos, logos, and pathos. This exercise aims to develop your understanding of how classical rhetorical principles can be applied in the context of computer programming. In addition, your team will evaluate the use of ChatGPT as a collaborative (virtual) member of your research team.

 

"""

     Program:       DemoAutoInsurance.py
     Author:        Bob Smith
     Date:          01/01/2013
     Purpose:       Calculate auto insurance rates based
                    on specified factors.
     Customer Data: id, age, vehicle value, violations, 
                    profile, rate

"""

# Global variables
customers = [
     [1234, 33, 20000, 2, "x", 0],
     [5678, 21, 25000, 1, "y", 0],
     [9012, 18, 15000, 0, "z", 0],
     [3456, 40, 40000, 1, "z", 0],
     [7890, 52, 33000, 0, "y", 0],
     [4321, 68, 29000, 4, "x", 0],
     [8643, 18, 40000, 0, "x", 0],
     [1188, 22, 48000, 4, "y", 0],
     [9942, 46, 70000, 4, "y", 0],
     [8201, 65, 80000, 1, "z", 0],
]
base_rate = 500
age_risk_adjustment = 50
violation_adjustment = 50
profile_adjustment = 75

 

# Insurance rate calculation function
def calculate_insurance_rates():
     for c in customers:
         calculated_rate = base_rate
         if c[1] <= 18 or c[1] > 62:
             calculated_rate += age_risk_adjustment
         if c[3] > 0:
             calculated_rate += (c[3] * violation_adjustment)
         if c[4] == "y":
             calculated_rate += (profile_adjustment)
         if c[4] == "z":
             calculated_rate += (profile_adjustment * 2)
         c[5] = calculated_rate

 

def print_report():
     print("=" * 50)
     print("C U S T O M E R   R A T E   R E P O R T")
     print("=" * 50)
     print("ID\tAge\tValue\t\tVios\tRate")
     print("-" * 50)
     for c in customers:
         print(str(c[0]) + "\t"+ str(c[1]) + "\t" + 
               "${:,.0f}".format(c[2]) + "\t\t"+ 
               str(c[3]) + "\t"+ "${:,.0f}".format(c[5]))
     print("=" * 50)
     return

 

# Main
calculate_insurance_rates()
print_report()

 

Instructions

  1. Week 1: Form a Research Team. 
    1. Form a group of four students to work together as a research team in the structure outlined in Figure 1.
    2. Select one student for the role of team Moderator.
    3. ChatGPT will augment the research team as a virtual team member.

 

 

Figure 1: Student research team configuration.

 

  1. Week 2: Write Research Questions.
    1. In this step, team members will work independently and not share their work with other team members.
    2. Each human team member individually writes a research question based on the rhetorical concepts outlined in the research prompt. The human team members should refrain from using ChatGPT for this step.
    3. The moderator will develop a research question by writing prompts in ChatGPT based on the rhetorical concepts and theoretical framework outlined in the research prompt.
    4. When complete, each human team member will send the Moderator a copy of their research question.  
    5. The moderator removes identifying information from the team member submissions and randomly distributes (and keeps track of) the research questions (including ChatGPTs) to the team members so that each member receives a question written by someone else.
    6. The Moderator anonymizes the submissions from team members, ensuring that each member is randomly assigned a research question authored by another individual. This process includes distributing ChatGPT’s questions to a team member as well. The Moderator keeps track of the team members and the questions they each wrote to maintain the integrity of a blind review system.
    7. At this point in the process, ChatGPT’s question is in the hands of one of the human team members, and one of the human’s questions is assigned to ChatGPT. 
  2. Week 3: Conduct Research.
    1. Each team member conducts research steps to answer their randomly assigned research question.
    2. The human team members should refrain from using ChatGPT for this step.
    3. The Moderator manages the research question assigned to the virtual team member ChatGPT. The Moderator exclusively uses ChatGPT to research ChatGPT’s research question and produces a brief research summary (~2 pages) of ChatGPT’s results.
    4. Each team member delivers a brief research summary (~2 pages) of the results of their research questions to the Moderator.
  3. Week 4: Drafting a Collaborative Document.
    1. The Moderator compiles the individual team member summaries, including ChatGPT’s summary, into a single document.
    2. The compiled summary should not include identifying names of the team members.
    3. The Moderator then sends the compiled document to their team’s members for review.
    4. The team then meets to discuss the compiled document. 
      1. The team members attempt to identify the research question developed by ChatGPT.
      2. The team also attempts to identify the research question summary developed by ChatGPT (via the Mediator).
      3. After discussing, the Mediator reveals ChatGPT’s research question and summary.
      4. The team notates details of their discussion, including indicators of ChatGPT’s work and what the team feels ChatGPT’s work contributed to their overall research results.  
  4. Week 5: Peer Review. 
    1. Each Team exchanges their summary document with another team (assigned by the instructor) for peer review.
    2. Evaluating teams should address the following during their peer review:
      1. Clarity and comprehensiveness of the research questions.
      2. Depth of ethos analysis in the object of study
      3. Logic and structure evaluation in the object of study
      4. Emotional elements identified in the object of study 
      5. Ethical implications
      6. Synthesis of team member research
      7. Recommendations for improvement
      8. Attempt to discern the research question and summary developed by ChatGPT versus the human team members.
      9. Write comments on this process, their evaluation of ChatGPT’s role, and contributions during this phase.
      10. When complete, the evaluating teams submit their findings and recommendations in a Peer Review Report via the LMS.
  5. Week 6: Final Submission and Reflection. 
    1. Each team will meet to collaborate on a revised final draft of their peer-reviewed research document (~10 pages).
    2. Each team member (including Moderators) will write an individual reflection (~2 pages) on this entire process, focusing on the research process, their perspectives on the involvement and contributions of ChatGPT, a commentary on ethical considerations of using ChatGPT tools in research, and a summary of using ChatGPT in a collaborative research effort.
    3. Each team Moderator will then submit the final draft of their team’s peer-reviewed research document, including each team member’s reflection, via the LMS.

Acknowledgments

This work was partially inspired by Kevin Brock’s book Rhetorical Code Studies: Discovering Arguments In and Around Code (University of Michigan Press, 2019), and Mark Marino’s book Critical Code Studies (MIT Press, 2020).