Introducción a la programación

ÁREA: DESARROLLO DE SOFTWARE

PRESENTACIÓN

La solución de problemas, programando computadoras, se logra mediante un doble conocimiento. El primero está relacionado con la contrucción de un plan de solución (algoritmo), usando un paradigma de programación adecuado al tipo de problema a resolver, para posteriormente expresar el algoritmo en un lenguaje de programación. El segundo conocimiento es un lenguaje de programación, acorde al tipo de problemas por resolver.

En este curso se abordan temas fundamentales para introducir al participante en la solución de problemas, a través de la creación de algoritmos, utilizando los paradigmas de programación estructurada y la programación orientada a objetos. A partir de los conocimientos adquiridos, el participante podrá continuar con el aprendizaje de un lenguaje de programación.

PERFIL DE INGRESO

Este curso está dirigido a las personas interesadas en resolver algoritmos directamente traducibles a un lenguaje de programación. Se requiere haber acreditado o demostrar conocimientos equivalentes al curso Conocimientos esenciales de Windows e Internet.

OBJETIVO

El participante creará algoritmos directamente traducibles a lenguajes de programación mediante las técnicas de la programación estructurada y la orientada a objetos.

TEMARIO

1. LENGUAJES DE PROGRAMACIÓN
1.1 Definición de lenguaje de programación
1.2 Definición de programa
1.3 Paradigmas de la programación
1.3.1 Programación funcional y estructurada
1.3.2 Programación orientada a objetos
1.3.3 Programación lógica
1.4 Traductores
1.4.1 Intérpretes
1.4.2 Compiladores
1.5 Tipos de código
1.5.1 Fuente
1.5.2 Objeto
1.5.3 Ejecutable
1.6 Entornos de desarrollo integrado
2. ELEMENTOS BÁSICOS DE LA PROGRAMACIÓN ESTRUCTURADA
2.1 Tipos de datos primitivos
2.1.1 Numéricos (enteros y de punto flotante o reales)
2.1.2 Símbolos y cadenas
2.1.3 Lógicos o booleanos (falso, verdadero)
2.2 Palabras reservadas
2.3 Variables
2.4 Constantes
2.5 Expresiones
2.5.1 Operadores
2.5.1.1 Operadores unarios
2.5.1.2 Operadores binarios
2.5.1.3 Operadores especiales
2.6 Jerarquía de operadores
2.6.1 Precedencia de operadores
2.6.2 Reglas de evaluación de expresiones
2.7 Operadores aritméticos
2.7.1 Suma
2.7.2 Resta
2.7.3 Multiplicación
2.7.4 División
2.7.5 Módulo
2.7.6 Potencia
2.8 Operadores relacionales
2.8.1 Mayor que
2.8.2 Menor que
2.8.3 Mayor o igual que
2.8.4 Menor o igual que
2.8.5 Igual a
2.8.6 Diferente de
2.9 Operadores lógicos o booleanos (and, or, not, xor)
2.9.1 Tablas de verdad
3. CONTROL DE FLUJO DE SENTENCIAS
3.1 Sentencias incondicionales
3.1.1 Asignación
3.1.2 Lectura
3.1.3 Escritura
3.1.4 Transferencia incondicional de secuencia (go to)
3.2 Sentencias condicionales
3.2.1 Selección (if, if-else)
3.2.2 Ciclos (while, do-while, for)
3.2.3 Selección múltiple (switch o select - case)
4. ARREGLOS DE DATOS
4.1 Definición
4.2 Arreglos unidimensionales
4.3 Arreglos bidimensionales
5. FUNCIONES
5.1 Concepto de función y procedimiento en programación
5.2 Llamada o invocación a una función
5.3 Parámetros
5.3.1 Parámetros por valor
5.3.2 Parámetros por referencia
5.4 Valor de retorno
6. ESTRUCTURAS DE DATOS
6.1 Lineales
6.1.1 Listas
6.1.2 Pilas
6.1.3 Colas
6.2 No lineales
6.2.1 Árboles
6.2.2 Grafos
7. ALGORITMOS
7.1 Definición de algoritmo
7.2 Formas de representar un algoritmo
7.3 Tipos de algoritmos
7.3.1 Algoritmos de ordenamiento
7.3.2 Algoritmos de búsqueda
8. ELEMENTOS BÁSICOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
8.1 Concepto de objeto
8.2 Anatomía de un objeto
8.3 Beneficios de la programación orientada a objetos
9. CLASES Y OBJETOS
9.1 Definición de una clase
9.2 Miembros de una clase
9.2.1 Propiedades o atributos
9.2.1.1 Métodos
9.2.1.2 Constructores y creación de objetos
9.2.1.3 Acceso a propiedades y métodos
9.2.1.4 Destructores
10. ENCAPSULAMIENTO
10.1 Modularidad
10.2 . Ocultamiento de la implementación
10.3 Protección de variables y métodos
10.3.1 Miembros privados
10.3.2 Miembros públicos
10.3.3 Miembros protegidos
11. HERENCIA
11.1 Jerarquía de clases
11.1.1 Clase raíz
11.1.2 Clase hoja
11.1.3 Subclases y superclases
11.2 Tipos de herencia
11.2.1 Herencia simple
11.2.2 Herencia múltiple
11.3 Herencia y modificadores de acceso
12. POLIMORFISMO
12.1 Sobrecarga
12.2 Sobrecarga paramétrica
12.3 Sobreescritura

PERFIL DE EGRESO

Los conocimientos adquiridos permitirán al participante solucionar problemas de distintos campos de aplicación, al crear algoritmos fácilmente traducibles a algún lenguaje de programación como herramienta de solución.

REQUISITOS ACADÉMICOS

Estudios mínimos de preparatoria o equivalente.

DURACIÓN

30 horas.

RECURSOS INFORMÁTICOS

BIBLIOGRAFÍA

Diciembre 2023