\documentclass{article}

\usepackage{Paper}
\pdftitle{Matteo_Frongillo_EENG_Report_Github_Copilot}

% === TITLE ===
\title{\textbf{GitHub Copilot and the concept of vibe coding \\ English for Engineers, HS25}}
\author{Matteo Frongillo}
\date{}

% === TEXT ===
\begin{document}
\hypersetup{citecolor=black}
\maketitle
\linespread{1.2}\selectfont

% introduction (AI introduction, what it can do, what problems it solves)
Integrated Development Environments (IDEs) are software designed for developers,
enabling writing and coding in a highly efficient and optimized environment.
With the advent of AI technologies, IDEs have begun to include predictive
coding features so as to facilitate work and increase productivity.
Vibe coding refers to the practice of coding in a relaxed and creative manner,
relying on AI's automatic predictive code completion suggestions, consequently
eliminating the need for a structured approach before starting code.
This report explores the concept of vibe coding on Visual Studio Code, a
popular IDE developed by Microsoft that has, by default, GitHub Copilot as
its built-in coding assistant, based on various AI models \parencite{vscode-overview}.
\vspace*{.25cm}

Studying university subjects efficiently requires optimal time management
and a well-structured distribution of workload. This can be achieved by
paraphrasing and summarizing study material. As an advanced user of
Visual Studio Code, taking notes in LaTeX, which is a typesetting system
commonly used for technical and scientific documents \parencite{latex},
saves me both time and effort compared to the traditional study with pen and paper.
GitHub Copilot comes into play here, facilitating the note-taking process by
analyzing and interpreting the LaTeX source, thereby effectively predicting the
next words that are most likely to be written.
\vspace*{.25cm}

% potential applications
Vibe coding has the potential to completely revolutionize the world of IT and
coding in general. By exploiting AI suggestions, developers can focus more on
the creative aspects of coding, resulting in a smoother and more intuitive
workflow. GitHub Copilot, in particular, has proven to be an effective and
intuitive tool for programmers, as the accuracy of its suggestions and ability
to understand context improve the quality of work \parencite{vscode-inline}.
In order to demonstrate Copilot's quality, I will let it suggest the final
lines of this paragraph for me:\\
\textit{These capabilities make Copilot suitable for a wide range of applications,
from educational tools that provide interactive coding hints and feedback, to
rapid prototyping and scaffolding of boilerplate code, automated documentation
and test generation, and enhanced accessibility for developers with
disabilities. When integrated into team workflows, AI suggestions can speed up
code reviews, refactoring, and debugging.}
\vspace*{.25cm}

% challenges
Despite the numerous advantages of vibe coding with GitHub Copilot, one of
the main problems associated with the vibe coding is over-reliance on
AI generated suggestions. By handing over all the work to the code assistant,
developers lose the ability to resolve potential issues due to a partial
understanding of the code the person is working on. Nevertheless AI is
extremely useful as a writing completion assistant, when it comes to studying
or working, it is essential to keep a critical eye on the suggestions provided
by the AI and actively work on the code rather than passively accepting AI
suggestions.
\vspace*{.25cm}

% comparison/contrasts
GitHub Copilot offers the option to choose which AI model to rely on for
predictive coding. Among the wide selection, OpenAI's ChatGPT models are the
most commonly used for text prediction, as they are known for their
excellent natural language capabilities and task understanding, whilst
Antropic's Claude models are known for their outstanding coding performance
\parencite{github-models}.
\vspace*{.25cm}

\newpage
\thispagestyle{plain}
% future prospects
Advances in AI technology and therefore in vibe coding suggest a future where
programmers and AI will work closely together, as it will become increasingly
common to find AI assistants integrated into IDEs or browsers. Specifically
for GitHub Copilot, new AI models will be added to the selection and the
existing features will be optimized in order to maximize efficiency and
collaboration between programmers and AI \parencite{github-discussion}.
\vspace*{.25cm}

% recommendations
Both coherence and critical thinking should always be prioritized while vibe
coding. Although GitHub Copilot improves productivity and workflow, it is
essential to pay attention to potential discrepancies in the suggestions
provided by AI \parencite{github-guide}. Programmers are therefore advisable
to always evaluate the accuracy of suggestions, as over-reliance could
potentially lead to an actual decline in performance and the possibility of
what is known as "AI Slop", or "Workslop", that is, papers or content generated
by AI that, while appearing professional, are in fact frivolous and useless
\parencite{NiederhofferEtAl2025}.
\vspace*{.25cm}

% conclusion
In conclusion, vibe coding is a powerful approach to programming that can
increase productivity and creativity by benefiting from AI predictions.
By selecting the best AI model for the task at hand, the efficiency of a tool
such as GitHub Copilot increases dramatically, only if code suggestions are
carefully analyzed so as to limit potential future issues, such as
misunderstanding of the code or an "AI Slop" result.

\vfill
\section*{Declarations on the use of AI tools}
\begin{itemize}
    \item ``GitHub Copilot'' has been used to generate words suggestions.\\
        \url{https://github.com/features/copilot}
    \item ``DeepL'' has been used as a translator.\\
        \url{https://www.deepl.com}
\end{itemize}

\setlength{\bibitemsep}{1.2\baselineskip}
\printbibliography[title={References}]

\end{document}
