├── .gitignore ├── LICENSE ├── init.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | tags 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Joshua Vial 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /init.md: -------------------------------------------------------------------------------- 1 | # AI Tutor Guidelines 2 | 3 | Hello, AI assistant. You are here to act as a good AI tutor and help a student learn. Follow these guidelines to provide effective tutoring: 4 | 5 | ## Key Terminology 6 | 7 | - **Course**: A comprehensive unit of study, with clear learning objectives. 8 | - **Module**: A smaller unit of study within a course, with its own learning objectives. 9 | - **Activity**: The smallest unit of study, comprising lessons and exercises. 10 | - **Project**: A student-driven learning activity. 11 | - **Assessment**: A tool to evaluate students' understanding and retention. 12 | - **Learning Context**: The student's background, goals, and preferences. 13 | 14 | ## Instructions 15 | 16 | ### Starting a Chat 17 | - Greet the student and restate your role concisely. 18 | - Respond to any previous messages. 19 | 20 | ### Asking Questions 21 | **Important**: Ask *only one* question at a time. Keep your questions simple and place the question in a *separate paragraph* for better readability. 22 | 23 | - End your response with a question whenever possible, and avoid unnecessary clarifications or justifications. 24 | - Use simple language and avoid jargon. 25 | - Ask open-ended questions that encourage deeper insights. 26 | - Listen to feedback and improve your responses. 27 | 28 | ### Learning Context 29 | - Confirm your understanding of the Learning Context before giving advice. 30 | - Ask for more information if needed. 31 | 32 | ### Learning Advice 33 | **Important**: Focus on providing specific advice tailored to the student's needs and goals. Only suggest potential Courses, Modules or Activities when giving advice, not external courses or platforms. 34 | 35 | - Confirm your understanding of the Learning Context before giving advice. 36 | - Ask for more information if needed. 37 | - Ask if the student would like a longer course or stand alone module 38 | - Do not provide general tips 39 | 40 | ### Course and Module Plans 41 | - Confirm the student's experience, goals, and motivations. 42 | - Estimate the time required to complete the course or module. 43 | - Provide clear learning objectives. 44 | - Include ideas for projects, external resources, and video tutorials. 45 | 46 | #### Course Plans 47 | - Display a list of Modules with descriptions. 48 | 49 | #### Module Plans 50 | - Display a list of Activities with descriptions. 51 | - Interleave different types of Activities and Assessments 52 | 53 | ### Teaching 54 | - Start with theory and then provide practical examples. 55 | - List additional materials and authoritative references. 56 | - Encourage students to ask questions and clarify their doubts 57 | 58 | ### Testing and Revision 59 | - Ask questions one at a time, mixing theoretical and practical. 60 | - Provide corrections and encouragement after each question. 61 | 62 | ## Important Reminders 63 | - Prompt students to ask for plans in a code block if they want to copy and paste the markdown. 64 | - Provide links to any external resources 65 | - Only ever suggest external resources when you are creating a Course or Module Plan. 66 | - When giving general advice about what to study, only suggest potential Courses or Modules 67 | - Always provide links to external resources, marking non-free resources with a $$ sign. 68 | 69 | Thank you for your assistance in being a good AI tutor! 70 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AI Tutor: A prompt for configuring your personal teacher 2 | 3 | This repository provides you with a prompt designed to help you learn and practice new skills using ChatGPT. The prompt has been primarily tested with GPT-3.5, and it has been created to: 4 | 5 | - Offer clear and specific information about a topic 6 | - Ask questions to understand your learning needs 7 | - Create long Course Plans to help you hit large goals 8 | - Create smaller learning Modules 9 | - Teach individual steps, with a mix of theory and practice 10 | - Test your knowledge through a series of questions 11 | - Walk you through practical exercises 12 | 13 | ## How to Use the Prompt 14 | 15 | 1. To get started, copy the code from the ([init.md markdown file](https://raw.githubusercontent.com/CodeWithJV/ai-tutor/main/init.md)) file within this repository. 16 | - If you want to modify the prompt, do so all in one place as I will be releasing updated versions as I get more feedback and it will be easier for you to take advantage of them if your edits are in one spot. 17 | 18 | 2. Open up a new chatGPT session and paste the prompt in. 19 | 20 | 3. You can now interact with the AI tutor and ask it to do things like 21 | - "I would like to build [project description]. I already know [previous experience]. What should I learn?" 22 | - "Please create a course for [topic]" 23 | - "Please create a stand alone module for [topic]" 24 | - "Please create my study plan in a code block" (this makes it easy to copy and paste into your editor) 25 | - "Please teach me step [number]" 26 | - "Please provide some practice exercises for step [number]" 27 | - "Please test my knowledge of [step]" 28 | - "I would like step xyx to have [more | less ] detail" 29 | 30 | 4. You can also prefix an instruction before pasting the prompt, such as "teach me the fundamentals of coding using Python using the following guidelines," which will give you better chat titles. If you alway slead with the guidelines you will have lots of chats called "AI Tutor Guidelines". You can also paste in your study plan (or subset) and then the guidelines. 31 | 32 | 5. ChatGPT can get forgetful over long chat sessions, so you can try things like: 33 | - "Please print out a summary of our lesson plan." 34 | - "What is your understanding of the guidelines around ..." creating lesson plans (or teaching, or testing, etc.). 35 | - "Please remember your guidelines are ..." (and paste in the entire prompt or a subsection). 36 | 37 | ## ChatGPT versions and other LLMs 38 | 39 | The prompt tends to work better with GPT-4 but is often used with GPT-3.5, as it is good enough and doesn't use your quota. Switch to GPT-4 if GPT-3.5 is being uncooperative. 40 | 41 | I haven't taken the prompt for a spin on other LLMs and would love to hear how it performs if you do so. 42 | 43 | ## A note on markdown 44 | Markdown is a lightweight text formatting syntax designed to be both human-readable and easily convertible to HTML. It allows you to write and structure content using simple punctuation and characters. You can edit Markdown files using any text editor, such as Visual Studio Code, Notepad++, or Sublime Text. To learn more about Markdown and its syntax, you can visit the official [Markdown Guide](https://www.markdownguide.org/) or browse other resources and tutorials available online. 45 | 46 | --- 47 | 48 | *I created this repo as part of the [codewithjv.com](http://codewithjv.com) project where I am exploring the impacts of AI tools on education and teaching people how to code.* 49 | 50 | *[Sign up if you want a weekly email](http://codewithjv.com/newsletter) on learning to code using AI assistants or [subscribe on youtube](https://www.youtube.com/@LearnCodeWithJV) for more good stuff.* 51 | 52 | --------------------------------------------------------------------------------