- 🎯 Sobre el repositorio
- 🧭 Módulos de un vistazo
- 🗂️ Estructura
- 📘 Detalle de los módulos
- 🖼️ Proyecto destacado: HabitLogger
- 🚀 Cómo ejecutar los proyectos
- 🛠️ Tecnologías
- 🧠 Mapa de conexión de conocimientos
- 📈 Evolución
- 🧑💻 Autor
Este repositorio recopila los ejercicios, prácticas y proyectos que realizo durante el segundo año del Grado Superior de Desarrollo de Aplicaciones Multiplataforma (DAM).
Sirve a tres propósitos:
| Propósito | |
|---|---|
| 🗃️ | Archivo organizado por módulos de los trabajos más relevantes del curso. |
| 📈 | Registro de mi evolución técnica, con sus errores, correcciones y refactorizaciones. |
| 💼 | Base de referencia y portfolio para futuros proyectos. |
Note
No todos los ejercicios del curso están aquí: se conservan los representativos o útiles como referencia. Algunos son prácticas académicas de experimentación y no código listo para producción.
| Módulo | Carpeta | Tecnología | Contenido |
|---|---|---|---|
| ⚙️ PSP · Programación de Servicios y Procesos | PSP/ |
Prueba inicial con 4 ejercicios y modelo de dominio, y generador de cadenas aleatorias | |
| 🐍 Python · Programación e IA | Python/ |
3 unidades · 78 actividades resueltas | |
| 🖥️ Desarrollo de Interfaces | Desarrollo_Interfaces/ |
Ejercicios de clase y 2 casos prácticos | |
| 🗄️ Acceso a Datos | Acceso_Datos/ |
Editor de ficheros binarios y excepciones propias | |
| 📱 Desarrollo de Aplicaciones Móviles | Desarrollo_Aplicaciones_Moviles/ |
Iniciación a Kotlin | |
| 🏢 Sistemas de Gestión Empresarial | Sistema_Gestion_Empresarial/ |
Guías de Docker y Docker Compose | |
| 🚀 Proyecto Intermodular | Proyecto_Intermodular/ |
Investigación del sector tecnológico (RA1a) | |
| 💼 IPE II · Itinerario Personal para la Empleabilidad | IPEII/ |
Apuntes, guías de examen y entregas (CipherKey) | |
| 🇬🇧 Inglés | Ingles/ |
Actividades y presentaciones de clase |
📦 DAM_26-27
┣ 📂 PSP
┃ ┣ 📂 01_Prueba_Inicial ............... Maven · Java
┃ ┣ 📂 02_Cadenas_Aleatorias ........... procesos hijos
┃ ┗ 📂 03_Programacion_Multiproceso ... padre/hijo con redirección
┣ 📂 Python
┃ ┣ 📂 UD01_Introduccion_a_Python ....... 19 actividades
┃ ┣ 📂 UD02_Control_de_Flujo_y_Estructuras_de_Datos 42 actividades
┃ ┣ 📂 UD03_Archivos_Errores_y_Modularizacion 17 actividades
┃ ┣ 📂 Examen_UD02
┃ ┗ 📂 utilidades · pruebas ........... librería y tests
┣ 📂 Desarrollo_Interfaces
┃ ┣ 📂 Ejercicios_Presentacion ......... introducción a C#
┃ ┣ 📂 Ejercicios_Clase ................ POO y ejercicios en clase
┃ ┣ 📂 UD00_Introduccion_a_Csharp ...... MathGame · HabitLogger
┃ ┗ 📂 UD01_Confeccion_de_interfaces .. Calculadora (WPF)
┣ 📂 Acceso_Datos
┃ ┣ 📂 Editor_Binario ................. ficheros binarios
┃ ┗ 📂 Make_a_Duplicate_Image ......... copia de imágenes
┣ 📂 Desarrollo_Aplicaciones_Moviles
┃ ┣ 📂 Iniciacion_a_Kotlin .............. Maven · Kotlin
┃ ┗ 📂 Entorno_Movil .................. informe LaTeX
┣ 📂 Sistema_Gestion_Empresarial ........ Docker · Odoo
┣ 📂 Proyecto_Intermodular
┃ ┗ 📂 01_Investigacion_Sector ........ RA1a · RA1b · RA1c
┣ 📂 assets ............................. hero y mapa de conocimientos
┣ 📄 LICENSE
┗ 📄 README.md
Cada módulo tiene su propio README con el detalle de lo que contiene y cómo ejecutarlo: PSP · Python · Interfaces · Acceso a Datos · Móviles · SGE · Intermodular.
⚙️ PSP — Programación de Servicios y Procesos
PSP/01_Prueba_Inicial · proyecto Maven (Java 26).
- 4 ejercicios (
Ejercicio1…Ejercicio4) en el paqueteejercicios. - Modelo de dominio con clases como
AlumnoyAsignatura. - Refactorizaciones documentadas en el historial de commits.
PSP/02_Cadenas_Aleatorias · proyecto Maven con las clases Generador y Cadenas (paquete dev.lownoise.cadenas).
PSP/03_Programacion_Multiproceso · dos ejercicios padre/hijo con ProcessBuilder y redirección de entrada, salida y error a ficheros.
🐍 Python — Programación e Inteligencia Artificial
| Unidad | Tema | Actividades |
|---|---|---|
| UD1 | Introducción a Python: entorno, tipos, operadores y depuración | 19 |
| UD2 | Control de flujo y estructuras de datos: condicionales, bucles y listas | 42 |
| UD3 | Archivos, errores y modularización: lectura y escritura de ficheros, os.path |
17 |
Cada actividad es un script independiente con su enunciado comentado, por ejemplo clasificador de edades, FizzBuzz, comprobación de primos, palíndromos o calculadoras.
🖥️ Desarrollo de Interfaces — C# y .NET 10
| Carpeta | Descripción |
|---|---|
Ejercicios_Presentacion |
Primer programa, entorno de desarrollo, estructura sintáctica, variables y tipos de datos. |
Ejercicios_Clase |
Cálculo de área, día de la semana y programación orientada a objetos (vehículos). |
01_CasoPractico_MathGame |
🧮 Juego de matemáticas por consola con historial y estadísticas. |
02_CasoPractico_HabitLogger |
📝 Registro de hábitos con SQLite, en versión consola y versión TUI. |
🗄️ Acceso a Datos — Java
Editor_Binario: edición de ficheros binarios con excepciones propias (MyFileNotFoundException,MyPointerIsNullException,MyPointerOutOfBoundException).
📱 Desarrollo de Aplicaciones Móviles — Kotlin
Iniciacion_a_Kotlin: primer contacto con el lenguaje mediante un proyecto Maven.
🏢 Sistemas de Gestión Empresarial — Docker
Sistema_Gestion_Empresarial: guías de uso de Docker (primeros pasos, creación de imágenes) y guía completa de Docker Compose.
🚀 Proyecto Intermodular
01_Investigacion_Sector: estado tecnológico del sector empresarial (RA1a). Investigación de 8 empresas del sector IT, con informe en PDF.
Registro de hábitos (agua, lectura, ejercicio…) donde cada hábito es una tabla SQLite con Id, Fecha y Cantidad. Incluye validación de entradas, log diario de operaciones y una tabla Errores para que la aplicación nunca se caiga.
| Versión | Descripción | Documentación |
|---|---|---|
| 💻 Consola | Menú numerado | README |
| 🖥️ TUI | Interfaz de terminal con formularios | README |
![]() Menú principal |
![]() Lista de registros |
![]() Validación de formularios |
![]() Actualizar registro |
Cada proyecto es independiente. Clona el repositorio una vez:
git clone https://github.com/AdriLabTech/DAM_26-27.git
cd DAM_26-27| Tipo | Requisitos | Comando |
|---|---|---|
| 🐍 Python | Python 3 | python3 Python/UD02_Control_de_Flujo_y_Estructuras_de_Datos/Ejercicios/<actividad>.py |
| 🔷 C# / .NET | SDK de .NET 10 | dotnet run --project <carpeta_proyecto> |
| ☕ Java (Maven) | JDK y Maven | mvn compile y ejecutar la clase Main desde tu IDE |
| 🟣 Kotlin (Maven) | JDK y Maven | mvn compile dentro de Iniciacion_a_Kotlin |
Ejemplo con HabitLogger:
dotnet run --project Desarrollo_Interfaces/UD00_Introduccion_a_Csharp/Casos_Practicos/02_Habit_Logger/HabitLoggerTip
Cada caso práctico tiene su propio README.md con instrucciones y funciones detalladas.
| Área | Herramientas |
|---|---|
| Lenguajes | Java · Kotlin · C# · Python |
| Construcción | Maven · .NET CLI · Docker Compose |
| Datos | SQLite · ficheros binarios · ficheros de texto |
| Calidad | Validación de entradas · gestión de excepciones |
| Entorno | Git · Linux · IntelliJ IDEA |
Los módulos no son islas: los mismos conceptos reaparecen en lenguajes y contextos distintos. Este mapa muestra cómo se relacionan.
| Concepto compartido | Módulos | Dónde se ve |
|---|---|---|
| 🔀 Lógica y control de flujo | Python · PSP · Interfaces | Condicionales y bucles en Python; los mismos fundamentos en los ejercicios de Java y C#. |
| 🧩 Programación orientada a objetos | PSP · Interfaces · Móviles | Modelo Alumno/Asignatura en Java, clases de vehículos en C# y Kotlin sobre la JVM. |
| ☕ Java, JVM y Maven | PSP · Acceso a Datos · Móviles | Proyectos Maven en Java y Kotlin, con la misma estructura y ciclo de construcción. |
| 💾 Persistencia de datos | Python · Interfaces · Acceso a Datos | SQLite en HabitLogger, ficheros binarios en el editor de Acceso a Datos y ficheros de texto en la UD3 de Python. |
| 🛡️ Excepciones y validación | Python · Interfaces · Acceso a Datos | Excepciones propias en Java, validación de entradas con tabla Errores en C# y comprobación previa de ficheros en Python. |
El repositorio no muestra solo el resultado final. También conserva parte del proceso de aprendizaje:
| Etapa | Qué aporta |
|---|---|
| 1️⃣ Ejercicio inicial | Primer planteamiento del problema. |
| 2️⃣ Versión funcional | Una solución que ya resuelve el enunciado. |
| 3️⃣ Errores y correcciones | Fallos detectados y su arreglo, visibles en el historial. |
| 4️⃣ Refactorización | Código más claro y optimizado. |
| 5️⃣ Documentación | README y capturas de los trabajos más importantes. |
El contenido crecerá conforme se incorporen nuevos módulos.
Código y documentos publicados bajo licencia MIT.



