Algoritmica II 2015 I (Plan 2014)

5
1 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: 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.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 - Lab: 2h 1.6 Naturaleza : Básico de la profesión 1.7 Número de créditos : Cuatro (4) 1.8 Pre-requisito : Algorítmica I 1.9 Semestre académico : 2015-I

description

Algoritmica II 2015 I (Plan 2014)

Transcript of Algoritmica II 2015 I (Plan 2014)

1 UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS Universidad del Per, DECANA DE AMRICA) FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA Escuela Acadmico Profesional de Ingeniera de Sistemas SILABO 1.ESPECIFICACIONES GENERALES: 2. SUMILLA Elparadigmadelaprogramacinorientadaaobjetos(POO).Conceptosbsicos(objeto,clase, encapsulacin,polimorfismo,etc).Relacionessemnticasyjerrquicas,clasesabstractas.LaimportanciadelaPOOenlaespecificacinyconstruccindePatronesoplantillas,excepcionesy persistencia. Casos prcticos y su implementacin en lenguajes como C++ y java. 3. OBJETIVO GENERAL Proveer a los estudiantes los conceptos y tcnicas de orientacin a objetos (OO) que son fundamento tericoprcticoparalaresolucindeproblemasyconstruccindeprogramasbasadoenel paradigmadelaOO.Ellolepermitirafrontarconxitolasolucindeaplicacionescomplejas Ademssecultivarlasdiferentestcnicasdere-usoycriteriosderobustezenunprograma, considerando siempre que solucionaruna aplicacin debe ser vista como una obra de ingeniera. 4. OBJETIVOS ESPECIFICOS Utilizar y aplicar correctamente la terminologa y conceptos bsicos de la POO. Implementar y utilizar correctamente los mensajes como medio de comunicacin de los objetos. Disear, implementar y aplicar los conceptos sobre relaciones entre clases con el fin de modelar aplicaciones del mundo real apoyndose en mecanismos de reutilizacin. Manipularobjetosdediferentesclasespormediodeunmismoelementoyrealizarlamisma operacin de formas diferente basado en conceptos de polimorfismo.Disear y aplicar clases y mtodos que acten sobre diferentes tipos de datos (genericidad). Disear 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. Alcanzarenelestudianteungradodeabstraccinquelepermitaanalizar,disear,discutire implementar soluciones a travs de las herramientas usadas hoy en da en la POO. 5. CONTENIDO ANALTICO POR SEMANAS 1ra Semana: INTRODUCCIN. Teora LaPOOcomounnuevoparadigma,sudiferenciaconlaprogramacinestructuradaymodular, abstraccin,ocultamientodelaimplementacin,reutilizacinylenguajesorientadosaobjetos. Ventajas y desventajas de la POO. Prctica Construccin de TAD y su manipulacin en un enfoque estructurado a travs de ejercicios prcticos, ventajas y desventajas. 1.1 Nombre del curso: Algortmica II 1.2 Cdigo del curso: 2010302 1.3 Duracin del curso: Semestral 1.4 Forma de Dictado: Terico - Prctico - Experimental 1.5 Horas semanales: Teora: 3h - Lab: 2h 1.6 Naturaleza: Bsico de la profesin 1.7 Nmero de crditos: Cuatro (4) 1.8 Pre-requisito: Algortmica I 1.9 Semestre acadmico: 2015-I 2 Laboratorio Implementacin 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 Teora Objetos y clases como TAD. Encapsulacin y ocultacin de la informacin, tipos de atributos.Adems creacin de objetos como instancia de una clase. Prctica Comparacin entre lenguajes de POO, creacin de objetos. Laboratorio IDEs de desarrollo. Implementacin 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 Teora Mtodosysusvariantescomoconstructoresydestructores.Activacindeobjetos,definicinde mensaje ypartes de un mensaje.Introduccin a excepciones. Prctica Construccin y comparacin de mtodos y mecanismos de iniciacin y finalizacin (constructores y destructores). Prctica Calificada N 1 Laboratorio Desarrollo de un caso de iniciacin en Java. [10] 470; [11] 167; [5] 63; [8] 101, 104; [6] 243 4 y 5ta. Semana:RELACIONES ENTRE CLASES Teora Conceptosyterminologabsicausadaparadescribirrelacionesdeuso,asociacin,agregaciny composicin,y su diseo en el diagrama de clases. Prctica Exposicin de casos reales basados en relaciones de asociacin, agregacin y composicin. Laboratorio Ejemplodeherramientasparaeldiseodediagramasdeclaseseimplementacindelasrelaciones en Java. [11] 199; [12] 45. 6 ySemana: HERENCIA Teora Conceptosypropiedades,nivelesdeacceso,suimportanciacomomecanismoderehuso,tiposde herencia y su representacin en el diagrama de clases. Reutilizacin con herencia. Prctica Construccin de jerarquas de clases. Implementacin. Prctica Calificada N 2 Laboratorio DesarrollodecasosenJavabajoherenciasimple(extends)oherenciamltiple(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 Teora Concepto y propiedades de una clase abstracta, su ubicacin e importancia en la jerarqua de clases. Interfaces. Conceptos, diferencias clases abstractas. aplicaciones Prctica Diseodeclasesabstractaseneldiagramadeclases,laredefinicindesusmtodos(funciones virtuales), tipos de ligadura, etc. 3 Laboratorio Forma de Implementar y ejercicios sobre clases abstractas en JavaProyecto: Planteamiento [10] 505;[13]697 8va Semana: Examen Parcial 9na semana: POLIMORFISMO Teora Polimorfismo, su importancia en la POO, ventajas y desventajas de su uso en lenguajesde POO. Prctica 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 Teora Concepto de excepciones, manejo de excepciones, lanzamiento de excepciones. Prctica Comparacin y construccin 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 programacin al 50% [9] 387; [6] 249, 419, 631; [2] 168; [3] 405; [1] 317 11va Semana: CLASES GENRICAS Teora Definicindeclasesgenricasocontenedores,conceptosbsicossobreplantillas,prototipos, ventajas y desventajas.Prctica DiseoyconstruccindeplantillasdeclasesyfuncionesenC++,comparacinydiferenciascon relacin a java. Laboratorio Ejercicio en Java. Prctica Calificada N 3 Proyecto: Diagramas de clase de diseo, relacionesprogramacin al 60% [9] 299, 1111 12va Semana:PERSISTENCIA Teora Definicin,tiposdeinstancias(persistenteytransitoria),alternativasusadasparapersistencia,el concepto de servicio de persistencia y requisitos de un servicio de persistencia en un sistema gestor de datos. Prctica Casos en java de serializacinas como especificacin de un servicio de persistencia en un gestor de datos.Laboratorio Implementacin de la serializacin 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 diseo, relaciones,programacin al 80% y persistencia 4 13va Semana:GUIs Teora Conceptos, componentes, disposicin, eventos Practica Implementacin de GUI en java,AWT y SWING Laboratorio Implementacin en Java 14 va Semana: PROGRAMACIN CONCURRENTE eHILOS (THREADS) Teora DefinicindeConcurrencia,ejemplosdesistemasdondeexisteconcurrencia,necesidaddela programacinconcurrente,problemastpicosdelaprogramacinconcurrente,Multiprogramacin, Multitarea,Multiprocesos,SistemasParalelosyDistribuidos.ElConceptodeHilos(Threads), composicin de Hilos, comunicacin entre Hilos, sincronizacin entre Hilos, soluciones a problemas de interbloqueo, ejemplos de uso de Hilos en Productor Consumidor, Semforos. Prctica Diseo y construccin de Threads en Java. Prctica Calificada N 4 Laboratorio Implementacin de la Threads y de uso de Hilos en Productor Consumidor,semforos 15 va Semana:CONECTIVIDAD CON BASE DE DATOS - JDBC Teora Introduccin a ORM, la API JDBC , el bridge jdbc-odbc, otras categoras de drivers ,estructura de una aplicacin JDBC, DriverManager,conectndose a una base de datos , ejecucin de consultas, conversiones de tipos de dato. Prctica Diseo e construccin de conexin JDBC con Java. Laboratorio Implementacin de conectividad entre JAVA MYSQL , JAVA MS-SQL ServerProyecto: Presentacin y Sustentacin 16va Semana:Examen Final 17va Semana: Examen Sustitutorio. 6.METODOLOGA Eldesarrollodelcursoserealizaenbaseasesionesterico,prcticoylaboratorioporpartedel profesoryunsistemadeenseanzayaprendizajeinvestigacinporpartedelosalumnos.La estructuradeldesarrollodelcursoseasientaenunamixturademtodosactivosenlaquela participacin de los alumnos les permite estar en permanente actividad mental. En ellas se producen los estmulos necesarios, propiciando la motivacin indispensable para la realizacin del aprendizaje. Lassesionesdeaulaylaboratoriosecomplementarnconeldesarrollodetrabajosprcticosen grupo los cuales no podrn exceder el 10 % del total de alumnos inscritos en el curso. 7. EVALUACIN Enbaseaunaconsideracindeevaluacinformativa,elprocesodeobtencindeunacalificacin aprobatoria depender del logro de los objetivos por parte del alumno. Esto implica: 8. 5 EP + EF + PL +PP + PY NF = NF: Nota final. EP:Nota del Examen Parcial.EF:Nota del Examen Final. PL:Nota de Laboratorios. PP:Nota de Prcticas. PY:Proyecto. 5 8. BIBLIOGRAFA Bsica [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 Programacin.Alfaomega Ra-Ma [14]Budd. Timothy. IntroduccinalaProgramacinorientadaaobjetos.Addison - Wesley Iberoamericana. [9] Bertrand Meyer. Construccin deSoftware Orientado a Objetos. Prentice Hall, segundaedicin 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. Programacin en Java 2, Algoritmos Estructuras de Datos y Programacin Orientada a Objetos. Mc Graw Hill [5] Mark Andrews. Aprenda Visual C++ Ya, McGraw-Hill, 1997 [6] Luis Joyanes Aguilar. ProgramacinOrientada a Objetos, Segundaedicin.McGraw-HillInteramericana De Espaa S.A. U, 1998 [7] Chris H. Pappas,William H.Murray.Visual C++ 6.0 .McGraw - HillInteramericanaS.A.U.1999 [8] Kent Reisdorph. Aprendiendo Borland C++ Builder 3 en21 Das. Prentice Hall Hispanoamericana S. A.1998 [10] Andrew C. Staugaard, Jr. TcnicasEstructuradas y OrientadasaObjetos. Prentice Hall Hispanoamericana S.A. 1998. [11] Grady Booch. Anlisis y Diseo Orientado a Objetos. Addison Wesley Iberoamericana S.A., segundaedicin, 1996 [12] James Rumbaugh, Michael Blaha, William Premerlani, Frederick Hedy William Lorenson. Modelado yDiseoOrientadoaObjetos, Metodologa OMT. Prentice Hall, 1996. [13] Herbert Schildt. Turbo C/C++ Manual de Referencia, una informacin completa ideal para todo usuario de Turbo C/C++. Osborne/ McGraw-Hill, 1999