1. Fundamentos de P rogramación
Objetivo General:
Adquirir la fundamentación en computación y programación que permita comprender y utilizar
lenguajes de programación para la solución de problemas por medio de herramientas de cómputo.
Objetivos específicos:
• Aplicar las destrezas adquiridas en los niveles básicos para la solución de problemas de ingeniería.
• Conocer, comprender y emplear técnicas de programación modular, estructurada y orientada a
objetos.
• Utilizar adecuadamente por lo menos un lenguaje de programación, así como los elementos y
herramientas utilizadas en el desarrollo de software.
Metodología:
67% Clase magistral
33% Clase práctica
Evaluación:
4 Parciales de 16% c/u. El cuarto parcial es igual para todos los grupos
Trabajo final 16% Igual para todos los grupos
10% Seguimiento
10% 12 Practicas (1-2-3 =1% 4-5-6=2% 7-8-9=3% 10-11-12= 4%)
Programa detallado por semanas:
Semana 1: CAP I : Fundamentación
• Funcionamiento del computador y partes de un computador
• Hardware y Software
• Componentes: CPU, I/O, Almacenamiento (volátil, no volátil) , como se mide la memoria((bits,
nibbles, bytes, words, KB, MB,GB) y sus tipos (principal y secundaria)
• ¿Cómo es manipulada, almacenada y procesada la información?
• Sistemas operativos. Definición y ejemplos
Semana 2:
• Qué es información
• Concepto de programa
• Concepto de Lenguaje
• Intérpretes, compiladores, alto y bajo nivel
• Sistemas numéricos: Conversiones entre bases.
• Tipos de datos: Representación en Binario de boolenos, caracteres (ASCII) , enteros (con signo) y
lo básico de reales) cadenas
Semana 3:
• Concepto Variables y constantes en C
• Representación de Algoritmos (Pseudodigo y sus reglas)
• Bloques de proceso (ámbito de una variable)
• Estructura genérica de un programa (Entradas, Procesamiento, Salidas)
• Programas básicos en C con Entradas y salidas (calculo de áreas)
• Definición de más operadores y tipos de operadores
• Prioridad o Precedencia
• Definición de punteros, ejemplo simple y su futuro uso.
2. Semana 4: CAP II: Programación modular
• Modularidad aplicada a la programación
• Procedimientos y funciones representación
Semana 5:
• Argumentos por valor y por referencia
• Programas básicos en C con Entradas y salidas (calculo de áreas) Todo en Funciones con paso por
valor y paso por dirección.
• Retorno de valor/dirección
Semana 6: CAP III: Conceptos de programación estructurada
• Representación de Algoritmos (Diagramas de Flujo)
• Bloques de programación estructurada y simbólica
• Condicionales y sus tipos en Pseudocodigo, Diagrama de Flujo y C.
Semana 7:
• Condicional múltiple
• Ciclos
• Análisis de escritorio
• Ciclos Anidados
• Contadores, Acomuladores y banderas (Flag)
Semana 8:
• Ciclos condicionales
• Ejemplos de problemas con condicionales y ciclos
• Instrucciones que alteran el flujo del programa.
Semana 9:
• Instanciamiento estático y dinámico (vectores y matrices )
• Memoria Dinámica y relación arreglo-puntero
Semana 10: CAP. III: Algoritmos especiales
• Algoritmos sencillos de ordenamiento , búsqueda de mayor.
• Algoritmos básicos de compresión.
Semana 11:
• Cadenas
• Librerías para el manejo de caracteres (ctype.h)
• Librerías para el manejo de cadenas (string.h)
• Librerías. Ejemplos: Matemáticas, Entrada/Salida.
Semana 12:
• Estructuras de datos
• Manejo de estructuras con punteros
Semana 13:
• Manejo de Archivos en C. (Texto y Binario)
• Librerías de Entrada y salida por archivos.
Semana 14: CAP V: Introducción a la Programación Orientada a Objetos
• Conceptos básicos de programación orientada a objetos (OOP)
• Definición de Objetos
3. Semana 15:
• Instanciamiento estático y dinámico de objetos
• Introducción a los Lenguajes visuales
Bibliografía:
BOWMAN, CHARLES F.. Algotithms and Data Structure An Approach in C. Oxford. 1994
DEITEL, H.M. Y DEITEL, P.J. C++ Cómo Programar. Prentice Hall. 2Da Ed. 1999
JOYANES, LUIS. Fundamentos de Programación. Algoritmos y Estructuras de Datos. McGraw-
Hill. 1992
MURRAY, William and PAPPAS, Chris. ZD Press. 1995. C/C++ Programmer’s Guide.
SCHILDT, HERBERT. Turbo C/C++ Manual de Referencia. McGraw Hill. 1992
corymbus.upb.edu.co/aospina