Object Oriented Programming (OOP) is a programming paradigm based on the concept of "objects" that can contain data and code. The data is often implemented as attributes. Functions implement the associated code for the data and are usually referred to as methods in object-oriented jargon. In OOP, computer programs are designed by being made up of objects that interact with each other via their methods.
Vibe coding is an AI-enabled programming technique that was coined by Andrej Karpathy in 2025. It shifts the programmer’s task from manually typing code to providing natural language descriptions to large language models (LLMs) tuned for coding. To describe a programme adequately in natural language, this course introduces advanced programming methods and focuses on the core concepts of object-oriented programming and design using a high-level language such as Python.
Object-oriented programming represents the integration of software components into a large-scale software architecture for data analysis. AI-enabled software development represents the next logical step after learning to read and write coding fundamentals, allowing for the creation of larger data analysis programs. The course focuses on the understanding and practical mastery of object-oriented concepts such as classes, objects, data abstraction, methods, method overloading, inheritance and polymorphism to enable students to vibe code effectively. Practical applications from the domain of social data science will be examined.
- Instructor: Jascha Gruebel