Você está na página 1de 6

Facultad de Ciencias Exactas y Naturales

Escuela de Informática

CODIGO: EIF-201
NOMBRE: Programación I
REQUISITOS: EIF-200: Fundamentos de Informática.
MAY-220: Matemática para Informática I.
NATURALEZA: Teórico/ Práctico
AREA DISCIPLINARIA: Ingeniería de software
PERÍODO: II ciclo del I nivel
AÑO: 2010
PROFESORES: Jonathan Saurez (Coordinador), Irene Hernández, Karol Leitón, Eliette
Álvarez, Sonia Mora

Créditos Horas Semanales Horas Presenciales Horas estudio independiente


4 10 Prácticas Teóricas 6
2 2

DESCRIPCION: En este curso el alumno aplicará técnicas actuales de desarrollo de software y


considerará criterios de calidad apropiados para el desarrollo de programas a un nivel básico y simple.
El curso se orientará en el paradigma orientado a objetos específicamente en la programación orientada
a objetos (POO).

Los estudiantes deberán llevar a cabo prácticas y laboratorios a menudo en las clases, que tendrán
como principal objetivo el desarrollo de ejercicios pequeños que resuelvan problemas computacionales
a un nivel básico y que sean la base fundamental para el desarrollo del paradigma dentro de sus
aplicaciones.

OBJETIVO GENERAL:
Facilita a nivel básico las principales técnicas de programación que permiten al estudiante formar un
criterio y desarrollar las habilidades necesarias para el desarrollo de software fundamentado en el
paradigma de orientación a objetos.

OBJETIVOS ESPECÍFICOS:

1. Explicar el proceso general de construcción de software.


2. Analizar problemas mediante un proceso de descomposición y especialización.
3. Identificar y clasificar conceptos a través del paradigma de orientación a objetos para definir la
arquitectura de un programa.
4. Aprender a combinar y componer las estructuras (conceptuales y de control) disponibles en un
lenguaje de programación.
5. Aprender sobre la administración de conjuntos de elementos simples y compuestos.
6. Promover los ejes transversales establecidos en la carrera: importancia de los estándares de
codificación, e importancia del control de calidad, listas de revisión y casos de prueba, inglés e
investigación autodidacta.

CONTENIDOS:

1. Clasificación y análisis de los elementos de un problema, desde la perspectiva de la


orientación a objetos.
1.1. Análisis funcional y conceptual de un problema.
1
Facultad de Ciencias Exactas y Naturales
Escuela de Informática

1.2. El concepto de abstracción.


1.3. El diseño por componentes (sustitución y reutilización).
1.4. Identificación de los componentes esenciales de un modelo: conceptos, atributos, operaciones y
relaciones.

2. Conceptos básicos de la orientación a objetos.


2.1. Definición de una clase como abstracción de un objeto.
2.2. Proceso de clasificación:
2.2.1. Conceptualización
2.2.2. Especificación
2.3. Caracterización de objetos: identidad, estado, comportamiento, interfaz de los comportamientos
e interfaz de los objetos.
2.4. Abstracción.
2.5. Encapsulamiento.
2.6. Ocultamiento.
2.7. Visibilidad y acceso.
2.8. Representación de clases por medio de un subconjunto de UML
2.8.1. Representación de clases
2.8.2. Representación de atributos
2.8.3. Representación de métodos
2.8.4. Representación de la visibilidad

3. Conceptos básicos de programación orientada a objetos.


3.1. Programa Computacional
3.1.1. Código Fuente
3.1.2. Código Objeto
3.2. Compilador
3.3. Código ejecutable
3.4. Enlazador (Linker).
3.5. Características fundamentales de un lenguaje orientado a objetos.
3.6. Atributos (Identificadores).
3.6.1. Tipos básicos de datos (con variables de memoria estática)
3.6.2. Estándares de programación.
3.6.3. Diferencia entre Stack del programa y el Heap (alojamiento de memoria)
3.6.4. Referencias de memoria (punteros)
3.6.5. Alcance de la memoria estática y dinámica.
3.6.6. Estado de un objeto.
3.7. Identidad de un objeto
3.8. Métodos
3.8.1. Condicionales y ciclos
3.8.2. Entrada y salida de datos
3.8.3. Orden de operadores elementales (lógico-matemáticos).
3.8.4. Parámetros (parámetros formales) y argumentos (parámetros reales)
3.8.5. Paso de parámetros por valor y por referencia.
3.8.6. Construcción
3.8.6.1.1. Por defecto
3.8.6.1.2. Sobrecargado
3.8.6.1.3. De copia
2
Facultad de Ciencias Exactas y Naturales
Escuela de Informática

3.8.7. Finalización (liberación de memoria).


3.8.8. Operaciones para recuperar y modificar el estado de un objeto (sets y gets)
3.8.9. Invocación de las conductas y del cambio de estado de los atributos de un objeto
creando instancias en el main.
3.8.10. Métodos de cálculo.
3.8.11. Métodos recursivos

4. Relaciones. (Diseño e implementación)


4.1. Representación de cada una de las relaciones entre clases, su cardinalidad y navegabilidad
mediante un subconjunto de UML.
4.2. Herencia (Especialización y Generalización)
4.2.1. Invocación de constructores y destructores
4.2.2. Enlace dinámico
4.2.3. Sobre escritura de métodos para extensión y sustitución (overriding).
4.3. Asociación
4.4. Dependencia
4.5. Composición
4.6. Agregación
4.7. Concepto de polimorfismo.
4.7.1. Sobrecarga de métodos (overloading).
4.7.2. Por mecanismo de herencia (generalización)
4.8. Manejo del Encadenamiento
4.8.1. Métodos que devuelven objetos,
4.8.2. Métodos que devuelven referencias a objetos.

5. Contenedores.
5.1. Arreglos de tipos básicos y de objetos (dinámicos y estáticos).
5.1.1. Unidimensionales
5.1.2. Multidimensionales
5.2. Listas simples de objetos.
5.3. Operaciones básicas de administración sobre contenedores de dimensión estática y dinámica.
5.4. Algoritmos clásicos de ordenamiento (burbuja y selección) y búsqueda (búsqueda binaria y
secuencial). sobre contenedores de dimensión estática y dinámica.
5.5. Implementación de arreglos polimórficos (sujeto a tiempo).

METODOLOGÍA
Se propone un abordaje de los contenidos a partir de la participación activa del estudiante como persona
comprometida con su propio aprendizaje, aprovechando las experiencias cotidianas vividas. Para ellos se
han considerado las siguientes estrategias.
• Se abordarán algunos temas a través de presentaciones o clases magistrales.
• Se desarrollarán ejercicios prácticos asociados con los temas.
• Se realizarán laboratorios semanales que le permitan al estudiante practicar los conceptos teóricos
guiado por el profesor.
• Se realizarán diversas actividades para promover una asimilación más natural de los conceptos, como
quices, tareas, laboratorios, trabajo en clase y proyectos programados.
• Se promoverá la investigación constructiva en los estudiantes, de tal manera que estos brinden aportes
al aprendizaje de los demás y construyan sus propias soluciones a los problemas planteados.

3
Facultad de Ciencias Exactas y Naturales
Escuela de Informática

Papel del Estudiante:


Desde esta perspectiva, se visualiza al estudiante como una persona altamente participativa y
comprometida con su propio aprendizaje, responsable y honesta al desarrollar cada una de las actividades
del curso. En este curso se requiere que el estudiante le dedique al menos 6 horas de estudio extra clase,
asista a las horas de consulta del profesor y a grupos de tutorías si lo requiere o su profesor se lo ha
recomendado.

EVALUACIÓN

2 Proyectos…………………………………………………………………….…....25% (10% y 15%)


3 Pruebas de ejecución ..……………………………………………………….…..60%
Prueba 1 (15% c/u)
Prueba 2 (20% c/u)
Prueba Final (25% c/u)
Actividades que promueven aprendizaje………………………………….…….. 15%

TOTAL (NA) 100%

Por la naturaleza de los contenidos del curso, es inevitable que los contenidos desarrollados sean
acumulativos para los exámenes y proyectos cortos. Es decir, aunque en una evaluación (sea individual o
grupal) se deba profundizar en uno o más temas específicos, esto no implica que no se puedan incluir
temas anteriormente evaluados. Como directriz de la cátedra se establece como obligatoria la defensa oral
de los proyectos.

Al ser un curso cuya evaluación contempla aspectos que se desarrollan a lo largo del curso, como los
laboratorios y proyectos programados, el curso no tiene examen extraordinario, por lo que la suma de los
porcentajes obtenidos por el estudiante en los rubros anteriores determina su nota de aprovechamiento
(NA), si esta es superior o igual a 70 % el estudiante aprueba el curso, y si la NA es menor a 70% el
estudiante reprueba el curso.

BIBLIOGRAFIA

 (2009).Deitel, Harvey y Deitel Paul. Como programar en C++. Prentice Hall. 6ta Edición.
México.
 (1996). Joyanes, Luis. Programación Orientada a objetos: conceptos, modelado, diseño y
codificación en C++. McGraw Hill. 1 Edición, España.
 (1997). Rodríguez Rojas, Oldemar;“ C ++ para ambientes gráficos”., Editorial Tecnológica
de Costa Rica, 1era edición, Costa Rica
 (2000) Savitech Walter. Resolución de problemas con C++. Prentice Hall, 1 Edición.
 (1995). Sedgewick, Robert. Algoritmos en C++ .Prentice Hall. 1 Edición.
 (2002).Van Gelder, Baase. .Algoritmos computacionales. Prentice Hall. 3era Edición.
 (1995).Schildt, Herbert. C++ Guía de Auto enseñanza. Osborne/McGraw-Hill, Primera edición.
 (1997). Langsam Yedidyah, Augenstein Moshe, Tenenbaum Aaron. Estructuras de Datos con
C y C++. Pearson Education, 2da Edición. USA.

4
Facultad de Ciencias Exactas y Naturales
Escuela de Informática

CRONOGRAMA

Semana Tema Descripción


1 1 Clasificación y análisis de los elementos de un problema,
desde la perspectiva de la orientación a objetos
2 2 Conceptos básicos de la orientación a objetos.
3,4,5,6 ,7 Conceptos básicos de programación orientada a objetos.
3 Subtemas 3.1 al 3.7
4 Subtemas 3.8.1 al 3.8.5
5 3 Subtemas 3.8.6 al 3.8.8
6 Subtemas 3.8.10 al 3.8.11
7 Práctica
I EXAMEN PARCIAL (11 de setiembre 2pm)
8,9,10,11,12 Relaciones.
8 Subtemas 4.1 , 4.2
9 Subtemas 4.3, 4.4,
Se hace entrega del enunciado del Proyecto I
10 4 Subtemas 4.5, 4.6
11 4.7, 4.8
12 Práctica de examen
Los estudiantes entregan el Proyecto I
II EXAMEN PARCIAL (16 de octubre 8am)
13,14,15,16,17 Contenedores.
13 Subtema 5.1.1
14 Subtemas 5.1.2
Se hace entrega del enunciado del Proyecto II
15 Subtemas 5.2, 5.3
16 5
Subtemas 5.4
17 Subtemas 5.5
18 Práctica de examen
Los estudiantes entregan el Proyecto II
EXAMEN FINAL (28 de Noviembre 9am)

ESPECIFICACIONES GENERALES

Es requisito indispensable para ganar el curso la presentación de todos los proyectos.


Los proyectos deben ser entregados según las indicaciones de cada profesor. El manual técnico,
deberá contener una descripción detallada de cada una de las clases así como de los atributos y
métodos que las conforman de manera que cualquier conocedor de la materia pueda fácilmente
entender cual es el objetivo de la clase y cual es el objetivo de cada uno de los atributos y métodos
que lo componen. A su vez, el manual de usuario deberá contener una guía detallada con pantallas
del sistema que explique paso a paso como se llevan a cabo cada una de las funcionalidades del
sistema.

5
Facultad de Ciencias Exactas y Naturales
Escuela de Informática

Si el estudiante no presenta los trabajos en la fecha y hora indicadas por el profesor basado en el
cronograma del curso, por cada día que pase perderá 10 puntos de la nota del trabajo
correspondiente.
El mismo día de presentación de los entregables (o en una fecha a convenir con el profesor de
curso) se debe de realizar una defensa oral del proyecto por parte de todo el grupo. Al proyecto se
le dará un puntaje final, el cual deberá ser distribuido entre los alumnos que conformen el grupo,
dejando de esta manera a la entera responsabilidad la nota que cada uno de los integrantes del
grupo se asignen.
Los exámenes se realizarán de manera coordinada por todos los profesores, preferiblemente un
único día para todos los grupos.
En caso de corroborarse algún fraude en la aplicación de alguna evaluación escrita o en la
documentación, algoritmos o implementación de las tareas o proyectos, la Escuela de Informática
aplicará las sanciones establecidas en el reglamento interno de la Universidad Nacional.
El horario disponible para la atención a estudiantes será programado y comunicado por cada
profesor, la asistencia oportuna y comprometida del estudiante le permitirá obtener del profesor en
este espacio: orientación en trabajos asignados durante todo el curso, evacuación de dudas de
temas abordados y la articulación conjunta de ideas para el desarrollo de los trabajos. Este horario
no descarta la posibilidad de que los estudiantes planteen dudas y soliciten orientación vía correo
electrónico.

Disposiciones generales para la realización de pruebas


1. Debe presentar la cédula de identidad antes de iniciar el examen.
2. No se permite el ingreso al recinto de examen pasados treinta minutos de iniciada la prueba.
3. No se permite abandonar el recinto de examen antes de los primeros treinta minutos de iniciada
la prueba. Debe ir al baño antes de iniciar la prueba.
4. No se contestarán preguntas durante la administración de la prueba, salvo que estas sean de
carácter general, en cuyo caso se aclararán en voz alta.
5. El examen puede hacerse en lapicero con tinta de color negro o azul, se puede hacer en lápiz
(parcial o totalmente) en cuyo caso los reclamos deben hacerse inmediatamente le sea
entregado el examen, y siempre y cuando no existan borrones ni tachaduras, que hagan dudar al
profesor del momento en que fueron hechos.
6. Debe traer un cuaderno de examen o un grupo de hojas grapadas para que dé respuesta a las
preguntas que se formulan en la prueba. No se permiten hojas sueltas.
7. Se permite el uso de calculadora.
8. Los celulares deben permanecer apagados durante la realización de pruebas y durante el
desarrollo de las lecciones.
9. Cuando las preguntas sean de desarrollo deben aparecer los pasos que le permitieron llegar a la
respuesta de la pregunta planteada. Debe trabajar en forma ordenada y clara.

Você também pode gostar