Está en la página 1de 4

PONTIFICIA UNIVERSIDAD CATLICA DEL PER

FACULTAD DE CIENCIAS E INGENIERA

Lenguaje de Programacin 2
Especialidad rea Ciclo Semestre Profesores : : : : : Ingeniera Informtica Ciencia de la Computacin Stimo 2007-1 Otto Pflcker Claudia Zapata Johan Balden Clave Crditos Teora Prctica Laboratorio Requisitos : : : : : : INF282 5.00 4 horas semanales 2 horas quincenales 2 horas quincenales INF281

I. DESCRIPCIN DEL CURSO El curso forma al estudiante en el desarrollo de programas orientados a objetos, con interfaces grficas de usuario y concurrentes. Es pre-requisito del curso tener un slido conocimiento en programacin estructurada, manejo de algoritmos y estructura de datos, y programacin en los lenguajes C y C++.

II. OBJETIVOS Objetivo General: Desarrollar las habilidades necesarias para afrontar la programacin de aplicaciones utilizando tecnologas orientadas a objetos. Objetivos Especficos: Al terminar el semestre los alumnos sern capaces de: - Aplicar los conceptos de la programacin orientada a objetos en el desarrollo de software. - Entender el funcionamiento y elaborar programas con interfaces grficas de usuario. - Entender el funcionamiento y elaborar programas concurrentes utilizando hilos. - Manejar excepciones. - Implementar y utilizar libreras. - Manejar objetos persistentes. - Evaluar las caractersticas de las plataformas Java-Sun y .NET-Microsoft para su uso en proyectos de desarrollo de software. Estos objetivos contribuyen al logro de los siguientes cinco Resultados del Programa: a. c. i. k. Aplica los conocimientos relacionados a las matemticas, ciencias e ingeniera. Disea sistemas, componentes o procesos que satisfagan las necesidades presentadas. Reconoce la necesidad y se compromete con el aprendizaje a lo largo de toda la vida. Utiliza las tcnicas, estrategias y herramientas de la ingeniera moderna necesarias para la prctica de la misma.

l.

Aplica los conocimientos relacionados a los lenguajes de programacin, modelado de sistemas de informacin, construccin de software de calidad y administracin de recursos tecnolgicos.

III. PROGRAMA ANALTICO CAPTULO 1. Introduccin (2 horas) Revisin del contenido del curso. Introduccin a los lenguajes de programacin utilizados durante el curso: Java y C#. CAPTULO 2. Programacin Orientada a Objetos (12 horas) Declaracin de clases y creacin de objetos. Construccin y destruccin de objetos. Finalizacin determinista y no-determinista. mbitos de declaracin y modificadores de acceso. Variables y mtodos. Paso de parmetros. Propiedades e indizadores. Estructuras. Herencia. Polimorfismo. Clases anidadas. Reflexin. Programacin genrica. CAPTULO 3. Espacios de Nombres y Libreras (6 horas) Concepto y uso de espacios de nombres. Concepto de librera. Libreras estticas. Libreras de enlace dinmico para Windows en C/C++. Paquetes en Java. Ensamblajes en .NET. CAPTULO 4. Archivos, Flujos y Persistencia de Objetos (4 horas) Concepto de flujo de datos. Comparacin entre flujos y archivos. Manejo de los flujos de entrada y salida estndar. Esquemas de manejo de archivos. Conceptos de serializacin y persistencia. Serializacin de objetos. CAPTULO 5. Programacin con Interfaces Grficas de Usuario (18 horas) Interfaces GUI con Ventanas. Creacin y manejo de ventanas. Interaccin con el entorno. Elementos GUI. Tipos de ventanas. Creacin de grficos. CAPTULO 6. Programacin Concurrente (8 horas) Conceptos generales de procesos e hilos. Programacin con hilos: Creacin, destruccin, sincronizacin. Durante la primera semana se clase se les dar a los alumnos una lista de las lecturas que se evaluarn en las prcticas y exmenes del curso. Se colocar en la intranet del curso una lista de dichas lecturas y en cuales prcticas y exmenes sern evaluadas. Los temas tipos de datos, arreglos y cadenas de caracteres, controles de flujo de ejecucin y excepciones no sern tratados a profundidad en clase, pero debern ser estudiados a profundidad por los alumnos dado que formarn parte de los ejercicios usados en otros temas y de las evaluaciones del curso. Un resumen de estos temas se encuentra en LP2 Temas de Estudio. IV. BIBLIOGRAFA Los temas estudiados a lo largo del curso se encuentran recopilados en la publicacin Lenguajes de Programacin 2: Temas de Estudio preparada por los profesores del curso. El

alumno debe profundizar estos temas con la lectura de libros especializados. Se recomiendan los siguientes: Teora sobre Lenguajes de Programacin 1. 2. 3. 4. Concepts in programming languages. Mitchell, John C. Cambridge ; New York : Cambridge University Press, 2003. Lenguajes de Programacin: Diseo e Implementacin. Terrance W. Pratt, Marvin V. Zelkowitz. 3ra Edicin. Prentice-Hall, 1998. Programming languages : concepts and constructs. Sethi, Ravi. Reading, MA : Addison-Wesley, 1996. Concepts of programming languages. Sebesta, Robert W. Reading, Massachusetts : Addison-Wesley, 1996.

Lenguaje C++ 1. C++: how to program, 4th ed. Deitel, Harvey M. Upper Saddle River, NJ : Prentice Hall, 2003. 2. The C++ programming language, 3rd ed. Stroustrup, Bjarne. Reading, Mass. : Addison-Wesley, 1997. 3. C++ multimedia cyber classroom. Deitel, Harvey M. Upper Saddle River, N.J.: Prentice Hall, 2003. 4. Programacin en C++ : algoritmos, estructura de datos y objetos. Joyanes Aguilar, Luis. Madrid : McGraw-Hill, 2000. 5. Structured and object-oriented techniques : an introduction using C++, 2nd ed. Staugaard, Andrew C. Upper Saddle River, NJ : Prentice Hall, 1997. Programacin para Windows en Lenguaje C++ 1. Programacin Avanzada en Windows 2000 con Visual C++ y MFC. Jorge Pascual, Francisco Charte, Miguel J. Segarra, ngel de Antonio, Jos A. Clavijo. Editorial McGraw-Hill. 2000. 2. Programming Windows, 5th ed. Petzold, Charles. Redmond, Wash. : Microsoft, 1999. 3. Inside Visual C++. David Kruglinski. Editorial Microsoft Press. 1997 4. 32-bit Windows programming. Ezzell, Ben. Indianapolis, Indiana : Sams, 1996. 5. Microsoft Visual C++: development system for Windows 95 and Windows NT: version 4. Microsoft Corporation. 1995. Posee 6 volmenes. Lenguaje Java 1. Java: how to program, 5th ed. Deitel, Harvey M. Upper Saddle River, NJ : Prentice Hall, 2003. 2. Java swing, 2nd ed. Loy, Marc. Sebastopol : O'Reilly, 2003. 3. Developing applications with Java and UML. Reed, Paul R. Jr. Boston : AddisonWesley, 2002. 4. Introduccin a la Programacin Orientada a Objetos con Java. C. Thomas Wu. Mac Graw Hill, 2001. 5. Introduction to programming using Java: an object-oriented approach: Java 2 update. Arnox, David M. Editorial Addison-Wesley. 2000.

Tecnologa .NET y Lenguaje C# 1. 2. 3. 4. Programming Microsoft Windows with C#. Petzold, Charles. Redmond, Wash. : Microsoft Press, 2002. C# : how to program. Deitel, Harvey M. Upper Saddle River, N.J. : Prentice Hall, 2002. Aprenda ya Microsoft Visual C#.NET. Sharp, John. Madrid : McGraw-Hill, 2002. Professional C#. Simon Robinson, Ollie Cornes, Jay Glynn, Burton Harvey, Craig McQueen, Jerod Moemeka, Christian Nagel, Morgan Skinner, Karli Watson. Editorial Wrox Press. 2001. A Fondo C#. Tom Archer. Editorial McGraw-Hill. 2001. Correspondiente a la versin en ingls: Inside C#.

5.

V. METODOLOGA El curso se basa en clases expositivas y en clases colaborativas. En las clases expositivas se har uso de computadoras en clase para el desarrollo de ejemplos sobre los temas tratados. En las clases colaborativas se formarn grupos de trabajo, los que debern resolver un caso de estudio utilizando los conceptos vistos en clase. Parte de la nota de los exmenes saldr del resultado de estos trabajos colaborativos.

VI. SISTEMA DE EVALUACIN En este curso se aplica la modalidad de evaluacin 4, que establece que el promedio se calcula con la siguiente frmula: Nota Final = (3 Ex1 + 4 Ex2 + 2 Pa + 1 Pb) / 10 Donde: Exi = Examen isimo Pa = Promedio de prcticas Tipo a, sin considerar la menor nota Pb = Promedio de prcticas Tipo b, sin considerar la menor nota

San Miguel, marzo de 2007.