Repositorio educativo con contenidos, ejercicios, proyectos y recursos sobre desarrollo de software, entornos de desarrollo, automatización, pruebas, despliegue e infraestructura.
Este material está orientado a formación práctica en programación y desarrollo de aplicaciones, incluyendo metodologías ágiles, lenguajes de programación, automatización y despliegue de servicios.
Este repositorio reúne materiales utilizados en clases sobre:
- metodologías ágiles (Scrum)
- entornos de desarrollo (IDE)
- lenguajes de programación
- automatización
- pruebas de software
- control de versiones
- infraestructura y despliegue
El enfoque principal es aprender mediante proyectos reales y ejercicios prácticos.
El curso incluye una introducción práctica a Scrum y al desarrollo ágil de software.
- Daily Scrum
- Sprint Review
- Sprint Retrospective
Los alumnos desarrollan una aplicación siguiendo un proceso Scrum.
Evaluación
- Documento Scrum en Word (5 puntos)
- Producto final publicado en GitHub (5 puntos)
El documento debe incluir:
- objetivos del proyecto
- actividades
- timeline
- historias de usuario
- retrospectiva del sprint
Recurso de repaso de Scrum:
Se estudia el funcionamiento y uso de entornos de desarrollo profesionales.
- funciones de un entorno de desarrollo
- tipos de IDE
- herramientas integradas
- automatización de tareas
Instalación de JDK y variables de entorno
https://github.com/DevelopSys/ClasePRO/tree/master/T1#instalar-jdk-y-setear-variable-de-entorno
Los alumnos aprenden a:
- crear proyectos
- editar código
- compilar programas
- detectar errores
- ejecutar aplicaciones
- importar y exportar ficheros
- instalar plugins
El curso introduce el proceso completo de desarrollo de aplicaciones.
Fases principales:
análisis
↓
diseño
↓
codificación
↓
pruebas
↓
documentación
↓
explotación
↓
mantenimiento
Recurso:
https://www.jesusninoc.com/11/01/ciclo-de-desarrollo/
Durante el curso se trabajan varios lenguajes y tecnologías.
PowerShell se utiliza para automatización, scripting y creación de interfaces.
- variables
- condicionales
- bucles
- estructuras de datos
- manejo de ficheros
Curso completo:
https://www.jesusninoc.com/02/04/curso-online-de-powershell-febrero-2025/
Ejemplos de formularios y aplicaciones:
- calculadoras
- interfaces con botones
- formularios interactivos
Ejemplo:
https://www.jesusninoc.com/07/13/13-interfaces-de-usuario-graficas-en-powershell-nivel-intermedio/
Java se utiliza para proyectos relacionados con automatización de interfaces y control del sistema.
Ejemplos:
- hacer clic en posiciones de pantalla
- detectar posición del ratón
- automatizar acciones
Ejemplo:
https://www.jesusninoc.com/12/20/hacer-clic-en-una-posicion-de-la-pantalla-con-java/
Kotlin se utiliza junto con JavaFX para crear interfaces gráficas.
Ejemplos:
- detectar posición del ratón
- obtener color de píxeles
- crear formularios
Ejemplo:
https://www.jesusninoc.com/11/01/crear-un-formulario-en-kotlin-utilizando-javafx/
Node.js se utiliza para crear servidores web y ejecutar automatizaciones desde backend.
Ejemplo de servidor web simple:
https://www.jesusninoc.com/06/28/crear-un-servidor-web-simple-con-node-js/
También se trabajan ejemplos con:
- Express
- ejecución de comandos
- integración con PowerShell
PHP se utiliza para trabajar con formularios web y almacenamiento de datos.
Ejemplos:
- formularios GET
- formularios POST
- almacenamiento de datos en ficheros
- recepción de datos GPS
Ejemplo:
Python se utiliza para introducir conceptos de pruebas y manejo de errores.
Ejemplo:
https://www.jesusninoc.com/08/01/pruebas-y-manejo-de-errores-en-python/
Una parte importante del curso está dedicada a automatizar tareas del sistema.
Ejemplos de automatización:
- control del ratón
- generación de sonidos
- simulación de teclado
- interacción con interfaces
Recursos:
https://www.jesusninoc.com/automation/
Se utilizan herramientas como:
- SendKeys
- WinAPI
- PowerShell
- Java Robot
Ejemplo:
https://www.jesusninoc.com/10/10/introduccion-a-sendkeys/
Los estudiantes desarrollan pequeños proyectos que combinan programación y automatización.
Ejemplos:
Aplicación que reproduce notas musicales.
Puede automatizarse para tocar automáticamente.
El curso incluye una introducción a testing y depuración de software.
- funcionales
- estructurales
- regresión
- caja negra
Se estudian conceptos como:
- clases de equivalencia
- valores límite
- cobertura de código
Uso de herramientas del IDE para:
- breakpoints
- seguimiento de ejecución
- análisis de variables
Ejemplo:
https://www.jesusninoc.com/01/13/como-depurar-scripts-en-ise-de-windows-powershell/
El curso introduce el uso de Git y control de versiones.
Recurso interactivo:
https://learngitbranching.js.org/?locale=es_AR
Los alumnos practican:
- commits
- merges
- ramas
- resolución de conflictos
También se trabajan tareas relacionadas con administración de servidores y despliegue de aplicaciones.
Ejemplos:
- conexión SSH
- compilación en Linux
- instalación de Apache
- uso de WinSCP
- instalación de WSL
Se estudian distintas plataformas para desplegar aplicaciones:
- Vercel
- Netlify
- Cloudflare Pages
- Render
- Fly.io
- Northflank
- Zeabur
Ejemplos de uso de APIs:
- SpaceX REST API
- APIs en ASP.NET
- consumo de APIs desde PowerShell
Ejemplo:
https://www.jesusninoc.com/03/10/spacex-data-rest-api-v4/
Durante el curso los estudiantes desarrollan proyectos que incluyen:
- planificación con diagramas
- desarrollo de interfaces
- automatización
- pruebas sobre interfaces
Herramienta de diagramas:
Google Grow:
https://grow.google/intl/es/courses-and-tools/?category=career
W3Schools Node.js:
https://www.w3schools.com/nodejs/
IBM YourLearning:
https://students.yourlearning.ibm.com/activity/ILB-YZQNEMKZKYKW10Z4
Jesús Niño