Unidad Nro. 1: Unidad I Programación Orientada a Objetos avanzada

Documentos relacionados
Cátedra: Paradigmas de Programación. Paradigmas de Programación Ciclo Lectivo 2010 Vigencia del programa Ciclo lectivo 2010 Plan 2008 Área.

Cátedra: Programación de Aplicaciones Visuales II 1

Master en Java Certificación para Programadores

PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN. Carrera y plan: Analista Programador Universitario Plan 2008.

SÍLABO POR OBJETIVOS CURSO: PROGRAMACIÓN DISTRIBUIDA Y WEB DOCENTE: Ing. JUAN JOSE ARAMBULO AQUIJES

1) FUNDAMENTACIÓN DE LA MATERIA DENTRO DEL PLAN DE ESTUDIOS

Diplomado Programación Java 8 desde POO (JSE, Servlets & JSP) con Oracle 11g, JPA con Hibernate, Eclipse & Tomcat

SYLLABUS de la Asignatura. : Programación I

Curso Programación Java JSE 8 desde Cero Descripción Programación Java JSE 8 desde cero Curso Programación Java JSE 8

Universidad Tecnológica Nacional Facultad Regional San Francisco. Técnico Superior en Programación. Programación III

Sistemas Informáticos del Valle

Arquitectura y Sistemas de Operativos

La clase Integer y sus métodos. Los Operadores (concepto). Operadores Lógicos y a nivel de Bits. Operadores de desplazamiento. Concatenaciones. La Con

FACULTAD DE INGENIERÍA Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

07 Java EE Tarea 7. Laboratorio de proyectos de tecnologías de la información III Prof. Emmanuel Oropeza Gonzalez

Curso Programación Java JSE 7

Programador de Aplicaciones Web

PROGRAMACION ORIENTADA A OBJETOS PROPÓSITO DEL CURSO

Oracle 10g: Creación de Aplicaciones J2EE

Presentación del Curso Presencial. Programación Web con Java J2EE

Arquitectura Java Web. Ing. Juan Zevallos Valle

Paradigmas de Programación

CICLO LECTIVO 2009 PLAN Asignatura Electiva para Analista de Sistemas y para Ingeniería en Sistemas de Información ÁREA VIGENCIA Desde año 2008

PROGRAMACION ORIENTADA A OBJETOS PROPÓSITO DEL CURSO

Programa Formativo. Código: Curso: Programación con JAVA 8 SE Standard Edition Modalidad: ONLINE Duración: 120h.

Universidad Tecnológica Nacional Facultad Regional San Francisco. Tecnicatura Superior en Programación PROGRAMACIÓN II

ALED: ALgoritmos y Estructuras de Datos

PLANIFICACIÓN PROGRAMACION II

Métodos de Programación

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

FACULTAD DE INGENIERÍA Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

Java web: servlets, Jsp, Jstl, Struts & Ajax

Diplomado Programación Java (JSE, Servlets & JSP) con Oracle 11g, JPA con Hibernate, Eclipse & Tomcat

Mar Mie

PLANIFICACIÓN. 3) CONTENIDOS MÍNIMOS Introducción a algoritmos Estilos y tipos de programación.

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

ESPECIALISTA EN TECNOLOGIAS JAVA

Diplomado Programming Java (JSE, Servlets & JSP) with Oracle 10g, Eclipse (o NetBeans) & JBoss

POSGRADO EN DESARROLLO DE APLICACIONES PARA ANDROID CON JAVA

SECUENCIA DIDÁCTICA. Módulo Competencia de Módulo:

Universidad Tecnológica Nacional - Facultad Regional Córdoba - Departamento de Sistemas

Guía del Curso Especialista TIC en Programación con JAVA 8 SE Standard Edition

NOMBRE DEL CURSO: Introducción a la Programación y computación 1

Desarrollador de Aplicaciones Web con Java

Oracle Certified Professional, Java SE 6 Programmer 1Z0-851

Que el alumno comprenda qué es ser emprendedor y cuáles son las características comunes a los emprendedores.

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

Universidad Ricardo Palma

Pontificia Universidad Católica del Ecuador

Diplomado Programming Java (JSE, Servlets & JSP) with Oracle 10g, Eclipse (o NetBeans) & JBoss

GUÍA DE APRENDIZAJE PROGRAMACION ORIENTADA A OBJETOS Y CONCURRENTE

Nombre de la Materia Tecnología de Software de Base Electiva Tercer Nivel Ciclo Lectivo 2007 Plan Plan 95 Área

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Diseño de la capa de presentación. Aplicaciones Distribuidas

UNIVERSIDAD LIBRE SECCIONAL PEREIRA

MOO - Metodología y Programación Orientada a Objetos

ESCUELA DE INGENIERIA Informática Y Sistemas

UNIVERSIDAD DE CIENCIAS EMPRESARIALES Y SOCIALES FACULTAD DE CIENCIAS EMPRESARIALES

APLICACIONES WEB J2EE - JSP

ANEXO XVII DE LA RESOLUCION N

Diplomado Programming Java (JSE, Servlets & JSP) with Oracle 10g & MyEclipse (o NetBeans)

UNIVERSIDAD DE GUADALAJARA

Java Web J2EE con JSP

Java Web J2EE con JSP

Java Web J2EE con JSP

Universidad Ricardo Palma

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

UNIVERSIDAD LIBRE SECCIONAL PEREIRA

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

PROGRAMACIÓN EN JAVA

1º cuatrimestre. Asignatura Programación de Aplicaciones Visuales II Ciclo Lectivo 2010 Vigencia del Ciclo lectivo 2010.

APLICACIONES DISTRIBUIDAS. Código de asignatura: 3871 Grado en Ingeniero en Informática Curso: 2011/2012

Compiladores e Intérpretes

UNIVERSIDAD DE GUADALAJARA

Programa Regular. Comprender y manejar conceptos avanzados en redes de datos.

DESCRIPCIÓN DE LA ASIGNATURA

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

CAPÍTULO 1. MI PRIMERA APLICACIÓN...

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

SONIDO E IMAGEN. Programación I y II. Curso 1 o Grupo A Aula UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I.

MODALIDAD ACADÉMICA. INGENIERÍA EN SISTEMAS DE INFORMACIÓN Ciclo Lectivo 2014 Vigencia del programa Desde el ciclo lectivo 2014 Plan 2008 Nivel

MODALIDAD ACADÉMICA. Al menos 1 materia(s) del conjunto PAVII-DLC

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

Curso JAVA EE

PRÓLOGO...13 CAPÍTULO 1. INTRODUCCIÓN A AJAX...17

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

PLAN DE DISCIPLINA GESTIÓN I- 2013

Programa Regular. Vázquez Alejandro. Jefe de TP simple.

Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA

Programación Web Tema 1.1: Introducción

UNIVERSIDAD NACIONAL DE RÍO CUARTO FACULTAD DE CIENCIAS EXACTAS, FÍSICO-QUÍMICAS Y NATURALES DEPARTAMENTO DE COMPUTACIÓN

Ventajas del Master de Java sobre cualquier tipo de manuales o tutoriales de Java

PLANIFICACIÓN DE CÁTEDRA. Carrera: Tecnicatura Superior en Tecnologías de la Información Plan de estudio: Ordenanza Nº 918/2000

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA)

PROGRAMA. 2) CONTENIDOS MÍNIMOS Introducción a algoritmos Estilos y tipos de programación. 3) PROGRAMA ANALÍTICO

Transcripción:

Asignatura Paradigmas de Programación Ciclo Lectivo 2011 Vigencia del programa Desde el ciclo lectivo 2011 Plan 2008 Área Paradigmas de Programación Carga horaria semanal 8 hs Anual/ cuatrimestral Cuatrimestral Coordinador de Cátedra Ing. Tymoschuk, Jorge Pablo Objetivos de la Materia Comprender los fundamentos de los paradigmas de programación básicos que son utilizados por los lenguajes de programación actuales. Conocer el modelo formal u semiformal subyacente de cada paradigma y la forma en que el mismo es incorporado en un lenguaje de programación concreto. Aplicar los diferentes paradigmas en la solución de problemas. Programa Analítico Unidad Nro. 1: Unidad I Programación Orientada a Objetos avanzada Objetivos Específicos: Suministrar al alumno conocimientos teórico/prácticos sobre tratamientos mas avanzados y eficientes de estructuras de datos contempladas en Java bajo el nombre genérico de colecciones. Afirmar el concepto de herencia, introducido en la asignatura Algoritmos y Estructuras de Datos, con mas práctica de casos concretos. Introducción a colecciones... 3 Interfaces de colecciones.. 4 Interfaces de colección e implementaciones separadas. 5 Colecciones y las interfaces de iteración.. 5 Colecciones concretas... 8 Listas enlazadas (LinkedList)... 8 public class LinkedListTest.. 12 public class SortedList extends LinkedList. 13 Array de listas (ArrayList)... 16 Acceso a los elementos de un ArrayList.. 17 Inserción y eliminación de elementos intermedios 18 Una implementación de ArrItems extendiendo ArrayList 21 Conjuntos de hash.... 22 Usando class HashSet... 23 Arboles.... 25 Árboles rojo-negro.. 25 Comparación de objetos.. 26 Class TreeSet... 28 Arbol TreeSet ordenado según interfaz Comparable 28 Arbol TreeSet ordenado según objeto Comparator 29 Conjuntos de bits... 31 public class CribaEras extends BitSet. 31 Herencia y Polimorfismo en Java. Caso concreto.. 33 public class Progression.. 33 class ArithProgression extends Progression. 34 class GeomProgression extends Progression. 35 class FibonacciProgression extends Progression 35 1

class Tester... 36 Aplicaciones Graficas Usando Constructor (GUI Builder) Introducción.... Proyecto EjemploIG01... Proyecto EjemploIG02... Proyecto EjemploIG03... Bibliografía: Material la cátedra publicado por Educo y disponible en el sitio labsys.frc.utn.edu.ar, Sitios de las Cátedras, Paradigmas de Programación conjuntamente con todo el código Java. Evaluación: Trabajo Practico Nro 1 y 1er Parcial. Unidad II Programaron Orientada a Eventos y Concurrente Objetivos Específicos: Suministrar al alumno conocimientos teórico/prácticos sobre la construcción y uso de interfaces de entrada salida en modo gráfico, utilizando componentes del paquete Java Swing. Capacitar al alumno en la utilización de técnicas de programación multihilo, con flujos de control independientes, bloqueo de objetos, sincronización, concurrencia. Programación Multithread, ventajas, desafíos.2 Exclusión mutua, sincronización.....3 Calendarización de hilos, punto muerto, hilos en Java.4 class ParImpar extends Thread... 5 public class BounceThread....6 La interfaz Runnable, Interrupción de threads...8 Estados de thread: nuevos, ejecutables, bloqueados, muertos 9 Grupos de threads, prioridades, egoistas,... 16 Sincronización, bloqueo, Los métodos wait y notify. 17 Resumen, puntos muertos..... 21 Espera a que un hilo finalice..... 24 Métodos estáticos sincronizados.... 26 El modelo productor/consumidor.... 29 Usando Swing como interfaz de usuario... 32 Bibliografía: Material la cátedra publicado por Educo y disponible en el sitio labsys.frc.utn.edu.ar, Sitios de las Cátedras, Paradigmas de Programación conjuntamente con todo el código Java. Evaluación: Trabajo Practico Nro 2 y 1er Parcial. Unidad III Programación Distribuida Objetivos Específicos: Capacitar al alumno en la utilización de técnicas de programación distribuida. Introducir los conceptos de arquitectura Modelo/Vista/Controlador, usando en su implementación recursos provenientes de la arquitectura Servlet, JavaBeans y bibliotecas de etiquetas de usuario. Breve historia de Java y la Red.... 2 Common Gateway Interface (CGI), alternatives. 3 Java y la Red....... 5 2

Páginas de Servidor Java (JSP, Java Server Pages). 5 JavaScript,....... 6 Elementos scriplet, Comentarios, Declaraciones. Expresiones, Scriptlets. 6 Obtención de datos desde el navegador... 9 Recuperación de datos utilizando formularios HTML 9 Utilización del elemento <form>,el atributo action 9 Utilización de Get y Post.... 10 Utilización de controles HTML.... 11 El elemento HTML <input>.... 12 Atributos maxlength, checked, value.. 12 Añadir botones y casillas de verificación. 14 Diseñar páginas html/jsp usando la Paleta. 16 Procesamiento de peticiones.... 26 Utilización del objeto request... 26 Funcionamiento, El valor null... 27 Presentación de JavaBeans..... 28 Separación de papeles, componentes, Introducción 28 Propiedades, Construcción de un JavaBean.. 29 Utilización de un JavaBean.... 30 Etiquetas bean....... 31 Proyecto PPRBean01...... 33 Proyecto SimulaAuditoriaMedicaWeb... 37 Introducción a las bibliotecas de etiquetas. 42 Dentro de una biblioteca de etiquetas.. 44 Los manipuladores de etiquetas... 44 El descriptor de bibliotecas de etiquetas. 45 La directriz taglib..... 45 Utilización de una biblioteca de etiquetas. 46 Cómo escribir bibliotecas de etiquetas.. 53 Construcción de una etiqueta personalizada. 53 El archivo descriptor de bibliotecas de etiquetas 56 El elemento < tag>...... 57 Crearemos un proyecto PPRTag01.... 57 Crear etiquetas con atributos.... 62 Etiqueta que retorna una línea de texto invertida 63 Procesar una línea de texto cumpliendo una serie 66 Seguir la pista a los usuarios, qué es una sesión? 71 Cookies, Utilización de sesiones en JSP.. 73 El objeto Session en detalle.... 75 Proyecto ContarAccesos usando un scriplet.. 77 Servlets y JSP, entrando en detalle.... 80 Tecnología Java Servlet,..... 80 Función del servlet en una aplicación web.. 80 ARQUITECTURA WEB. Modelo-Vista-Controlador.. 82 Arquitectura de un servlet,..... 84 Procesamiento de solicitudes, un servlet sencillo 85 Colaboración entre servlets..... 93 Reenviar/incluir solicitudes.... 96 3

Qué es JSTL? (JSP Standard Tag Library). 99 Expression Language (EL).... 102 JSP y EL (Filminas)..... 110 Que es JSTL (Java Standard Tag Library)(Filminas) 113 Proyectos Web usando diversas arquitecturas Modelo MVC, proyecto MVCBookStore.. 120 Modelo Custom Tag, proyecto PycJTagSinBody. 126 Modelo combinado, proyecto PycProdeRegional2010 131 Bibliografía: Material la cátedra publicado por Educo y disponible en el Sitio Labsys.frc.utn.edu.ar, Sitios de las Cátedras, Paradigmas de Programación conjuntamente con todo el código Java. Evaluación: Trabajo Practico Nro 3 y 2do Parcial. Unidad IV - Programación Funcional Objetivos Específicos: Capacitar al alumno en la utilización de técnicas de programación basadas en el Paradigma Funcional. Un poco de Historia..... 3 El lenguaje Haskell..... 5 A. INTRODUCCIÓN...... 5 B. Que es Haskell..... 5 C. Por qué usar Haskell?.... 5 D. Desarrollo futuro de Haskell... 6 E. Haskell en acción..... 6 1 Tipos....... 6 1.1 Información de tipo.... 7 1.2 Tipos predefinidos.... 7 1.3 Funciones..... 7 2 - El entorno de Haskell HUGS... 7 3 - Funciones...... 9 4 Listas....... 9 5 Tuplas....... 10 6 - Ecuaciones con guardas.... 10 7 - Definiciones locales.... 10 8 - Expresiones lambda..... 11 9 - Disposición del código.... 11 10 - Tipos definidos por el usuario... 12 11 - Tipos Recursivos..... 14 12 - Entrada/Salida..... 15 13 - Sobrecarga y Clases en Haskell... 17 14 - Evaluación Perezosa (Lazy)... 19 15 - Ejercicios Prácticos.... 19 Anexo La enseñanza de Haskell... 21 Bibliografía: Material la cátedra publicado por Educo y disponible en el Sitio Labsys.frc.utn.edu.ar, Sitios de las Cátedras, Paradigmas de Programación conjuntamente con todo el código. Evaluación: Trabajo Practico Nro 4. Unidad V Programación Lógica Objetivos Específicos: Capacitar al alumno en la utilización de técnicas de programación basadas en el Paradigma Lógico. 4

PROGRAMACION LOGICA 1 - INTRODUCCION A LA PROGRAMACION LOGICA. 2 2 - LOGICA PROPOSICIONAL.... 3 3 - INTRODUCCION A PROLOG.... 4 3.1 LOGICA DE PREDICADOS DE PRIMER ORDEN y.. FORMAS RESTRINGIDAS..... 4 4 - CALCULO DE RELACIONES.... 6 4.1 RELACIONES...... 8 4.2 RELACIONES EN PROLOG... 8 5 - BUSCANDO LAS SOLUCIONES.... 15 5.1 EL CONTROL EN PROLOG... 16 5.2 EL BACKTRACKING.... 17 REGLA INFERENCIA DE RESULUCION.. 17 5.3 EL CORTE(!)..... 23 5.4 LA NEGACIÓN COMO FRACASO.. 26 5.5 REALIZANDO EL SEGUIMIENTO DE UN PROGRAMA. 26 6 - ESTRUCTURA DE UN PROGRAMA EN PROLOG. 26 7 - OBJETOS COMPUESTOS.... 36 8 - RECURSIVIDAD..... 37 9 - LISTAS...... 40 PARTE PRÁCTICA...... 45 SOLUCIONES...... 50 Referencias y fuentes.... 64 Bibliografía: Material la cátedra publicado por Educo y disponible en el Sitio Labsys.frc.utn.edu.ar, Sitios de las Cátedras, Paradigmas de Programación conjuntamente con todo el código. Evaluación: Trabajo Practico Nro 5. Metodología de enseñanza y aprendizaje Sistema de evaluación Teórico y práctico desarrollado en laboratorio. Los conceptos teóricos son inmediatamente llevados a prácticos en el lenguaje de programación base del paradigma y luego son profundizados en clases prácticas (laboratorio) y prácticos grupales (Domicilio). Prácticos grupales son aceptados una vez que funcionen a satisfacción del Jefe de Prácticos. Exámenes Parciales se evalúan de acuerdo al grado de cumplimiento de la meta propuesta, que normalmente consiste en completar un proyecto parcialmente codificado y editado en el entorno de programación usado en el paradigma. El alumno debe interpretar el enunciado, analizar la programación ya existente y codificar los puntos pedidos, integrando todo el código. La evaluación se realiza directamente sobre el trabajo del alumno en la computadora, consistiendo en: 1ro - Correcto funcionamiento de lo solicitado. 2do Explicar satisfactoriamente la codificación utilizada Condiciones de regularidad Totalidad de prácticos grupales (mínimo cuatro) aceptados por el Jefe de Prácticos mas dos parciales aprobados. Se puede recuperar un parcial. Se promedian los prácticos grupales, obteniéndose 1 nota y los 5

parciales(2 notas) Modalidad de examen final Actividades en laboratorio Horas/año totales de la asignatura Cantidad de horas prácticas totales Cantidad de horas teóricas totales Tipo de formación práctica (marque la que corresponde y si es asignatura curricular -no electiva-) Cantidad de horas afectadas a la formación práctica indicada en el punto anterior Descripción de los prácticos Práctico, si aprobado se pasa al teórico. El práctico se realiza en máquina siguiéndose la modalidad detallada para los exámenes parciales. Si el alumno tiene promedio >= 8(ocho) y ninguna nota < 7(siete) rinde examen teórico o puede presentar un trabajo de investigación consistente en un proyecto, normalmente un desarrollo en lenguaje Java de tópicos que representen una novedad o un avance sobre lo desarrollado en aula. La totalidad de las clases se desarrollan en el laboratorio de computación, tanto los horarios asignados a contenidos teóricos como la parte practica. Se utilizan los siguientes lenguajes y entornos: Unidades I, II y III: Lenguaje Java, entorno Netbeans Unidad IV: Lenguaje Haskell, entorno Hugs Unidad V: Lenguaje y entorno Prolog. 128 (16 semanas de 8 hs) 96 (75%) 32 (25%) Formación experimental X Resolución de problemas de ingeniería Actividades de proyecto y diseño Prácticas supervisadas en los sectores productivos y /o de servicios 96 (75%) Índice de los proyectos conteniendo prácticos Unidad I Programación Orientada a Objetos avanzada 6

Unidad II Programación Orientada a Eventos / Concurrente Unidad III Programación Distribuida 7

Unidad IV - Programación Funcional Unidad V - Programación Lógica Criterios de evaluación de los prácticos Descripción de la presentación de los prácticos Cronograma de actividades de la asignatura, incluyendo semana prevista para cada práctico Descripción de metodología propuesta de consultas y cronograma de consultas Plan de integración con otras asignaturas Bibliografía Obligatoria Mínimo de un 80% de los puntos especificados en el enunciado funcionando correctamente (en ejecución). Programación Java, entorno Netbeans, Unidades I, II, III Programación Haskell, Entorno Hugs, Unidad IV Progaramación Prlog, entorno prolog, Unidad V Unidad Semanas Finalización I 3 19 de Agosto II 2 2 de septiembre III 7 21 de octubre IV 1 28 de octubre V 1 4 de noviembre Uso del aula virtual, todo el año Material la cátedra publicado por Educa y disponible en el sitio labsys.frc.utn.edu.ar, Sitios de las Cátedras, Algoritmos y Estructuras de Datos conjuntamente con todo el código Java. Bibliografía Complementaria JAVA 2 Interfaces Gráficas y aplicaciones para Internet Francisco Javier Ceballos Alfaomega Ra-Ma 8

Distribución de docentes por curso 9