Lecciones de programación · Java, C#, Python, JavaScript

Mira cómo funciona el código.

No solo lo que dice, sino lo que pasa: adónde va el valor, hacia dónde apunta la flecha, qué línea se ejecuta ahora. Lecciones cortas de tarjetas, con una escena 3D junto al código.

Empieza con

  • 33408 programas, ejecutados y comparados
  • 1028 escenas 3D
  • sin registro

Dos variables, un objeto

coffee apunta al mismo objeto, así que imprime 8.0.

Product coffee = new Product();
coffee.price = 10;
Product sale = coffee;
sale.price = 8;
System.out.println(coffee.price);  // 8.0
Los pasos con palabras
  1. new crea el objeto, y sus campos reciben valores iniciales. coffee recibe una flecha hacia él.
  2. Por la flecha de coffee: el precio del objeto pasa a ser 10.
  3. sale = coffee copia la flecha, no el objeto. Dos flechas, un objeto.
  4. Por la flecha de sale: el precio del mismo objeto pasa a ser 8.
  5. coffee apunta al mismo objeto, así que imprime 8.0.

Una idea, cuatro lenguajes

El concepto es uno. La sintaxis es distinta.

La misma clase en Java, C#, Python y JavaScript. Pulsa «Ejecutar» y sigue el programa línea por línea: qué línea se ejecuta, qué hay en el objeto, qué sale al final.

Dog.javaverificado

class Dog {
    private final String name;

    Dog(String name) { this.name = name; }

    String speak() { return name + ": ¡Guau!"; }

    public static void main(String[] args) {
        System.out.println(new Dog("Firulais").speak());
    }
}

Pulsa «Ejecutar»

Cómo se aprende

Una lección de tarjetas, una por una

En la pantalla hay una tarjeta. Primero un problema que conoces, luego la idea y la escena, luego tareas pequeñas para hacer con tus manos. Nada de muros de texto. Tu progreso se guarda en tu navegador.

Lección «Métodos», Java

  1. ProblemaUn cambio, tres lugares

    Empieza con algo que duele: el mismo código copiado en tres lugares.

  2. La ideaEscríbelo una vez, llámalo por su nombre

    La idea con palabras sencillas, y luego cómo se escribe exactamente.

  3. MíraloQué pasa en una llamada

    La escena 3D avanza junto con el código y muestra la memoria.

  4. Pruébalo¿En qué orden? ¿Qué falta?

    Ordena las líneas, completa lo que falta, encuentra el error.

  5. EjercicioEl recibo y el triángulo

    Un programa pequeño completo que escribes tú.

  6. TestPonte a prueba

    Una prueba corta. Una respuesta incorrecta te dice por qué lo es.

Prueba la lección: «Métodos»

Cursos

Todo el camino, módulo por módulo

Cada lección usa solo lo que ya has visto. Abre un módulo y empieza por su primera lección.

Código verificado

El código no se copia a ojo. Se ejecuta.

Cada programa de las lecciones y de las escenas se compila y se ejecuta en Docker sin red, y su salida se compara con la de la lección. Si algo se rompe, el sitio no se publica.

programas
33.40829784 ejecutados, 3592 con entrada, 32 solo compilados (WPF)
ejercicios «Encuentra el error»
3228el error está exactamente en la línea que señala el ejercicio
escenas 3D
1028cada paso señala una línea real de su código
problemas
0en la última verificación

Con las mismas versiones con las que vas a escribir

  • Java 21
  • .NET 10
  • Python 3.12
  • Node 22
  • Docker
  • sin red

Preguntas

Lo que más se pregunta

¿Necesito registrarme?

No. Todo se lee directamente. Tu progreso se guarda solo en tu navegador y en ningún otro lugar.

¿Tengo que saber algo antes?

No. El módulo «Bienvenida» dice qué es el lenguaje, dónde se usa y cómo preparar tu computadora. Cada lección siguiente usa solo lo que ya has visto.

¿Qué lenguaje elijo?

Los conceptos son los mismos, así que no hay una mala elección. Si estudias con un plan de estudios, toma su lenguaje. Si no: Python es el más fácil de leer y está en todas partes en datos y automatización, JavaScript corre en cualquier navegador y en el servidor, Java y C# muestran los tipos con más claridad. C# también tiene un módulo de aplicaciones web y de escritorio.

¿Son iguales las lecciones en los cuatro lenguajes?

Los temas, las escenas y los ejercicios son los mismos. Donde un lenguaje hace algo distinto, la lección muestra su forma: en Python y JavaScript las funciones no van dentro de una clase, los tipos no se escriben y en lugar de la sobrecarga hay valores por defecto.

¿En qué idiomas están las lecciones?

En búlgaro, inglés, alemán y español. El código también está traducido: los programas imprimen texto en el idioma de la lección y se verifican igual que los búlgaros.

Novedades

Últimos cambios

  1. Las lecciones también en inglés

    Cada lección, cada juego y el proyecto tienen ahora una versión en inglés, con el código incluido: los programas imprimen en inglés y pasan la misma verificación. Las escenas escriben sus rótulos en el idioma de la página.

  2. Python y JavaScript

    Las mismas lecciones, escenas, ejercicios y verificaciones, en Python y en JavaScript. Donde el lenguaje hace algo distinto (funciones sin clase, tipos sin declarar, sin sobrecarga), la lección muestra su propia forma.

  3. Lecciones más anchas, .NET 10 y un proyecto grande

    En un monitor grande la escena queda junto al código y la salida junto al programa. El código de C# se verifica con .NET 10. Seis ejercicios parecidos dejaron su lugar a un proyecto paso a paso: reservas de hotel.

  4. Lecciones hechas de tarjetas, con una escena 3D en cada una

    Las clases y los ejercicios pasaron a ser módulos de lecciones cortas: problema, idea, escena, tareas pequeñas, ejercicio y prueba. Una lección nunca usa algo que todavía no se ha mostrado. Se añadieron tres juegos.

  5. Los cursos de Java y C# ahora están aquí

    El material de java.gh.igergov.com y csharp.gh.igergov.com se trasladó aquí y se reescribió. Cada dirección antigua lleva a la lección donde fue a parar su contenido.

Sobre el sitio

De dónde viene wannacode

El sitio empezó como ayuda para los estudiantes de la Universidad Técnica de Sofía: clases y ejercicios de programación orientada a objetos con Java y C#.

Hoy está abierto para cualquiera que quiera crecer en la programación, en cuatro lenguajes: Java, C#, Python y JavaScript. Cursos aparte enseñan bases de datos y SQL y análisis de datos.

Creado por Ivo Gergov como parte de la campaña de Evo Tech por una educación accesible en programación.

La primera lección está a un clic.

Abre el curso, lee la idea, ejecuta el código. El sitio recordará hasta dónde llegaste.