1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# AI Assisted Programming
^25ee82
## What is it?
Artificial Intelligence (AI) has been around for a long time. However, not until recently did engineers make it easy and "fun" to work with. By now you probably have a pretty good idea of what AI can do. However, you may not have used an AI assistant before. As the name suggests, an AI assistant can help you develop code, speed up your writing with code suggestions and allows you to focus on solving the problem at hand rather. AI is a technology that is constantly improving. As engineers we need to *understand* how we can use AI as a tool to achieve our goals more efficiently. This section cover good practices of how we can implement AI and lists some AI assistant tools that we can use.
## Good vs. Bad uses of AI
Don't try to get AI to do work *for you* but *with you*. You need to understand what you're doing. If you don't understand what the AI is doing, then you're not in control of the work. You're not going to go far until something unexpected happens.
AI is a great learning tool, research as show that students can benefit from using AI as personal tutor [more](https://hbsp.harvard.edu/inspiring-minds/ai-as-personal-tutor).
## Language based vs Machine Learning
## Available tools
Below is a comprehensive list of tools that are available at not cost to you.
| Name | Features |
| -------------- | -------------------------------------------------- |
| GitHub Copilot | Paid, but free for students. Integrated in GitHub. |
| ChatGPT | Free, optional paid upgrade |
| Grok | Free, optional paid upgrade |
| Gemini | Free, optional paid upgrade |
| GPT4ALL | Free and Open-Source |
| Code GPT | Free and Open-Source |
| Cody | Free and Open-Source |
| DataLab AI | Free |
| Codeium | Free |
| aiXcoder | Free |
Many of the tools above come with similar, if not, the same features. Some of the tools come as chatbots on the web and others are extensions that can be implemented in your favorite IDE.
## VSCode and GitHub Copilot Integration
We will not cover how to use VSCode in this course, however it is a very versatile IDE that comes with many other extension, for example git, github and github copilot integration. There are also other extensions for other IDE's however we will only cover some basic features that the GithHub Copilot extension in VSCode can do.
Copilot Comes with the following features:
- Get code suggestions as you type
- Ask questions about the code
- Inline chat to generate code.
- Fix and debug code using the chat window
- Generate code documentation
[VSCode](https://code.visualstudio.com/)
[Copilot extension](https://code.visualstudio.com/docs/copilot/setup-simplified)
## A note on intellectual property
If you have a non-disclosure-agreement (NDA) with your employer, it may not always be possible to use AI for security and integrity reasons as you may risk exposing confidential information with third party vendors. It is highly recommended to be able to be able to write program independently of an AI assistant. Always think before you share data.
|