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)
|
|
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
- Algún compilador o intérprete (Algol, Visual Basic, C, Cobol, Fortran, Pascal, PHP, etcétera)
- Un editor de texto plano.
BIBLIOGRAFÍA
- González Bustamante, Oscar Alejandro. Introducción a la PROGRAMACIÓN. Guías y Textos de Cómputo. DGSCA
– UNAM, 2007.
- Joyanes Aguilar, L. Fundamentos de Programación: Algoritmos, estructura de datos y objetos, 3ª edición.
McGraw-Hill, 2003.
- Joyanes Aguilar, L., Rodríguez, L., Fernández, M. Fundamentos de Programación: Algoritmos, estructura de
datos y objetos. Libro de problemas, 2ª edición. McGraw-Hill, 2003.
- Louden, Kenneth C. Lenguajes de Programación. México: International Thomson Editores, S.A. de C.V.,
2004.
- Joyanes Aguilar, Luis, Rodríguez Baena, Luis, Fernández Azuela, Matilde. Fundamentos de
Programación–Libro de Problemas. España: Mc Graw-Hill/Interamericana de España, S.A., 1996.
- Cairo Battistutti, Osvaldo. Metodología de la Programación: Algoritmos, Diagramas de flujo y Programas.
México: Computec-Alfaomega Grupo Editor, S.A. de C.V., 1995.
- Vera Badillo, Fernando. Computadoras y Programación de Algoritmos. México: Universidad La Salle, 1994.
Diciembre 2023