Bienvenido a la programación de computadoras.

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

Mis primeros pasos en la programación

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.

Java

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.

Comenzar!

Python

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.

Comenzar!

C#

Este tutorial te introduce en la programación desde cero con C#, el lenguaje de Microsoft ideal para crear aplicaciones de escritorio y web.

Comenzar!

C

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.

Comenzar!

C++

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.

Comenzar!

Visual Basic .Net

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.

Comenzar!

Go

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.

Comenzar!

Ruby

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.

Comenzar!

Kotlin

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.

Comenzar!

JavaScript

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.

Comenzar

Delphi (Object Pascal)

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.

Comenzar!

Base de datos

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.

MySQL

El gestor de base de datos MySQL es el más extendido como elemento de almacenamiento de datos de sitios web.

Comenzar!

Sql Server

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.

Comenzar!

Oracle

Gestor de base de datos propuesto por la empresa Oracle y muy usado en grandes empresas.

Comenzar!

PostgreSQL

El Gestor de base de datos PostgreSQL es de código abierto y bastante utilizado para el acceso de aplicaciones web.

Comenzar!

SQLite

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.

Comenzar!

MongoDB

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.

Comenzar!

Programación Web

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.

HTML y HTML5

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.

Comenzar HTML!

Comenzar HTML5!

CSS, CSS3 y Bootstrap

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.

Comenzar CSS!

Comenzar CSS3!

Comenzar Bootstrap 5!

Comenzar Bootstrap 4!

PHP

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.

Comenzar!

Javascript y DHtml

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

JavaScript y el DOM!

Chuleta de JavaScript

Ejercitación sobre funciones en JavaScript

JavaScript y el DOM

Ejercitación sobre Arrays en JavaScript

Ejercitación sobre JavaScript asíncrono

Ejercitación sobre JSON

Ajax

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.

Comenzar Ajax!

jQuery, Angular, Vue y React

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.

Comenzar JQuery!

Comenzar Vue!

Comenzar React!

Comenzar Angular 19!

Comenzar Angular <17!

Spring Boot (Java)

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.

Comenzar!

Asp.Net
MVC

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)

Comenzar!

Node.js

Node.js nos permite desarrollar aplicaciones que se ejecutan en un servidor.

Comenzar NodeJS!

FastAPI

FastAPI es un framework moderno y rápido de Python para crear APIs web de alto rendimiento usando tipado y asincronía.

Comenzar FastAPI!

Todas las tecnologías juntas con PHP: MySQL, HTML, CSS, Bootstrap, JavaScript, JQuery etc.

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.


Programación móvil

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.

Android

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 Java!

Comenzar con Kotlin!

Aplicaciones Universales para Windows 10

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).

Comenzar!

Ciencia de Datos

Seccion dedicada a los fundamentos de la ciencia de datos y las herramientas esenciales para trabajar con informacion.

Introduccion a la ciencia de datos

Aprende los conceptos basicos de la ciencia de datos, desde la recopilacion y limpieza hasta el analisis de modelos.

Comenzar!

NumPy

Descubre como aprovechar NumPy para manipular arreglos y realizar calculos numericos eficientes en Python.

Comenzar!

Pandas

Domina el analisis de datos con Pandas, trabajando con DataFrames y operaciones avanzadas.

Comenzar!

Matplotlib

Aprende a crear visualizaciones impactantes con Matplotlib, desde gráficos simples hasta Animaciones.

Comenzar!

Seaborn

Crea gráficos estadísticos elegantes y expresivos con Seaborn, integrando Pandas y Matplotlib para un análisis más visual.

Comenzar!

Estadística Descriptiva

Domina las bases del análisis de datos con Python: media, mediana, varianza, desviación estándar y correlaciones.

Comenzar!

Inferencia Estadística

Aprende a realizar pruebas de hipótesis, interpretar p-values y construir intervalos de confianza con Python.

Comenzar!

Formatos de datos, serialización y lenguajes de marcado

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.

JSON

El tutorial de JSON explica cómo leer, escribir y organizar datos en este formato ligero y ampliamente utilizado en la programación.

Comenzar!

YAML

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.

Comenzar!

XML

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.

Comenzar!

API Rest

API REST es un estilo arquitectónico popular y ampliamente utilizado para crear servicios web y API. Se presenta paso a paso como implementarlo.

Comenzar!

WebSockets

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.

Comenzar!

Markdown

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.

Comenzar!

CSV

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.

Comenzar!

Gestores de paquetes

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

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.

Comenzar!

pip

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.

Comenzar!

Maven

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.

Comenzar!

Gradle

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.

Comenzar!

Herramientas para programadores

Además de aprender la lógica y la sintaxis de un lenguaje hay otras herramientas que ayudan a los programadores.

Visual Studio Code

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.

Comenzar!

Git

Git es el software de control de versiones distribuido más utilizado por los desarrolladores.

Comenzar!

Editores de Java

Características de distintos editores e IDEs de Java. Cual utilizar según el tipo de proyecto.

Comenzar!

Docker

Docker es una plataforma que permite crear, desplegar y ejecutar aplicaciones en contenedores de forma sencilla y portable.

Comenzar!

Postman

Postman es una herramienta muy utilizada para probar y documentar APIs, permitiendo enviar peticiones y analizar las respuestas de manera sencilla.

Comenzar!

Metodologías de Desarrollo de Software

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.

Introducción a las metodologías

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.

Comenzar!

Metodologías tradicionales

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.

Comenzar!

Transición hacia Modelos Ágiles

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.

Comenzar!

Scrum

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.

Comenzar!

Kanban

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.

Comenzar!

Extreme Programming (XP)

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.

Comenzar!

Metodologías Híbridas

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.

Comenzar!

Historias de Usuario y Sprints

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.

Comenzar!

Estimación Ágil

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.

Comenzar!

Casos Reales de Aplicación de Metodologías Ágiles

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.

Comenzar!

Tecnologías antiguas

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.

ASP

La primer tecnología propuesta por Microsoft para el desarrollo de sitios web dinámicos.

Comenzar!

Asp.Net
Web Forms

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)

Comenzar!