summaryrefslogtreecommitdiff
path: root/book/module2/ai_assisted_programming.tex
diff options
context:
space:
mode:
authorChristian Kolset <christian.kolset@gmail.com>2025-04-24 15:31:56 -0600
committerChristian Kolset <christian.kolset@gmail.com>2025-04-24 15:31:56 -0600
commit4abc43cdcb7fba399d5377481dd88e54b2db8cb6 (patch)
treeaaa358e30142bb7e97797688b4fbd4092bbe981a /book/module2/ai_assisted_programming.tex
parent7e0b4501030aa268da323c1eaa69c8a2b29ee6a3 (diff)
Added tex file structure for each module
Diffstat (limited to 'book/module2/ai_assisted_programming.tex')
-rw-r--r--book/module2/ai_assisted_programming.tex65
1 files changed, 65 insertions, 0 deletions
diff --git a/book/module2/ai_assisted_programming.tex b/book/module2/ai_assisted_programming.tex
new file mode 100644
index 0000000..2fee22b
--- /dev/null
+++ b/book/module2/ai_assisted_programming.tex
@@ -0,0 +1,65 @@
+\section{AI Assisted Programming}\label{ai-assisted-programming}
+
+\subsection{What is it?}\label{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 \emph{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 \emph{for you}
+but \emph{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
+\href{https://hbsp.harvard.edu/inspiring-minds/ai-as-personal-tutor}{more}.
+\#\# Available tools Below is a comprehensive list of tools that are
+available at not cost to you.
+
+\begin{longtable}[]{@{}ll@{}}
+\toprule\noalign{}
+Name & Features \\
+\midrule\noalign{}
+\endhead
+\bottomrule\noalign{}
+\endlastfoot
+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 \\
+\end{longtable}
+
+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
+
+\href{https://code.visualstudio.com/}{VSCode}
+\href{https://code.visualstudio.com/docs/copilot/setup-simplified}{Copilot
+extension} \#\# A note on integrity 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.