Saltar a contenido

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 longfloat; 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