La programación de computadoras se ha vuelto una disciplina accesible y fundamental, presente incluso en las escuelas. Aunque aprender a programar puede ser desafiante al inicio, ofrece la posibilidad de crear aplicaciones que hagan realidad nuestras ideas.
Este sitio busca guiarte en ese camino y motivarte a disfrutar del proceso, en una era donde la inteligencia artificial está revolucionando el aprendizaje y la práctica de la programación.
Contenidos principales: Mis primeros pasos en la programación · Base de datos · Programación Web · Programación móvil · Ciencia de Datos · Formatos de datos · Gestores de paquetes · Herramientas para programadores · Metodologías de Desarrollo de Software · Tecnologías antiguas
Podés iniciarte en la programación con lenguajes como Java, Python, C, C++, C#, Visual Basic .NET, Go, Ruby, Kotlin, JavaScript o Delphi, aprendiendo los fundamentos mediante diagramas de flujo y ejercicios prácticos.
Es fundamental ser ordenado, estudiar cada concepto con paciencia y disfrutar de cada pequeño programa que logres hacer funcionar. Evitá depender al principio de la inteligencia artificial y enfocáte en comprender cómo se construyen los programas desde adentro.
Este tutorial te introducirá en la programación desde cero usando Java, un lenguaje versátil ideal para crear aplicaciones de escritorio, web y móviles Android.
Este tutorial te inicia en la programación desde cero con Python, un lenguaje sencillo y ampliamente usado en educación, ciencia de datos e inteligencia artificial.
Este tutorial te introduce en la programación desde cero con C#, el lenguaje de Microsoft ideal para crear aplicaciones de escritorio y web.
El objetivo de este tutorial es iniciarse en la programación desde cero empleando el lenguaje C.
Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de bajo nivel o software de de base.
El tutorial está desarrollado pensando en iniciarse en la programación desde cero empleando el lenguaje C++ como soporte para la implementación de programas.
Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de bajo nivel o software de base.
El objetivo de este tutorial es iniciarse en el arte de la programación desde cero empleando el lenguaje Visual Basic .Net desarrollado por Microsoft.
Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de escritorio o web.
El objetivo de este tutorial es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje Go.
Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones utilizando el lenguaje propuesto por Google en los últimos años.
El objetivo de este tutorial es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje de programacióm Ruby.
Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones web empleando el framework Ruby on Rails.
El objetivo de este tutorial es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje de programacióm Kotlin.
Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones móviles para Android.
El objetivo de este video curso es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje JavaScript
Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones web y/o servidor.
El objetivo de este tutorial es iniciarse en la programación de aplicaciones desde cero empleando el lenguaje Delphi (Object Pascal)
Nos conviene utilizar este lenguaje para iniciarnos si nuestro objetivo final será desarrollar aplicaciones de escritorio con entornos visuales bajo el sistema operativo Windows.
Otra área que debe dominar el programador es la gestión de base de datos.
El lenguaje más extendido en los gestores de base de datos es el SQL.
Existen muchos gestores de bases de datos relacionales desarrollados por distintas empresas, pero todos tiene en común el lenguaje SQL, esto
nos facilita cuando tenemos que migrar de un gestor de bases de datos a otro. La elección de que gestor de bases de datos dependerá del
tipo de proyecto a desarrollar. Para iniciarnos en el lenguaje SQL básico podemos elegir cualquiera de dichos gestores que tengamos acceso
para poder practicar, luego aprender otro gestor es muy sencillo.
El gestor de base de datos MySQL es el más extendido como elemento de almacenamiento de datos de sitios web.
El gestor de base de datos SQL Server es el más utilizado en las soluciones propuestas e integradas por las tecnologías que propone Microsoft.
Gestor de base de datos propuesto por la empresa Oracle y muy usado en grandes empresas.
El Gestor de base de datos PostgreSQL es de código abierto y bastante utilizado para el acceso de aplicaciones web.
SQLite es un gestor de bases de datos relacional pero con objetivos muy diferentes a los gestores como MySQL, SQLServer, Oracle, PostgreSQL etc.
Este gestor de base de datos tiene por objetivo ser parte de la misma aplicación con la que colabora.
MongoDB es un gestor de bases de datos NoSQL. Se lo considera un gestor documental y tiene como prioridad la gestión de grandes bases de datos y alta disponibilidad.
Es más conveniente empezar con "Mis primeros pasos en la programación" (sección anterior con Java, C++ o C#) antes de lanzarnos en la
programación web.
En el mundo de la programación web intervienen muchos lenguajes (algunos se ejecutan en un navegador web, otros se
ejecutan en un servidor de internet) Si ingresamos directamente en la programación web sin habernos introducido en un lenguaje básico
como Java, C++ o C# se nos hará una cuesta muy empinada.
El orden más lógico para estudiar estos tutoriales es primero HTML y luego CSS, PHP, JavaScript, JQuery, AJax.
El HTML es el lenguaje que se emplea para el desarrollo de páginas de internet.
Un navegador web (Chrome, FireFox, IExplorer etc.) interpreta y muestra en la pantalla su contenido.
CSS son las siglas de Cascade Style Sheet que traducido significa hojas de estilo en cascada.
Las hojas de estilo es un lenguaje que nos permite controlar la apariencia de una página web.
El PHP es un lenguaje de programación que se ejecuta en un servidor de internet. Nos permite generar fundamentalmente páginas web HTML
con un contenido dinámico (es decir que varía su contenido según el pedido del usuario)
Nos permite también acceder a bases de datos almacenadas en un servidor web.
JavaScript es un lenguaje de programación muy popular que nos permite entre otras cosas escribir programas que se ejecuten en un navegador web. El primer paso antes de comenzar un framework de Javascipt es revisar estos dos cursos.
Tutorial texto: Comenzar JavaScript
Tutorial en video: Comenzar JavaScript
Ejercitación sobre funciones en JavaScript
Ejercitación sobre Arrays en JavaScript
La característica fundamental de AJAX es permitir actualizar parte de una página con información que se encuentra en el servidor sin tener que refrescar completamente la página. De modo similar podemos enviar información al servidor.
jQuery es una librería de Javascript muy famosa con más de 10 años en el mercado que nos facilita la manipulación del árbol del DOM de una página web, administración de eventos, peticiones AJAX etc.
En cambio Vue es un framework de Javascript progesivo basado en componentes y con una curva de aprendizaje sencilla.
React y Angular también son framework basados en componentes.
Spring Boot ayudar a los desarrolladores a crear APIs robustas con el lenguaje Java.
Permite a los desarrolladores centrarse en la lógica de negocio de sus aplicaciones.
El objetivo de este tutorial es iniciarse en el desarrollo de aplicaciones web utilizando el lenguaje C# de Microsoft.
Se utiliza el paradigma de MVC (Modelo - Vista - Controlador)
Node.js nos permite desarrollar aplicaciones que se ejecutan en un servidor.
FastAPI es un framework moderno y rápido de Python para crear APIs web de alto rendimiento usando tipado y asincronía.
Una vez que se entiende una tecnología es necesario ver como se combinan con otras.
La mayoría de las aplicaciones web de la actualidad emplean una combinación de estos lenguajes de programación, se necesita un conocimiento en forma individual de cada tecnología
pero es fundamental como se relacionan e integran con las otras.
Se han agrupado teniendo en cuenta que en el BackEnd se utiliza como tecnología el lenguaje PHP.
En los últimos años se han desarrollan grandes avances para la programación de dispositivos móviles. Hay diversas herramientas para
desarrollar aplicaciones que se ejecuten en un celular, una tablet, un reloj etc.
El objetivo de este tutorial es iniciarse en la programación de Android. Se requieren conceptos previos de programación en Java o Kotlin Se busca ir conociendo los rudimentos básicos de la programación en Android desde cero.
Comenzar con Compose (Kotlin)!
Comenzar con Kotlin!El objetivo de este tutorial es comenzar a programar con el lenguaje C# en la Plataforma Universal de Windows 10. Se requieren conceptos previos de C# y se hace una introducción gradual UWP (Universal Windows Platform).
Seccion dedicada a los fundamentos de la ciencia de datos y las herramientas esenciales para trabajar con informacion.
Aprende los conceptos basicos de la ciencia de datos, desde la recopilacion y limpieza hasta el analisis de modelos.
Descubre como aprovechar NumPy para manipular arreglos y realizar calculos numericos eficientes en Python.
Domina el analisis de datos con Pandas, trabajando con DataFrames y operaciones avanzadas.
Aprende a crear visualizaciones impactantes con Matplotlib, desde gráficos simples hasta Animaciones.
Crea gráficos estadísticos elegantes y expresivos con Seaborn, integrando Pandas y Matplotlib para un análisis más visual.
Domina las bases del análisis de datos con Python: media, mediana, varianza, desviación estándar y correlaciones.
Aprende a realizar pruebas de hipótesis, interpretar p-values y construir intervalos de confianza con Python.
La sección Formatos de datos, serialización y lenguajes de marcado reúne tecnologías que permiten representar, almacenar, transmitir y dar formato a la información de manera estructurada y legible. Estas herramientas facilitan la interoperabilidad entre distintos lenguajes de programación, aplicaciones y bases de datos, así como la redacción de documentación técnica clara y portátil.
El tutorial de JSON explica cómo leer, escribir y organizar datos en este formato ligero y ampliamente utilizado en la programación.
El tutorial de YAML explica cómo estructurar datos de manera clara y legible, ampliamente usado en configuraciones de aplicaciones, DevOps y herramientas modernas como Docker y Kubernetes.
El tutorial de XML explica cómo estructurar, validar y organizar datos en este lenguaje de marcado flexible y ampliamente utilizado para el intercambio de información.
API REST es un estilo arquitectónico popular y ampliamente utilizado para crear servicios web y API. Se presenta paso a paso como implementarlo.
Los WebSockets son un protocolo de comunicación que permite abrir un canal persistente, bidireccional y fulldúplex entre un cliente (por ejemplo, un navegador) y un servidor.
El tutorial de Markdown explica cómo escribir documentos con una sintaxis ligera y legible, permitiendo dar formato a textos, listas, enlaces, imágenes y bloques de código, así como las mejores prácticas.
El tutorial de CSV explica cómo leer, escribir y manipular datos en este formato tabular simple y ampliamente utilizado para el intercambio de información.
En esta sección exploraremos los principales gestores de paquetes que permiten instalar, actualizar y administrar librerías y dependencias de forma sencilla. Son herramientas fundamentales para optimizar el desarrollo de proyectos modernos.
npm es el gestor de paquetes oficial de Node.js y uno de los más utilizados en el ecosistema JavaScript. Permite instalar librerías, administrar dependencias y compartir proyectos fácilmente.
pip es el gestor de paquetes oficial de Python. Permite instalar y actualizar librerías desde el Python Package Index (PyPI), siendo una herramienta esencial para el desarrollo en este lenguaje.
Maven es un gestor de proyectos y dependencias para Java que automatiza la compilación, empaquetado y distribución. Facilita la integración de librerías externas y la gestión del ciclo de vida del desarrollo.
Gradle es un potente sistema de automatización de compilaciones para proyectos Java, Kotlin y Android. Combina la flexibilidad de Ant con la gestión de dependencias de Maven, permitiendo construir, probar y desplegar proyectos de forma eficiente.
Además de aprender la lógica y la sintaxis de un lenguaje hay otras herramientas que ayudan a los programadores.
Visual Studio Code es uno de los editores de texto que más está siendo utilizado por los programadores.
Se presentan en el tutorial las características principales del editor.
Git es el software de control de versiones distribuido más utilizado por los desarrolladores.
Características de distintos editores e IDEs de Java. Cual utilizar según el tipo de proyecto.
Docker es una plataforma que permite crear, desplegar y ejecutar aplicaciones en contenedores de forma sencilla y portable.
Postman es una herramienta muy utilizada para probar y documentar APIs, permitiendo enviar peticiones y analizar las respuestas de manera sencilla.
En esta sección aprenderás cómo se organiza el trabajo en el desarrollo de software, desde la planificación hasta la entrega final. Exploraremos los distintos enfoques, modelos y herramientas que permiten estructurar los proyectos de forma eficiente y colaborativa.
Conocé qué son las metodologías de desarrollo, por qué son necesarias y cómo organizan el ciclo de vida del software desde la idea hasta la entrega final. Ideal para comprender las bases de la gestión moderna de proyectos.
Explorá los modelos clásicos de desarrollo como Cascada, Espiral y Prototipos. Comprendé sus etapas, ventajas y limitaciones para aplicarlas en distintos contextos de proyectos de software.
Entendé cómo los modelos tradicionales dieron lugar a enfoques más flexibles y adaptativos, y descubrí el origen del Manifiesto Ágil y sus principios fundamentales.
Aprendé cómo funciona Scrum, la metodología ágil más utilizada: sus roles, ceremonias, artefactos y cómo organizar sprints exitosos. Ideal para equipos que buscan mejorar la colaboración y la entrega continua de valor.
Conocé Kanban, una metodología visual basada en tableros y flujo continuo. Ideal para equipos que buscan mejorar la productividad, limitar el trabajo en progreso (WIP) y optimizar el flujo de tareas mediante la mejora constante.
Descubrí Extreme Programming (XP), una metodología ágil enfocada en la calidad del código y la colaboración constante. Aprendé prácticas como TDD, refactoring, pair programming y entregas frecuentes para mejorar la productividad y reducir errores.
Aprendé cómo combinar lo mejor de cada enfoque: la planificación del modelo Cascada, la flexibilidad de Scrum y la fluidez de Kanban. Descubrí cómo adaptar el proceso de desarrollo a la realidad de tu equipo y proyecto.
Aprendé cómo redactar historias de usuario efectivas y cómo organizarlas dentro de sprints ágiles. Descubrí cómo estas prácticas ayudan a priorizar tareas, medir avances y mantener la comunicación clara entre el equipo y el cliente.
Dominá las principales técnicas de estimación en metodologías ágiles, como Story Points, Planning Poker y T-Shirt Sizing. Aprendé a mejorar la precisión de tus planes, optimizar sprints y fortalecer la colaboración del equipo.
Explorá ejemplos concretos de cómo empresas y equipos de desarrollo aplican Scrum, Kanban y metodologías híbridas en proyectos reales. Descubrí qué desafíos enfrentaron y cómo lograron mejorar la entrega y la colaboración.
La programación es una disciplina muy dinámica y constantemente aparecen nuevos lenguajes que sustituyen a otras, pero como hay mucho código antiguo se necesita tener referencias a dichas tecnologías.
La primer tecnología propuesta por Microsoft para el desarrollo de sitios web dinámicos.
El objetivo de este tutorial es iniciarse en el desarrollo de aplicaciones web utilizando el lenguaje C# de Microsoft.
Se utiliza el paradigma de los Web Forms (Formularios Web)