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
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
The Programmer Fundament Software course is designed to provide participants with the basic knowledge required for software programming and development.
This training prepares students to obtain the International Certification Software Programmer Fundament (Softf-001), issued by Certitals.
The program focuses on developing skills in programming logic, algorithms, software modeling, data structures and databases, ensuring that students acquire a solid programming basis.
Under the practical Learning Method approach, participants will receive a cloud entrance pack to apply the concepts through workshops, laboratories and projects in real environments.
At the end of the course, participants will be able to:
To participate in this training, attendees must meet the following requirements:
Programmer Fundament Software | Applies |
---|---|
Programmer Fundament Software | 50 hours |
The learning methodology, regardless of the modality (in-person or remote), is based on the development of workshops or labs that lead to the construction of a project, emulating real activities in a company.
The instructor (live), a professional with extensive experience in work environments related to the topics covered, acts as a workshop leader, guiding students' practice through knowledge transfer processes, applying the concepts of the proposed syllabus to the project.
The methodology seeks that the student does not memorize, but rather understands the concepts and how they are applied in a work environment.
As a result of this work, at the end of the training the student will have gained real experience, will be prepared for work and to pass an interview, a technical test, and/or achieve higher scores on international certification exams.
You do not need to pay to pre-enroll. By pre-enrolling, you reserve a spot in the group for this course or program. Our team will contact you to complete your enrollment.
Pre-enroll nowMake your payment quickly, safely and reliably
- For bank transfer payments, request the details by email
capacita@aulamatriz.edu.co.
- If you wish to finance your payment through our credit options
(Sufi, Cooperativa Unimos or Fincomercio), click on the following link:
Ver opciones de crédito.
The Programmer Fundament Software course is designed to provide participants with the basic knowledge required for software programming and development.
This training prepares students to obtain the International Certification Software Programmer Fundament (Softf-001), issued by Certitals.
The program focuses on developing skills in programming logic, algorithms, software modeling, data structures and databases, ensuring that students acquire a solid programming basis.
Under the practical Learning Method approach, participants will receive a cloud entrance pack to apply the concepts through workshops, laboratories and projects in real environments.
At the end of the course, participants will be able to:
To participate in this training, attendees must meet the following requirements:
Programmer Fundament Software | Applies |
---|---|
Programmer Fundament Software | 50 hours |
The learning methodology, regardless of the modality (in-person or remote), is based on the development of workshops or labs that lead to the construction of a project, emulating real activities in a company.
The instructor(live), a professional with extensive experience in work environments related to the topics covered, acts as a workshop leader, guiding students' practice through knowledge transfer processes, applying the concepts of the proposed syllabus to the project.
La metodología persigue que el estudiante "does not memorize", but rather "understands" the concepts and how they are applied in a work environment."
As a result of this work, at the end of the training the student will have gained real experience, will be prepared for work and to pass an interview, a technical test, and/or achieve higher scores on international certification exams.
You do not need to pay to pre-enroll. By pre-enrolling, you reserve a spot in the group for this course or program. Our team will contact you to complete your enrollment.
Make your payment quickly, safely and reliably
- For bank transfer payments, request the details by email
capacita@aulamatriz.edu.co.
- If you wish to finance your payment through our credit options
(Sufi, Cooperativa Unimos or Fincomercio), click on the following link:
Ver opciones de crédito.