Curso Fundamentos de JAVA en la era de la IA
Es un curso teórico-práctico para emprendedores, profesionales y curiosos tecnológicos que buscan entender cómo el código potencia la IA. Enseña los pilares de Java, desde POO hasta la creación de software, integrando IA para automatizar procesos. Fomenta pensamiento lógico y habilidades para aplicar tecnologías emergentes. Cubre: el manejo del entorno Java 21, la creación de apps de consola, la construcción de UIs, el manejo de archivos, la gestión de bases de datos SQL locales, y el uso de HTTP para la comunicación entre sistemas vía APIs (incluyendo uso de proveedores de IA). Culmina con un proyecto personal donde el estudiante automatiza un aspecto cotidiano, aplicando todo lo aprendido para resolver problemas reales con herramientas modernas.

Objetivo General:
Enseñar a los participantes a utilizar el lenguaje Java para resolver problemas reales, aprovechando el potencial de tecnologías emergentes como la Inteligencia Artificial.
Objetivos Específicos:
1 - Comprender los fundamentos del lenguaje de programación Java mediante la introducción de los conocimientos relacionados con su funcionamiento, su sintaxis y su ecosistema.
2 - Aplicar los principios del paradigma de la Programación Orientada a Objetos en la resolución de problemas que requieren el desarrollo de soluciones utilizando el lenguaje de programación Java.
3 - Construir aplicaciones manejables por medio de interfaces gráficas que permitan la gestion de datos mediante ficheros y bases de datos, así como su transmisión por medio de conexiones HTTP.
4 - Construir soluciones de software que exploten las capacidades de la inteligencia artificial en alineación con las necesidades de los procesos de negocio.
Contenido del curso:
TEMA 1: FUNDAMENTOS DEL LENGUAJE Y CONFIGURACIÓN DEL ENTORNO DE DESARROLLO
Módulo 1: Introducción a Java y Configuración del Entorno
1.1. Historia y evolución de Java
1.2. Principio WORA y el rol de la JVM
1.3. Ecosistema Java: Plataformas, productos y proyectos comunitarios
1.4. Instalación del JDK Java SE 21 (LTS 2025)
1.5. Configuración de VSCode y extensiones necesarias
1.6. Introducción a agentes de IA para desarrollo (Cline o Co.)
1.7. Estructura de proyectos y convenciones de nomenclatura de paquetes
1.8. Sintaxis básica: Método main, package e imports
Módulo 2: Fundamentos del Lenguaje Java
2.1. Tipos de datos primitivos y la clase String
2.2. Declaración de variables y constantes (final)
2.3. Operadores aritméticos, lógicos y de comparación
2.4. Estructuras de control condicionales:
2.4.1. if-else
2.4.2. switch
2.5. Estructuras de control iterativas:
2.5.1. for
2.5.2. while
2.5.3. do-while
2.6. Entrada y salida por consola:
2.6.1. Uso de Scanner
2.6.2. System.out.println()
2.7. Convenciones de estilo:
2.7.1. Nomenclatura camelCase
2.7.2. Uso de comentarios para documentación
TEMA 2: APLICACION DEL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
Módulo 3: Programación Orientada a Objetos (POO)
3.1. Conceptos básicos: Objetos, clases, atributos y métodos
3.2. Definición de clases, constructores y creación de instancias (new)
3.3. Encapsulamiento:
3.3.1. Modificadores de acceso (public, protected, private)
3.3.2. Getters y setters
3.4. Herramientas avanzadas de POO:
3.4.1. Sobrecarga y sobreescritura de métodos (@Override)
3.4.2. Herencia (extends y super)
3.4.3. Clases abstractas (abstract)
3.4.4. Interfaces (interface e implements)
3.5. Relaciones entre objetos:
3.5.1. Asociación
3.5.2. Composición
3.5.3. Agregación
3.6. Manejo de excepciones:
3.6.1. Bloques try-catch-finally
3.6.2. Palabras clave throw y Exception()
Módulo 4: Colecciones y Estructuras de Datos
4.1. Introducción a tipos genéricos (<Type>)
4.2. Clases y operaciones con colecciones:
4.2.1. Lista
4.2.2. Pila
4.2.3. Cola
4.2.4. HashMap
4.3. Iteración segura y legible:
4.3.1. Uso del bucle for-each
4.4. Buenas prácticas para eficiencia y legibilidad
TEMA 3: GESTION DE LA INFORMACION EN APLICACIONES JAVA.
Módulo 5: Almacenamiento Persistente y Bases de Datos
5.1. Lectura y escritura de archivos:
5.1.1. Clases FileReader y FileWriter
5.1.2. BufferedReader y BufferedWriter
5.2. Manejo de excepciones específicas:
5.2.1. FileNotFoundException
5.2.2. IOException
5.3. Gestión automática de recursos con try-with-resources
5.4. Conexión a bases de datos mediante JDBC
5.5. Definición de relaciones y ejecución de consultas SQL
Módulo 6: Comunicación entre Aplicaciones
6.1. Cliente HTTP nativo de Java:
6.1.1. Uso de HttpClient
6.1.2. HttpRequest y HttpResponse
6.2. Procesamiento de JSON:
6.2.1. Codificación y decodificación con JSONObject
6.2.2. JSONArray de org.json
6.3. Consumo de modelos de lenguaje mediante solicitudes HTTP
6.4. Configuración de servidores HTTP con com.sun.net.httpserver
6.5. Creación de servidores personales basados en Sockets TCP
TEMA 4: COMUNICACIÓN E INTERFACES
Módulo 7: Interfaces de Usuario con Swing
7.1. Introducción a javax.swing
7.2. Manejo de ventanas y contenedores
7.3. Composición de interfaces:
7.3.1. Imágenes
7.3.2. Etiquetas
7.3.3. Botones
7.4. Manejo de eventos de mouse y teclado
7.5. Renderizado de gráficos:
7.5.1. Métodos paint
7.5.2. Uso de Graphic para personalización
Beneficios del curso:
1 - Automatizar procesos de negocio mediante aplicaciones robustas y escalables construidas con el lenguaje Java.
2 - Interconectar sistemas empresariales mediante conexiones a bases de datos y consumo de servicios web via HTTP.
3 - Desarrollar herramientas administrativas personalizadas con interfaces gráficas intuitivas alineadas a las necesidades del negocio.
4 - Optimizar flujos de trabajo mediante consumo de APIs y servicios de IA en red.
5 - Gestionar eficientemente los datos empleados en la gestion de procesos mediante el manejo de archivos y bases de datos para lograr su persistencia.
6 - Explotar las capacidades de la inteligencia artificial para realizar tareas complejas usando modelos de lenguajes y otras modalidades.
Perfil del Participante:
Emprendedores o profesionales de cualquier área que aspiren entender el rol del código en la nueva era de la IA para empoderar sus aplicaciones explotando sus capacidades y considerando sus limitaciones
Requisitos técnicos:
No se requiere experiencia previa en programación ni conocimientos de desarrollo; el curso parte desde cero y guía paso a paso la instalación del JDK y del IDE, así como el uso de la consola para ejecutar programas sencillos. Solo necesitan habilidades básicas en el manejo de un ordenador: saber navegar por el sistema de archivos, abrir y cerrar aplicaciones, crear y editar ficheros, e instalar y desinstalar software.
Requisitos para la acreditación del curso:
- Asistencia mínima del 80 % de las sesiones.
- Entrega y validación de los ejercicios prácticos asignados.
- Aprobación del proyecto final, presentado al instructor y evaluado según la complejidad, correcta aplicación de las competencias impartidas, calidad del código y funcionalidad.
Se otorga Certificado Blockchance.

Para participar tenemos becas grupales:
En la inscripción de un grupo de 4 participantes de la misma institución educativa, se otorga 1 beca completa para otro participante. (Pagan 4, participan 5).
Para realizar el pago puede hacerse a través de transferencia electrónica a la siguiente cuenta Banamex 06612775948 o CLABE interbancaria 002 1800 661 277 5948 4 a nombre de Corporación Universitaria para el Desarrollo de Internet, A.C.
Una vez realizada la transferencia es necesario hacer llegar el comprobante al correo academy@cudi.edu.mx, junto con los nombres y correos de las personas que participarán en el curso.
También se puede hacer el pago vía PayPal, identifica el tipo de membresía de tu institución.
