A. Pradhan, J. Henriques, S. Pan, R. Engineer
Background and Objective:
Large Language Model (LLM)-assisted development has changed quickly in recent years, significantly impacting traditional coding methods. One technique that has become popular is “vibe coding.” In a 2025 X post, Andrej Karpathy described vibe coding as follows: “There's a new kind of coding I call ‘vibe coding’, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. ... When I get error messages, I just copy paste them in with no comment; usually that fixes it. The code grows beyond my usual comprehension. I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug, so I just work around it or ask for random changes until it goes away.”
Since the introduction of vibe coding, it has become a common term in the tech industry, highlighting the capabilities of LLMs in software development. Despite its growing recognition as a coding workflow, we need to define what vibe coding means in the context of computer science education. The existing literature on LLMs in computing education focuses on the user’s expertise and the specific LLM tools used. As more students start using vibe coding in their programming workflows for computer science courses, we see an urgent need to clearly define, contextualize, and study the meaning of vibe coding. We aim to relate it to current literature in computer science education and examine how students interact with and build their knowledge using LLM tools to understand the dynamics of vibe coding.
Methods:
We conducted a systematic literature review (SLR) following the guidelines of Kitchenham and Charter (2007). The review started with a broad search to gather a wide range of papers published in computer science education using Semantic Scholar. Some examples of search queries included “NLP AI Tools In University Computing Education,” “AI LLM Educator Student Coding,” and “CS1 Copilot ChatGPT.” This preliminary search yielded 14,404 papers. We screened each paper by title and abstract to select those that reported on computer science in post-secondary education. This screening resulted in the rejection of 11,065 papers. The remaining 3,339 papers were then processed using inclusion and exclusion criteria, resulting in 261 accepted papers, an acceptance rate of 2%.
Findings and Implications:
Our results from the SLR highlight vibe coding as a credible programming method in computer science education. In our context, vibe coding relies on rapid experimentation and iterative refinement, similar to Karpathy's original definition. The literature suggests that vibe coding enhances coding productivity, reduces cognitive load during the initial development stage, and improves accessibility for novice learners. However, several concerns also emerged, including a reduced understanding of basic programming principles, over-reliance on LLM-generated solutions, and a decline in critical thinking and problem-solving skills in computer science courses.
Keywords: Vibe coding, computer science education, LLM, AI-pair programming.