Transcript

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