Welcome to the Print-Estoy-Cansado-Jefe documentation site — the companion guide to the third-semester university programming course repository of the same name. This course takes students through the fundamentals of Object-Oriented Programming (OOP) in three languages simultaneously: Java, Python, and JavaScript. Rather than studying OOP in isolation, each language section reinforces the same core ideas — classes, inheritance, polymorphism, encapsulation, and abstraction — from a different angle, giving students a well-rounded understanding of how these concepts appear in the real world across different ecosystems. The course also extends beyond pure OOP, touching on practical areas like database access with PostgreSQL, file I/O, error and exception handling, design patterns (DAO), logging, connection pooling, and even browser-based interactive games. By the end, students are comfortable reading and writing code in all three languages and can recognize shared patterns regardless of syntax.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/HotCode2025/Print-Estoy-Cansado-Jefe-TercerSemestre/llms.txt
Use this file to discover all available pages before exploring further.
The Team
This repository is a collaborative effort by 10 student contributors:- Albornoz Gian Franco
- Arreceygor Fabio
- Bruna Roy
- Cisterna Abril
- Fernández Franco
- Fernández Valentín
- Platero Martin
- Ponzina Lautaro
- Nicolás Veloz
- Sat Emir
Languages and Why They Were Chosen
The three languages in this course were selected deliberately to highlight both the universality of OOP principles and the real-world diversity of their application:- Java — A statically-typed, class-based language that makes OOP explicit and structured. Java’s strict type system and verbose syntax make inheritance hierarchies, abstract classes, interfaces, and access modifiers highly visible, making it an ideal first language for understanding OOP formally.
-
Python — A dynamically-typed language that proves OOP is a mindset, not just a syntax. The Python section pairs OOP concepts with practical backend skills: file I/O, exception handling, and direct database access via
psycopg2, the DAO pattern, logging, and connection pooling with PostgreSQL. - JavaScript — A prototype-based, multi-paradigm language that runs in the browser and in Node.js environments. The JavaScript section bridges OOP theory with interactive application development, covering arrow functions, callbacks, timers, and culminating in fully functional browser games and UI projects.
Explore the Course Sections
Java: Inheritance & Classes
Start with the Java OOP fundamentals — parent and child classes, access modifiers, enums, varargs, overriding, and more across 10 lecture classes.
Python: Exception Handling
Dive into Python’s approach to exceptions — try/except blocks, custom exception classes, else and finally clauses, and robust error management patterns.
JavaScript: OOP & Prototypes
Explore OOP in JavaScript through classes, strict mode, polymorphism,
instanceof, and real-world game projects built with browser APIs.Database Access: psycopg2 Basics
Learn to connect Python applications to PostgreSQL using
psycopg2, execute queries, manage transactions, implement the DAO pattern, and use connection pooling.Learning Progression
The course is designed so that each section builds on the previous one. Here is the recommended reading and study order:Java OOP Foundations (Classes 1–5)
Begin with Java Classes 1 through 5. You will build a mental model of OOP by creating class hierarchies from scratch — starting with parent/child relationships (Class 1), then adding enums and varargs (Class 2), mastering access modifiers (Class 3), exploring overriding and polymorphism (Class 4), and understanding casting, the
Object class, and abstract classes (Class 5).Java Interfaces, JavaBeans, and Exceptions (Classes 7–9)
Continue with Java Classes 7 through 9, where you will work with interfaces (Class 7), JavaBeans conventions and Java’s exception handling system (Class 8), and a console application that applies all these skills (Class 9) — concepts that directly parallel what you will see in Python.
Python Exceptions and File I/O (Classes 1–3)
Transition to Python. The first three Python lesson sets reinforce exception handling — now in a dynamically-typed context — and introduce file reading and writing. Spotting the parallels with Java’s try/catch will deepen your understanding of both.
Python Database Access and DAO Pattern (Classes 4–8)
Move into database-connected Python applications. You will use
psycopg2 to communicate with PostgreSQL, write queries, handle transactions, and structure your code using the Data Access Object (DAO) pattern. UML diagrams (.uxf files) accompany these lessons.Python Logging and Connection Pooling (Classes 7–9)
Round out the Python section with logging best practices and connection pool management — skills critical for production-ready applications.
JavaScript OOP and Projects (Classes 1–6 + Game Area)
Finally, apply everything you know to JavaScript. The lesson classes cover OOP in JS, strict mode, arrow functions, callbacks, and timers. The Games Area (
Area Juegos - Clase 1) is where theory meets practice: N-Queens, Towers of Hanoi, Rock-Paper-Scissors, Knight’s Tour, and an avatar browser game. The live clock project lives in Class 6, and a login form UI is found in the Practica JS folder.