Programmer Fundament Software

Programmer Fundament Software

Módulos

Módulo I: Introducción a la lógica de programación

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:

  • Understand the programming logic, solving problems with efficient algorithms
  • Write structured code, applying control structures and functions
  • Model software with UML, using case diagrams for use, sequence and activities
  • Manage basic data structures, such as lists, tuples and dictionaries
  • Understand the foundations of object -oriented programming (POO)
  • Design and consult relational databases, using SQL
  • Prepare for International Certification Software Programmer Funds (Softf-001)

To participate in this training, attendees must meet the following requirements:

  • Basic knowledge of computer science

Programmer Fundament Software Applies
Programmer Fundament Software 50 hours

Learning Methodology

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.

Conditions to guarantee successful results:
  • a. An institution that requires the application of the model through organization, logistics, and strict control over the activities to be carried out by the participants in each training session.
  • b. An instructor located anywhere in the world, who has the required in-depth knowledge, expertise, experience, and outstanding values, ensuring a very high-level knowledge transfer.
  • c. A committed student, with the space, time, and attention required by the training process, and the willingness to focus on understanding how concepts are applied in a work environment, and not memorizing concepts just to take an exam.

Pre-enrollment

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 now

Infinity Payments

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.

To continue you must
Or if you don't have an account you must

Description

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.

Objectives

At the end of the course, participants will be able to:

  • Understand the programming logic, solving problems with efficient algorithms
  • Write structured code, applying control structures and functions
  • Model software with UML, using case diagrams for use, sequence and activities
  • Manage basic data structures, such as lists, tuples and dictionaries
  • Understand the foundations of object -oriented programming (POO)
  • Design and consult relational databases, using SQL
  • Prepare for International Certification Software Programmer Funds (Softf-001)

To participate in this training, attendees must meet the following requirements:

  • Basic knowledge of computer science

offers

Programmer Fundament Software Applies
Programmer Fundament Software 50 hours

Learning Methodology

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.

Conditions to guarantee successful results:
  • a. An institution that requires the application of the model through organization, logistics, and strict control over the activities to be carried out by the participants in each training session.
  • b. An instructor located anywhere in the world, who has the required in-depth knowledge, expertise, experience, and outstanding values, ensuring a very high-level knowledge transfer.
  • c. A committed student, with the space, time, and attention required by the training process, and the willingness to focus on understanding how concepts are applied in a work environment, and not memorizing concepts just to take an exam.

Pre-enrollment

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.