UNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGÍA PLAN GLOBAL COMPUTACION I I. DATOS DE IDENTIFICACIÓN Nombre de la materia: Computación I Código: 2010008 Grupo: 2 Carga horaria: 4 Docencia y 2 Ayudantia Materias con las que se relaciona: Matemática Computacional Docente: Lic. Hernan Ustariz V. Teléfono: 4233719-76419977 Correo Electrónico: hustariz@cs.umss.edu.bo II. JUSTIFICACIÓN Con el avance de la tecnología Informática, que permite la aplicación de la computación en casi todas las ramas, los conocimientos de computación son imprescindibles para el estudiante de colegio o universidad. Solo pensar en internet, que desde un computador instalado en cualquier lugar del mundo pero conectado en la red, nos permite obtener en cuestión de segundos, información actualizada de las mejores bibliotecas (virtuales) del mundo, sobre cualquier área o rama de nuestro interés. Tener conocimientos de programación es también imprescindible para cualquier estudiante de ciencias o ingeniería, ya que le permitirá durante su carrera aplicar estos sus conocimientos en el desarrollo de muchas de sus prácticas, practicas que requieran el uso de computador y programas, o al menos entender lo que hace un programa. En resumen, la materia es importante porque introduce al estudiante en su área de estudio y porque programación será lo primero que debe aprender y porque programar es lo que hará la mayor parte de su carrera y también en su vida profesional, en mayor o menor grado. 1
III. OBJETIVOS El estudiante al terminar el semestre será capaz de: Aplicar soluciones bajo el paradigma de programación imperativa, en el diseño de sus programas. Aplicar estructuras de control apropiadas en el diseño de sus programas. Aplicar estructuras de datos apropiados en el diseño de sus programas. Aplicar sub-programas (funciones o procedimientos) en el diseño de sus programas. Aplicar herramientas de programación como pseudo-código en el diseño de sus programas. Programar soluciones a los problemas propuestos utilizando un lenguaje de programación Practicar en laboratorio ejecutando en el computador sus programas desarrollados Desarrollar lógica de programación como fase culminante de su aprendizaje en el tema de programación. IV. SELECCIÓN Y ORGANIZACIÓN DE CONTENIDOS UNIDAD 1: Conceptos básicos de programación Objetivo de la Unidad CACAPI Identificar los componentes de un computador Diferenciar lo que son el interprete y el compilador Diferenciar los lenguajes de programación de alto y de bajo nivel. Resolver problemas pequeños de forma correcta, aplicando la herramienta de programación algoritmos Aplicar principios de programación en la resolución de los problemas Aplicar correctamente la prueba de escritorio en sus soluciones a fin de verificar la correctitud del programa. 1.1 Introducción a la computación: Componentes de una computadora. Hardware/Software. Lenguajes de alto nivel y bajo nivel. Concepto de Intérprete y Compilador. 1.2 Algoritmos: conceptos, características, ejemplos y pruebas de escritorio. 1.3 Principios de programación: Variables, Constantes, Expresiones, Operadores, Prioridad de operadores y Comentarios. 2
UNIDAD 2: Estructuras de Control Objetivo de la Unidad Aplicar la herramienta de programación llamada pseudo código en la resolución de los problemas y en todas las estructuras de control. Aplicar estructuras de control condicionales y/o repetitivas en el diseño de sus programas. Distinguir situaciones en las que se deben aplicar estructuras de control condicionales simples, completas, múltiples o anidadas, en el diseño de sus programas (Si Entonces Sino-FinSi If-Then-Else). Identificar situaciones en las cuales se deben aplicar estructuras iterativas (repetitivas), en problemas en los que el numero de veces que se repite un proceso es conocido (Para-FinPara o For). Identificar situaciones en las cuales se deben aplicar estructuras iterativas (repetitivas), en problemas en los que el numero de veces que se repite un proceso es desconocido, solo se sabe que se da una condición de terminación (Mientras-FinMientras o While). Diferenciar situaciones en las que se debe aplicar estructuras de control repetitivas con límite conocido o desconocido (para/ mientras o también for/ while), en el diseño de los programas. Aplicar correctamente la prueba de escritorio en sus soluciones a fin de verificar la correctitud del programa. 2.1 Pseudo-código: Estructura de un programa. Asignación, contador y acumulador. Entradas/salidas de datos en un programa. 2.2 Pseudo-código: Estructuras de control condicionales o de selección. La sentencia Si-Entonces-Sino (if-then-else). Orden de ejecución de una estructura de selección. Estructuras de selección simple o selección doble. Estructuras de selección anidadas. Estructuras de selección múltiple caso/switch. Resolución de problemas. 2.3 Pseudo-código: Estructuras de control iterativas o repetitivas. Iteración con límite conocido o dado en el programa. Sentencia para/for - Orden de ejecución de la sentencia. Iteración con límite desconocido o determinado por el usuario. Sentencia Mientras/while - Orden de ejecución de la sentencia. Sentencia hacermientras/do-while - Orden de ejecución de la sentencia. Resolución de problemas 3
Objetivo de la Unidad UNIDAD 3: Sub-Programas Conocer el concepto de sub-programa y los tipos existentes (funciones y procedimientos) Distinguir la aplicación de funciones o procedimientos en el diseño de sus programas Aplicar apropiadamente el uso de parámetros formales en su correspondencia con los parámetros actuales en el diseño de sus programas. Aplicar estrategias de división de un problema en problemas pequeños para el uso de sub-programas, durante el diseño de sus programas Determinar entradas y salidas de un sub-programa Aplicar el uso de variables globales y variables locales en un programa. 3.1 Definición. 3.2 Funciones y procedimientos. 3.3 Parámetros formales y actuales. 3.4 Variables globales y variables locales. 3.5 Entradas y Salidas de un subproceso. 3.6 Estrategias de división: dividir para conquistar, refinamiento sucesivo. UNIDAD 4: Estructuras de datos básicas Objetivo de la Unidad Aplicar el concepto de colección de datos en el diseño de sus programas. Aplicar las estructuras de datos arreglos (vectores o matrices) en el diseño de sus programas, adecuadamente. Usar el lenguaje Visual Basic. Aplicar la estructura de datos cadena en el diseño de sus programas. Usar las funciones provistas por el lenguaje de programación VISUAL BASIC en este caso), para el manejo de las cadenas. 4.1 Arreglos(vector-matriz): Concepto de Arreglo. Acceso a un elemento específico de un vector. Recorrido de los elementos de un vector. Técnicas de búsqueda de elementos del vector. Métodos de ordenamiento de elementos del vector. Matrices. Acceso a elementos de una matriz. Recorridos en matrices. Matrices cuadradas, rectangulares y triangulares. Resolución de problemas aplicando arreglos. 4.2 Cadenas: Operaciones con Cadenas. Cadenas como vectores. Vectores de cadenas. Manejo de funciones de cadenas en Visual Basic. Resolución de problemas aplicando cadenas. 4
Objetivo de la Unidad UNIDAD 5: Archivo (Persistencia de Datos) Aplicar el concepto de persistencia sobre los datos que maneja su programa usando el lenguaje de programación Visual Basic. Diferenciar los tipos de archivos, correctamente. Aplicar apropiadamente formas de creación (escritura) de archivos, a problemas planteados. Aplicar apropiadamente formas de recuperación (lectura) de archivos, a problemas planteados. Obtener datos persistentes para procesos de actualización (leer, escribir o modificar) por otros programas. 5.1 Definición de archivo, registro y campo. Tipos de Archivos: binario y texto. 5.2 Operaciones sobre archivos: lectura, escritura y actualización de archivos. 5.3 Resolución de problemas aplicando archivos. Resolución de problemas aplicando vectores, cadenas y archivos. V. METODOLOGIAS Exposición dialogada que se realizará con la ayuda de ejemplos relativos al tema correspondiente. Resolución de ejercicios y problemas para que el alumno adquiera destreza en el manejo de los conceptos involucrados en los temas mencionados. Planteamiento de ejercicios y problemas Adicionalmente se les asignan prácticas para que resuelvan en computadora. 5
VI. CRONOGRAMA O DURACIÓN EN PERIODOS ACADÉMICOS POR UNIDAD UNIDAD DURACIÓN (HORAS ACADEMICAS) DURACIÓN EN SEMANAS Conceptos básicos de programación 12 3 Estructuras de Control 16 4 Sub-Programas 8 2 Estructuras de datos básicas 16 4 Archivos (Persistencia de Datos) 12 3 VII. CRITERIOS DE EVALUACIÓN Evaluación diagnóstica.- Al inicio del semestre Evaluación formativa.- Con repasos y trabajos en el transcurso del cuatrimestre. Evaluación sumativa.- Con 2 exámenes parciales, 1 examen final. 6
VIII. BIBLIOGRAFÍA Pagina web: http://167.157.26.166/~programacion/web_aulico/index.htm Abierto a todos los que deseen estudiar las primeras 3 unidades de la materia. Curso Virtual: http://enlinea.umss.edu.bo/moodle/ Abierto solo a los inscritos en la materia y grupo, con contenido de las 5 unidades de la materia. 1. Domingo Sanchez G. Pilar Gomez G. Programación en Pascal a través del SeudoCódigo, Cap. 1. McGraw-Hill, 1987. 2. Eduardo Raffo Lecca. análisis y Diseño de Algoritmos. 3. Luis Joyanes Aguilar. Introducción a la Programación, algoritmos y estructura de datos. McGraw-Hill, 1996 http://enlinea.umss.edu.bo/moodle/file.php?file=/394/vbasic60.pdf http://enlinea.umss.edu.bo/moodle/file.php?file=/394/vbasicmanual.pdf http://www.wiphala.net/research/manual/vb/manual_visual_basic_internet_4.pdf http://www.abcdatos.com/tutoriales/tutorial/l2524.html 7