Sunteți pe pagina 1din 8

Universidad Tecnolgica Nacional Facultad Regional Crdoba Depto. Ing.

en Sistemas de Informacin

Asignatura Ciclo Lectivo Vigencia del programa Plan rea

Algoritmos y Estructuras de Datos 2013 Desde el ciclo lectivo 2011 2008 Programacin

Carga horaria semanal 5 hs Anual Anual/ cuatrimestral Coordinador de Ctedra Ing. Tymoschuk, Jorge P Objetivos de la Materia Desarrollar la capacidad de razonamiento y lgica, abordando problemas reales, analizndolos, definiendo las clases requeridas a su tratamiento, detallando el comportamiento necesario a nivel de mtodos y atributos, verificando su correcto funcionamiento.

Programa Analtico Unidad Nro. 1: Problemas con tipos de datos simples Objetivos Especficos: Desarrollar la capacidad de razonamiento y lgica necesarios
para identificar problemas algortmicos que usan tipos de datos simples y resolverlos. Esto implica: abordar problemas reales, analizarlos, definir la estrategia de su resolucin, explicitar los algoritmos necesarios y codificarlos en un lenguaje de programacin.

Contenidos:
Objetivos de la Unidad . . . . 3 Pasos a seguir en la resolucin de un problema . . 3 Introduccin a la POO . . . . 4 Que es la programacin Orientada a Objetos 5 Componentes bsicos de la POO . . 5 Caractersticas de la POO . . 5 Programacin estructurada, Programacin orientada a objetos 9 LENGUAJE JAVA, CARACTERSTICAS . . . 11 Instalacin de java . . . 13 Compilacin y ejecucin de un programa 13 GRAMTICA DEL LENGUAJE JAVA 14 COMENTARIOS . . . . 14 IDENTIFICADORES, PALABRAS CLAVE Y RESERVADAS 15 Concepto de Dato . . . 15 Concepto de Informacin, dif. entre datos e informacin 16 Tipos de Datos Simples, Variables 17 Genero de las variables, asignacin, inicializacin 18 Operadores: unarios, binarios . . . 19 Separadores . . . . 21 Estructuras de control: secuencial, selectivas 21 Alternativa simple, doble 21 Alternativa mltiple . . . 23 Estructuras de Control: Bucles . . 25 El Bucle While . . . 25 Terminaciones anormales de un ciclo . 26 Bucles controlados por centinela . 27 Diseo eficiente de bucles . . 27 Bucles controlados por banderas . 29

1 Ctedra: Algoritmos y Estructuras de Datos

Universidad Tecnolgica Nacional Facultad Regional Crdoba Depto. Ing. en Sistemas de Informacin

Sentencias de quiebre de control Repeticin: El Bucle For . Repeticin: El Bucle do-while . Bucles Anidados . . Ejercicios propuestos para el alumno

. . . . .

30 31 34 35 36

Bibliografa: Material la ctedra publicado por Educo y disponible en el sitio


labsys.frc.utn.edu.ar, Sitios de las Ctedras, Algoritmos y Estructuras de Datos conjuntamente con todo el cdigo Java.

Evaluacin: Trabajo Practico Nro 1 y 1er Parcial. Unidad Nro. 2: Problemas con tipos de datos abstractos Objetivos Especficos: Desarrollar la capacidad de razonamiento y lgica necesarios para identificar problemas algortmicos que usan tipo abstracto de datos y resolverlos. Esto implica: abordar problemas reales, analizarlos, definir la estrategia de su resolucin, explicitar los algoritmos necesarios y codificarlos en un lenguaje de programacin. En esta Unidad trataremos con algoritmos que resuelven problemas usando el comportamiento de una nica clase. Contenidos:
Programacin orientada a Objetos, Principios de diseo 3 Abstraccin, Tipo Abstracto de Datos . . 3 Encapsulamiento, Modularidad . . 4 CLASES, ABSTRACCIONES CON PROCEDIMIENTOS Y FUNCIONES 5 ESTRUCTURA GENERAL . . . 5 DECLARACIN Y DEFINICIN, EL CUERPO DE LA CLASE 6 Acceso a miembros, Ciclo de Vida de los Objetos . 7 DECLARACIN DE LOS MIEMBROS DE UNA CLASE . 8 Modificadores de acceso a miembros de clases . 8 Separacin de la interfaz . . 10 ATRIBUTOS DE UNA CLASE . . . 12 MTODOS DE UNA CLASE . . . 13 Llamadas a mtodos . . . 14 El objeto actual (puntero this) . . 15 Pasaje de Parmetros . . 16 Mtodos sobrecargados . . 18

Resolucin de llamada a un mtodo

18

Mtodos constructores . . 19 Constructores, Por defecto, Con argumentos, Copiadores19 Caso especial . . . 20 public class paridad . . . 22 Interfaces . . . 23 Implementacin de interfaces . . 23 Aplicaciones Graficas Usando GUI Builder para disear entrada/salida graf 28 Proyecto EjemploIG01 . . 29 Proyecto EjemploIG02 . . 32 Proyecto EjemploIG03 . . 36 Consola de Grficos . . . 41 Presentacin de la clase GraphicsConsole . 41 GraphicsConsole: Resumen de mtodos . 47 La clase Font de Java . . 50 La clase Color de Java . . 52 Proyecto Cohete . . 52

2 Ctedra: Algoritmos y Estructuras de Datos

Universidad Tecnolgica Nacional Facultad Regional Crdoba Depto. Ing. en Sistemas de Informacin

Diagrama de Barras . . 54 Uso de la clase JOptionPane . . 57 Entrada y salida basada en ventanas . 57 Bibliografa: Material la ctedra publicado por Educo y disponible en el sitio labsys.frc.utn.edu.ar, Sitios de las Ctedras, Algoritmos y Estructuras de Datos conjuntamente con todo el cdigo Java.

Evaluacin: Trabajo Practico Nro 2 y 1er Parcial. Unidad Nro. 3: Estrategias de Resolucin. Objetivos Especficos: Desarrollar la capacidad de razonamiento y lgica necesarios para que el alumno pueda visualizar y desarrollar la solucin de problemas como comportamiento de varias clases de objetos, los cuales interaccionan entre si mediante mensajes. Entrenar a los alumnos en el uso de herramientas que facilitan y racionalizan estos desarrollos, como ser herencia, polimorfismo, colecciones. Entrenar al alumno en el uso de programacin existente, como ser el de bsqueda y ordenamiento en arreglos. Instruir al alumno en el uso de soluciones alternativas al tratamiento iterativo, como es la recursividad. Contenidos:
Interaccin de objetos, Abstraccin . . 3 Abstraccin en software, Relaciones entre objetos 4 Composicin usando una sucesin de objetos Nmero . 6 Composicin usando una sucesin de objetos Carcter 8 Tratamiento de frases . . . 12 Agrupar objetos. . . . 14 Colecciones de tamao fijo Arreglos . 15 Declaracin, creacin, uso de variables arreglo 16 Composicin usando un arreglo de objetos 17 Composicin usando una secuencia de nmeros 18 Colecciones de tamao flexible, agenda personal . 21 Caractersticas importantes de ArrayList . 23 Procesar coleccin completa, ciclo for-each 24 Recorrer una coleccin . . 26 Herencia . . . . 29 Usar herencia . . . 31 Jerarquas de herencia . . . 32 Herencia e inicializacin . . 34 Agregando nuevos elementos a una jerarqua existente. 35 Ventajas, Subtipos, Subtipos y asignacin 36 Variables polimrficas, Enmascaramiento de tipos 37 La clase Object . . . 38 Tipo esttico y tipo dinmico . . 39 Bsqueda dinmica del mtodo . . 40 Llamada a super en mtodos . 42 Mtodos polimrfico . . 43 Paquetes (package) . . . 46 Tratamiento de Excepciones . 48 Lanzamiento de excepciones . . 49 Atrapado de excepciones . . . 50 Generando nuestras propias excepciones. . 53 Algoritmos de bsqueda, recorrido y ordenamiento Bsqueda en arreglos . . 55 Bsqueda secuencial . . . 57 Bsqueda binaria . . . 58 Nociones de Complejidad Computacional ,

3 Ctedra: Algoritmos y Estructuras de Datos

Universidad Tecnolgica Nacional Facultad Regional Crdoba Depto. Ing. en Sistemas de Informacin

Operaciones Primitivas . . 59 Conteo, Notacin asinttica . . 61 Ordenamiento Introduccin, Algoritmos bsicos y mejorados. . 63 class OrdBurb, OrdSac, OrdPein, ordPeinCol 64 Determinacin del Orden de Complejidad. Tiempos 68 Arrays multidimensionales . . 70 Acceso a elementos mediante bucles . 71 Matriz de objetos Item. . . 73 Estructuras lineales. . . . 79 Pila, concepto, diversas implementaciones . 79 public class Tiempos . . 81 Cola, concepto, diversas implementaciones 83 Implementacin usando nodos enlazados. 84 Recursividad, concepto, formulacin recursiva del algoritmo85

Bibliografa: Material la ctedra publicado por Educo y disponible en el sitio


labsys.frc.utn.edu.ar, Sitios de las Ctedras, Algoritmos y Estructuras de Datos conjuntamente con todo el cdigo Java.

Evaluacin: Trabajo Practico Nro 3 y 2do parcial. Unidad Nro 4 Almacenamiento de Datos Objetivos de la unidad: Instruir y dar las herramientas para que el alumno pueda guardar y recuperar sus datos de forma persistente usando: o Flujos a archivos de acceso secuencial y aleatorio: organizaciones y accesos. o Flujos a archivos de objetos. . . . . . . . . 3 Contenidos: Flujos Clases File Input/Output Stream . . . . . 5 Procesamiento Bsico . . . . 5 Clases ByteArray Input/Output Stream . . . . 6 Clases Pipe Input/Output Stream . . . . . 6 Clases Filtro . . . . . 7 Clases Data Input/Output Stream . . . . . 7 La Clase File, ejemplos. . . . . . .10 Archivos secuenciales, creacin, consulta, actualizacin .12 Archivos de acceso aleatorio . . . . . .16 Creacin de un Random AccessFile . . .17 Mtodos de posicionamiento . . . .17 Creando, consultando . . . . .18 Flujos de tipo Objeto . . . . . .19 Almacenamiento de objetos de distinto tipo. .20 Tratando objetos div.: grabando, leyendo . .21

4 Ctedra: Algoritmos y Estructuras de Datos

Universidad Tecnolgica Nacional Facultad Regional Crdoba Depto. Ing. en Sistemas de Informacin

Bibliografa: Material de la ctedra publicado por Educo y disponible en el sitio


labsys.frc.utn.edu.ar, Sitios de las Ctedras, Algoritmos y Estructuras de Datos conjuntamente con todo el cdigo Java.

Evaluacin: Trabajo Practico Nro 4 y 2do parcial. Metodologa de enseanza y aprendizaje Terico y prctico desarrollado en laboratorio. Los conceptos tericos son inmediatamente llevados a prcticos en lenguaje Java y luego son profundizados en clases prcticas (laboratorio) y prcticos grupales (Domicilio). 4(cuatro) prcticos grupales de hasta 3(tres) integrantes y 2(dos) parciales individuales. Se puede recuperar solo 1(un) parcial. El alumno regulariza la asignatura aprobando prcticos grupales y parciales individuales con nota mayor/igual a 4(cuatro). Prctico, realizado en mquina, si aprueba pasa al terico, consistente en la evaluacin de conceptos tericos. Si en el cursado el alumno obtuvo un promedio de 8(ocho) y ninguna nota menor que 7(siete) en la evaluacin de prcticos y parciales, promueve el prctico y puede: Rendir el examen terico normalmente. Presentar un trabajo de investigacin: Un proyecto conteniendo una programacin sobre tpicos no desarrollados en clase funcionando. La totalidad de las clases se desarrollan en laboratorio. Los enunciados se analizan y se programan en lenguaje Java usando un entorno de programacin (Netbeans, Blue J). 160 128 32 Formacin experimental Resolucin de problemas de ingeniera Actividades de proyecto y diseo Prcticas supervisadas en los sectores productivos y /o de servicios

Sistema de evaluacin

Condiciones de regularidad

Modalidad de examen final

Actividades en laboratorio

Horas/ao totales de la asignatura Cantidad de horas prcticas totales Cantidad de horas tericas totales Tipo de formacin prctica (marque la que corresponde y si es asignatura curricular -no electiva-) Cantidad de horas afectadas a la formacin prctica indicada en el punto anterior Descripcin de los prcticos

128

Unidad Nro 1 Problemas con tipos de datos simples


Clase con comportamiento (10 mtodos) para obtener diversos datos a partir de los lados del tringulo. Diversos ejemplos simples de ciclos while. Diversos ejemplos simples de ciclos for. Clase tratando varias figuras geomtricas. Ciclos anidados. Comparativo de dibujo de tringulos issceles usando ciclos simples y anidados.

5 Ctedra: Algoritmos y Estructuras de Datos

Universidad Tecnolgica Nacional Facultad Regional Crdoba Depto. Ing. en Sistemas de Informacin

Unidad Nro 2 Problemas con tipos de datos abstractos


Se lee un texto, se detectan palabras repetidas, se las exhibe y se las suprime del texto original. Leer sucesivas lneas y concatenarlas; informar cuantas lneas. Leer sucesivas lneas, concatenarlas. Informar orden de la lnea mas larga, cuantos caracteres contiene, contenido. Utilizamos el concepto de separador para detectar palabras. Ordenarlas palabras de la lnea en orden decreciente de longitud Suprimir clave de texto. Mostrar texto resultante.

Unidad Nro 3 - Estrategias de Resolucin


Una agenda basica, ABM de Strings sobre ArrayList Recorriendo agenda con ciclos for each, while e iterador Bsqueda de claves en agenda con ciclos for each, while e iterador Contabiliza alternancias consonante/vocal en una cadena de texto Anlisis comparativo de cuatro distintas implementaciones de una pila Anlisis comparativo de tres mtodos de ordenamiento Insercin ordenada en una coleccin implementada en un ArrayList Comportamiento de un array de tems Cuatro programas sencillos usando matrices multidimensionales. Una coleccin ArrayList con elementos ArrItems. Su mantenimiento Comportamiento adicional sobre la coleccin anterior. Bsqueda binaria sobre objetos Item. Bsqueda secuencial idem. Programas simples usando comportamiento de las clases String y StringBuffer Comportamiento de una matriz bidimensional de nmeros enteros Ordenamiento mediante mtodo burbuja Ordenamiento mediante mtodo peinado Ordenamiento mediante mtodo sacudida Comportamiento para tratar palabras dentro de textos. Comportamiento para tratar una sucesin de nmeros enteros. Variante de SecuNum usando ciclo For Proyecto tratando series numricas. Uso de herencia y polimorfismo Interaccionando con dos LinkedList se genera lista ordenada, etc Comportamiento tratando sucesin de caracteres Variante de SecuNum usando ciclo do while Varios proyectos con comportamiento simple sobre vectores conteniendo enteros

Unidad Nro 4 Almacenamiento de Datos


Comportamiento para generar/agregar y leer archivos

6 Ctedra: Algoritmos y Estructuras de Datos

Universidad Tecnolgica Nacional Facultad Regional Crdoba Depto. Ing. en Sistemas de Informacin

secuenciales tipo texto y binarios. Comportamiento para generar/actualizar archivos de acceso aleatorio. Usando la clase File para obtener atributos de archivos Comportamiento para grabar/leer archivos con datos de objetos. Usando herencia para definir clases y sus especializaciones Almacenando recuperando objetos que contienen otros objetos Usando serializacin para manipular flujos de objetos Grabando objetos diversos, su reconocimiento en lectura Comportamiento combinado de los dos proyectos anteriores.

Criterios de evaluacin de los prcticos Descripcin de la presentacin de los prcticos Cronograma de actividades de la asignatura, incluyendo semana prevista para cada prctico

Mnimo de un 80% de los puntos especificados en el enunciado funcionando correctamente (en ejecucin). Programacin Java en un entorno adecuado, normalmente NetBeans. Unidad Nro 1 Unidad Nro 2 Unidad Nro 3 Unidad Nro 4 6(seis) semanas, finaliza el 26 de abril 2013 8(ocho) semanas, finaliza el 21 de junio 2013 11(once) semanas, finaliza el 04 de octubre 2013 5(cinco) semanas, finaliza el 08 de noviembre 2013

Uso de autogestin/aula virtual, todo el ao. Descripcin de metodologa propuesta de consultas y cronograma de consultas Plan de integracin con otras El contenido de esta asignatura es pre-requisito del contenido dictado en Paradigmas de Programacin. asignaturas Bibliografa Obligatoria
Material la ctedra publicado por Educa y disponible en el sitio labsys.frc.utn.edu.ar, Sitios de las Ctedras, Algoritmos y Estructuras de Datos conjuntamente con todo el cdigo Java. Estructuras de Datos y Algoritmos en Java, Goodrich/Tamassia, CECSA

Bibliografa Complementaria

7 Ctedra: Algoritmos y Estructuras de Datos

Universidad Tecnolgica Nacional Facultad Regional Crdoba Depto. Ing. en Sistemas de Informacin

Distribucin de docentes por curso Curso 1k01 1k02 1k03 1k04 1k05 1k06 1k07 1k08 1k09 1k10 1k11 1k12 1k13 1k14 Turno Da y Horas Profesor Maana Mar 5,6,7 Fritelli Mie 1,2 Valerio Maana Lun 1,2,3 Mie 1,2 Maana Lun 6,7 Vie 4,5,6 Maana Mar 3,4 Guzmn Anala Serra Silvio JTP Bett Federico Tartabini Marcela Steffolani Felipe Ayudante Roman Germn Prraga Adriana Luna Karina

Jue 1,2,3
Maana Mar 4,5,6 Vie 6,7 Maana Lun 4,5,6 Jue 6,7 Maana Mie 1,2,3 Vie 6,7 Maana Lun 1,2,3 Mie 1,2 Tarde Mar 4,5,6 Vie 5,6 Tarde Mar 3,4 Vie 0,1,2 Tarde Lun 2,3 Mie 1,2,3 Noche Lun 0,1 Vie 1,2,3 Noche Mie 5,6 Vie 1,2,3 Maana Mar 5,6,7 Mie 1,2

Fritelli Valerio
Ligorria Karina Guzman Analia Ligorria Karina Corso Cynthia Tymoschuk Jorge Cresta Tomas Tymoschuk Jorge Serra Silvio Castillo Julio Castillo Julio

Teicher Romina
Carena Gustavo Tartabini Marcela Teicher Romina Fernandez Julieta Steffolani Felipe Crdenas Marina Carena Gustavo Crdenas Marina Bett Federico Carena Gonzalo Roman Germn Colacioppo Nicols Colacioppo Nicols Brochero Carlos Luna Karina

Prraga Adriana Brochero Carlos

8 Ctedra: Algoritmos y Estructuras de Datos

S-ar putea să vă placă și