You are on page 1of 11

UNIVERSIDAD NACIONAL ABIERTA

VICERRECTORADO ACADEMICO
SUBPROGRAMA DISEO ACADMICO
AREA: INGENIERA
CARRERA: INGENIERA DE SISTEMAS
Nivel Central
Caracas, marzo, 2014
PLAN DE CURSO

I. Identificacin:

Nombre: COMPUTACIN II

Cdigo: 324

U.C: 4

Carrera: Ingeniera de Sistemas
Tcnico Superior Universitario en Mantenimiento de
Sistemas Informticos

Cdigo: 236/237

Semestre: III

Prelaciones: Computacin I (323)

Requisito: Ninguno

Autor: MSc. Mara Eugenia Mazzei (Especialista de contenido)
Telfono: (0212) - 5552376
Correo electrnico: mmazzei@una.edu.ve
Asesores: MSc. Carmen Z. Maldonado(Coordinadora de la carrera)
Lic. Carmen Velsquez (Evaluadora de la carrera)
MSc. Judit Carvallo
Dra. Egle Arellano (Diseadora de instruccin)
Revisin en
Diseo Acadmico: Prof. Mara Martn

Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
2
II. FUNDAMENTACIN

El curso Computacin II se centra en el estudio y aplicacin de las
diferentes estructuras de datos, conjuntamente con el diseo e implementacin 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 inters 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 diseo de algoritmos empleando estructuras de datos
apropiadas, con una visin hacia la programacin orientada a objetos.


El desarrollo de destrezas para el diseo de soluciones sencillas y su
implantacin en el computador, con el diseo adecuado de las estructuras de
datos, slo se logra a travs de la ejercitacin, sin olvidar la comprensin de los
conceptos, de ah la naturaleza terico-prctica de la asignatura.


La asignatura Computacin II se ubica dentro de las asignaturas bsicas del
Ingeniero de Sistemas y del Tcnico Superior Universitario en Mantenimiento de
Sistemas Informticos y su asimilacin es fundamental para el buen desempeo
en gran parte de las asignaturas de la carrera, en donde el estudiante deber
implementar programas, de all su carcter obligatorio. Por otra parte fomenta el
desarrollo de la lgica y la realizacin de acciones coherentes, indispensables
para el diseo e implementacin de programas en computadores; esto jugar un
papel muy importante en la formacin del futuro ingeniero y Tcnico Superior.


El dinamismo con el que se mueve el conocimiento en el campo de la
Computacin ha sido determinante en la seleccin 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 guas
adecuadas, fomenten el fortalecimiento y la actualizacin de los conocimientos.
Tomando en consideracin estos elementos, se dise el siguiente paquete
instruccional:
- El libro: Estructuras de Datos: Algoritmos, abstraccin y objetos, de
Joyanes L. y Zahonero I., Editorial Mc. Graw Hill. La seleccin de
este libro est basada en criterios de actualidad, presentacin,
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.



Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
3
- Un Material Instruccional de Apoyo UNA, que servir de directriz para el
empleo adecuado del libro.

- Un paquete de software de programacin para la implementacin de los
programas en el lenguaje PASCAL.

- Referencias a pginas WEB y cursos WEB que tendrn el efecto de
enriquecer los conocimientos adquiridos.




Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
4

Objetivo: 1 2 3 4 5 6 7 Peso acumulado: 1 - 8 9-10 11-12 13-14 15 16 17-18 19-20 21-22 23
Peso: 2 2 3 3 5 4 4 Calificacin 1 2 3 4 5 6 7 8 9 10
Peso mximo: 23 puntos Criterio de dominio acadmico: 16 puntos
Orientaciones Generales

Las pruebas son de modalidad presencial y de desarrollo.
Ponderacin de los objetivos: La ponderacin consiste en la
asignacin de pesos a los objetivos evaluables de la asignatura, de
acuerdo a la importancia y/o complejidad que tienen. La escala de
ponderacin de esta asignatura es de 1 a 5 puntos. Esta ponderacin
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
prelacin.
Las especificaciones del trabajo prctico se publican la primera
semana de presentacin de las pruebas. El estudiante consignar el
trabajo resuelto con la prueba integral.
MODALIDAD OBJETIVOS CONTENIDO

PRIMERA
PARCIAL
1 y 2
MDULO I:
UNIDADES: 1y 2

SEGUNDA
PARCIAL

3 y 4
MDULO I:
UNIDAD3 y
MDULO II
:UNIDAD 4

INTEGRAL 1, 2, 3, y 4
MDULOS: I y
II,
UNIDADES: 1,
2, 3 y 4

TRABAJO
PRCTICO
5,6 y 7
MDULOS: II y
III, UNIDADES:
5,6 Y 7
M U O OBJETIVOS
I 1 1 Elaborar un TAD (Tipo Abstracto de Datos) para representar un dato particular.
2 2 Resolver problemas de tipo algortmico aplicando el TAD Lista Enlazada
3 3 Resolver problemas de tipo algortmico aplicando el TAD Pila y/o el TAD Cola
II 4 4 Resolver problemas de tipo algortmico aplicando el TAD rbol
5 5 Implementar algoritmos en lenguaje de programacin, empleando la estructura de grafo para la resolucin de
problemas especficos.
III 6 6 Implementar algoritmos de Ordenacin en lenguaje de programacin, para la resolucin de problemas
especficos.
7 7 Implementar algoritmos de Bsqueda en lenguaje de programacin, para la resolucin de problemas especficos.

Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
5





































ORIENTACIONES GENERALES

Los textos recomendados para este curso, estn disponibles en la Biblioteca del Centro Local, como Servicio de
Prstamo en Sala y Prstamo Circulante.

El Material Instruccional de Apoyo (MIA) lo entregarn en el almacn del Centro Local, previa presentacin del
comprobante de inscripcin de la asignatura.

Las especificaciones del Trabajo Prctico se suministrarn al estudiante a partir de la primera semana de
presentacin de pruebas, a travs de la red: http://www.ciberesquina.una.edu.ve

El software requerido para realizar el trabajo est disponible en el Laboratorio de Computacin 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 programacin. Introduzca diferentes datos, para probar su algoritmo. Analice
los resultados.

Consulte en la direccin electrnica indicada, referenciada en la unidad del MIA. Si no se hacen referencias
especficas, se recomienda buscar el tema en Internet, empleando un buscador.

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

Si desea hacer algn comentario o sugerencia acerca del curso, comunquese con el profesor que lo administra a
travs de la direccin de correo electrnico suministrada por la carrera.





Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
6
IV. DISEO DE LA INSTRUCCIN DEL CURSO






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


La abstraccin. 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. Orientacin a objetos: conceptos.
2. Resolver problemas de tipo algortmico
aplicando el TAD Lista Enlazada
Especificacin formal del TAD Lista. Implementacin del TAD Lista con
estructuras dinmicas. Operaciones. Aplicaciones. Listas doblemente
enlazadas. Listas circulares.
3. Resolver problemas de tipo algortmico
aplicando el TAD Pila y/o el TAD Cola
Especificacin formal del TAD Pila. Implementacin de Pilas con
Arreglos. Implementacin de Pilas con variables dinmicas. Operaciones
Aplicaciones. Especificacin formal del TAD Cola
y Dipolo o Bicola. Implementacin del TAD Cola o Dipolo con
estructuras estticas y/o dinmicas. Operaciones. Aplicaciones.
4. Resolver problemas de tipo algortmico
aplicando el TAD rbol
Recursividad: Concepto. Utilidad. Algoritmos tpicos. Implementacin de
procedimientos recursivos.
Concepto de rbol binario. rboles de Expresin. Construccin.
Recorrido. Aplicaciones. rbol binario de bsqueda. Operaciones.
5. Implementar algoritmos en lenguaje de
programacin, empleando la estructura de
grafo para la resolucin de problemas
especficos.
Concepto de grafo. Representacin del TAD grafo. Matriz de caminos.
Algoritmos fundamentales con grafos. Aplicaciones
6. Implementar algoritmos de Ordenacin en
lenguaje de programacin, para la resolucin
de problemas especficos.
Ordenacin. Algoritmo de Burbuja. Algoritmo de Insercin. Algoritmo
Shell. Algoritmo Quicksort. Algoritmo Heapsort. Binsort y Radixsort.
7. Implementar algoritmos de Bsqueda en
lenguaje de programacin, para la resolucin
de problemas especficos
Bsqueda. Bsqueda Lineal. Bsqueda Binaria. Hashing. Funcin de
Hashing

Objetivo del curso:
Codificar algoritmos con sentido lgico y coherente, utilizando las estructuras de datos apropiadas, as como los
mtodos de clasificacin y bsqueda, aplicados a la resolucin de problemas especficos.


Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
7
OBJETIVO ESTRATEGIAS INSTRUCCIONALES ESTRATEGIAS DE EVALUACIN
1
Lea en el libro I, el captulo: Ingeniera de Software: introduccin a la
metodologa de construccin de grandes programas. Este captulo presenta
de manera general los principios fundamentales de la Ingeniera de Software,
los cuales estn dirigidos hacia el buen diseo 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
captulo: Diseo y Anlisis de Algoritmos.
Repase las instrucciones que se requieren para declarar los tipos de datos
en el lenguaje de programacin C++.
Estudie los captulos del libro I Abstraccin de datos y objetos y
Estructuras de datos . Si utiliza el libro II, estudie la seccin sobre los tipos
abstractos de datos.
Se presentarn situaciones, en donde el
estudiante deber elaborar un TAD para
representar un tipo de datos, empleando el
lenguaje de programacin.

Procedimiento: Se valorar la correcta
elaboracin de un TAD apropiado a la
situacin.

Instrumento: La realizacin de este ejercicio
formar parte de una prueba presencial de
desarrollo.

Momento: Primera prueba parcial y prueba
integral.
2
El tema a estudiar en esta unidad resulta muy intuitivo. La idea de objetos
enlazados o relacionados est presente en la vida real. Piense en
agrupaciones de objetos de algn tipo especfico y de las operaciones
posibles para manipularlos.
Lea el captulo del libro I: Listas: Acceso a las Listas . Si utiliza el texto II,
lea la seccin sobre apuntadores y cursores.
Realice los ejemplos presentados y los ejercicios. Como recurso de apoyo
para la resolucin de los ejercicios, utilice representaciones grficas de las
variables tipo puntero. La comprensin de este captulo servir de base para
el aprendizaje de los captulos que siguen.
Estudie en el libro I, los captulos: Listas enlazadas y Listas doblemente
enlazadas, la estructura LISTA o en el libro II, las secciones sobre El tipo
de datos abstracto LISTA y Realizacin de listas. Si utiliza el texto II, lea
las secciones sobre LISTAS y Realizacin de LISTAS.
Realice los ejercicios relacionados con esta estructura, que incluyan adems
listas doblemente enlazadas y listas circulares.
Elabore algoritmos en seudo-lenguaje que simulen operaciones de listas de
objetos enlazados.
Implemente y pruebe los algoritmos en lenguaje de programacin.

Se propondrn situaciones prcticas que
requieran una solucin algortmica empleando
estructuras de datos lineales tipo lista
enlazada, previa definicin de las mismas.
Tambin se plantearn algoritmos que simulen
operaciones con listas enlazadas para verificar
u obtener los resultados a travs de una
ejecucin en forma manual.

Procedimiento: Se valorar la correcta
elaboracin del TAD Lista Enlazada, el
algoritmo ajustado a la situacin, en trminos
de su eficacia o la ejecucin del mismo para
obtener resultados.

Instrumento: La realizacin de este ejercicio
formar parte de una prueba presencial de
desarrollo.
Momento: Primera prueba parcial y prueba
integral.







Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
8
OBJETIVO ESTRATEGIAS INSTRUCCIONALES ESTRATEGIAS DE EVALUACIN
3
El tema a estudiar en esta unidad se refiere a la definicin y operacin de pilas
(stacks) y de colas. Las pilas son estructuras de datos muy empleadas en
computacin, en diferentes mbitos. Las colas son estructuras de gran utilidad
en computacin y su representacin en el computador resulta muy fcil de
entender, debido a la semejanza que posee con la realidad .Es frecuente ver la
formacin de lneas de espera frente a taquillas, cajeros, estaciones de
gasolina o casetas de telfonos, entre otras.

Observe objetos que se acumulen en forma de pilas, por ejemplo: una pila de
facturas, de exmenes mdicos u rdenes de reparacin en un taller y piense
en distintas formas de operar con ellos.
Estudie el captulo del libro I titulado: Pilas, la estructura PILA o en el libro
II, las secciones relacionadas con PILAS.
Realice los ejercicios del libro relacionados con operaciones con pilas.
Elabore algoritmos en seudo-lenguaje que simulen operaciones de pilas de
objetos.
Piense en los distintos tipos de colas que se forman para la solicitud de
servicios.
Estudie el captulo del libro titulado: Colas y colas de prioridades: el TAD
COLA, o el libro II, las secciones relacionadas con COLAS.
Realice los ejercicios del libro relacionados con operaciones con colas.
Elabore algoritmos en seudo-lenguaje que simulen operaciones de colas.
Incluya las colas de prioridades y dipolos.
Implemente y pruebe los algoritmos elaborados en lenguaje de programacin,
empleando estructuras estticas y dinmicas.
Se plantearn situaciones prcticas que
requieran una solucin algortmica empleando
estructuras de datos lineales tipo pila y/o tipo
cola, previa definicin de las mismas. Tambin
se propondrn algoritmos que simulen
operaciones con pilas y/o colas a fin de
verificar u obtener resultados en su ejecucin
manual.
Procedimiento: Se valorar la correcta
elaboracin del TAD Pila y/o el TAD Cola, el
algoritmo ajustado a la situacin, en trminos
de su eficacia o la ejecucin del mismo para
obtener resultados.

Instrumento: La realizacin de este ejercicio
formar parte de una prueba presencial de
desarrollo.
Momento: Segunda prueba parcial y prueba
integral.







4
Un objeto recursivo es aquel que forma parte de s mismo. En la vida real
existen objetos recursivos, por ejemplos ciertas formas de la naturaleza as
como formas creadas por el hombre, que en matemticas se conocen como
fractales. En computacin un mtodo recursivo es aquel que halla la solucin a
travs de una secuencia de instancias ms pequeas del mismo problema.
Existen diversos problemas que se resuelven en forma recursiva.

Estudie el captulo del libro I: La naturaleza de la recursividad. Si utiliza el
texto II, estudie los procedimientos recursivos.
Estudie el captulo del libro I: rboles binarios .Si utiliza el texto II estudie
el captulo sobre el TDA ARBOL y rboles Binarios.
Halle ejemplos de objetos que puedan considerarse recursivos.
Implemente algoritmos en lenguaje de programacin que puedan realizarse
empleando recursividad. Compare con soluciones en donde emplee la
iteracin. Emplee el paquete de Software para probar estos algoritmos.
Se plantearn situaciones prcticas que
requieran una solucin algortmica empleando
estructuras de datos tipo RBOL, previa
definicin de las mismas. Tambin se
plantearn algoritmos relacionados con la
estructura de rbol binario, con el objeto de
obtener resultados a travs de su ejecucin
manual.
Procedimiento: Se valorar la correcta
elaboracin de la estructura de datos, as
como el la elaboracin del algoritmo ajustado
a una situacin, en trminos de su eficacia. En
algunos casos se valorar la correcta
ejecucin de un algoritmo en forma manual, a
fin de obtener resultados. En cualquiera de las

Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
9
OBJETIVO ESTRATEGIAS INSTRUCCIONALES ESTRATEGIAS DE EVALUACIN
Implemente algoritmos recursivos, en lenguaje de programacin,
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.
situaciones que se planteen de aqu en
adelante se exigir eventualmente una
solucin algortmica recursiva.

Instrumento: La realizacin de este ejercicio
formar parte de una prueba presencial de
desarrollo.
Momento: Segunda prueba parcial y prueba
integral

5
Es frecuente la necesidad de representar objetos que tienen mltiples
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 elctricos, 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 represntelas como indicamos.
Lo que resulta es un grafo. Su representacin en el computador es muy
intuitiva, como Ud. lo constatar al estudiar el material instruccional.

Estudie en el libro I el captulo del libro Grafos. Representacin y
operaciones, la estructura GRAFO. Si utiliza el texto II, estudie los GRAFOS
dirigidos y no dirigidos, representacin.
Investigue ejemplos de la vida real que puedan representarse como grafos.

Producto: Implantacin de un programa a
travs del computador.
Se valorar el correcto diseo del programa
as como la eficacia y la eficiencia del mismo.

Instrumento: Trabajo prctico.

Momento: Las especificaciones sobre la
realizacin del trabajo prctico se entregan en
la primera semana de aplicacin de pruebas.
El estudiante consignar el trabajo
realizado con la prueba integral.

6
Uno de los procesos ms utilizados cuando se opera con grupos de elementos
en el computador es la ordenacin de los mismos de acuerdo a algn criterio.
Constantemente requerimos ordenar ascendentemente o descendentemente
un conjunto de elementos para presentar la informacin organizada o para
facilitar la bsqueda. El estudio de los algoritmos fundamentales de ordenacin
proporciona destrezas en la elaboracin de los algoritmos que pretenden
resolver situaciones especficas.

Estudie en el captulo del libro I, titulado Algoritmos de ordenacin y
bsqueda todas las secciones relacionadas con la ordenacin. Si utiliza el
texto II estudie el captulo sobre Clasificacin.
Implemente algoritmos de ordenacin, empleando los mtodos estudiados.
Pruebe ejemplos
Realice comparaciones de los algoritmos estudiados en trmino de su
eficiencia.
Producto: Implantacin de un programa a
travs del computador.
Se plantearn situaciones prcticas que
requieran una solucin empleando al menos
un mtodo de ordenacin, a travs de un
programa.
Procedimiento: Se valorar el correcto
diseo del programa as como la eficacia y la
eficiencia del mismo.

Instrumento: Trabajo prctico.

Momento: Las especificaciones sobre la
realizacin del trabajo prctico se entregan en
la primera semana de aplicacin de pruebas.
El estudiante consignar el trabajo
realizado con la prueba integral.

Plan de curso Computacin II (324) Elaborado por Prof. Mara E. Mazzei. UNA 2014
10
OBJETIVO ESTRATEGIAS INSTRUCCIONALES ESTRATEGIAS DE EVALUACIN
7
Cuando tenemos un conjunto de elementos ordenados, en muchas ocasiones
necesitamos localizar alguno de ellos, por ejemplo buscar un nmero de cdula
de identidad dentro de una lista ordenada para conocer el nombre asociado u
otros datos. El estudio de los algoritmos que conforman esta unidad son fciles
de comprender, debido a la semejanza que existe entre ellos y la realidad.

Estudie en el captulo del libro I titulado Ordenacin, bsqueda y mezcla,
todas las secciones relacionadas con la bsqueda y en el captulo del libro I
titulado Tratamiento de Archivos de Datos lo referente a Hashing. Si utiliza el
texto II, estudie la seccin del libro sobre rboles binarios de bsqueda,
Mtodos de Dispersin o Hashing.
Implemente algoritmos basados en los diferentes mtodos analizados
Realice comparaciones de los algoritmos estudiados en trmino de su
eficiencia.

Producto: Implantacin de un programa a
travs del computador.
Se plantearn situaciones prcticas que
requieran una solucin empleando al menos
un mtodo de bsqueda, a travs de un
programa.
Procedimiento: Se valorar el correcto
diseo del programa as como la eficacia y la
eficiencia del mismo.

Instrumento: Trabajo prctico

Momento: Las especificaciones se entregan
la primera semana de aplicacin de pruebas.
El estudiante entregar el trabajo resuelto
con la prueba integral.













V. BIBLIOGRAFA

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


Complementaria


Aho, A., Hopcroft, J. E., y Ullman, J. D. (1998). Estructuras de datos y algoritmos. Mxico.
Addison Wesley Longman.


Cair, O., y Guadarti, S. (2001). Estructuras de Datos. Mxico. Mc Graw Hill.


Joyanes, L. (2003). Fundamentos de Programacin. Madrid. Mc Graw Hill.



Kolman, B., Busby, R. C. y Ross, S. (1997). Estructuras de Matemticas Discretas para la
Computacin. Mxico. Prentice-Hall Hispanoamericana S.A.


Ruiz, A., y Chacn, C. R. (1987). Procesamiento de Datos I. Caracas.


11