Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
It is highly recommended that you "round out" your learning experience by working on independent skills and exploring the breadth of computing applications as a supplement to your team project. Developing strong skills will give you the ability to jump into future work and contribute in a meaningful way. Also, intentionally exploring computing careers, innovation, and the people involved will reveal exciting opportunities for you, that may otherwise go unnoticed.
This is a list of quality tutorials for programming, but there are many more available online if you try a search. Consider setting a goal to complete several tutorials throughout the project duration.
HTML - W3Schools, Khan Academy, Codecademy
CSS - W3Schools, Khan Academy, Codecademy
JavaScript - W3Schools (JS) / W3schools (jQuery), Khan Academy 1 (JS)/ Khan Academy 2 (jQuery), Codecademy 1 (JS) / Codecademy 2 (jQuery)
Exploration is an important activity for students and professionals alike that leads to new opportunities. You could conduct some research and generate a written report and/or a presentation to share with others. Below is an example for a trend report, but you could do something similar on any topic or career in technology.
It is difficult to keep up with all the new technology advances. So each student in the class will prepare a trend report on a new product or service (or research concept) that interests him or her. Then each student will present the report to the class based on a schedule given in class. This way we can all learn.
Possible Resources: ReadWrite Indiegogo Wired The Verge Fast Company MIT Technology Review Kickstarter IFTTT Channels
Standard Deliverable ✓ Prepare a slide presentation (3 or more slides) that covers the following three items. Be sure to research a cutting edge idea--either a new product that breaks the mold or a concept that is only in research.
Fully describe the technology and use. What is it? Who will use it? How does it work?
Explain what makes it novel or different. How is it different than current products or services?
Why do you find the technology so interesting?
Advanced Deliverable ✓+ Prepare a question or two to ask the class about the topic and lead a short discussion.
Understanding conversations between people seems rather simple, but it is deceptively complex. Those who have attempted to write computer programs that converse with people understand how complex it is. We have a lot to learn about programming conversations between machines and humans, whether through text or voice. Still, a lot of improvements are being made in this area. For this project you will make a chatbot and wrestle with the many ambiguities of programming natural language interactions.
DISCUSSION: What chatbots have you used? How well did the interaction go?
Copyright © 2017-2021 Jim Lyst and Michael Frontz, Indiana University School of Informatics and Computing at IUPUI
This material is part of the Computing by Design high school computer science curriculum developed for the Informatics Diversity-Enhanced Workforce (iDEW) program, an award-winning community partnership in central Indiana that is broadening student participation in computing and helping students develop the skills essential for success in the 21st century workplace. The iDEW program is managed by the Indiana University School of Informatics and Computing at IUPUI.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. You are free to use, share, or adapt this material for non-commercial purposes as long as you provide proper attribution and distribute any copies or adaptations under this same license.
Generate a simple list of ideas for a chatbot. Write down at least 10 topics that might be interesting to you and useful to people.
Conduct an internet search for existing chatbots similar to some of your ideas. Simply try searching the term chatbot
combined with variations on each of your ideas.
Use any search results to consider new ideas or adapt your initial ideas.
After some reflection on your ideas, define three concepts with a little more detail using the concepts template.
❏ Deliverable Collect your team's initial ideas in a list and gather the resulting concepts into a single document or slide set.
✓- Below Standard
✓ At Standard
✓+ Above Standard
Initial ideas and concepts are provided but they reveal limited effort.
Ideas and concepts provide valuable paths to consider and will contribute to refining the team's solution.
Ideas and concepts demonstrate especially keen or creative insight, recognizing gaps in existing products that the team could offer in their solution.
In this phase you well begin to frame the goals of your team's design by learning about these important aspects.
stakeholders in your community
technology available to you and features of chatbot designs
context of health issues in your community.
After conducting research, you will develop initial design ideas and compose a clear value proposition that defines what your team will create, for whom, and the value it will bring. Finally, you will present a proposal to your class and the community for feedback, helping you refine your design direction moving into the next project phase.
Task
Estimated Time
Warm-Up Project
3 hours
Initial Ideas
1 hour
Background Research
2 hours
Personas
1 hour
Concept Narrowing
1 hour
Task Analysis
1 hour
Value Proposition
1 hour
Team Proposal
1 hour
Each team member will conduct background research on at least one topic to understand the scope of of possibilities for each (like current trends, statistics, and impact) and the opportunities to provide value to a chatbot visitor. It is important to look at each topic through the lens of how a chatbot may be of value.
How knowledgeable is the general public on the topic right now?
How much could the community benefit from learning some key information through a chatbot?
What is the potential for generating social movement, sometimes called "viral"?
Will you have access to the communities regarding the topic for further research and testing your chatbot?
As a team, discuss all the research and determine which topic will be your focus. If your team is still undecided, you may use the interviews in the next task to help you finalize your decision.
❏ Deliverable Collect your team's background research into a single document or slide set.
✓- Below Standard
✓ At Standard
✓+ Above Standard
Background research is provided but reveals limited insight on the topic.
Background research provides valuable data and context on the topic and will contribute to framing the team's solution.
Background research demonstrates especially diligent work, mapping a clear understanding of the context and available knowledge.
Provide each team member time to share their ideas and the value of each concept documented.
Synthesize your concepts into three top concepts that all team members find interesting and valuable. Document the three concepts in the template linked below the same as you did in the previous individual exercise.
Develop a sample dialogue flow diagram for each of the three concepts that is at least as detailed as this example, but begins to show some more detail like this example from this article. Include your sample dialogue flow in each concept using a Google drawing embed or photo of a hand-drawn version. Make sure it is clearly legible and useful for describing the concept.
Note: This will not be a complete (or exhaustive) dialogue flow chart, only a sample of a common interaction with a user that you envision.
Share your three concepts to six people in your class and document feedback on the value, interest-level, and complexity of each concept. Be sure to carefully explain the concepts and use the dialogue flow diagram to help illustrate the idea. Be sure to discuss the tone and personality of the potential chatbot. Also, capture in your document any ideas that people give you that may be incorporated later.
Have each team member share your team's three concepts with two people outside of class. (For example, share with a total of six people if you have a team of three.) Try to target a different, but pertinent, audience---like parents, siblings, coaches, etc. Capture the feedback as before.
Concept Narrowing Document Template
❏ Deliverable Your team's Concept Narrowing and Evaluations Document as a single document or slide set.
A chatbot is often used to guide people to solutions to a particular set of problems, like product support, or to raise awareness about a topic based on the visitors responses to initial prompts. Your team will consider many possible applications of chatbots as you do background research and work through tutorials. Ultimately, your team will want to carefully choose a topic that is important to each team member and that can be positively engaged through a well-designed chatbot experience.
General Topics to Consider: Health information, product help, hobby resource, civic participation, sports data, entertainment events ...
Each project team will follow a process to thoughtfully develop a chatbot while practicing a diverse set of skills in a collaborative environment.
Teams of 3 students will collaborate to build a web-based chatbot. Each team will be responsible for determining member roles, maintaining good communication, ensuring equitable contributions, and providing clear project updates to the class in a timely manner.
Teams will begin with a chatbot template as a framework to build their customized solution. The template consists of HTML/CSS/Javascript as well as a simple chatbot script to control the conversation flow.
Each stage of the project has a set of deliverables, but they lead up to the following final deliverables from the team.
A public chatbot that has been tested, refined, and prepared for demonstration at the semester-end event with the following minimum requirements.
A unique style created by the team.
Three topic distinct areas for the chatbot to address for the user.
A background database (using Google sheets) that provide a knowledge base for the chatbot.
A poster (2’ x 3’) summarizing the process of creating your chatbot (including artifacts created, like sketches, prototypes etc.), along with defining features of the final design.
A marketing card (3” x 5”) that promotes your team’s chatbot with classmates and the community.
A well-coordinated presentation that demonstrates the chatbot and explains the process of developing it to visitors of your school.
A prepared personal perspective for you, as an individual, to share your unique responsibilities and experiences during the project, including how your future goals and interests have been shaped.
Google Drive - for team file management and Docs, Sheets, Slides, and Drawings.
Repl.it - For code environment for warm-up project and team chatbot project.
Marvel App - A digital prototyping tool.
Analog Tools - Paper, pencils, markers, whiteboards, and sticky notes are valuable on any day.
Digital Camera / Phone - Photographs of sketches, paper notes and whiteboard notes.
Of course you are going to create an awesome chatbot to benefit others, but you will also get first-hand experience in informatics and computing that reflect great opportunities in the field. You will...
Build skills in the digital arts, programming, and data.
Collaborate with a team where tech skills, people skills, and design skills overlap.
Increase your intuition, confidence, and curiosity in solving problems using a ‘design, build and test’ pattern common with scientific thinking, creative thinking, and critical thinking.
This is different than learning from a textbook. While you are encouraged to complete tutorials in a particular skill area to build expertise, this project will challenge you in the following ways.
Independent and Interdependent Learning - You will often have to search out information on your own, experiment, make mistakes, and try again. You will also do this in groups with peers, mentors, teachers, and professionals.
Managing Ambiguity - Since you will be creating a unique solution, you will not be given a recipe on how to complete many tasks. You will often evaluate the context of problems quickly and decide on a plan of action that makes sense.
Collaborating - You will have to be a productive team member, fulfilling a role, communicating clearly, and valuing each team member's views at decision points.
Presentation - Your team will often present work to the class, and occasionally to visitors, to get feedback and share ideas with other teams.
You will investigate the following key concepts related to computing.
While this digital book guides your project work, below are important suggestions for a well-rounded learning experience using supplemental activities.
Skill Building - Include independent learning time in the three core areas of digital arts, programming, and data. Use online tutorials like CodeHS, Codecademy, and Kahn Academy to learn at your own pace. Try learning in each of the three core areas breifly. Then "specialize" in one.
Exploration and Discovery - Opportunities to discover the larger world of opportunities in technology are important.
Visits from industry professionals and visiting companies are great for exposure.
Create reports on "Tech Trends" or "Tech Careers" to research your specific interests and curiosities. Provide written reports and presentations to your class, so all students benefit from your findings.
Weekly Schedule - A predictable pattern to the week may help. For example...
Each team member will conduct two interviews of people outside of class to understand their perspective on your chosen health issue and on chatbots. You will want to investigate the depth of each person's knowledge and passion about your topic. You will also want to gather their likes and dislikes with chatbots and chat interfaces in general. As a team review your interview responses and use this information to develop personas, one for each team member, that describe the context, needs, and frustrations of stakeholders, revealing opportunities to support meaningful value with your chatbot.
**
.
❏ Deliverable Collect your team's personas into a single document or slide set.
✓- Below Standard
✓ At Standard
✓+ Above Standard
Concept document was completed but only brought a vague understanding of the team's ideas.
Concept document was clear and presented concepts that will positively influence upcoming design work.
Concept document represented exceptionally clear and detailed concepts, that provide continuity with the research and provide great launching points into upcoming design work.
Information Structure
Information Presentation
Information Processing
How computers can store and represent information. HTML, Spreadsheet Tables, and CSV files
How humans see and organize information, and how to create visual interfaces. Interface design, CSS, Data Charts, and Illustration
How humans make decisions and choose actions, and how computers process data and interactions. Interaction Design, Task Analysis, JavaScript, Spreadsheet Functions, Descriptive Statistics
Critical and Computational Thinking
Creative Thinking
Collaboration + Communication
You will practice independent-learning to become confident in obtaining valuable information and understanding the leverage computers can offer to solve problems.
You will often use divergent thinking and a “design, build, test” cycle that supports an agile environment rooted in the scientific method and common creative processes.
You will thoughtfully reflect on techniques and attitudes for successful collaboration and communication in project groups, as well as sharing your work with those outside of class.
Monday
Tuesday
Wednesday
Thursday
Friday
Project
Project
Project
Independent Skills
Visitors & Exploration Reports
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
Stakeholder personas are provided but lack clarity and offer limited value in understanding the stakeholders. | Stakeholder personas provide thoughtful descriptions of people that will guide the design of a valuable solution. | Stakeholder personas are vivid descriptions that will bring exceptional focus to the team's development work. |
Each team member will complete to develop a firm understanding of the design considerations, technical opportunities and constraints your team will have with your chatbot design.
❏ Deliverable Demonstrate that you have completed the each step of the warm-up project and can discuss how the code works.
Value propositions clearly define key aspects of your design that demonstrate it is a valuable and worthwhile product or service. It provides focus for the design of many types of services or products. Here is a template to get you started.
For [describe target users] who [describe problem or need], [name of product/service] is a [describe type of product/service] that [describe benefit or value].
As a team, review all of your work and discuss several possible design directions before settling in on one single value proposition. You will want this statement to be clear, concise, and compelling. It should be supported by your research and analysis up to this point. This is a good time to outline your intended features for the chatbot that you will be able to adapt as you move through your project. to get you started.
❏ Deliverable A document or slide deck with your team's value proposition in large font, and a copy of your draft feature mapping.
Design a prototype of the solution for a detailed internal review and evaluation by a sample of stakeholders. Based on what you learn from your prototype, organize a development strategy to methodically program and style your solution with efficiency and quality. Also prepare for the promotion and launch of your solution, and conduct unit testing to ensure all is in working order before an in-class demonstration.
Refine your previous work as needed to be included in your presentation. Ensure that each slide contributes to an explanation of a cohesive story that supports your initial concept and value proposition.
❏ Deliverable Your team's proposal as a collection of slides containing...
a title slide
your value proposition
intended chatbot features map or listing
summary slides (or exemplars) of your teams work
Background research
Personas
Task analysis.
This is only an example of the types of artifacts you want in you proposal, carefully consider how you will tell a convincing story about your team's concept.
Analyze how people currently (without your bot) complete tasks and achieve the same goals. This will inform your design decisions in several ways.
Understanding the current habits of people will...
help you design an easy entry into using your bot so it feels natural and consistent with people's mental model of the topic.
reveal opportunities to design noticeable advantages for your bot over current practices. You need to "sell" the experience in a way. Does it save time? Make it more fun? Provide better value?
identify paths that you may want to avoid in your bot. You don't want to mimic any bad experiences people may have on the topic.
Snapshot of Task Analysis Template
Determine the top 3 tasks that your bot will perform. Be sure to identify the primary goal for each of those tasks. This may change later as you develop your project, but you need to start with a clear direction to make progress.
For each task, list the detailed steps people currently use to reach the task goal using a specific instance. In other words, how do people complete this task without your bot? Label the steps the user performs and any steps completed by a computer program (or other tool). Start with your best guess. But for each task, ask 3 people how they would complete it and use your findings to adjust the steps for a particular instance.
For example, if one bot task will be to "Find Burrito Recipes by Ingredients or Taste", use a specific instance like the following.TASK: Jill wants a burrito recipe that incorporates chorizo as an ingredient.
Jill: Opens browser.
Jill: Enters "chorizo burrito recipes" in the search bar.
COMPUTER: Google returns a list of sites having burrito recipes (with 2 ads at the top)
Jill: Scans results and selects a page on allrecipes.com
...
...
...
Jill: Returns to the browser tab from seriouseats.com and selects print from the browser menu.
Computer: Prints recipe with all the other headings, menus, and ads on the web page.
Look for the best opportunities to improve the steps in each task using your chatbot. At the same time, be sure to consider how to avoid inserting any steps with your chatbot that would degrade the experience.
Make an instance of a potential chatbot dialogue for the same tasks that you believe improves the experience. Be detailed and consider how the chatbot will handle "directing" the conversation so that it is easy to follow and reduces the chance of getting lost in the conversation. Include labels for the person and chatbot in the example dialogue.
After completing all three chatbot dialogues, review and compare the current way completing the task with your proposed chatbot concepts. Refine the chatbot dialogues as needed.
List the main advantages you see in using the chatbot.
List the potential traps that could cause the chatbot to provide a poor experience for people.
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
The task analysis was only partially completed or did not demonstrate a coherent analysis. | The analysis demonstrated a clear understanding of current practices, exposing opportunities for improving outcomes for users. | A careful analysis lead to an insightful view of people's current habits that demonstrated an exceptionally reflective exercise with a clear mapping to the team's opportunities to create a better solution. |
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
The warm-up project was partially completed or evidence of understanding was limited. | Understanding of the core technology and code was demonstrated along with a coherent implementation of the design methods for the warm-up project | The code and technology was thoroughly investigated and creative methods were used to test the capabilities of the supplied code template, as well as a thoughtful application of the research and design methods. |
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
Value proposition is provided but is not clear or does not offer a compelling need for the proposed solution. | Value proposition is clear and supported by the team's research. | Value proposition is especially convincing and generates anticipation to see the rest of the project. The value to stakeholders is compelling. |
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
Information presented in a way that is not always clear, concise, and logical. The presentation style and selection of material is not fully appropriate for the context. | Information presented in a clear, concise, and logical manner. The selection of material and style is appropriate and effective. | Exceptionally curated information that is delivered in an interesting, coherent and memorable way. |
Delivery: Eye contact, poise, and appropriate voice-level often lacking. | Vocal clarity, eye-contact, and physical composure maintained throughout. | An exceptionally engaging delivery of content lacking unnecessary distractions from the content. |
Task | Estimated Time |
Database Development | 2 hours |
Sample Dialogues | 1 hour |
Pseudocode Functions | 1 hour |
Dialogue Script | 2 hours |
Style Guide | 1 hour |
Code Development Outline and Begin Coding | 6 hours |
Marketing Cared | 1 hour |
Code Testing | 2 hours |
Prepare Development Review and Demo | 2 hours |
While the chatbot script (Rivescript) is your main method of controlling the flow of your chatbot dialogue, you will likely want to use a basic database to store tabular data that your chatbot could incorporate in it's service. For example, you may have a large dictionary of terms that a visitor may want to search through your chatbot, or maybe you develop a large set of study questions to quiz a visitor of your chatbot. There are a lot of possibilities.
You will find that providing a chatbot that is backed by a rich data source for people will take careful thought and multiple iterations. So getting a good start on your database will be very beneficial. Follow the instructions for managing a database for your team and make an intentional plan to develop your database of valuable facts for use in your chatbot.
You will have to think carefully and discuss with your team about what kind of data will be most valuable, along with how you can best format the data to make it useful in the chatbot.
❏ Deliverable Your properly formatted database that will support use in the chatbot. Items may continue to be added.
✓- Below Standard
✓ At Standard
✓+ Above Standard
The database is mostly complete but lacks quality of work, revealing a hurried approach or little reflection.
The database is complete and presents a consistent method and attention to detail.
The database provides exceptionally formed content that reveal a thoughtful approach to generating the data and evaluating the quality of the data.
Create a simple document that outlines the style elements of your chatbot. You will want to determine the following elements, at a minimum, and document a description and visual samples of each when possible.
Background color or image descriptions and visual samples
Text font-family and font-size descriptions and samples (Consider using Google Fonts for a custom look)
Text message "bubble" colors and styles for the chatbot messages and the user messages (you want them to look different)
Sound effects - Describe any sound and how it will be used.
Buttons - This would include the send message button as well as any other buttons you may use in your chat interface.
❏ Deliverable A style guide document.
✓- Below Standard
✓ At Standard
✓+ Above Standard
The style guide is incomplete and lacking basic descriptions of what the chatbot will look like.
The style guide provides a complete description of the visual presentation and sound of the chatbot that will provide a clear target for coding the HTML/CSS/JS
The style guide provided a rich presentation of the style elements with fine details in how the chatbot should look and sound. The style guide reflects a carefully considered design process with the user experience clearly addressed.
Create pseudocode for each programming function your chatbot will need to perform your defined tasks.
Resource: Pseudocode on Wikipedia
See the example pseudocode below as a guide. Don't worry about syntax. Pseudocode is meant to describe, in plain english, what you will need the computer to process.
❏ Deliverable
A document containing each functions pseudocode.
Based on your sample dialogue evaluation and pseudocode functions, code your Rivescript file in a methodical way by dividing up the chatbot tasks and prioritizing the features. You want to have your chatbot working early in the development process, then carefully add features and refinements, testing along the way.
❏ Deliverable A properly formatted Rivescript file functioning in your chatbot.
Document an example of the dialogue that your chatbot may take with a user for each your three key tasks.
This exercise will help define the backbone of your bot and provide a starting point for your script.
All three tasks should start out the same, but quickly divert once the user triggers a path. Look at the example starting points in the template, but edit it with your chatbot dialogue and take it to the conclusion of an interaction.
Carefully consider the language the bot uses and how to structure clear prompts that will direct the conversation in a productive way.
While you are documenting this single instance of how a dialogue may go, start to think about the many ways the user may respond--you will have to deal with that in your final product.
Each team member should evaluate the sample dialogue (much like you would a paper prototype) by having two people individually follow your sample dialogue using the . Synthesize your results and define important decisions for chatbot design before coding begins.
.
❏ Deliverables A document or slide that summarizes the results of your dialogue evaluation
Outline the features to program by priority--core features, enhanced features, and wish list features. You are creating a basic functional requirements document. Begin coding and maintain well organized code as you progress towards your first full demonstration.
Functional Requirements ExamplesCore Features - The chatbot will have a customized background and font that differs from the template - The chatbot will handle a simple intoduction dialogue and save the user's name - The chatbot will present three buttons to the visitor to select one of three topics of interest - The chatbot will be able to search a dictionary of terms based on visitor input - ....add more core features Enhanced Features - The chatbot will be able to offer embedded videos to the user based on dictionary searches - The chatbot will provide further suggestions as a follow up to search results to expand the user's experience. - ...add more enhanced features Wish List - The chatbot will respond to voice input - The chatbot will save a history of interactions with a user. - .....
❏ Deliverable A document or slide that outlines your progressive development plan.
Create a 3" x 5" marketing card. The marketing card will be a valuable lead-in to your chatbot that could be distributed physically or as a digital image. Think about what your elevator pitch would be for the game and make it visual.
❏ Deliverable A PNG image file of your marketing card.
Take this opportunity to wrap-up your trivia app the best you can in order to begin testing your chatbot in the next phase.
❏ Deliverable A slide set with a link to your prototype, a summary of evaluation results, a copy of your marketing card, and a link to your working chatbot. Prepare to demonstrate and present your background work.
After confirmation of the solution’s quality, launch and promote the work. Monitor the use of your solution and gather direct feedback from key stakeholders for minor improvements or document recommendations for further development. Now is the time to refine all the details, review the process your team used to develop your app, and plan how you will tell your story to others.
✓- Below Standard
✓ At Standard
✓+ Above Standard
The pseudocode is incomplete and doesn't clearly describe what each function will do.
The pseudocode clearly defines the basic operations of each chatbot function, providing a good template for coding the Javascript functions.
The pseudocode provides a detailed description of each function that thoughtfully considers the logic needed for the programming.
✓- Below Standard
✓ At Standard
✓+ Above Standard
The dialogue script is disorganized and leads to multiple errors or dead-ends for a user.
The dialogue script is well-formatted and demonstrates a clear path for the user.
The dialogue script demonstrates clear and concise paths for the user that properly handles ambiguous responses from the user and leads to a pleasant and valuable experience.
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
The outline is not complete and does provide a clear path for coding the chatbot. | The outline is clear and organized, following a logical progression that will aid in the development of the chatbot. | The outline is a detailed view that can be clearly used as a checklist of progress, keeping the team on track with stable chatbot code that can be refined in small steps. |
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
A marketing card is complete but is very basic and lacks cohesion with the overall team's project. | A marketing card conveying a consistent visual and narrative story about your chatbot that will clearly generate interest in your offering. | A marketing card with an exceptionally engaging and visual message to try the chatbot. |
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
The live chatbot is functioning, but the style and/or content has been developed very little from the base template provided. | The app demonstrates intentional design and styling consistent with the team's concept and goals. The app code, dialogue script, and features demonstrate a customized interaction that largely functions as desired. | The app is clearly a work of diligent and thoughtful work that goes beyond the base requirements for the project. |
The in-class demonstration and development review were presented but lack a cohesive explanation. | The demonstration and development review provided a coherent explanation of the background work completed and the functions and features of the demonstrated application. | The team demonstrated an exceptional development process due to the thorough prototyping and evaluation work. |
✓- Below Standard | ✓ At Standard | ✓+ Above Standard |
An evaluation is presented but doesn't communicate any added value to the team's development process. | An evaluation that produces valuable insights on improving and developing the team's concept. | An evaluation that is exhaustive and thoughtful in collecting as much useful information from participants while be respectful of their time. |
Task | Estimated Time |
Evaluation and Post Interview | 2 hours |
Chatbot Usage Analysis | 2 hours |
App Refinements | 3 hours |
Poster | 3 hours |
Prepare for Poster Review and Demonstration | 2 hours |
Public Presentation Plan and Practice | 2 hours |
Individual Reflection | 1 hour |
Present to Public | 1 hour |
Celebrate | 1 hour |
Conduct some basic code testing to verify that the app is acting as expected under different conditions. Ensure that everything works as expected on different size screens and with touch or mouse interactions.
Consider all the things a user might do with your chatbot--like common misspellings, sending an empty message, sending a seemingly random message, or maybe sending calls for help ("help", "reset", "what?", etc.)
Make a simple checklist of conditions you will test to verify that your chatbot works as expected and handles some unintended (but somewhat foreseeable) user responses. Then one by one test each condition while playing the part of a visitor that is new to your chatbot.
❏ Deliverable A document outlining the checklist and results of your code testing.
✓- Below Standard
✓ At Standard
✓+ Above Standard
The code testing documentation has been completed but lacks detail or an accurate evaluation of the code quality.
The code testing is complete, accurately represents the state of the application's development, and is useful in identifying needed improvements.
The code testing is very thorough and goes beyond the standard testing items provided in the example.
This is a time to develop a clear narrative to share about your team's work and enjoy sharing it with others in class.
❏ Deliverable Prepare a slide set with your poster and chatbot link. Demonstrate your chatbot to the class, share your poster design, and discuss the most recent findings and improvements made based on your evaluations and chatbot usage analysis.
This activity requires a backend to the chatbots that collects usage data. This feature is not available yet, but should be coming. Check back soon.
After making any improvements to your chatbot from the user evaluation in your previous exercise, share your chatbot link with classmates and others outside of class to generate some data on chat behaviors. Prepare summary data and charts on people's interactions with your chatbot and draw some conclusions about the quality of the interactions and any inferences that can be made about visitors' mental models. Look for any patterns indicating errors in your chatbot script or functions.
❏ Deliverable A document or slide that summarizes analysis in charts.
It is important to determine how you can get the most return (improvements in the chatbot) from the time you have remaining to work. So, based on your evaluation findings and chatbot usage analysis, determine a plan to implement improvements while frequently testing to ensure nothing is unintentionally broken. Similar to your code requirements document earlier, simply list items by priority, with high priority changes and low priority changes.
This would also be a good time to revisit your Feature Map if you created one earlier.
❏ Deliverable A document or slide listing improvements by priority.
Plan another evaluation to test your live chatbot using the think-aloud protocol with at least six people. While you did a basic functional test (code testing) earlier, this evaluation will help you determine if the chatbot is fully usable and engaging for people. Prepare a few prompts for participants to complete the main tasks your chatbot supports. For example, you could ask them, "How would you go about reviewing a glossary of terms in our Chemistry Bot to prepare for a quiz?". By observing the interaction and any comments from the participant you will gain insight. Be sure to record your findings promptly. Be sure to evaluate the conversation flow and the quality of the chatbot messages and feedback.
Follow up this evaluation with an informal post interview of participants to get feedback on the overall effectiveness of your solution in addressing your chosen health issue. You want to learn as much as you can while using people's time wisely and respectfully.
Thinking Aloud from Nielsen Norman Group.
❏ Deliverable A document or slide that summarizes the results of your user experience evaluation.
✓- Below Standard
✓ At Standard
✓+ Above Standard
The evaluation was completed but did demonstrate a clear effort to understand the user's experience while using the chatbot.
The evaluation and conclusions demonstrate an intentional process to improve the chatbot that led to some useful insights.
The evaluation was exceptionally detailed and the conclusions were insightful, leading to identified improvements that should make the user experience noticeably improved.
Your poster design is important for two reasons. One, it is an opportunity for your team to reflect on the project process and what you have learned, and two, it provides a great visual aid for explaining your work to visitors at the final event. Highlight at least six artifacts that demonstrate key work your team completed in the project process from beginning to end, and include a refined value statement that pulls it all together.
You can use this Google Drawing template which is set to 36 inches wide by 24 inches tall. Zoom in or out as needed to add text, images, etc. – but do not change the canvas size. (Be sure you're logged in to your Google Account. From the File menu, select Make a copy. Save the copied file to your shared team folder in Google Drive.)
If you use a different drawing/illustration tool, set the canvas size to 36 inches wide by 24 inches tall at 300 pixels per inch (10800 pixels wide by 7200 pixels tall).
If your teacher has specified a different size for the poster, use that instead.
❏ Deliverable A PDF file of poster (36" x 24").
✓- Below Standard
✓ At Standard
✓+ Above Standard
The poster has been created but it lacks a coherent explanation of what the team accomplished and the path they took in the project.
The poster includes fundamental artifacts of what the team accomplished along with appropriate explanations or annotations. The layout was coherent and helps the team tell the story of what they have done. The colors and fonts were chosen with an appropriate size and contrast for easy viewing.
The poster is exceptionally organized and offers a clear and concise overview of what the team accomplished. The style of the poster is very engaging and clearly reflects the the theme of the final product.
Take the time to review the project process. What went well? What didn't? What did you learn about collaboration? What did you learn about your interests in the practice of designing, coding, and data analysis? What did you learn about personal responsibility?
❏ Deliverable A document clearly conveying your project experience, learning, and future interests.
✓- Below Standard
✓ At Standard
✓+ Above Standard
An individual reflection was submitted but presented little depth and insight into personal progress through individual contributions or team collaboration activities.
The individual reflection demonstrates a thoughtful look back at the work completed and the subsequent knowledge and aspirations that developed.
The reflection provided a clear indication of personal growth, through the collaboration process and individual effort. Also a well-formulated perspective on future intentions was portrayed.
Plan and practice your team's approach to do the following.
Explain the function and value of your team's solution.
Summarize major points in your team's process with the project. Sharing the value of each activity leading up to the solution. (Be honest about what went well or didn't.)
Explain individual contributions and roles in the project, and a reflection of what you learned about collaborating on a team.
Share your individual perspective on potential careers and how they relate to computing, and include specific pathways you are investigating, like other courses, certification, college, or internships.
✓- Below Standard
✓ At Standard
✓+ Above Standard
The application was functional but lacked completeness in presentation or did not meet the criteria set out in the challenge.
The application demonstrated a solutions that was thoughtfully crafted and met all the initial criteria.
The application was clearly the result of exceptional work that provided a highly engaging experience.
✓- Below Standard
✓ At Standard
✓+ Above Standard
Information presented in a way that is not always clear, concise, and logical. The presentation style and selection of material is not fully appropriate for the context.
Information presented in a clear, concise, and logical manner. The selection of material and style is appropriate and effective.
Exceptionally curated information that is delivered in an interesting, coherent and memorable way.
Delivery: Eye contact, poise, and appropriate voice-level often lacking.
Vocal clarity, eye-contact, and physical composure maintained throughout.
An exceptionally engaging delivery of content lacking unnecessary distractions from the content.