Fundamentos de Programación

Anuncio
Fundamentos de Programación
Mayo 2013
Carreras
Clave de Asignatura
Descripción de Asignatura
Créditos
Pre-requisito
Ingenierías
INS-204
Fundamentos de programación
5 Créditos
CBM-103 (Cálculo Diferencial)
Objetivo primarios
Proveer al estudiante con una sólida base en la solución de problemas comunes de ingeniería, utilizando el computador como herramienta, a través de un
proceso formal de análisis y formulación algorítmica de las soluciones, dejándolas listas para su codificación en un lenguaje orientado a objetos.
Otros objetivos
Describir algoritmo, su estructura, elementos, propiedades.
Dominar uso de las notaciones algorítmicas más utilizadas: Diagramas de flujo y pseudocódigo.
Diseñar algoritmos de nivel medio de dificultad.
Aplicar buenas prácticas de programación a la solución de problemas.
Discriminar la representación en memoria de estructuras de datos elementales.
Discriminar recursión e iteración y cuando aplicar una u otra.
Habilidades y Contenidos
Semana 1
Algoritmo y notaciones algorítmicas
Habilidades:
Justificar utilización de computadoras digitales en ingeniería. Discriminar algoritmo como conjunto de pasos explícitos para resolver un problema.
Discriminar notaciones algorítmicas: Flujogramas y pseudocódigos. Discriminar entrada, salida, proceso, memoria, valores, tipos, rangos. Discriminar
secuencia, asignación, escritura, lectura. Discriminar algoritmos numéricos y semi-numéricos.
Contenidos:
Computadora digital. Lenguaje de programación. Lenguaje procedural. Lenguaje declarativo. Compilador. Interprete. Programa. Programa fuente.
Programa objeto. Instrucciones. Secuencia. Asignación. Escritura. Lectura. Flujograma: Inicio, Fin, Asignación, Cálculo, Proceso, Escritura, Variable
(escalar), Lectura. Pseudocódigo: Algoritmo, cuerpo, Asignación, Escritura, Variable escalar, Lectura.
Semana 2
Estructura, elementos y propiedades de un algoritmo
Habilidad:
Describir estructura, elementos y propiedades de un algoritmo.
Contenido:
Estructura: Cabecera, Inicialización, Proceso, Salida, Pie. Instrucciones (macro): Secuenciales (Comentario, Asignación, Escritura, Lectura, Invocación),
Selectivas (Si, Case), Reiterativas (Para, Mientras), Modulares (Aceptación, Retorno). Cláusulas. Elementos (micro): Valores (constantes, variables),
tipos (enteros, reales, alfanuméricos), Identificadores (reglas), Expresiones (Aritméticas, Relacionales, Booleanas), Operadores (Aritméticos,
Relacionales, Booleanos). Propiedades (Criterios): Finitud, Inambigüedad, Generalidad, Especificidad, Encapsulación. Computadora elemental: Entrada,
Procesador, Memoria, Salida.
Semanas 3-4
Pasos para resolución de problemas computacionales y Selección
Habilidades:
Describir pasos para resolver un problema computacional. Dominar estructuras de control selectivas para lidiar con múltiples opciones.
Contenidos:
Pasos: Análisis, Diseño, Codificación, Compilación, Ejecución, Prueba, Depuración, Documentación, Distribución, Mantenimiento. Estructuras de control
selectivas: Si (Simple, Compuesto, con Sino, Anidado, Escalonado), Case (Variable de control, Casos, Caso por misión).
Semanas 5-7
Implementación de algoritmos y Reiteración
Habilidades:
Dominar buenas prácticas de programación en la resolución de problemas. Dominar estructuras de control repetitivas para manejar procesos intensivos.
Contenidos:
Buenas prácticas: Identificadores alusivos (variables, subrutinas). Documentación (Declaración variables, bloques de código). Ciclos. Arreglos.
Subrutinas. Registros. Ciclos: for (Contador), while (condición), do-while (condición).
Semana 8-9
Subrutinas y encapsulación
Habilidad:
Dominar funciones para abordar problemas de mayor complejidad.
Contenido:
Reglas de ámbito de una función, Tipo. Función: Declaración (prototipo, parámetros), Invocación, Detalle. Parámetros: Paso por valor, Paso por
referencia (escalares, vectores, tablas).
Temas complementarios:
Estructuras de datos. Archivos de datos. Gráficos. Recursividad.
Soporte:
[email protected]; intec virtual; ideone.com; projecteuler.net; spoj.pl; ecabrera.wordpress.com.
Texto, Luis Joyanes, Fundamentos de Programación, 3ra edición.
Descargar