324 2007-1

11
UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADEMICO SUBPROGRAMA DE DISEÑO ACADÉMICO AREA: INGENIERÍA / CARRERA: INGENIERÍA DE SISTEMAS Nivel Central Caracas, Octubre 2006 PLAN DE CURSO I. Identificación: Nombre: COMPUTACIÓN II Código: 324 U.C: 4 Carrera: Ingeniería de sistemas Código: 236 Semestre: III Prelaciones: Computación I (323) Requisito: Ninguno Autor: Lic. María Eugenia Mazzei (especialista de contenido) Teléfono: (0212) - 5552376 Correo electrónico: [email protected] Asesores: Lic. Carmen Velásquez (Evaluadora de la carrera) Ing. Judit Carvallo (Coordinadora de la carrera) Dra. Egleé Arellano (Diseñadora de instrucción)

description

u.n.a.

Transcript of 324 2007-1

Page 1: 324 2007-1

UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADEMICO SUBPROGRAMA DE DISEÑO ACADÉMICO AREA: INGENIERÍA / CARRERA: INGENIERÍA DE

SISTEMAS

Nivel Central Caracas, Octubre 2006

PLAN DE CURSO

I. Identificación: Nombre: COMPUTACIÓN II Código: 324 U.C: 4 Carrera: Ingeniería de sistemas Código: 236 Semestre: III Prelaciones: Computación I (323) Requisito: Ninguno Autor: Lic. María Eugenia Mazzei (especialista de contenido) Teléfono: (0212) - 5552376 Correo electrónico: [email protected] Asesores: Lic. Carmen Velásquez (Evaluadora de la carrera) Ing. Judit Carvallo (Coordinadora de la carrera) Dra. Egleé Arellano (Diseñadora de instrucción)

Page 2: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

2

II. FUNDAMENTACIÓN El curso Computación II se centra en el estudio y aplicación de las diferentes estructuras de datos, conjuntamente con el diseño e implementación de los algoritmos apropiados para tratarlas. Bajo el enfoque actual, las estructuras de datos se conciben como colecciones de datos, sobre los cuales se pueden definir operaciones. Es nuestro interés proporcionar un enfoque actualizado del curso en este nivel de la carrera, que sirva de punto de partida para el desarrollo de habilidades relacionadas con el diseño de algoritmos empleando estructuras de datos apropiadas, con una visión hacia la programación orientada a objetos.

El desarrollo de destrezas para el diseño de soluciones sencillas y su implantación en el computador, con el diseño adecuado de las estructuras de datos, sólo se logra a través de la ejercitación, sin olvidar la comprensión de los conceptos, de ahí la naturaleza teórico-práctica de la asignatura. La asignatura Computación II se ubica dentro de las asignaturas básicas del ingeniero de sistemas y su asimilación es fundamental para el buen desempeño en gran parte de las asignaturas de la carrera, en donde el estudiante deberá implementar programas, de allí su carácter obligatorio. Por otra parte fomenta el desarrollo de la lógica y la realización de acciones coherentes, indispensables para el diseño e implementación de programas en computadores; esto jugará un papel muy importante en la formación del futuro ingeniero.

El dinamismo con el que se mueve el conocimiento en el campo de la Computación ha sido determinante en la selección del material instruccional para este curso. En este sentido se considera conveniente proponer el empleo de libros producidos por editoriales del mercado, que complementados con guías adecuadas, fomenten el fortalecimiento y la actualización de los conocimientos. Tomando en consideración estos elementos, se diseñó el siguiente paquete instruccional:

- El libro: Estructuras de Datos: Algoritmos, abstracción y objetos, de Joyanes L. y Zahonero I., Editorial Mc. Graw Hill. La selección de

Page 3: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

3

este libro está basada en criterios de actualidad, presentación, abundancia de ejemplos y disponibilidad.

Como texto alternativo se recomienda el siguiente libro: Estructuras de Datos y Algoritmos, de Aho A. V., Hopcroft J. E. y de Ullman J. D., Addison Wesley Longman.

- Un Material Instruccional de Apoyo UNA, que servirá de directriz para el empleo adecuado del libro.

- Un paquete de software de programación para la implementación de los

programas en el lenguaje PASCAL.

- Referencias a páginas WEB y cursos WEB que tendrán el efecto de enriquecer los conocimientos adquiridos.

Page 4: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

4

III. PLAN DE EVALUACION

MODALIDAD OBJETIVOS CONTENIDO

PRIMERA INTEGRAL 1,2 y 3

MÓDULOS: I y II UNIDADES: 1,2

y 3

SEGUNDA INTEGRAL

1,2 y 3 MÓDULOS: I y II UNIDADES: 1,2

y 3

Orientaciones Generales

• Las pruebas son de modalidad presencial y de desarrollo. • Ponderación de los objetivos: La ponderación consiste en la

asignación de pesos a los objetivos evaluables de la asignatura, de acuerdo a la importancia y/o complejidad que tienen. La escala de ponderación de esta asignatura es de 1 a 10 puntos. Esta ponderación está determinada por la incidencia de los objetivos evaluables en: el perfil de la carrera, el objetivo terminal de la asignatura y los objetivos terminales de las asignaturas sobre las que existe prelación.

• El logro de los objetivos N° 4,5 y 6, correspondientes a la realización del trabajo práctico, es requisito obligatorio para aprobar la asignatura.

• Las especificaciones del trabajo práctico se publican la primera semana de presentación de las pruebas El estudiante consignará el trabajo resuelto con la segunda prueba integral.

TRABAJO PRÁCTICO

4,5 y 6 4,5 y 6

M U O OBJETIVOS I

1

1

Elaborar un TAD(Tipo Abstracto de Datos) para representar un dato particular.

2 2 Codificar en lenguaje de programación un algoritmo, empleando el TAD Lista Enlazada, Pila o Cola para la resolución de un problema que requiera el empleo de estructuras lineales de datos.

II 3 3 Codificar algoritmos en lenguaje de programación, empleando la estructura de árbol y la técnica adecuada para la resolución de problemas específicos.

4 4 Codificar algoritmos en lenguaje de programación, empleando la estructura de grafo para la resolución de problemas específicos.

III 5 5 Codificar algoritmos de Ordenación en lenguaje de programación, para la resolución de problemas específicos. 6 6 Codificar algoritmos de Búsqueda en lenguaje de programación, para la resolución de problemas específicos.

Objetivo 1 2 3 4 5 6 Peso 4 4 4 5 5 5

Peso máximo: 27 puntos Criterio de dominio académico: 19 puntos

Page 5: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

5

IV. DISEÑO DE LA INSTRUCCIÓN DEL CURSO

Objetivo Contenido 1

La abstracción. Modularidad. Tipos abstractos de datos. Uso de tipos de datos y estructuras de datos fundamentales: cadenas, arreglos simples y multidimensionales, registros y conjuntos, punteros o apuntadores. Orientación a objetos: conceptos.

2 Especificación formal del TAD Lista. Implementación del TAD Lista con estructuras dinámicas. Operaciones. Aplicaciones. Listas doblemente enlazadas. Listas circulares. Especificación formal del TAD Pila. Implementación de Pilas con Arreglos. Implementación de Pilas con variables dinámicas. Operaciones Aplicaciones.Especificación formal del TAD Cola y Dipolo o Bicola. Implementación del TAD Cola o Dipolo con estructuras estáticas y/o dinámicas. Operaciones. Aplicaciones.

3 Recursividad: Concepto. Utilidad. Algoritmos típicos. Implementación de procedimientos recursivos. Concepto de árbol binario. Árboles de Expresión. Construcción. Recorrido. Aplicaciones. Árbol binario de búsqueda. Operaciones.

4 Concepto de grafo. Representación del TAD grafo. Matriz de caminos. Algoritmos fundamentales con grafos. Aplicaciones

5 Ordenación. Algoritmo de Burbuja. Algoritmo de Inserción. Algoritmo Shell. Algoritmo Quicksort. Algoritmo Heapsort. Otros

6 Búsqueda. Búsqueda Lineal. Búsqueda Binaria. Hashing. Función de Hashing

Objetivo del curso: Codificar algoritmos con sentido lógico y coherente, utilizando las estructuras de datos apropiadas, así como los métodos de

clasificación y búsqueda, aplicados a la resolución de problemas específicos.

Page 6: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

6

ORIENTACIONES GENERALES

• Los textos recomendados para este curso, están disponibles en la Biblioteca del Centro Local, como Servicio de Préstamo en Sala y Préstamo Circulante.

• El Material Instruccional de Apoyo (MIA) lo entregarán en el almacén del Centro Local, previa presentación del

comprobante de inscripción de la asignatura. • Las especificaciones del Trabajo Práctico se suministrarán al estudiante a partir de la primera semana de

presentación de pruebas, a través de la red: http://www.ciberesquina.una.edu.ve • El software requerido para realizar el trabajo está disponible en el Laboratorio de Computación del centro local.

• Lea las instrucciones que aparecen en el M.I.A.

• Realice los ejercicios propuestos en cada unidad, en el Material de Apoyo. • Implemente algoritmos en lenguaje de programación. Introduzca diferentes datos, para probar su algoritmo. Analice

los resultados.

• Consulte en la dirección electrónica indicada, referenciada en la unidad del MIA. Si no se hacen referencias específicas, se recomienda buscar el tema en Internet, empleando un buscador.

• Ante cualquier duda consulte con su asesor en su Centro Local. •

Page 7: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

7

OBJETIVO ESTRATEGIAS INSTRUCCIONALES ESTRATEGIAS DE EVALUACIÓN

1

• Lea en el libro I, el capítulo: “Ingeniería de Software: introducción a la

metodología de construcción de grandes programas”. Este capítulo presenta de manera general los principios fundamentales de la Ingeniería de Software, los cuales están dirigidos hacia el buen diseño de programas. Este enfoque permitirá al estudiante comprender la utilidad del correcto desarrollo del Software, sin importar el lenguaje empleado. Si utiliza el texto II, lea el capítulo: “Diseño y Análisis de Algoritmos”.

• Repase las instrucciones que se requieren para declarar los tipos de datos en el lenguaje de programación PASCAL.

• Estudie los capítulos del libro I “Abstracción de datos y objetos” y “Estructuras de datos dinámicas”. Si utiliza el libro II, estudie la sección sobre los tipos abstractos de datos.

Se presentarán situaciones, en donde el estudiante deberá elaborar un TAD para representar un tipo de datos, empleando el lenguaje de programación. Procedimiento: Se valorará la correcta elaboración de un TAD apropiado a la situación.

Instrumento: La realización de este ejercicio formará parte de una prueba presencial de desarrollo. Momento: Primera y segunda prueba integral.

2 • Los temas a estudiar en esta unidad resultan muy intuitivos. Es fácil observar en la vida real, series de objetos enlazados, la formación de colas: de personas, de trabajos y de objetos en general. Igualmente es frecuente acumular pilas de papeles o documentos, en donde el elemento que está en la cima de las mismas es el de más reciente colocación. Piense en agrupaciones de este tipo y cómo operarlas.

• Lea el capítulo del libro I: “Estructuras de Datos Dinámicas: punteros”. Si utiliza el texto II, lea la sección sobre apuntadores y cursores.

• Realice los ejemplos presentados y los ejercicios. Como recurso de apoyo para la resolución de los ejercicios, utilice representaciones gráficas de las variables tipo puntero. La comprensión de este capítulo servirá de base para el aprendizaje de los capítulos que siguen.

• Estudie en el libro I, los capítulos: “Listas enlazadas” y “Listas doblemente enlazadas”, la estructura LISTA o en el libro II, las secciones sobre “El tipo de datos abstracto LISTA” y “Realización de listas”. Si utiliza el texto II, lea las secciones sobre LISTAS y Realización de LISTAS.

• Estudie el capítulo del libro I titulado: “Pilas”, la estructura PILA o en el libro II, las secciones relacionadas con PILAS.

• Estudie el capítulo del libro titulado: “Colas y colas de prioridades: el TAD COLA”, o el libro II, las secciones relacionadas con COLAS.

Se plantearán situaciones prácticas que requieran una solución algorítmica empleando estructuras de datos lineales, previa definición de las mismas. Procedimiento: Se valorará la correcta elaboración de un TAD Lista o Pila o Cola, así como el algoritmo ajustado a la situación, en términos de su eficacia. Instrumento: La realización de este ejercicio formará parte de una prueba presencial de desarrollo. Momento: Primera y Segunda prueba integral.

Page 8: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

8

3 • Un objeto recursivo es aquel que forma parte de sí mismo. En la vida real existen objetos recursivos. Halle ejemplos de objetos que puedan considerarse así.

• Estudie el capítulo del libro I: “La herramienta de la recursividad”. Si utiliza el texto II, estudie los procedimientos recursivos.

• Estudie el capítulo del libro I: “ Árboles binarios” .Si utiliza el texto II estudie el capítulo sobre el TDA ARBOL y Árboles Binarios.

• Implemente algoritmos en lenguaje de programación que puedan realizarse empleando recursividad. Compare con soluciones en donde emplee la iteración. Emplee el paquete de Software para probar estos algoritmos.

• Implemente algoritmos recursivos, en lenguaje de programación, relacionados con la estructura ARBOL binario. Observe la utilidad de emplear algoritmos recursivos para operar con un árbol. Emplee el paquete de Software para probar estos algoritmos.

• Investigue ejemplos de la vida real que puedan representarse como árboles. Intente operar sobre ellos, por ejemplo insertando o eliminando nodos.

Se plantearán situaciones prácticas que requieran una solución algorítmica empleando estructuras de datos tipo ÁRBOL, previa definición de las mismas. Procedimiento: Se valorará la correcta elaboración de la estructura de datos, así como el algoritmo ajustado a la situación, en términos de su eficacia. En cualquiera de las situaciones que se planteen de aquí en adelante se exigirá eventualmente una solución algorítmica recursiva. Instrumento: La realización de este ejercicio formará parte de una prueba presencial de desarrollo. Momento: Primera y Segunda prueba integral

4 • Es frecuente representar objetos que tienen múltiples relaciones con otros. Los grafos son abstracciones de estas relaciones y tienen gran aplicabilidad en diversos campos. Los modelos de rutas, las redes de comunicaciones, los circuitos eléctricos, las relaciones entre individuos, son ejemplos, en donde los elementos se representan por puntos y sus relaciones por arcos. Piense en situaciones de este tipo y represéntelas como indicamos. Lo que resulta es un grafo. Su representación en el computador es muy intuitiva, como Ud. lo constatará al estudiar el material instruccional.

• Estudie en el libro I el capítulo del libro “Grafos. Representación y operaciones”, la estructura GRAFO. Si utiliza el texto II, estudie los “GRAFOS dirigidos y no dirigidos, representación”

• Investigue ejemplos de la vida real que puedan representarse como grafos.

Producto: Implantación de un programa a través del computador. Se valorará el correcto diseño del programa así como la eficacia y la eficiencia del mismo. Instrumento: Trabajo práctico. Momento: Las especificaciones sobre la realización del trabajo práctico se entregan en la primera semana de aplicación de pruebas. El estudiante consignará el trabajo realizado con la segunda prueba integral.

Page 9: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

9

5 • Uno de los procesos más utilizados cuando se opera con grupos de elementos

en el computador es la ordenación de los mismos de acuerdo a una clave. Constantemente requerimos ordenar ascendentemente o descendentemente un conjunto de elementos para presentar la información organizada. El estudio de los algoritmos fundamentales de ordenación proporciona destrezas en la elaboración de los algoritmos que pretenden resolver situaciones específicas.

• Estudie en el capítulo del libro I, titulado “Ordenación, búsqueda y mezcla” todas las secciones relacionadas con la ordenación. Si utiliza el texto II estudie el capítulo sobre Clasificación.

• Realice comparaciones de los algoritmos estudiados en término de su eficiencia.

Producto: Implantación de un programa a través del computador. Se plantearán situaciones prácticas que requieran una solución empleando al menos un método de ordenación, a través de un programa. Procedimiento: Se valorará el correcto diseño del programa así como la eficacia y la eficiencia del mismo. Instrumento: Trabajo práctico. Momento: Las especificaciones sobre la realización del trabajo práctico se entregan en la primera semana de aplicación de pruebas. El estudiante consignará el trabajo realizado con la segunda prueba integral.

6 • Cuando tenemos un conjunto de elementos ordenados, en muchas ocasiones

necesitamos localizar alguno de ellos, por ejemplo buscar un número de cédula de identidad dentro de una lista ordenada para conocer el nombre asociado u otros datos. El estudio de los algoritmos que conforman esta unidad resultan igualmente fáciles de comprender, debido a la similitud que existe entre ellos y la realidad.

• Estudie en el capítulo del libro I titulado “Ordenación, búsqueda y mezcla”, todas las secciones relacionadas con la búsqueda y en el capítulo del libro I titulado “Tratamiento de Archivos de Datos” lo referente a Hashing. Si utiliza el texto II, estudie la sección del libro sobre árboles binarios de búsqueda, Métodos de Dispersión o Hashing.

• Realice comparaciones de los algoritmos estudiados en término de su eficiencia.

Producto: Implantación de un programa a través del computador. Se plantearán situaciones prácticas que requieran una solución empleando al menos un método de búsqueda, a través de un programa. Procedimiento: Se valorará el correcto diseño del programa así como la eficacia y la eficiencia del mismo. Instrumento: Trabajo práctico Momento: Las especificaciones se entregan la primera semana de aplicación de pruebas. El estudiante entregará el trabajo resuelto con la segunda prueba integral.

Page 10: 324 2007-1

Plan de curso Computación II - Elaborado por Prof.. María E. Mazzei. – UNA 2006

10

V. BIBLIOGRAFÍA

Obligatoria

Joyanes, L., y Zahonero, I. (1998). Estructuras de Datos: Algoritmos, abstracción y objetos. Madrid. Mc. Graw Hill.

Complementaria

Aho, A., Hopcroft, J. E., y Ullman, J. D. (1998). Estructuras de datos y algoritmos. México.

Addison Wesley Longman. Cairó, O., y Guadarti, S. (2001). Estructuras de Datos. México. Mc Graw Hill. Joyanes, L. (2003). Fundamentos de Programación. Madrid. Mc Graw Hill. Kolman, B., Busby, R. C. y Ross, S. (1997). Estructuras de Matemáticas Discretas para la

Computación. México. Prentice-Hall Hispanoamericana S.A. Ruiz, A., y Chacón, C. R. (1987). Procesamiento de Datos I. Caracas. UNA.

Page 11: 324 2007-1