Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PLAN GLOBAL
I. DATOS DE IDENTIFICACIÓN
II. JUSTIFICACIÓN
Después de tener los conocimientos básicos de programación, se necesita contar con más
elementos que ayuden a un profesional del área de ciencias de la computación, a resolver
problemas de forma elegante, eficiente y correcta. La finalidad de este curso es brindar al
estudiante un conjunto de conceptos que identifican elementos importantes que enriquecen la
metodología de programación, es importante también considerar las distintas estructuras que
existen para representar los datos. La materia introduce a los estudiantes la estrategia “divide y
conquistar” para la solución de problemas, que permiten tener diseños de problemas complejos
de forma sencilla y elegante. Las capacidades de abstracción de datos es reforzada en esta
materia, al introducir conceptos de niveles de abstracción tanto en estructura (jerarquías de
supertipo - subtipo) como de tipo (genéricas); lo que permite al estudiante introducir mayores
elementos de diseño a la hora de presentar sus soluciones, y por ende mayores herramientas de
programación que permiten operativizar sus propuestas de solución. Un otro aspecto
importante es la administración de datos, por lo que se estudian estructuras de datos,
añadiendo más conocimientos sobre la forma de programar soluciones, los mismos que son una
antesala a estructuras de datos más complejas que se utilizan en la resolución de problemas
más complejos.
El presente plan propone introducir los conceptos de: programación orientada al objeto
considerando genéricas, técnicas de programación, recursión y estructuras de datos. Al finalizar
se espera que los estudiantes presenten soluciones correctas a pequeños problemas, utilizando
las estructuras de datos adecuadas y considerando nuevos elementos de programación que le
permitan tener una solución elegante y eficiente.
III. PROPÓSITO GENERAL
IV. OBJETIVOS
VI. METODOLOGÍAS
Clases magistrales y dialogadas, ilustrando los conceptos con ejemplos. El estudiante tiene que
implementar aplicaciones pequeñas utilizando los diferentes conceptos de la materia. Es
importante que el estudiante practique en la computadora fuera de clases, por cada unidad, el
estudiante debe entregar trabajos de aplicación utilizando de forma correcta los conceptos.
Estos trabajos son imprescindibles para rendir los exámenes escritos. Por otro lado, para
verificar el funcionamiento de implementaciones de clase, se plantean prácticas de laboratorio
virtual. Material de apoyo se provee a través de la plataforma http://moodle3.umss.edu.bo/, las
notas se publicarían en http://moodle3.umss.edu.bo/ y http://websis.umss.edu.bo// Las
herramientas para este curso son Java y BlueJ.
VIII. BIBLIOGRAFÍA
Textos base
- Thinking Recursively, ERIC ROBERTS. Jhon Wiley & Son, 1986
- Thinking Recursively in JAVA, ERIC ROBERTS. Jhon Wiley & Son, 2006 - Data Structures
and Algorithm Analysis in Java, MARK ALLEN WEISS. Addison Wesley 3nd edition, 2012
- Introduction to algorithms, THOMAS CORMEN, CHARLES LEISERSON, RONALD RIVEST.
MIT Press - 2009
- Objects first with java. A practical introduction using BLUEJ, DAVID BARNES , MICHAEL
KOLLING. Prentice Hall, 2013
- Apuntes de Elementos de programación y Estructura de Datos. MA. LETICIA BLANCO
COCA. 2013
Bibliografía complementaria
- Algoritmos + estructuras de datos = programas WIRTH NIKLAUS. 1994
- Estructuras de datos y algoritmos, ALBERTO JAIME SISA, 2001
- Data structures and algorithms in java, ROBERT LAFORE, SAMS 1998
- Dictionary of algorithms and data structures. http://www.nist.gov/dads/
- Algorithms and data structures: the science of computing, DOUGLAS BALDWIN AND
GREG W. SCRAGG. Charles River Media (C) 2004
IX. Cronograma de Exámenes