MATERIA:Introducción a Ciencias de la Computación I
CLAVE:COMP-220
SEMESTRE DE UBICACION:Segundo
AREA:Ciencias de la Computación
OBJETIVOS: Este curso introduce la metodología de diseño de software
utilizando para ello un lenguaje moderno de programación. Se introduce
a los estudiantes al proceso de diseño e implementación de un programa
que resuelva un problema algorítmico. Se cubren tipos de datos y se introducen
algunos métodos de búsqueda y ordenamiento para motivar los aspectos metodológicos.
Se cubren estructuras de control, tipos de datos y abstracción de procedimientos.
El curso introduce también la historia y el impacto social de la computación
y la naturaleza de la propiedad intelectual
TEMARIO:
- Conceptos fundamentales en métodos para la solución de problemas
- Abstracción de procedimientos; parámetros
- Estructuras de control: selecci6n, iteración, recursividad
- Tipos de datos (i.e. números, cadenas, booleanos) y sus usos en la solución de problemas
- El proceso de diseño de programas; desde la especificación hasta la instrumentación; refinamientos sucesivos; representación gráfica
- Introducción a un lenguaje de programación
- Declaración de tipos básicos
- Operadores aritméticos y de asignación
- Enunciados condicionales
- 4 Iteraciones y recursividad
- S Procedimientos, funciones y parámetros
- Arreglos y registros
- Estructura general de un programa
- Representación de datos a nivel de la máquina
- Representación de datos numéricos, esto es binario, octal, hexadecimal, punto fijo, complemento a 1 y a 2, con signo, punto flotante, decimal, BCD, XS3
- Representación de tipos de datos
- Selección y representación de tipos de datos elementales: enteros, reales, booleanos, carácter
- Especificación y representación de tipos de datos estructurados: arreglos, registros, conjuntos
- Algoritmos recursivos
- Introducción a algoritmos recursivos
- Conexión con la inducción matemática
- Comparación entre algoritmos recursivos e iterativos
- Búsquedas y Ordenamientos lineales
- Algoritmos de ordenamiento de selección e inserción en arreglos y a través de apuntadores, con asignación dinámica de memoria; complejidad en el tiempo y el espacio; mejor y peor casos
- Búsqueda lineal, búsqueda binaria y árboles binarios de búsqueda; complejidad en el tiempo y el espacio; mejor y peor casos
- Contexto histórico y social de la computación
- Contexto social e histórico de la computación
- Definición de su área de estudio y actividades profesionales
- Uso, mal uso y límites de la tecnología computacional
- Responsabilidades sociales (seguridad y privacía)
- Tipos de riesgos: errores latentes, seguridad, privacía, mal uso, etc
BIBLIOGRAFIA:
- Tucker, A.B.;Bernat, A.;Bradley, W.J.; Cupper, R.D.,Fundamentals Of Computing, I: Logic, Problem Solving, PrOgrams and Computers, Second Edition, McGraw-Hill 1994
- Warfords, S.J., Computer Science, D.C. Heath and company, 199l
BIBLIOGRAFIA COMPLEMENTARIA:
- Ledgard H. with Tauer J., Professional Software, Addison-Wesley Pubiishing Colnpany, 1987
- Ledgard H. with Tauer J., Professional Software, Programming Pracdce, VoL II, Addison-Wesley Publishing Company, 1987
- Naur, P., A Human Activity, ACM Press, Addison-Wesley Publishing Company, 1992
- Salmon, W. l., Structures And Abstractions, An Introductíon to Computer Science with Pascal, Richard D. lrwin, Inc., 1991
- Wamier, J. D., Logical Construction Of Systems, Ván Nostrand Reinhold Company, 1981
- Loren, H., Introduction To Computer Architecture And Organization, 2nd. Edition, John Wiley & Sons, inc., 1989
|