From 4abc43cdcb7fba399d5377481dd88e54b2db8cb6 Mon Sep 17 00:00:00 2001 From: Christian Kolset Date: Thu, 24 Apr 2025 15:31:56 -0600 Subject: Added tex file structure for each module --- book/module2/ai_assisted_programming.tex | 65 ++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 book/module2/ai_assisted_programming.tex (limited to 'book/module2/ai_assisted_programming.tex') 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. -- cgit v1.2.3