Programmer Fundament Software

Complete Course in Software Programmer Fundamentals

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. Th…

40 hours
Official Certificate
Expert Instructors
Online Learning
Curso: Software Programmer Fundamentals | Infinity
Certitalents logo

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

Curso: Software Programmer Fundamentals | Infinity Applies
Curso: Software Programmer Fundamentals | Infinity 40 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

Curso: Software Programmer Fundamentals | Infinity Applies
Curso: Software Programmer Fundamentals | Infinity 40 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.

Course Modules

Module I: Introduction to Programming Logic

1.1. Concepts of algorithm and their importance - Definition of algorithms.

Structure of an algorithm: Input, Process, and Output.

Types of algorithms: iterative, recursive, and algorithmic.

Examples of algorithms in real life.

1.2. Computational thinking and problem solving

Decomposition of problems into smaller steps.

Pattern recognition and abstraction.

Structure of the solution: Development and optimization.

Design of efficient algorithms.

1.3. Practice: Solving simple problems with pseudocode

Modeling real problems with pseudocode.

Conversions between pseudocode and flowcharts.

Practical exercise: Development of a pseudocode to solve a mathematical problem

2.1. Use Case Diagrams

Identification of actors.

Main and alternative scenario diagrams.

Extended and general use cases.

2.2. Sequence Diagrams

Representation of interaction between objects and events.

Modeling of data flow and message sequence.

2.3. Activity Diagrams

Representation of activities, decisions, and alternative flows.

Activity diagrams with partitions (swimlanes)

3.1. Data Types and Operators

- Primitive data types: integers, floats, booleans, strings.

- Arithmetic, logical, comparison, assignment, and bitwise operators.

- Data type conversion (casting).

3.2. Conditional Control Structures and Loops

- Conditional statements: if, else, elif, switch.

- Counter-controlled loops: for and while.

- Condition-controlled loops: do-while.

- Concepts of recursion vs iteration.

3.3. Declaration and Use of Functions

- Return and non-return functions.

- Parameters by value and by reference.

- Nested and recursive functions.

- Use of lambda functions.

3.4. Practice: Problem Solving with Functions

- Functional decomposition exercises to solve problems.

- Code modularization to enhance reusability.

4.1. Lists, Tuples, Dictionaries, and Sets

Basic operations on data structures: creation, updating, deletion.

Advanced methods and operations: append, pop, sort, reverse.

Dictionaries and handling key-value pairs.

4.2. Sorting Algorithms (Bubble, Selection)

Step-by-step implementation of sorting algorithms.

Time and space complexity: O(n^2), O(n log n).

Comparison between sorting algorithms: efficiency and appropriate use.

4.3. Search Algorithms (Binary, Linear)

Implementation of sequential search and binary search.

Necessary conditions for using binary search.

Comparison of complexities.

4.4. Practice: Implementation of Algorithms in Python

Exercises on searching and sorting with lists and dictionaries.

Optimization of search code for large volumes of data

 

5.1. Basic concepts of objects and classes

Definition of objects, classes, attributes, and methods.

Encapsulation, abstraction, and modularity.

5.2. Creation of objects and methods

Creation and use of objects in Python.

Public, private, and protected methods.

5.3. Inheritance and polymorphism

Concept of inheritance and class reusability.

Overridden methods and polymorphism.

5.4. Practice: Modeling objects and their interaction

Practical exercise to model entities using OOP.

6.1. Types of Databases (Relational and Non-relational)

Key differences between relational and non-relational databases.

Examples of relational databases (MySQL, PostgreSQL) and non-relational databases (MongoDB).

When to use a relational database vs a non-relational database.

6.2. Database Components: Tables, Rows, Columns

Definition and creation of tables.

Relationships between tables: one-to-one, one-to-many, and many-to-many.

Data types in SQL: VARCHAR, INT, DATE

7.1. Entity-Relationship Diagrams

Definition of entities, attributes, and relationships.

Creation of ER diagrams to represent data models.

7.2. Primary and Foreign Keys

Definition of primary keys and how they ensure the uniqueness of records.

Foreign keys and their importance in linking tables.

7.3. Database Normalization

Concept of normalization and its levels (1NF, 2NF, 3NF).

Practical exercises to avoid redundancy in databases.

8.1. Table and Relationship Creation

Basic SQL Syntax: CREATE TABLE, ALTER TABLE.

Definition of Constraints (PRIMARY KEY, UNIQUE, NOT NULL).

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

Read Queries: SELECT with filters, operators, and sorting.

Data insertion, modification, and deletion queries: INSERT INTO, UPDATE, DELETE