-
-
Notifications
You must be signed in to change notification settings - Fork 131
Itd AI guidance #1950
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Itd AI guidance #1950
Changes from 7 commits
52cd1cc
6e57f85
c018bf6
faca4bb
fbc53ad
6e5bf57
620670a
ea405d6
5d39aa6
064e983
faa77c2
42bbb8d
3f4c9eb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,74 +1,114 @@ | ||||||
| +++ | ||||||
| title ="Step 3: What to do" | ||||||
| description= "Learn how to use AI appropriately" | ||||||
| description= "Learn what is acceptable AI use within the ITD." | ||||||
| time= 90 | ||||||
| [build] | ||||||
| render = 'never' | ||||||
| list = 'local' | ||||||
| publishResources = false | ||||||
| +++ | ||||||
|
|
||||||
| You may have heard of, or used, generative AI tools (shortened to AI or AI tools from now on) like ChatGPT, Copilot or Gemini. These are powerful tools that we have seen both disrupt and assist the learning of trainees at {{<our-name>}}. This page aims to guide you in best practices for AI use in the ITD. | ||||||
|
|
||||||
| ### Overview | ||||||
| To read the full AI guidelines for training at {{<our-name >}}, please access the [AI Use Guidelines for Trainees](/ai-use-guidelines). | ||||||
|
|
||||||
| You may have heard of or used generative AI tools like ChatGPT, Copilot or Gemmi (shortened to AI or AI tools from now on). These are powerful tools that can enable your learning journey with CodeYourFuture (CYF). | ||||||
| ### AI: A predictive word-generator | ||||||
|
|
||||||
| These AI tools are not really intelligent. They are just very very good at guessing what words should come next in a sentence. They don't understand the real world at all. They're just good at pretending they do. This means they can make silly mistakes and make up things that don’t exist (hallucinations). For instance, up until fairly recently, many AI tools said there were two 'r's in the word strawberry. Most mistakes are not as funny or as obvious. For instance it is common for AI to make up names of code packages which don't exist. Malicious packages even get created with names often generated by AI to exploit this. | ||||||
| AI assistants, like those mentioned above, are often large language models (LLMs). LLMs are "trained" on huge amounts of data to predict what word should come next in a sentence. Because they can read and generate text data, it feels like you're messaging a smart "person", but it is just software that has an algorithm for guessing what words should follow your input ({{<tooltip title="prompt">}} The input we give an AI assistant. {{</tooltip>}}). | ||||||
|
|
||||||
| This means that all output from AI is potentially untrustworthy. It's especially hard to tell if AI code output is any good as a junior developer. You just haven't built the understanding of what good code looks like yet - that comes with experience. | ||||||
| Because AI tools "guess" the text to generate, they can make mistakes or make up things that don’t exist (hallucinations). For instance, a famous hallucination from 2024 was that many AI tools said there were two 'r's in the word strawberry. | ||||||
|
|
||||||
| Despite all these downsides and risks, AI can be an amazing tool. The great majority of our teachers are volunteers, so their availability is limited. AI means that you now have a teacher at your fingertips whenever you get stuck. However, good teachers try to help you to understand and find the answers yourself. AI tools do not do this by default - they tend to simply give you the answer. This can make you think you’re progressing and understanding when you’re not. So, you need to use it correctly. You need to be careful to ask it to help you to learn the concepts, not to solve the problems. For instance it would be inappropriate to get it to do CYF coursework for you but it would be appropriate to get it to help you to understand a concept you're struggling with. | ||||||
| AI hallucinations can be costly to a programmer. For instance, it has been reported that AI can make up names of code packages which don't exist, and direct a programmer to use the package in their code. This comes with a security risk: malicious packages can get created with names often generated by AI to exploit their "predictions" and get coders to import viruses into their code. | ||||||
|
|
||||||
| Success at CYF is not about using AI to rush through the course and tick all the boxes. It's about building a deep understanding of the concepts we teach for yourself. Using AI to do the work for you wastes everyone’s time. You will end the course without the coding skills you wanted (which means you won't get a job) and our volunteers will have wasted their time marking AI work. | ||||||
| This means that all output from AI is potentially untrustworthy, we should keep a critical eye on the output of AI tools. | ||||||
|
|
||||||
| ### Why do we need to be careful as ITD trainees? | ||||||
|
|
||||||
| At {{<our-name>}}, we prioritise building understanding so trainees can be employable in the tech industry. Employability in software engineering involves knowing how to debug broken code, find information you might not already know, and break down problems to find a solution. {{<our-name>}} mentors during the ITD and beyond will try to help you without giving away the answers or writing the code for you so you learn how to overcome hurdles yourself and apply that skill in the workplace when mentors aren't around. | ||||||
|
|
||||||
| **Why does it matter how we learn at {{<our-name>}}? What does it have to do with AI?** | ||||||
|
|
||||||
| Well, it can be easy for AI tools to do the hard work for us, e.g. solving the problem, fixing errors, and writing emails for us. But by making sure we do that work ourselves, we build the skills that will help us in our careers. When AI does the work for us, we may think we're progressing when we're actually not building skills that will make us employable. | ||||||
|
Poonam-raj marked this conversation as resolved.
Outdated
|
||||||
|
|
||||||
| AI can make mistakes when it's guessing what output to return to the user, but it can also be led to give incorrect information when a prompt isn't accurate. Which means we need to ask good questions (or prompts). As ITD learners, we are early in the {{<our-name>}} journey, so we are still building our foundational knowledge, which means it is more likely we will ask AI inaccurate questions and AI will give misleading results. It's something to be aware of and cautious about - the accuracy of the questions we ask is important. | ||||||
|
|
||||||
| For now, remember to question and verify what AI tools give us back. If we can't explain it, or verify the information with our own fact-finding, we shouldn't use it. | ||||||
|
|
||||||
| ### What's acceptable AI use in ITD | ||||||
|
|
||||||
| Generally, AI might be a good tool for: | ||||||
|
|
||||||
| - Explaining tech concepts in plain language | ||||||
| - Answering "what does this mean?" questions | ||||||
| - Getting a starting point for research | ||||||
|
|
||||||
| You need to exercise CAUTION and avoid the following situations: | ||||||
|
|
||||||
| - Letting AI write your CV | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
And let's explain why this is bad - that it will generate generic CVs which don't sell you, which aren't personal, that use filler words, that make things up about your background, etc. Maybe we could even include side-by-side a bad AI generated CV and a good personally written CV, and give trainees a prompt for some criteria to use to compare them, and have them submit their comparison? (On average our ITD trainees don't know what a good CV looks like, so I think we would need to give them criteria to evaluate from)
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thought dump after two weeks of chewing on how to make AI CV creation make sense Rn the learning objectives are going in the direction of:
Point 2 is where CV comparison could come into play. Issues I'm running into atm:
Workaround: I am delegating upskilling trainees in what a good CV looks like by pointing to the guide and evaluator tool. It feels like a lot to explain in the prep.
Workaround: I can try to make the profile someone who has warehouse/taxi/shop assistant experience and go for a more customer service/intern/office role. But again hard to tell if people will have enough understanding of the skills to spot the hallucination. If the core q is "why do I bother writing a CV myself" we can drill in these advantages:
And an alternative good use of AI might be finding out more about what a good structure of a CV would be for a uk-based SE, and a bad use would be "write a CV for me" (and why these are good and bad). I'm still chewing on this but needed to put a bookmark in where I'm at with this |
||||||
| - Copying AI explanations without checking your understanding | ||||||
| - Just accepting the AI answer without exploring further | ||||||
|
|
||||||
| #### How to check if you're using AI right | ||||||
|
|
||||||
| Ask yourself: **Will you need to ask AI this question again the next time you face this task?** | ||||||
|
|
||||||
| If the answer is: | ||||||
|
|
||||||
| - No - you've learned the skill and can demonstrate it without AI. | ||||||
| - Yes - you didn't understand and have to ask again, try to recap this question with less AI assistance. | ||||||
| - Depends - did you learn the research skill to help you find answers in the future without AI help? | ||||||
|
|
||||||
| #### Questions | ||||||
|
|
||||||
| ##### Question One | ||||||
| A CYF student is assigned coursework on a CYF course. The assignment is to build a homepage for a library which displays their twenty newest books. It requires that they use CSS Grid (a CSS feature used to display HTML elements in a grid format). They think that ChatGPT could help them complete this task. | ||||||
|
|
||||||
| Which of the prompts below is an appropriate use of AI? | ||||||
| A {{<our-name>}} trainee is assigned coursework on a {{<our-name>}} course. The assignment is to build a homepage for a library that displays its twenty newest books. It requires that they use CSS Grid (a CSS feature used to display HTML elements in a grid format). They think that ChatGPT could help them complete this task. | ||||||
|
|
||||||
| Which of the prompts below is an appropriate use of AI by the trainee? | ||||||
|
|
||||||
| 1. Generate a webpage to display information about books in a grid format. | ||||||
| 2. Use CSS Grid to build a webpage to display twenty digital books | ||||||
| 3. Build a homepage for a library website | ||||||
| 2. Use CSS Grid to build a webpage to display twenty digital books. | ||||||
| 3. Build a homepage for a library website. | ||||||
| 4. I want to learn more about CSS Grid. Please explain the core concepts simply with examples. | ||||||
|
|
||||||
| ##### Question Two | ||||||
| A CYF student asks an AI tool to help them understand a complex CSS topic. The information the AI gives doesn't sound right. | ||||||
|
|
||||||
| Which of the below might be appropriate responses? | ||||||
| A {{<our-name>}} trainee asks an AI tool to help them understand a complex CSS topic. The information the AI gives doesn't sound right. | ||||||
|
|
||||||
| Which of the below might be appropriate reactions from the trainee? | ||||||
|
|
||||||
| 1. Googling the topic and look for reliable sources to clarify the point. | ||||||
| 1. Googling the topic and looking for reliable sources to clarify the point. | ||||||
| 2. Trying to persuade the AI to check again. | ||||||
| 3. Accepting this as the truth because the AI seemed to know what it was talking about. | ||||||
| 4. Asking a volunteer whether the AI is right. | ||||||
| 5. Asking another AI tool. | ||||||
|
|
||||||
| ##### Question Three | ||||||
| A CYF student balances fulltime work and family responsibilities with studying at CYF. They are struggling to keep up with the course. In particular, they are struggling to understand some fundamental concepts. | ||||||
|
|
||||||
| Which of the below are NOT appropriate responses? | ||||||
| A {{<our-name>}} trainee balances full-time work and family responsibilities with studying at {{<our-name>}}. They are struggling to keep up with the course. In particular, they are struggling to understand some fundamental concepts. | ||||||
|
|
||||||
| 1. Asking volunteers for guidance at a session | ||||||
| 2. Giving an AI tool their assigned problems and ask it to solve them for them. They then copy and paste the output, making no edits. | ||||||
| Which of the below are NOT appropriate actions by the trainee? | ||||||
|
|
||||||
| 1. Asking volunteers for guidance at a session. | ||||||
| 2. Giving an AI tool their assigned problems and asking it to solve them for them. They then copy and paste the output, making no edits. | ||||||
| 3. Asking an AI tool to explain the concepts they find difficult to understand. | ||||||
| 4. Attempting to solve the problems, then giving up asking an AI tool to fix their code. Then copying and pasting the answer without understanding the changes it made. | ||||||
| 4. Attempting to solve the problems, then giving up and asking an AI tool to fix their code. Then copying and pasting the answer without understanding the changes it made. | ||||||
| 5. Using Google to find articles on the topics they are struggling with. | ||||||
| 6. Copying another student’s answers. | ||||||
| 7. Sending a direct message to a active volunteer | ||||||
| 8. Giving an AI tool their assigned problems and ask it to solve them for them. They then copy and paste the output, making small edits. | ||||||
| 6. Copying another trainee’s answers. | ||||||
| 7. Sending a direct message to an active volunteer. | ||||||
|
|
||||||
| ### What Should You Do? | ||||||
|
|
||||||
| #### 1. Create a Google Doc | ||||||
|
|
||||||
| 1. Create a Google Doc | ||||||
| 2. Place your answers for each of the questions above into the doc | ||||||
| 3. Add one to three sentences explaining why you chose the answers you did | ||||||
|
|
||||||
| > [!NOTE] | ||||||
| > If you are new to Google Docs, you may find this [guide on what Google Docs is and how to use it](https://support.google.com/docs/answer/7068618?hl=en-GB&co=GENIE.Platform%3DDesktop) useful. | ||||||
|
|
||||||
| #### 2. Put your name in the document name | ||||||
| #### 2. Put your name in the document name | ||||||
|
|
||||||
| Include your given name or your family name in the title of the Google Doc. | ||||||
|
|
||||||
|
|
@@ -86,4 +126,4 @@ Change the sharing settings of your Google Doc to "Anyone with the link can view | |||||
|
|
||||||
| #### 4. Submit the Google Doc link | ||||||
|
|
||||||
| Submit the link to the Google Doc in Step 3 on the [CYF Course Platform](https://application-process.codeyourfuture.io/). | ||||||
| Submit the link to the Google Doc in Step 3 on the [CYF Course Platform](https://application-process.codeyourfuture.io/). | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd be tempted to split this into two sub-sections:
I think the "we need to question and verify and explain" could do with being split into those two sections too: