Programa para certificación internacional Software Programmer Fundamentals + Python PDA + Java SE 17 OCP y Spring Professional Develop (Spring Core - Spring Boot)

Programa para certificación internacional Software Programmer Fundamentals + Python PDA + Java SE 17 OCP y Spring Professional Develop (Spring Core - Spring Boot)

Módulos

1.1. Conceptos de algoritmo y su importancia  

  • Definición de algoritmos  
  • Estructura de un algoritmo: Entrada, Proceso y Salida  
  • Tipos de algoritmos: iterativos, recursivos y algorítmicos  
  • Ejemplos de algoritmos en la vida real  

1.2. Pensamiento computacional y resolución de problemas  

  • Descomposición de problemas en pasos más pequeños  
  • Reconocimiento de patrones y abstracción  
  • Estructura de la solución: Desarrollo y optimización  
  • Diseño de algoritmos eficientes  

1.3. Práctica: Resolución de problemas simples con pseudocódigo  

  • Modelado de problemas reales con pseudocódigo  
  • Conversiones entre pseudocódigo y diagramas de flujo  
  • Ejercicio práctico: Desarrollo de un pseudocódigo para resolver un problema matemático

2.1. Diagramas de casos de uso  

  • Identificación de actores  
  • Diagramas de escenarios principales y alternativos  
  • Casos de uso extendidos y generales  

2.2. Diagramas de secuencia  

  • Representación de la interacción entre objetos y eventos  
  • Modelado del flujo de datos y secuencia de mensajes  

2.3. Diagramas de actividades  

  • Representación de actividades, decisiones y flujos alternativos  
  • Diagramas de actividad con particiones (swimlanes)

3.1. Tipos de datos y operadores  

  • Tipos de datos primitivos: enteros, reales, booleanos, cadenas de texto  
  • Operadores aritméticos, lógicos, de comparación, asignación y bit a bit  
  • Conversión de tipos de datos (casting)  

3.2. Estructuras de control condicionales y bucles  

  • Sentencias condicionales: if, else, elif, switch  
  • Bucles controlados por contadores: for y while  
  • Bucles controlados por condiciones: do-while  
  • Conceptos de recursión vs iteración  

3.3. Declaración y uso de funciones  

  • Funciones de retorno y sin retorno  
  • Parámetros por valor y por referencia  
  • Funciones anidadas y recursivas  
  • Uso de funciones lambda  

3.4. Práctica: Resolución de problemas con funciones  

  • Ejercicios de descomposición funcional para resolver problemas  
  • Modularización de código para mejorar la reutilización

4.1. Listas, tuplas, diccionarios y conjuntos  

  • Operaciones básicas en estructuras de datos: creación, actualización, eliminación  
  • Métodos y operaciones avanzadas: append, pop, sort, reverse  
  • Diccionarios y manejo de pares clave-valor  

4.2. Algoritmos de ordenación (burbuja, selección)  

  • Implementación paso a paso de algoritmos de ordenación  
  • Complejidad temporal y espacial: O(n^2), O(n log n)  
  • Comparación entre algoritmos de ordenación: eficiencia y uso adecuado  

4.3. Algoritmos de búsqueda (binaria, lineal)  

  • Implementación de búsqueda secuencial y búsqueda binaria  
  • Condiciones necesarias para usar la búsqueda binaria  
  • Comparación de complejidades  

4.4. Práctica: Implementación de algoritmos en Python  

  • Ejercicios de búsqueda y ordenación con listas y diccionarios  
  • Optimización de código de búsqueda para grandes volúmenes de datos

5.1. Conceptos básicos de objetos y clases  

  • Definición de objetos, clases, atributos y métodos  
  • Encapsulamiento, abstracción y modularidad  

5.2. Creación de objetos y métodos  

  • Creación y uso de objetos en Python  
  • Métodos públicos, privados y protegidos  

5.3. Herencia y polimorfismo  

  • Concepto de herencia y reusabilidad de clases  
  • Métodos sobreescritos y polimorfismo  

5.4. Práctica: Modelado de objetos y su interacción  

  • Ejercicio práctico para modelar entidades usando POO

6.1. Tipos de bases de datos (relacionales y no relacionales)  

  • Diferencias clave entre bases de datos relacionales y no relacionales  
  • Ejemplos de bases de datos relacionales (MySQL, PostgreSQL) y no relacionales (MongoDB)  
  • Cuándo usar una base de datos relacional vs una no relacional  

6.2. Componentes de bases de datos: Tablas, filas, columnas  

  • Definición y creación de tablas  
  • Relaciones entre tablas: uno a uno, uno a muchos y muchos a muchos  
  • Tipos de datos en SQL: VARCHAR, INT, DATE, etc.

7.1. Diagramas entidad-relación  

  • Definición de entidades, atributos y relaciones  
  • Creación de diagramas ER para representar modelos de datos  

7.2. Claves primarias y foráneas  

  • Definición de claves primarias y cómo garantizan la unicidad de registros  
  • Claves foráneas y su importancia en la vinculación de tablas  

7.3. Normalización de bases de datos  

  • Concepto de normalización y sus niveles (1FN, 2FN, 3FN)  
  • Ejercicios prácticos para evitar la redundancia en las bases de datos

8.1. Creación de tablas y relaciones  

  • Sintaxis básica de SQL: CREATE TABLE, ALTER TABLE  
  • Definición de restricciones (PRIMARY KEY, UNIQUE, NOT NULL)  

8.2. Consultas SQL: SELECT, INSERT, UPDATE, DELETE  

  • Consultas de lectura: SELECT con filtros, operadores y ordenación  
  • Consultas de inserción, modificación y eliminación de datos: INSERT INTO, UPDATE, DELETE  

8.3. Funciones de agregación: COUNT, SUM, AVG  

  • Uso de funciones para calcular agregados sobre conjuntos de datos  
  • Agrupación de datos con GROUP BY y filtrado con HAVING

  • Que es Python
  • Variables y tipos de datos básicos
  • Lectura de entrada de teclado

  • Salidas
  • Recopilación de entradas

  • Instrucción if
  • Instrucciones else, y elif
  • Operadores and y or

  • Cadenas en Python  
  • Métodos de cadenas en Python  
  • Formato de cadenas en Python  
  • Operadores  
  • Números  
  • Conversión de cadenas en número y uso de valores absolutos

  • Presentación de listas  
  • Trabajo con números en listas  
  • Manipulación de datos de lista

  • While
  • For
  • Diccionarios
  • Programación dinámica con diccionarios

  • Funciones
  • Argumentos de funciones
  • Argumentos de palabra clave
  • Argumentos de varible

  • Lambdas
  • Expresiones regulares
  • Comprensión de datos

  • Clases y objetos  
  • Constructor de una clase  
  • Atributos  
  • Herencia  
  • Encapsulación  
  • Polimorfismo

  • Como encontrar errores
  • Controlar excepciones
  • Generación de excepciones

  • Trabajando con el sistema de archivos
  • Directorios y archivos
  • Crear un archivo, manejar archivos

  • Key features of the Java language
  • Java technology and development environment
  • Running and testing a Java program

  • Java classes
  • The Main method
  • Adding a Main method

  • Introducing variables
  • Working with strings
  • Working with numbers
  • Manipulating numeric data

  • Working with conditions
  • Using IF statements
  • Working with a list of items
  • Processing a list of items

  • Working with objects and classes  
  • Defining fields and methods  
  • Declaring, instantiating, and initializing objects  
  • Working with object references  
  • Doing more with arrays

  • Using the String class  
  • Using the Java API docs  
  • Using the StringBuilder class  
  • More about primitive data types  
  • More numeric operators  
  • Promoting and casting variables

  • Using methods  
  • Method arguments and return values  
  • Static methods and variables  
  • How arguments are passed to a method  
  • Overloading a method

  • Access control
  • Encapsulation

  • Relational and conditional operators  
  • More ways to use IF/ELSE constructs  
  • Using switch statements  
  • Using the Netbeans debugger

  • Relational and conditional operators  
  • More ways to use IF/ELSE constructs  
  • Using switch statements  
  • Using the Netbeans debugger

  • Overview
  • Working with subclasses and superclasses
  • Overriding methods in the superclass
  • Creating and extending abstract classes

  • Polymorphism  
  • Polymorphism in the JDK foundation classes  
  • Using interfaces  
  • Local-variable type inference  
  • Using the List interface  
  • Introducing Lambda expressions

  • Overview  
  • Propagation of exceptions  
  • Catching and throwing exceptions  
  • Handling multiple exceptions and errors

  • Packages, JARs, architecture
  • Application modification and requirements

  • The Module system
  • JARs
  • Module declarations
  • Modular JDK

  • Testing code
  • JShell basics
  • JShell in an IDE

  • Functional Interfaces and Lambda Expressions
  • Collections Streams, and Filters
  • Built-in Functional Interfaces

  • Introduction to Modular Programming in Java
  • Services in a Modular Application
  • Migration to a Modular Application

  • Concurrency
  • Parallel Streams
  • Terminal Operations: Collectors
  • Creating Custom Streams

  • I/O (Fundamentals and NIO2)
  • Secure Coding
  • Database Applications with JDBC
  • Localization

  • What is the Collections Framework?
  • Iterators
  • Type-Wrapper Classes
  • What are Generics?

  • Exceptions
  • Error handling
  • Assertion

  • What is the Spring Framework?
  • The DI Container
  • The Spring Framework History and EcoSystem

  • Java configuration and the Spring application context
  • @Configuration and @Bean annotations
  • @Import: working with multiple configuration files
  • Defining bean scopes
  • Launching a Spring Application and obtaining Beans

  • External properties & Property sources
  • Environment abstraction
  • Using bean profiles
  • Spring Expression Language (SpEL)

  • Component scanning  
  • Autowiring using @Autowired  
  • Java configuration versus annotations, mixing  
  • Lifecycle annotations: @PostConstruct and @PreDestroy  
  • Stereotypes and meta-annotations

  • The Spring Bean Lifecycle  
  • The BeanFactoryPostProcessor interception point  
  • The BeanPostProcessor interception point  
  • Spring Bean Proxies  
  • @Bean method return types

  • What problems does AOP solve?
  • Defining pointcut expressions
  • Implementing various types of advice

  • Spring and Test-Driven Development  
  • Spring 5 integration testing with JUnit 5  
  • Application context caching and the @DirtiesContext annotation  
  • Profile selection with @ActiveProfiles  
  • Easy test data setup with @Sql

  • How Spring integrates with existing data access technologies
  • Spring?s JdbcTemplate
  • DataAccessException hierarchy

  • Transaction overview  
  • Transaction management with Spring  
  • Transaction propagation and rollback rules  
  • Transactions and integration with other Spring modules

  • Introduction to Spring Boot Features
  • Value Proposition of Spring Boot
  • Creating a simple Boot application using Spring Initializer website

  • Dependency management using Spring Boot starters
  • How auto-configuration works
  • Configuration properties
  • Overriding auto-configuration
  • Using CommandLineRunner

  • Quick introduction to ORM with JPA  
  • Benefits of using Spring with JPA  
  • JPA configuration in Spring  
  • Configuring Spring JPA using Spring Boot  
  • Spring Data JPA dynamic repositories

  • Introduction to Spring MVC and request processing  
  • Controller method signatures  
  • Using @Controller, @RestController and @GetMapping annotations  
  • Configuring Spring MVC with Spring Boot  
  • Spring Boot packaging options, JAR or WAR

Este programa de formación está diseñado para proporcionar a los participantes un conjunto de habilidades técnicas esenciales en el desarrollo de software, abarcando desde los fundamentos de la programación hasta tecnologías avanzadas en Python, Java SE 17 y Spring Boot. El curso prepara a los estudiantes para obtener certificaciones internacionales de alto reconocimiento en la industria, tales como:

  • Software Programmer Fundamentals (SOFTF-001)
  • Python Developer Associate (PDA)
  • Java SE 17 OCP (Oracle Certified Professional) (1Z0-829)
  • Spring Professional Develop (2V0-72
  • 22)
  • La capacitación está orientada a quienes buscan desarrollar aplicaciones en entornos Windows/Linux, proporcionando las bases para la implementación de soluciones empresariales escalables y seguras
  • A través de la metodología Practical Learning Method, los participantes aplicarán los conceptos adquiridos en escenarios reales mediante laboratorios, simulaciones y proyectos empresariales

Al finalizar la capacitación, los estudiantes estarán en capacidad de:

  • Fundamentos de Programación y Python
  • Comprender los principios de programación estructurada y su aplicación en Python
  • Implementar estructuras de control y estructuras de datos en Python
  • Utilizar POO (Programación Orientada a Objetos) para la creación de aplicaciones modulares y reutilizables
  • Conectar aplicaciones a bases de datos mediante ORMs y consultas SQL en Python
  • Aplicar metodologías para el desarrollo eficiente de código y mejores prácticas en Python
  • Desarrollo en Java SE 17
  • Programar en Java SE 17, aplicando el paradigma de POO
  • Implementar manejo de excepciones, colecciones, hilos y concurrencia en Java
  • Aplicar técnicas de gestión de bases de datos con JDBC y JPA
  • Diseñar arquitecturas modulares y escalables, aplicando buenas prácticas de diseño de software
  • Prepararse para la certificación Oracle Certified Professional (OCP) en Java SE 17
  • Spring Boot y Desarrollo de Aplicaciones Empresariales
  • Configurar y utilizar Spring Boot y Spring Core con Java Config y Annotations
  • Implementar soluciones con Spring Data (JPA, JDBC, Hibernate) para la gestión de bases de datos
  • Construir APIs REST en Java utilizando Spring Boot y WebClient
  • Aplicar mecanismos de seguridad en aplicaciones empresariales con Spring Security
  • Implementar microservicios y aplicaciones distribuidas en entornos empresariales con Spring Boot
  • Enfoque Práctico:
  • Los estudiantes aplicarán estos conceptos a través de entornos de laboratorio y desarrollo de proyectos reales, asegurando que su formación sea aplicable al mercado laboral y a los exámenes de certificación correspondientes

Para participar en este curso, los estudiantes deben contar con:

  • Conocimientos básicos de informática y experiencia en el uso de sistemas operativos
  • Comprensión general de la lógica de programación, aunque no se requiere experiencia previa en lenguajes específicos

Programa para certificación internacional Software Programmer Fundamentals + Python PDA + Java SE 17 OCP y Spring Professional Develop (Spring Core - Spring Boot) Aplica
Programa para certificación internacional Software Programmer Fundamentals + Python PDA + Java SE 17 OCP y Spring Professional Develop (Spring Core - Spring Boot) 201 horas

Metodología de Aprendizaje

La metodología de aprendizaje, independientemente de la modalidad (presencial o remota), se fundamenta en el desarrollo de talleres o laboratorios que conducen a la construcción de un proyecto, emulando la actividad real en una empresa.

El instructor (en vivo), profesional con amplia experiencia en escenarios laborales relacionados con los temas a tratar, actúa como jefe de taller, orientando la práctica de sus estudiantes mediante procesos de transferencia de conocimiento, aplicando al proyecto los conceptos del temario propuesto.

La metodología persigue que el estudiante no memorice, sino que entienda los conceptos y cómo se aplican en un ambiente laboral.

Como resultado de este trabajo, al final de la capacitación el estudiante ha adquirido una experiencia real, estará preparado para el trabajo y para aprobar una entrevista, una prueba técnica y/o lograr calificaciones de nivel superior en los exámenes para certificación internacional.

Condiciones para garantizar resultados exitosos:
  • a. Una institución que exija la aplicación del modelo mediante un ordenamiento, una logística y un control estricto sobre las actividades a desarrollar por parte de los actores dentro de cada sesión de capacitación.
  • b. Un instructor ubicado en cualquier lugar del mundo, que cuente con el conocimiento profundo exigido, con la experticia, la experiencia, y unos valores superlativos, que garanticen una transferencia de conocimiento a muy alto nivel.
  • c. Un estudiante comprometido, con el espacio, el tiempo, la atención que exige el proceso formativo y con la disposición para enfocarse en entender cómo se aplican los conceptos en un ambiente laboral, y no memorizar conceptos para presentar un examen.

Preinscripción

No necesitas pagar para preinscribirte. Al preinscribirte, separas un cupo en el grupo para este curso o programa. Nuestro equipo se pondrá en contacto contigo para completar tu inscripción.

Preinscribirse

Pagos Infinity

Realiza tu pago de manera rápida, segura y confiable


- Para pagos mediante transferencia bancaria, solicita los detalles al correo capacita@aulamatriz.edu.co.

- Si deseas financiar tu pago a través de nuestras opciones de crédito
(Sufi, Cooperativa Unimos o Fincomercio), haz clic en el siguiente enlace:
Ver opciones de crédito.

Para continuar debes hacer

O si no tienes cuenta debes

Descripción

Este programa de formación está diseñado para proporcionar a los participantes un conjunto de habilidades técnicas esenciales en el desarrollo de software, abarcando desde los fundamentos de la programación hasta tecnologías avanzadas en Python, Java SE 17 y Spring Boot. El curso prepara a los estudiantes para obtener certificaciones internacionales de alto reconocimiento en la industria, tales como:

  • Software Programmer Fundamentals (SOFTF-001)
  • Python Developer Associate (PDA)
  • Java SE 17 OCP (Oracle Certified Professional) (1Z0-829)
  • Spring Professional Develop (2V0-72
  • 22)
  • La capacitación está orientada a quienes buscan desarrollar aplicaciones en entornos Windows/Linux, proporcionando las bases para la implementación de soluciones empresariales escalables y seguras
  • A través de la metodología Practical Learning Method, los participantes aplicarán los conceptos adquiridos en escenarios reales mediante laboratorios, simulaciones y proyectos empresariales

Objetivos

Al finalizar la capacitación, los estudiantes estarán en capacidad de:

  • Fundamentos de Programación y Python
  • Comprender los principios de programación estructurada y su aplicación en Python
  • Implementar estructuras de control y estructuras de datos en Python
  • Utilizar POO (Programación Orientada a Objetos) para la creación de aplicaciones modulares y reutilizables
  • Conectar aplicaciones a bases de datos mediante ORMs y consultas SQL en Python
  • Aplicar metodologías para el desarrollo eficiente de código y mejores prácticas en Python
  • Desarrollo en Java SE 17
  • Programar en Java SE 17, aplicando el paradigma de POO
  • Implementar manejo de excepciones, colecciones, hilos y concurrencia en Java
  • Aplicar técnicas de gestión de bases de datos con JDBC y JPA
  • Diseñar arquitecturas modulares y escalables, aplicando buenas prácticas de diseño de software
  • Prepararse para la certificación Oracle Certified Professional (OCP) en Java SE 17
  • Spring Boot y Desarrollo de Aplicaciones Empresariales
  • Configurar y utilizar Spring Boot y Spring Core con Java Config y Annotations
  • Implementar soluciones con Spring Data (JPA, JDBC, Hibernate) para la gestión de bases de datos
  • Construir APIs REST en Java utilizando Spring Boot y WebClient
  • Aplicar mecanismos de seguridad en aplicaciones empresariales con Spring Security
  • Implementar microservicios y aplicaciones distribuidas en entornos empresariales con Spring Boot
  • Enfoque Práctico:
  • Los estudiantes aplicarán estos conceptos a través de entornos de laboratorio y desarrollo de proyectos reales, asegurando que su formación sea aplicable al mercado laboral y a los exámenes de certificación correspondientes

Para participar en este curso, los estudiantes deben contar con:

  • Conocimientos básicos de informática y experiencia en el uso de sistemas operativos
  • Comprensión general de la lógica de programación, aunque no se requiere experiencia previa en lenguajes específicos

ofrece

Programa para certificación internacional Software Programmer Fundamentals + Python PDA + Java SE 17 OCP y Spring Professional Develop (Spring Core - Spring Boot) Aplica
Programa para certificación internacional Software Programmer Fundamentals + Python PDA + Java SE 17 OCP y Spring Professional Develop (Spring Core - Spring Boot) 201 horas

Metodología de Aprendizaje

La metodología de aprendizaje, independientemente de la modalidad (presencial o remota), se fundamenta en el desarrollo de talleres o laboratorios que conducen a la construcción de un proyecto, emulando la actividad real en una empresa.

El instructor (en vivo), profesional con amplia experiencia en escenarios laborales relacionados con los temas a tratar, actúa como jefe de taller, orientando la práctica de sus estudiantes mediante procesos de transferencia de conocimiento, aplicando al proyecto los conceptos del temario propuesto.

La metodología persigue que el estudiante no memorice, sino que entienda los conceptos y cómo se aplican en un ambiente laboral.

Como resultado de este trabajo, al final de la capacitación el estudiante ha adquirido una experiencia real, estará preparado para el trabajo y para aprobar una entrevista, una prueba técnica y/o lograr calificaciones de nivel superior en los exámenes para certificación internacional.

Condiciones para garantizar resultados exitosos:
  • a. Una institución que exija la aplicación del modelo mediante un ordenamiento, una logística y un control estricto sobre las actividades a desarrollar por parte de los actores dentro de cada sesión de capacitación.
  • b. Un instructor ubicado en cualquier lugar del mundo, que cuente con el conocimiento profundo exigido, con la experticia, la experiencia, y unos valores superlativos, que garanticen una transferencia de conocimiento a muy alto nivel.
  • c. Un estudiante comprometido, con el espacio, el tiempo, la atención que exige el proceso formativo y con la disposición para enfocarse en entender cómo se aplican los conceptos en un ambiente laboral, y no memorizar conceptos para presentar un examen.

Preinscripción

No necesitas pagar para preinscribirte. Al preinscribirte, separas un cupo en el grupo para este curso o programa. Nuestro equipo se pondrá en contacto contigo para completar tu inscripción.

Descargar Temario