Lesson 5: Beyond the Finished Code
45 minutes
Overview
How can AI tools ethically enhance the functionality of a finished program?
This lesson has students experience using AI to enhance completed programs through activities like feature expansion or program improvements. They engage in discussions about ethical concerns related to AI-assisted feature suggestions and the creative process in coding, culminating in creating personal value statements for using AI in program development and improvement.
Standards
BI-5 - AI can impact society in both positive and negative ways
5-A-ii - Ethical AI - Ethical Design Criteria
- 5-A-ii.9-12 - Analyze an AI system to determine whether it satisfies ethical design criteria
5-C-ii - AI & The Economy - Effects on Employment
- 5-C-ii.9-12 - Investigate the skills needed for AI-enabled careers.
AP - Algorithms & Programming
- 3A-AP-19 - Systematically design and develop programs for broad audiences by incorporating feedback from users.
- 3A-AP-23 - Document design decisions using text, graphics, presentations, and/or demonstrations in the development of complex programs.
- 3B-AP-22 - Modify an existing program to add additional functionality and discuss intended and unintended implications (e.g., breaking other functionality).
IC - Impacts of Computing
- 2-IC-22 - Collaborate with many contributors through strategies such as crowdsourcing or surveys when creating a computational artifact.
- 3A-IC-24 - Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
Agenda
Objectives
Students will be able to:
- Analyze and expand their finished programs with the assistance of AI tooling strategies.
- Craft value statements regarding AI use when finished with a program
Preparation
- Determine which version of the Digital Journal your students will need to use based on if you are teaching all five lessons or just this individual lesson.
- Print copies of the activity guides.
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the teachers
- Beyond the Finished Code - Slides
- Getting Started with Coding with AI - Resource
For the students
- AI Chatbot Prompting Guide - Resource
- AI Strategy - Feature EnhanceMate - Handout
- AI Strategy - Insight Analyst - Handout
- AI Value Statement with Finished Programs - Activity Guide
- Ethics Speed Chat Reflection - Activity Guide
- Feature EnhanceMate - Activity Guide
- User Feedback - Handout
- User Feedback Analysis - Activity Guide
- Using AI with a Finished Program Digital Journal - Slides
Teaching Guide
Before You Get Started!
If you are not teaching all five lessons in this unit back-to-back, you might consider teaching Lesson 1 before teaching this lesson.
Warm Up (5 minutes)
What's Missing?
Remarks
Every app or software we use can be improved. Sometimes, the best ideas for new features come from regular users like you!
Prompt: Think about a commonly used app you interact with daily. Imagine you have the power to add one new feature to this app. What feature would you add to make it more useful, enjoyable, or efficient? Consider how AI might help in implementing this feature.
Discussion Goal: The goal is to demonstrate that feature expansion often begins with understanding user needs and creatively thinking about solutions. Additionally, this discussion should illustrate how AI can be a tool to bring such creative, user-centered ideas to fruition in software development. Remind students of a few of AI’s capabilities, like pattern recognition, predictive text, or personalized suggestions.
Encourage creativity with your students by letting them know features can range from realistic additions to imaginative, futuristic concepts. Invite a few students to share their ideas with the class quickly and highlight how diverse and creative feature ideas can be and how these ideas can stem from everyday experiences and needs.
Ensuring students understand that this brainstorming activity has no right or wrong answers is essential. By engaging in this exercise, students become more receptive to new information, understanding that their initial ideas are starting points, not fixed truths. As the lesson progresses, students can compare their initial ideas with what they learn, leading to a more informed and reflective discussion about AI’s role in feature expansion.
Remarks
Great brainstorming! Now, let’s put your innovative thinking into action with AI. We will see how AI can help us get ideas to expand program features and make improvements. As you explore, think critically about your AI-suggested enhancements' ethical implications and practicality - especially keeping an eye out for suggestions from the AI that are or could lead to bias or discrimination.
Activity (30 minutes)
Using AI with a Finished Program (20 minutes)
Group: Put students to work in pairs.
Do This: Direct each pair of students to make a single, shared copy of the Using AI with a Finished Program Digital Journal.
If you are completing all of this module's lessons back-to-back, without interruption, you should instead direct each pair of students to open their shared copy of the AI Strategies Journal they should have made during the second lesson. This version allows students to document all the module’s AI strategies in one place.
Distribute: Give each student a copy of the AI Strategy - Feature EnhanceMate handout.
Printing suggestion: It is a good idea to print the Using AI with Finished Programs handout for each student. This approach will allow students to have fewer tabs open on their computers and give them something to write additional tips or tricks they notice as they try out the strategy.
Do This: Direct students to spend about 15 minutes trying out the strategy, discussing it with their partner, and at least 5 minutes documenting their experience.
Do This: Remind students to document their thoughts on how supportive (or not) the strategy is in their AI Strategies Journal.
Timing suggestion: If you have more than 30 minutes for this activity, consider having students explore the optional additional strategy at the end of this lesson.
Optional Extension: If you would like your students to practice design thinking and to do something with the suggestions they receive from the AI, such as sketch or write down a brief plan of how the features could be integrated into the program, you can have students use the Feature EnhanceMate Activity Guide.
Circulate: As you walk around, remind students what "supportive" means and let them know that each student, depending on their programming experience level, will probably differ in whether they find a certain strategy to be more or less supportive than others.
The AI Strategies Journal can be used as a formative assessment to gauge understanding of the AI strategies presented.
You might choose to check students’ journals after each lesson or at the end of the module (if you are completing all five lessons).
AI Ethics Speed Chat (10 minutes)
Remarks
Now that we’ve explored how AI can support us once we finish our programs, let’s shift to a quick reflection activity. This will be a rapid-fire discussion where you’ll pair up to dive into some thought-provoking ethical questions about using AI. It’s a chance to share your views and listen to others before you create your Coding with AI Values today. So, let’s get started and see the diverse perspectives we all bring to the table and the new insights we can uncover together!
Distribute: Give each student a copy of the Ethics Speed Chat Reflection activity guide.
Do This: Direct students to spread out and form two circles - an inner circle and an outer circle facing each other. Inner students should pair up with an outer circle student. At the end of each round, direct the inner circle to rotate to the right.
Do This: Direct students to use the activity guide prompts to discuss their thoughts with their partners during each round. Students should write down any key ideas that come up during each round. Use the music in the slide to help you keep time for this activity, ending each round and rotating to the next partner when the music stops.
Spacing Tip: If your space is limited and you don’t have room to form the inner and outer circles comfortably, you might consider one of the other pairing options below:
- Go into the hallway and form two lines facing each other. When it is time to rotate, have one of the lines move over by one person while the other line stays put when the time is up for each round.
- If your student desks are arranged in rows, direct every other row to turn their seat around, facing the row behind them. When the time is up for each round, rotate the students sitting at the backward-facing desks.
If students are close enough to hear what the pairs next to them are saying, you might also consider having them move 2-3 people over after each round rather than move to the next person. This might help students hear new thoughts than those right next to them.
Prompt Tip: The first three prompts on the activity guide are the ones that students should answer during this activity. If you think your students would benefit more from discussing any of the other prompts, feel free to provide guidance on which prompts to answer. Going through three prompts should take 6 minutes (2 minutes each). However, if you have extra time and you would like your students to continue reflecting and discussing with more classmates during this Speed Chat Reflection activity, you can also have your students use more than the first three prompts.
Timing Tip: A 2-minute timer with music has been provided for you in the activity slides to help you keep track of when to have students rotate. If you have a different, preferred way to keep track of time, or you can extend the rounds beyond 2 minutes, please feel free to delete the 2-minute timer video.
Circulate: As you move around the room, ensure students are documenting their classmate's key point(s) from their conversation as well as their thoughts and feelings. Let students know that they do not need, nor do they have time, to write entire sentences on their activity guide. Instead, they can jot down a few words that encapsulate the key points of their discussion.
This activity is a fun and interactive way for students to explore their experiences and opinions about the role of AI when working with a finished program, primarily focusing on the ethical aspects and how it impacts our sense of ownership in coding. The insights from their peers during this activity will deepen their understanding of the complex relationship between AI and human programmers.
Encourage students to be open-minded and respectful during this activity, ensuring everyone’s experience and viewpoint are valuable.
The prompts are also available in Code Studio for your use as an optional exit ticket if you would like your students to provide their thoughts and reasons in a more quantitative format for your usage.
The AI Ethics Speed Chat activity guide can be used as a formative assessment to gauge understanding of various ethical considerations when programming with AI.
Remarks
Great insights during our speed chat, everyone! Seeing such thoughtful reflections on using AI with our finished programs is amazing. Now, let’s summarize our thoughts differently. Please share your ideas in just ONE sentence about how AI can ethically enhance a finished program.
I’m excited to read your focused and succinct insights!
Do This: Direct students to type up their one-sentence opinion in Code Studio, Lesson 5, Level 1.
While the “One-Sentence” is meant to be a quick activity, if you have the time, you might consider spending a few more minutes to point out any of the following and having a deeper discussion:
- Common Themes: Highlight any recurring ideas or concerns among the responses, which can indicate areas of general agreement or significant interest in the class.
- Varied Perspectives: Acknowledge the range of viewpoints, emphasizing the complexity of ethical considerations in AI and the value of diverse opinions.
- Real-World Application: Relate some of the opinions to real-world scenarios or current events in AI, to illustrate how these concepts are relevant in practical situations.
- Critical Thinking and Reflection: Praise the depth of thought and reflection shown in the responses, encouraging ongoing critical engagement with technological ethics.
If many students show uncertainty or concern, you might plan future lessons or discussions to address these areas. For example, if students are concerned about the ethical implications of AI, you could incorporate more content on ethics in AI and programming.
You might also consider providing additional resources, like articles or videos, to help students grasp the concepts better if many students express discomfort or lack of understanding.
Your students' responses can also guide the direction of future class discussions. For instance, if most students feel that AI does not respect a programmer’s creativity, you might facilitate a debate or discussion to explore this viewpoint more deeply.
Do This: Display the anonymous responses for the class. Look for various opinions, showing the class's varied thinking and understanding of AI's potential. Identify particularly insightful or unique perspectives that demonstrate deeper reflection or understanding. Highlight any recurring ideas or concerns among the responses.
Do This: Direct students to move to Level 2 on Code Studio to explain the reasons behind their one-sentence summary.
If short on time, this level can also be given to students at the end of class with the other Exit Ticket levels or for homework.
Students' explanations can be used as a formative assessment to gauge understanding of ethical considerations when programming with AI
Wrap Up (10 minutes)
Creating Value Statements
Remarks
We will wrap up today’s activities with each of you drafting your Value Statement about using AI to help us expand our finished programs. Use the handout to help you figure out if you would use AI in this situation and if or how the strategy was supportive to your learning.
Distribute: Give each student a copy of the AI Value Statement with Finished Programs activity guide.
Do This: Instruct students to draft a personal value statement regarding using AI with finished programs. The statement should reflect their own opinions on whether or not they found the strategy to be supportive and why, how to use the AI strategy ethically and supportively for someone at their level of programming experience, as well as when they would use the strategy (for example, “when stuck” or “right away to get the ball rolling”).
Do This: Have students share their value statement with a neighbor or small group before inviting a few students to share it with the class.
This is a good opportunity to build a group artifact to refer to or display for the class. Some options might include:
- Printing them up and putting them on a "Coding with AI Values" wall
- Posting them in your LMS where students can refer to them when needed
- Post them on your class website
Students’ Value Statements can be used to assess their learning based on the following criteria:
Students create value statements that display a deep understanding of AI strategies and their application in coding which include detailed, specific, and comprehensive explanations of how to use AI for each strategy.
Value statements for each situation or stage of programming include descriptions for
- Which strategies work best based on experience during lessons
- The level of programming experience the chosen strategies would work best for and why
- When they would turn to AI for the chosen strategy and why
- Ways to use the chosen strategies to support their learning
Make sure to provide feedback on students’ value statements in an effort to push them to clearly articulate their opinions about when, how, and why/why not they would use AI in the initial stages of program development.
Remarks
Thank you for your thoughtful engagement in today’s exploration of using AI with finished programs. Your ideas and discussions have highlighted the importance of responsible innovation. As we progress, carry these ethical considerations with you, blending them with your technical skills to create impactful and conscientious technology.
Assessment: Check for Understanding
Check For Understanding Question(s) and solutions can be found in each lesson on Code Studio. These questions can be used for an exit ticket.
(Optional) AI Strategy - Summarizing User Feedback
AI can be quite helpful in summarizing and finding patterns in feedback. If your class gets user feedback on their projects, this AI strategy can be particularly helpful. You may even want to use this strategy instead of the main strategy for this lesson. If your class does not tend to get user feedback on projects, however, this strategy will not make sense to your students.
Remarks
It is important to test your designs with real users, and ask for their feedback. Sometimes, it can be overwhelming to read and understand all the feedback. This is where AI can come in, and help you find the key insights. Let's practice this strategy, using sample feedback I've provided you with.
Group Put students to work in pairs
Distribute: Give each student a copy of the User Feedback and User Feedback Analysis handouts and the User Feedback Analysis activity guide.
Do This: Direct students to spend about 15 minutes trying out the strategy, discussing it with their partner, and at least 5 minutes documenting their experience.
Do This: Remind students to document their thoughts on how supportive (or not) the strategy is in their User Feedback Analysis. **
Circulate: As you walk around, remind students what "supportive" means and let them know that each student, depending on their programming experience level, will probably differ in whether they find a certain strategy to be more or less supportive than others.
(Optional) JuiceMind Assessment
You can assign students a content assessment hosted on the JuiceMind platform either within the lesson or at the end of the lesson. To assign the assessment to your students, click here.
Click Assign on the assessment page, then have students join your unique class session. Students have a link to the Join page on the level after the reflection level and will need to enter the class session code. After students complete the assessment, you can view their results on the JuiceMind teacher dashboard.
Note: You will need to sign up for an account on JuiceMind to assign the assessment.
This work is available under a Creative Commons License (CC BY-NC-SA 4.0).
If you are interested in licensing Code.org materials for commercial purposes contact us.