PopularRecorrido
Aprende C#
Un curso de C# online, gratis e interactivo. Escribes C# en cada lección — sintaxis, clases, herencia, interfaces, LINQ — con ejemplos reales de código C#, pistas de IA cuando te trabes y un certificado de finalización gratis al terminar.
108,642+ codders inscritos
- Apto para principiantes
Ayuda de codificación con IA
Lecciones interactivas prácticas
Narración de audio en cada lección
Cuestionarios para poner a prueba tu conocimiento
Certificado gratuito de finalización
Programa
Sección 1
Fundamentos
Empezar secciónEmpezarExpandirContraerConstruye una base sólida con conceptos esenciales y habilidades básicasIntroducción
4 lecciones323- 01C#Reto
- 02¡Hola, mundo!RetoQuiz
- 03ComentariosQuiz
- 04Estructura básica de un programaRetoQuiz
Variables Parte 1
5 lecciones539- 01NúmerosRetoQuiz
- 02CharRetoQuiz
- 03StringRetoQuiz
- 04BooleanRetoQuiz
- 05Declaración de tiposRetoQuiz
Variables Parte 2
5 lecciones431- 01VarRetoQuiz
- 02ConstantesRetoQuiz
- 03Convenciones de NomenclaturaQuiz
- 04Resumen - Inicializar VariablesReto
- 05Conversión de TiposRetoQuiz
Operadores Parte 1
5 lecciones438- 01Operadores aritméticosRetoQuiz
- 02Operador de móduloRetoQuiz
- 03Incremento/DecrementoRetoQuiz
- 04Post-incremento/decrementoQuiz
- 05Atajos aritméticosRetoQuiz
Operadores Parte 2
5 lecciones531- 01Operadores de comparaciónRetoQuiz
- 02Operadores lógicos Parte 1RetoQuiz
- 03Operadores lógicos Parte 2RetoQuiz
- 04Repaso - Lógica simpleReto
- 05Operadores lógicos Parte 3RetoQuiz
Toma de decisiones
6 lecciones638- 01Sentencia IfRetoQuiz
- 02If - ElseRetoQuiz
- 03Sentencia SwitchRetoQuiz
- 04Operador ternarioRetoQuiz
- 05Resumen - If ElseReto
- 06If - Else anidadosRetoQuiz
Entrada y Salida Básica
6 lecciones633- 01Salida BásicaRetoQuiz
- 02Interpolación de CadenasRetoQuiz
- 03Lectura de EntradaRetoQuiz
- 04ParseoRetoQuiz
- 05Resumen - Hasta 120Reto
- 06Resumen - Verdadero o FalsoReto
Aplicación de calculadora
Proyecto4 lecciones1- 01Mensaje de bienvenidaReto
- 02Obtener númerosProyecto
- 03Operaciones básicasProyecto
- 04Salida con formatoProyecto
Bucles
8 lecciones752- 01Bucle ForRetoQuiz
- 02Bucle WhileRetoQuiz
- 03Bucle Do WhileRetoQuiz
- 04BreakRetoQuiz
- 05ContinueRetoQuiz
- 06Bucle anidadoRetoQuiz
- 07Bucle infinitoQuiz
- 08Repaso - Entrada dinámicaReto
Métodos (Funciones)
6 lecciones641- 01Declaración de métodosRetoQuiz
- 02Parámetros de métodosRetoQuiz
- 03Tipos de retornoRetoQuiz
- 04Parámetros opcionalesRetoQuiz
- 05Resumen - Función de validaciónReto
- 06Métodos voidRetoQuiz
Conceptos básicos de Arrays
6 lecciones629- 01Declaración de ArraysRetoQuiz
- 02Acceso a elementosRetoQuiz
- 03Modificación de ArraysRetoQuiz
- 04Métodos de ArraysRetoQuiz
- 05Resumen - Array de productosReto
- 06Editar Resumen - Array invertidoReto
Operaciones con Strings
3 lecciones324- 01Métodos de String Parte 1RetoQuiz
- 02Métodos de String Parte 2RetoQuiz
- 03Formateo de StringsRetoQuiz
Iteración sobre colecciones
3 lecciones323- 01Uso del bucle ForRetoQuiz
- 02Bucle ForeachRetoQuiz
- 03Operaciones comunes con arraysRetoQuiz
Desafíos finales
3 lecciones38- 01Patrones numéricosRetoQuiz
- 02Buscador de patronesReto
- 03Calculadora de calificacionesReto
Sección 2
Lógica y Flujo
Empezar secciónEmpezarExpandirContraerDomina la programación avanzada en C# con enfoque en estructuras de datos y control de flujo. Aprende a trabajar con arrays complejos, colecciones, manejo de errores y gestión del tiempo.Multi-dimensional Arrays
7 lecciones750- 012D Arrays BasicsRetoQuiz
- 02Declaring and Initializing 2DQuiz
- 03Accessing 2D Array ElementsRetoQuiz
- 04Nested Loops with 2D ArraysRetoQuiz
- 05Jagged ArraysRetoQuiz
- 06Common Matrix OperationsRetoMaestríaQuiz
- 07Recap - Multi-dimensionalReto
Advanced Decision Making
5 lecciones932- 01Multiple ConditionsRetoMaestríaQuiz
- 02Complex Boolean LogicRetoMaestríaQuiz
- 03If vs. Switch ComparisonRetoMaestríaQuiz
- 04Nested Switch StatementsRetoMaestríaQuiz
- 05Recap - Advanced DecisionsReto
Loop Enhancements
5 lecciones632- 01Loop PerformanceRetoQuiz
- 02Iterating ComplexRetoQuiz
- 03Each Loop TypeRetoMaestríaQuiz
- 04Refactoring LoopsRetoQuiz
- 05Recap - Optimized LoopsReto
Flow Control Techniques
5 lecciones938- 01Early ReturnsRetoQuiz
- 02Guard ClausesRetoMaestríaQuiz
- 03Jump Statements (goto)RetoMaestríaQuiz
- 04Break and ContinueRetoMaestríaQuiz
- 05Flatten Nested ConditionalsRetoMaestríaQuiz
Exception Handling
8 lecciones1160- 01Try-Catch BasicsRetoMaestríaQuiz
- 02Exception TypesRetoQuiz
- 03Multiple Catch BlocksRetoMaestríaQuiz
- 04Working with FilesRetoQuiz
- 05Finally BlockRetoMaestríaQuiz
- 06Using vs. Try-FinallyRetoQuiz
- 07Custom ExceptionsRetoQuiz
- 08Recap - Error HandlingReto
Null Handling
5 lecciones832- 01Null Reference BasicsRetoMaestríaQuiz
- 02Nullable Value TypesRetoQuiz
- 03Null Checking PatternsRetoMaestríaQuiz
- 04Defensive ProgrammingRetoMaestríaQuiz
- 05Recap - Null SafetyReto
Logical Operators Advanced
4 lecciones723- 01Short-Circuit EvaluationRetoMaestríaQuiz
- 02Conditional Logical OperatorsRetoMaestríaQuiz
- 03Operator PrecedenceRetoMaestríaQuiz
- 04Recap - Advanced OperatorsReto
Data Analysis System
Proyecto6 lecciones1- 01Data Collection SetupReto
- 02Data Entry LogicProyecto
- 03Data AnalysisProyecto
- 04Grading LogicProyecto
- 05Report GenerationProyecto
- 06 Error HandlingProyecto
HashMap Part 1
6 lecciones536- 01What is a HashMap?Quiz
- 02Declare a HashMapRetoQuiz
- 03Check If Key ExistsRetoQuiz
- 04Accessing ValuesRetoQuiz
- 05Modifying DictionariesRetoQuiz
- 06Recap - HashMapReto
HashMap Part 2
4 lecciones415- 01HashMap MethodsRetoQuiz
- 02Nested HashMapRetoQuiz
- 03Recap - Manage WarehouseReto
- 04Recap - HashMap OperationsReto
HashSet Part 1
6 lecciones537- 01What is a HashSet?Quiz
- 02Adding an ElementRetoQuiz
- 03Removing an ElementRetoQuiz
- 04Checking if an Element ExistsRetoQuiz
- 05Empty and SizeRetoQuiz
- 06Recap - HashSetReto
HashSet Part 2
5 lecciones539- 01Math - Union of HashSetsRetoQuiz
- 02Math - Intersection of HashSetRetoQuiz
- 03Math - Set DifferenceRetoQuiz
- 04Math - Symmetric DifferenceRetoQuiz
- 05Iterating Over SetsRetoQuiz
Sección 3
Programación Orientada a Objetos
Empezar secciónEmpezarExpandirContraerDescubre cómo organizar el código con clases, objetos y estructuras reutilizablesFundamentos de OOP
9 lecciones972- 01Archivos externosRetoQuiz
- 02Namespaces y directivasRetoQuiz
- 03Intro a clases y objetosRetoQuiz
- 04La palabra clave 'this'RetoQuiz
- 05Métodos y parámetrosRetoQuiz
- 06Campos vs PropiedadesRetoQuiz
- 07ConstructoresRetoQuiz
- 08Inicializadores de objetosRetoQuiz
- 09Resumen - Calculadora simpleReto
Propiedades y miembros estáticos
5 lecciones545- 01Propiedades autoimplementadasRetoQuiz
- 02Propiedades de solo lectura y escrituraRetoQuiz
- 03Campos y métodos estáticosRetoQuiz
- 04Clases estáticasRetoQuiz
- 05Miembros con cuerpo de expresiónRetoQuiz
Arquitectura de clases
4 lecciones427- 01Datos de instancia vs. estáticosRetoQuiz
- 02Palabras clave 'readonly' y 'const'RetoQuiz
- 03Campos de respaldoRetoQuiz
- 04Resumen - Gestor de cuentas bancariasReto
Herencia
6 lecciones644- 01Sintaxis básica de herencia (:)RetoQuiz
- 02La palabra clave 'base'RetoQuiz
- 03Palabras clave Virtual y OverrideRetoQuiz
- 04Clases selladas (Sealed)RetoQuiz
- 05La clase base 'object'RetoQuiz
- 06Resumen: Jerarquía de empleadosReto
Polimorfismo e Interfaces
6 lecciones644- 01Polimorfismo: Compilación vs. EjecuciónRetoQuiz
- 02Interfaz vs. Clase AbstractaRetoQuiz
- 03Interfaces MúltiplesRetoQuiz
- 04Interfaces ExplícitasRetoQuiz
- 05Upcasting y DowncastingRetoQuiz
- 06Repaso: Calculadora de FigurasReto
Encapsulamiento
5 lecciones535- 01Modificadores de accesoRetoQuiz
- 02Propiedades para el encapsulamientoRetoQuiz
- 03Implementación de ocultamiento de datosRetoQuiz
- 04Patrones de inmutabilidadRetoQuiz
- 05Repaso - Registros de estudiantesReto
Características avanzadas
5 lecciones535- 01Sobrecarga de operadoresRetoQuiz
- 02Indexadores (this[])RetoQuiz
- 03Sobrescritura de ToString()RetoQuiz
- 04Métodos de extensiónRetoQuiz
- 05Resumen - Lista personalizadaReto
Conceptos avanzados de POO
6 lecciones653- 01Composición sobre herenciaRetoQuiz
- 02Genéricos (clases y métodos)RetoQuiz
- 03Delegados y eventosRetoQuiz
- 04Atributos y ReflexiónRetoQuiz
- 05IDisposable y la sentencia usingRetoQuiz
- 06Fundamentos de Inyección de dependenciasRetoQuiz
Argumentos variables
4 lecciones436- 01La palabra clave 'params'RetoQuiz
- 02Parámetros opcionalesRetoQuiz
- 03Argumentos con nombreRetoQuiz
- 04Sobrecarga de métodosRetoQuiz
Patrones de diseño - Parte 1
5 lecciones545- 01Introducción a los patrones de diseñoRetoQuiz
- 02Singleton Thread-SafeRetoQuiz
- 03Patrón FactoryRetoQuiz
- 04Patrón Observer (Eventos)RetoQuiz
- 05Patrón StrategyRetoQuiz
Patrones de diseño, parte 2
6 lecciones655- 01Patrón CommandRetoQuiz
- 02Patrón AdapterRetoQuiz
- 03Patrón DecoratorRetoQuiz
- 04Patrón Template MethodRetoQuiz
- 05Patrón StateRetoQuiz
- 06Patrón CompositeRetoQuiz
Proyecto: Sistema de Biblioteca
Proyecto6 lecciones1- 01Estructura del ProyectoReto
- 02Modelos de Libro y UsuarioProyecto
- 03Lógica del Sistema de PréstamosProyecto
- 04LINQ para BúsquedasProyecto
- 05Interfaz de Consola / Interfaz de AdministradorProyecto
- 06Pruebas Unitarias (NUnit/xUnit)Proyecto
Desafíos finales
3 lecciones3- 01Plataforma de e-learningReto
- 02Componente de personaje de juegoReto
- 03Servicio de alquiler de vehículosReto
Por qué aprender C# con Coddy
- Escribe y ejecuta código C# real en tu navegador. Sin instalar Visual Studio, sin configurar el .NET SDK. Cada lección compila tu programa de C# en el servidor y te muestra el resultado al instante.
- C# orientado a objetos como se usa en producción: clases, propiedades, herencia, interfaces, genéricos, manejo de excepciones y LINQ. Ejemplos de código y ejercicios después de cada concepto.
- Las pistas de IA te ayudan a depurar código de C# y a leer los errores del compilador, así el lenguaje se siente accesible en vez de intimidante, sobre todo si vienes nuevo a OOP.
- Certificado gratis de finalización de C# cuando termines. Útil para roles de game-dev (Unity), backend y entornos empresariales donde manejar C# es un requisito básico.
Preguntas frecuentes sobre aprender C#
¿C# es fácil de aprender?
C# es uno de los lenguajes fuertemente tipados más accesibles. La sintaxis es consistente, la librería estándar es amplia y está bien documentada, y funciones modernas como las propiedades y el pattern matching reducen el código repetitivo. La mayoría de los principiantes logra correr su primer programa en C# dentro de la primera hora y llega a clases y herencia en menos de una semana.
¿Cuánto tiempo se tarda en aprender C#?
Los fundamentos de C# —sintaxis, métodos, clases, objetos— toman entre dos y cuatro semanas de práctica diaria. Manejar con soltura herencia, interfaces, generics y LINQ suele llevar de uno a tres meses. Profundizar en ASP.NET, desarrollo de juegos con Unity o patrones empresariales es otra etapa aparte.
¿Cuál es la diferencia entre C# y Java?
C# y Java son primos cercanos. Ambos son fuertemente tipados, basados en clases y con recolección de basura. C# tiende a adoptar nuevas características más rápido (propiedades, LINQ, async/await, pattern matching) y se usa mucho para desarrollo de juegos en Unity y herramientas de Windows. Java se inclina más hacia Android y backends empresariales grandes. Las habilidades se transfieren en ambas direcciones.
¿Puedo usar C# para desarrollar videojuegos?
Sí. C# es el lenguaje de scripting principal de Unity, uno de los motores de juegos más populares del mundo. Los fundamentos de OOP que aprenderás aquí (clases, herencia, interfaces) se aplican directamente al modelo de componentes de Unity, así que terminar el curso de C# te da una ventaja real para arrancar con Unity.
¿Puedo aprender C# online y gratis?
Sí. El curso interactivo de C# es gratis: lecciones, ejercicios de código, cuestionarios y un certificado. El editor corre en tu navegador, así que no necesitas instalar Visual Studio, el .NET SDK ni ningún IDE para empezar a escribir C#.
¿Recibo un certificado de C# al terminar el curso?
Sí. Al terminar el curso de C# obtienes un certificado de finalización gratuito que puedes sumar a tu currículum o compartir en LinkedIn — una señal verificable que acompaña a cualquier proyecto de Unity, app en .NET o repositorio de GitHub que hayas armado.