Universidad de Costa Rica
|
I Semestre 1999 |
Profesor Adolfo Di Mare
Profesor Ricardo Villalón |
CI-1101 Programación I | Horas: | 4 |
CI-1104 Estructuras Discretas I | Créditos: | 4 |
Enfrentar al estudiante a problemas de programación de mediana complejidad como medio para justificar la necesidad de usar módulos reutilizables para contruir programas y sistemas.
El curso integra la teoría y la práctica. La teoría es relativamente fácil de digerir, y está bien explicada en los libros de texto. La parte práctica es más difícil de dominar, pues requiere de una exposición en carne viva a problemas reales.
Como complemento a las prácticas, durante el curso se hará especial incapié en aplicar el concepto de abstracción, según está definido en [LG-86]. El curso consta de varios ingredientas altamente relacionados. Primero se exponen los conceptos de abstracción y especificación en el marco del lenguaje C++, y se discuten en el contexto de la programación por objetos. También se revisan algunas técnicas generales para depuración de programas. Durante todo el curso se estudian algunos tópicos básicos de estructuras de datos.
Con el fin de introducir muchos de los algoritmos y estructuras de datos que serán usados en el curso siguiente (CI-1303 Estructuras de datos y análisis de algoritmos), en muchos casos las tareas cortas incluirán uso de listas, colas, pilas y árboles. Para esto en el curso se cubrirá el equivalente de los dos primeros capítulos de [AHU-84]. Durante el curso el estudiante trabajará en diversos proyectos para que logre fluidez en conceptos como punteros, uso de archivos, manejo de pantallas y ventanas, y recursividad. El estudiante conocerá las herramientas básicas del programador profesional. Se espera del estudiante un buen dominio del C++. Se hará especial énfasis en lograr que el estudiante domine los conceptos de abstracción y especificación, y se hará un extenso uso de herramientas diversas de programación.
Las tareas escritas consistirán en "premios", esto es, asignaciones cortas que cada estudiante debe cumplir. Es obligación del estudiante el realizar todas las lecturas asignadas, y también entregar un resumen de una página por cada una de las lecturas. En la medida de lo posible, el profesor asignará una lectura o tarea corta en cada lección.
Los estudiantes deberán hacer al menos un programa grande (de más de 1500 líneas), y durante todo el semestre tendrán asignaciones cortas programadas. Después de tomar el curso, cada estudiante sabrá como hacer la documentación de un programa.
Este curso requerirá de un gran esfuerzo de programación. Al terminar el curso, el estudiante será capaz de a producir programas de alta calidad.
Examen Parcial #1 15% Tareas Programadas 30% (Prof. Di Mare) Examen Parcial #2 20% Otros 5%   Examen Final 30%   Examen Parcial #1 20% Tareas Programadas 25% (Prof. Villalón) Examen Parcial #2 20% Quices y otros 15%   Examen Parcial #3 20%      
Exámenes P#1 - P#2 Final |
Tareas #1 - #2 - #3 - #4 #5 - #6 - #7 |
La teoría del curso se tomará del libro [LG-86]. Es conveniente que cada estudiante tenga acceso al libro de Bjarne Stroustrup sobre C++ [Str98], que es el lenguaje que se usar como marco de referencia en todo el curso. Este libro tiene un costo de unos $ 45, y se puede conseguir en Internet. Cada estudiante es responsable de conseguir sus libros. Además, en el sitio Internet del curso habrá material adicional (como los FAQ's).
[AHU84] | Aho, Alfred V. & Hopcroft, John E. & Ullman,
Jefrrey D.:
Data Structures and Algorithms,
Addisson-Wesley Publishing Co., 1984.
|
[LG86] | Liskov, Barbara & Guttag, John:
Abstraction and Specification in Program
Development,
McGraw-Hill, 1986.
|
[Str98] |
Stroustrup, Bjarne:
The C++ Programming Language, 3rd edition,
ISBN 0201889544;
Addison-Wesley, 1998.
http://www.research.att.com/~bs/3rd.html
|
Capítulo 1
Capítulo 2 Capítulo 3 |
Book Pool
Amazon Barnes && Noble Book Wire |
http://www.di-mare.com/adolfo/p/convpas.htm
http://www.cs.rpi.edu/~musser/stl-book/
ftp://butler.hpl.hp.com/stl/stl.zip
.
Adolfo Di Mare <adolfo@di-mare.com>
Ricardo Villalón <ricardo@rhed.co.cr>
|