Anda di halaman 1dari 5

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

Universidad del Perú, DECANA DE AMÉRICA)

FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA


Escuela Académico Profesional de Ingeniería de Sistemas

SILABO

1. ESPECIFICACIONES GENERALES:

1.1 Nombre del curso : Algorítmica II


1.2 Código del curso : 2010302
1.3 Duración del curso : Semestral
1.4 Forma de Dictado : Teórico - Práctico - Experimental
1.5 Horas semanales : Teoría: 3h - Laboratorio: 2h
1.6 Naturaleza : Básico de la profesión
1.7 Número de créditos : Cuatro (4)
1.8 Pre-requisito : 2010203 Algorítmica I
1.9 Semestre académico : 2016-I

2. SUMILLA
El paradigma de la programación orientada a objetos (POO). Conceptos básicos (objeto, clase,
encapsulación, polimorfismo, etc). Relaciones semánticas y jerárquicas, clases abstractas. La
importancia de la POO en la especificación y construcción de Patrones o plantillas, excepciones y
persistencia. Casos prácticos y su implementación en lenguajes como C++ y java.
3. OBJETIVO GENERAL
Proveer a los estudiantes los conceptos y técnicas de orientación a objetos (OO) que son fundamento
teórico práctico para la resolución de problemas y construcción de programas basado en el
paradigma de la OO. Ello le permitirá afrontar con éxito la solución de aplicaciones complejas
Además se cultivará las diferentes técnicas de re-uso y criterios de robustez en un programa,
considerando siempre que solucionar una aplicación debe ser vista como una obra de ingeniería.
4. OBJETIVOS ESPECIFICOS
 Utilizar y aplicar correctamente la terminología y conceptos básicos de la POO.
 Implementar y utilizar correctamente los mensajes como medio de comunicación de los objetos.
 Diseñar, implementar y aplicar los conceptos sobre relaciones entre clases con el fin de modelar
aplicaciones del mundo real apoyándose en mecanismos de reutilización.
 Manipular objetos de diferentes clases por medio de un mismo elemento y realizar la misma
operación de formas diferente basado en conceptos de polimorfismo.
 Diseñar y aplicar clases y métodos que actúen sobre diferentes tipos de datos (genericidad).
 Diseñar e implementar el uso de mecanismos para manejo de errores o excepciones y registro de
manera permanente del estado de un objeto usando conceptos de persistencia.
 Alcanzar en el estudiante un grado de abstracción que le permita analizar, diseñar, discutir e
implementar soluciones a través de las herramientas usadas hoy en día en la POO.
5. CONTENIDO ANALÍTICO POR SEMANAS
1ra Semana: INTRODUCCIÓN.
Teoría
La POO como un nuevo paradigma, su diferencia con la programación estructurada y modular,
abstracción, ocultamiento de la implementación, reutilización y lenguajes orientados a objetos.
Ventajas y desventajas de la POO.
Práctica
Construcción de TAD y su manipulación en un enfoque estructurado a través de ejercicios prácticos,
ventajas y desventajas.

1
Laboratorio
Implementación de TAD.
[9] 1, 21,39; [10] 29, 581; [11] 328; [12] 19; [5] 43; [7] 490; [6] 43, 69; [2] 34; [3] 1; [1] 23

2da Semana: OBJETOS Y CLASES


Teoría
Objetos y clases como TAD. Encapsulación y ocultación de la información, tipos de atributos.
Además creación de objetos como instancia de una clase.
Práctica
Comparación entre lenguajes de POO, creación de objetos.
Laboratorio
IDEs de desarrollo. Implementación de clases y objetos.
[9] 157, 205; [10] .452; [11] 95; [12] 37, 391; [5] 58; [8] 98; [7] 507; [2] 46, 72; [3] 55; [1] 63; [6]
273; [13] 635

3ra Semana : MENSAJES


Teoría
Métodos y sus variantes como constructores y destructores. Activación de objetos, definición de
mensaje y partes de un mensaje. Introducción a excepciones.
Práctica
Construcción y comparación de métodos y mecanismos de iniciación y finalización (constructores y
destructores).
Práctica Calificada Nº 1
Laboratorio
Desarrollo de un caso de iniciación en Java.
[10] 470; [11] 167; [5] 63; [8] 101, 104; [6] 243

4 y 5ta. Semana: RELACIONES ENTRE CLASES


Teoría
Conceptos y terminología básica usada para describir relaciones de uso, asociación, agregación y
composición, y su diseño en el diagrama de clases.
Práctica
Exposición de casos reales basados en relaciones de asociación, agregación y composición.
Laboratorio
Ejemplo de herramientas para el diseño de diagramas de clases e implementación de las relaciones
en Java.
[11] 199; [12] 45.
6 y Semana: HERENCIA
Teoría
Conceptos y propiedades, niveles de acceso, su importancia como mecanismo de rehuso, tipos de
herencia y su representación en el diagrama de clases. Reutilización con herencia.
Práctica
Construcción de jerarquías de clases. Implementación.
Práctica Calificada Nº 2
Laboratorio
Desarrollo de casos en Java bajo herencia simple (extends) o herencia múltiple (interface –
implements).
[9] 65, 433, 489, 537; [10] 505; [11] 316; [12] 91; [5] 76; [8] 119; [3] 191; [6]307; [13]697

7ma Semana: Clase Abstracta e Interfaces


Teoría
Concepto y propiedades de una clase abstracta, su ubicación e importancia en la jerarquía de clases.
Interfaces. Conceptos, diferencias clases abstractas. aplicaciones
Práctica
Diseño de clases abstractas en el diagrama de clases, la redefinición de sus métodos (funciones
virtuales), tipos de ligadura, etc.

2
Laboratorio
Forma de Implementar y ejercicios sobre clases abstractas en Java
Proyecto: Planteamiento
[10] 505; [13]697

8va Semana: Examen Parcial

9na semana: POLIMORFISMO


Teoría
Polimorfismo, su importancia en la POO, ventajas y desventajas de su uso en lenguajes de POO.
Práctica
Casos que hacen uso del polimorfismo..
Laboratorio
Ejercicios sobre polimorfismo en java o C++.
Proyecto: Diagramas de clase
[9] 441, 452; [10] 523; [5] 86, 95; [7] 523; [3] 223; [6] 307; [13] 667

10ma Semana: EXCEPCIONES


Teoría
Concepto de excepciones, manejo de excepciones, lanzamiento de excepciones.
Práctica
Comparación y construcción de excepciones.
Laboratorio
Casos en Java, que requieren el uso de excepciones como en la lectura de datos por consola.
Proyecto: Diagramas de clase y programación al 50%
[9] 387; [6] 249, 419, 631; [2] 168; [3] 405; [1] 317

11va Semana: CLASES GENÉRICAS


Teoría
Definición de clases genéricas o contenedores, conceptos básicos sobre plantillas, prototipos,
ventajas y desventajas.
Práctica
Diseño y construcción de plantillas de clases y funciones en C++, comparación y diferencias con
relación a java.
Laboratorio
Ejercicio en Java.
Práctica Calificada Nº 3
Proyecto: Diagramas de clase de diseño, relaciones programación al 60%
[9] 299, 1111

12va Semana: PERSISTENCIA


Teoría
Definición, tipos de instancias (persistente y transitoria), alternativas usadas para persistencia, el
concepto de servicio de persistencia y requisitos de un servicio de persistencia en un sistema gestor
de datos.
Práctica
Casos en java de serialización así como especificación de un servicio de persistencia en un gestor de
datos.
Laboratorio
Implementación de la serialización y de un servicio de persistencia.
[9] 983; [10] 642; [8] 124; [2] 710; [3] 439; [1] 419; [6] 593; [13] 715
Proyecto: Diagramas de clase de diseño, relaciones, programación al 80% y persistencia

3
13va Semana: GUIs

Teoría
Conceptos, componentes, disposición, eventos
Practica
Implementación de GUI en java, AWT y SWING
Laboratorio
Implementación en Java

14 va Semana: PROGRAMACIÓN CONCURRENTE e HILOS (THREADS)

Teoría
Definición de Concurrencia,ejemplos de sistemas donde existe concurrencia, necesidad de la
programación concurrente, problemas típicos de la programación concurrente, Multiprogramación,
Multitarea, Multiprocesos, Sistemas Paralelos y Distribuidos.El Concepto de Hilos (Threads) ,
composición de Hilos, comunicación entre Hilos, sincronización entre Hilos, soluciones a problemas
de interbloqueo, ejemplos de uso de Hilos en Productor Consumidor, Semáforos.
Práctica
Diseño y construcción de Threads en Java.
Práctica Calificada Nº 4
Laboratorio
Implementación de la Threads y de uso de Hilos en Productor Consumidor,semáforos

15 va Semana:CONECTIVIDAD CON BASE DE DATOS - JDBC


Teoría
Introducción a ORM, la API JDBC , el bridge jdbc-odbc, otras categorías de drivers ,estructura de
una aplicación JDBC, DriverManager,conectándose a una base de datos , ejecución de consultas,
conversiones de tipos de dato.
Práctica
Diseño e construcción de conexión JDBC con Java.
Laboratorio
Implementación de conectividad entre JAVA – MYSQL , JAVA – MS-SQL Server
Proyecto: Presentación y Sustentación

16va Semana: Examen Final

17va Semana: Examen Sustitutorio.

6. METODOLOGÍA
El desarrollo del curso se realiza en base a sesiones teórico, práctico y laboratorio por parte del
profesor y un sistema de enseñanza y aprendizaje – investigación por parte de los alumnos. La
estructura del desarrollo del curso se asienta en una mixtura de métodos activos en la que la
participación de los alumnos les permite estar en permanente actividad mental. En ellas se producen
los estímulos necesarios, propiciando la motivación indispensable para la realización del aprendizaje.
Las sesiones de aula y laboratorio se complementarán con el desarrollo de trabajos prácticos en
grupo los cuales no podrán exceder el 10 % del total de alumnos inscritos en el curso.

7. EVALUACIÓN
En base a una consideración de evaluación formativa, el proceso de obtención de una calificación
aprobatoria dependerá del logro de los objetivos por parte del alumno. Esto implica:

NF: Nota final.


EP + EF + PL + PP + PY EP: Nota del Examen Parcial.
NF = EF: Nota del Examen Final.
8. 5 PL: Nota de Laboratorios.
PP: Nota de Prácticas.
PY: Proyecto.

4
8. BIBLIOGRAFÍA

Básica
[15]Deitel M. Harvey y Deitel J. Paul .(2008). Java Como Programar. Prentice Hall. Mexico D. F.
[1] Fco. Javier Ceballos. Java 2 Curso de Programación. Alfaomega Ra-Ma
[14]Budd. Timothy. Introducción a la Programación orientada a objetos. Addison - Wesley
Iberoamericana.
[9] Bertrand Meyer. Construcción de Software Orientado a Objetos. Prentice Hall, segunda edición

Complementaria
[3] Bruce Eckel. Piensa en Java. Prentice Hall Hispanoamericana S. A., 2002
[2] JhonZukowski. Java 2 J2SE 1.4. Anaya Multimedia 2003
[4] Luis Joyanes Aguilar. Programación en Java 2, Algoritmos Estructuras de Datos y Programación
Orientada a Objetos. Mc Graw Hill
[5] Mark Andrews. Aprenda Visual C++ Ya, McGraw-Hill, 1997
[6] Luis Joyanes Aguilar. Programación Orientada a Objetos, Segunda edición. McGraw-Hill
Interamericana De España S.A. U, 1998
[7] Chris H. Pappas, William H. Murray. Visual C++ 6.0 . McGraw - Hill Interamericana S.A.U.
1999
[8] Kent Reisdorph. Aprendiendo Borland C++ Builder 3 en 21 Días. Prentice Hall Hispanoamericana
S. A. 1998
[10] Andrew C. Staugaard, Jr. Técnicas Estructuradas y Orientadas a Objetos. Prentice Hall
Hispanoamericana S.A. 1998.
[11] Grady Booch. Análisis y Diseño Orientado a Objetos. Addison Wesley Iberoamericana S.A., segunda
edición, 1996
[12] James Rumbaugh, Michael Blaha, William Premerlani, Frederick Hedí y William Lorenson.
Modelado y Diseño Orientado a Objetos, Metodología OMT. Prentice Hall, 1996.
[13] Herbert Schildt. Turbo C/C++ Manual de Referencia, una información completa ideal para todo
usuario de Turbo C/C++. Osborne/ McGraw-Hill, 1999

Anda mungkin juga menyukai