Unidad Didáctica 1 — Fundamentos de Programación
IES Thiar · Curso 2026 - 2027
Ciclo Formativo de Grado Superior en Desarrollo de Aplicaciones Multiplataforma (DAM)
Módulo de Programación · 1.ª Evaluación · 28 horas
Introducción
Bienvenido a la primera unidad del módulo de Programación del Ciclo Formativo de Grado Superior en Desarrollo de Aplicaciones Multiplataforma. Durante las próximas 28 horas vas a dar tus primeros pasos reales como programador en Java 25, la versión LTS más reciente del lenguaje que domina la banca, la administración pública, las telecomunicaciones y el ecosistema Android. La unidad parte de cero: no se asume ningún conocimiento previo de programación, aunque sí cierta soltura con el sistema operativo (manejo de ficheros, consola, instalación de software). Si has llegado hasta aquí, tienes lo necesario para empezar.
El objetivo de UD1 es que al finalizar seas capaz de reconocer la estructura de un programa informático e identificar
y relacionar los elementos propios del lenguaje Java. Para ello recorreremos los siguientes bloques: primero
entenderás qué es programar y por qué Java es una buena elección (Sección 1); luego configurarás tu entorno de
desarrollo con IntelliJ IDEA y Maven (Sección 2); a continuación estudiarás la anatomía de un programa Java moderno
(Sección 3) y los tipos primitivos (Sección 4); después entrarás en los operadores (Sección 5), las constantes y
literales (Sección 6) y el manejo de texto con String (Sección 7); las secciones 8 y 9 cierran con las conversiones de
tipo y la entrada de información por teclado con la nueva clase java.lang.IO de Java 25. Como materiales de apoyo
encontrarás un test de repaso (test.md) y una colección de ejercicios resueltos (ejercicios.md) que te
ayudarán a afianzar los conceptos antes de la prueba objetiva RA1.
Resultado de Aprendizaje (RA1)
RA1 — Reconocer la estructura de un programa informático
Reconoce la estructura de un programa informático, identificando y relacionando los elementos propios del lenguaje de programación utilizado.
Este resultado de aprendizaje se evalúa mediante nueve criterios de evaluación (CE 1.1 a CE 1.9) que se distribuyen a lo largo de las nueve secciones de la unidad. La prueba objetiva final (90 minutos, sin material) verifica el grado de adquisición de todos ellos.
Criterios de evaluación
| CE | Enunciado | Sección principal |
|---|---|---|
| CE 1.1 | Se han identificado los bloques que componen la estructura de un programa informático. | Sección 1, 3 |
| CE 1.2 | Se han creado proyectos de desarrollo de aplicaciones. | Sección 2 |
| CE 1.3 | Se han utilizado entornos integrados de desarrollo. | Sección 2 |
| CE 1.4 | Se han identificado los distintos tipos de variables y la utilidad específica de cada uno. | Sección 4 |
| CE 1.5 | Se ha modificado el código de un programa para crear y utilizar variables. | Sección 4, 7, 9 |
| CE 1.6 | Se han creado y utilizado constantes y literales. | Sección 6 |
| CE 1.7 | Se han clasificado, reconocido y utilizado en expresiones los operadores del lenguaje. | Sección 5 |
| CE 1.8 | Se ha comprobado el funcionamiento de las conversiones de tipos explícitas e implícitas. | Sección 8 |
| CE 1.9 | Se han introducido comentarios en el código. | Sección 3 |
Marco normativo
Normativa de referencia
- RD 405/2023, de 27 de junio, por el que se desarrolla el currículo del ciclo formativo de grado superior de Desarrollo de Aplicaciones Multiplataforma. BOE núm. 153, de 28 de junio de 2023.
- RD 450/2010, de 16 de abril, por el que se regula el currículo del ciclo formativo de grado medio de Explotación de Sistemas Informáticos (referencia histórica para terminología).
- RD 659/2023, de 18 de julio, por el que se desarrolla la ordenación del Sistema de Formación Profesional. BOE núm. 174, de 25 de julio de 2023.
Mapa mental de la unidad
mindmap
root((UD1 Fundamentos<br/>de Programación))
Sección 1 - Qué es programar
Programa, algoritmo, instrucción
Historia Java - WORA
JVM y bytecode
Java 25 LTS
JDK vs JRE vs JVM
Sección 2 - IntelliJ y Maven
Instalación JDK 25
IntelliJ IDEA Community
Estructura proyecto Maven
pom.xml
Ciclo de vida Maven
Sección 3 - Estructura programa
Clase y main moderno Java 25
println, print, printf
Reglas sintácticas
Comentarios y Javadoc
Convenciones de nomenclatura
Sección 4 - Variables y tipos primitivos
8 tipos primitivos
Declaración e inicialización
Ámbito de variables
var Java 10+
Literales numéricos
Sección 5 - Operadores
Aritméticos
Asignación compuesta
Relacionales
Lógicos con cortocircuito
Ternario
instanceof
Precedencia
Sección 6 - Constantes y literales
Magic numbers
final
static final
enum introducción
Sección 7 - String y texto
String inmutable
Pool de strings
Concatenación
Text blocks Java 15+
== vs equals
Sección 8 - Conversión de tipos
Widening implícito
Casting explícito
Wrappers y autoboxing
Parseo de cadenas
try-catch adelanto UD3
Sección 9 - Entrada con java.lang.IO
IO.println, IO.print, IO.readln
Lectura de texto
Conversión a número
Scanner vs IO
Manejo de coma decimal
Materiales de apoyo
test.md (test de repaso)
ejercicios.md (ejercicios resueltos)
Índice de contenidos
La tabla siguiente resume las nueve secciones de la unidad, los criterios de evaluación cubiertos por cada una y el archivo Markdown asociado. Para navegar, haz clic en el título de la sección.
| # | Sección | CE cubiertos |
|---|---|---|
| 1 | ¿Qué es programar? Java en el mundo real | CE 1.1 |
| 2 | IntelliJ IDEA y Maven: el entorno de trabajo | CE 1.2, CE 1.3 |
| 3 | Estructura de un programa Java | CE 1.1, CE 1.9 |
| 4 | Variables y tipos primitivos | CE 1.4, CE 1.5 |
| 5 | Operadores | CE 1.7 |
| 6 | Constantes y literales | CE 1.6 |
| 7 | El tipo String y texto multilínea |
CE 1.5 |
| 8 | Conversión de tipos | CE 1.8 |
| 9 | Entrada de información: java.lang.IO |
CE 1.5 |
Materiales de apoyo
| Recurso | Descripción |
|---|---|
| Test de repaso | Cuestionario interactivo con más de 70 preguntas tipo test y de huecos, organizadas por sección. |
| Ejercicios resueltos | 45 ejercicios de afianzamiento con soluciones detalladas en bloques desplegables. |
Descripción breve de cada sección
Sección 1 — ¿Qué es programar? Java en el mundo real
Punto de partida conceptual: qué es un programa, un algoritmo y una instrucción; historia de Java y su filosofía Write Once, Run Anywhere; cómo funciona la JVM y el bytecode; por qué Java 25 LTS es la versión adecuada para formarse hoy; diferencia entre JDK, JRE y JVM. Es la única sección sin código, pero sin ella el resto no se entiende.
Sección 2 — IntelliJ IDEA y Maven: el entorno de trabajo
Puesta a punto del entorno de desarrollo: instalación del JDK 25 (Adoptium Temurin) e IntelliJ IDEA Community; creación
del primer proyecto Maven; anatomía del pom.xml con coordenadas, propiedades, dependencias y plugins; compilación y
ejecución con mvn compile y mvn exec:java; atajos de teclado imprescindibles; jshell como bloc de notas
interactivo.
Sección 3 — Estructura de un programa Java
Despiece palabra a palabra de un programa Java: la clase clásica public class Main frente al método main moderno de
Java 25 (unnamed classes + instance main, JEP 512); salida por consola con println, print y printf; reglas
sintácticas (sensibilidad a mayúsculas, punto y coma, llaves); los tres tipos de comentarios (//, /* */, Javadoc);
convenciones de nomenclatura (camelCase, PascalCase, UPPER_SNAKE_CASE).
Sección 4 — Variables y tipos primitivos
Los ocho tipos primitivos de Java (byte, short, int, long, float, double, boolean, char) con sus rangos
y usos; declaración, inicialización y ámbito; inferencia con var (Java 10+); literales numéricos avanzados (separador
_, hexadecimal, binario, sufijos); valores por defecto y la diferencia crucial entre variables locales y campos de
clase.
Sección 5 — Operadores
Operadores aritméticos con la trampa de la división entera; asignación compuesta (+=, -=, etc.);
incremento/decremento (++i vs i++); relacionales; lógicos con cortocircuito (&&, ||); operador ternario;
instanceof con pattern matching de Java 16+; tabla de precedencia y la regla de oro del uso de paréntesis.
Sección 6 — Constantes y literales
Por qué evitar los magic numbers (con el ejemplo histórico del efecto 2000); el modificador final para constantes
locales y de instancia; static final para constantes de clase con convención UPPER_SNAKE_CASE; introducción a los
enum (profundización en UD4); la trampa sutil de final en referencias a objetos y List.of() para inmutabilidad
real.
Sección 7 — El tipo String y texto multilínea
String como tipo de referencia inmutable; el pool de strings y por qué da sorpresas con ==; concatenación con + y
sus trampas de rendimiento en bucles; String.format y formatted; los text blocks """...""" de Java 15+; la trampa
clásica == vs .equals() y Objects.equals(); los métodos más útiles de String.
Sección 8 — Conversión de tipos
Conversión implícita (widening) y la trampa long → float; casting explícito (narrowing) con truncamiento y
desbordamiento; wrappers (Integer, Double, Boolean) con autoboxing/unboxing y sus trampas (cache, NPE,
rendimiento); parseo de cadenas con Integer.parseInt; conversión a texto con String.valueOf; patrón defensivo
try-catch como adelanto de UD3.
Sección 9 — Entrada de información: java.lang.IO
La nueva clase java.lang.IO de Java 25 (JEP 512) simplifica la entrada/salida estándar: IO.println, IO.print y
IO.readln son métodos estáticos que no requieren import (viven en java.lang). Lectura de texto y conversión a
número combinando IO.readln con Integer.parseInt / Double.parseDouble; manejo de la coma decimal española con
.replace(",", "."); introducción a la alternativa clásica Scanner con sus trampas de locale y de buffer.
Evaluación de la unidad
Resumen de evaluación
- Cuestionario inicial diagnóstico (Sección 1, sesión 1): no evaluable, finalidad diagnóstica.
- Actividades guiadas (Secciones 4, 5, 6, 7, 9): práctica supervisada en clase. Evaluación formativa continua.
- Test de repaso (
test.md): cuestionario interactivo de autoevaluación, sin nota, para afianzar conceptos antes del examen. - Ejercicios resueltos (
ejercicios.md): colección de 45 ejercicios con soluciones desplegables para practicar a casa. - Prueba objetiva RA1: 90 minutos, sin material. 6 bloques (test, preguntas cortas, predicción, conversión, corrección y programa completo) que evalúan los nueve criterios CE 1.1 a CE 1.9. Evaluación sumativa principal.
- Criterio de superación: la media de los nueve CE ha de ser igual o superior a 5 puntos para superar el RA1.
Requisitos técnicos
Stack tecnológico de la unidad
- JDK: OpenJDK 25 LTS (Adoptium Temurin 25)
- IDE: IntelliJ IDEA Community Edition
- Build: Apache Maven 3.9.x
- Test: JUnit 5.x (introducción en UD3)
- Paquete base:
dam.programacion.ud1
Profesor: Jesús Alberto Martínez · Departamento: Informática · Curso: 2026 - 2027