Universidad Nacional del Nordeste Facultad de Ciencias Exactas y

Anuncio
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
FORMULARIO PARA LA PRESENTACION
DE PROGRAMAS ANALITICOS Y DE EXAMEN
1. IDENTIFICACION
1.1.
FACULTAD DE CIENCIAS EXACTAS Y NATURALES Y AGRIMENSURA
1.2.
DEPARTAMENTO: Informática.
1.3.
AREA: Programación
1.4.
ASIGNATURA: Programación I
1.5.
CARRERAS: Licenciatura en Sistemas de Información
1.6.
Año en que se dicta:
1.7.
PROFESOR RESPONSABLE:
1° - 2do Cuatrimestre
Apellido y Nombres: Agrim. CASTOR FEDERICO HERRMANN
Máximo Título Alcanzado: Agrimensor Nacional
1.8.
MODALIDAD: Cuatrimestral
1.9.
CARGA HORARIA TOTAL:
1.10.
CARGA HORARIA SEMANAL TEORICA/PRACTICA: 9 (3 teóricas y 6 prácticas)
1.11.
Obligatoriedad y optividad. Obligatoria.
144 (9 horas semanales)
2. DESCRIPCION
El dictado de la materia se realiza en la forma tradicional. Hay clases teórico-práctica y clases
prácticas exclusivamente. También esta previsto un horario de clase de laboratorio donde se
presentan, explican y se pone en practica la codificación de las soluciones planteadas por los
alumnos a cada uno de los problemas que componen la serie de trabajos prácticos en un lenguaje
de programación.
En las clases teórico-práctica se inculcan sólidos conocimientos para la resolución de problemas
complejos utilizando algoritmos para el manejo de distintos tipos de estructuras de la información,
incluyendo técnicas para optimización de algoritmos..
El dictado de cada clase teórica se apoya fundamentalmente en el uso del pizarrón y retroproyector
en el cual se explican los distintos temas y a la que normalmente se la complementa con las
explicaciones y ampliaciones del caso, como así también el uso de computadoras personales con
el cañón.
En las clases prácticas se resuelven series de ejercicios y luego se explican en el pizarrón a
efectos de comprobar los resultados. También se conforman grupos para la resolución de los
prácticos.
Las clases de laboratorio son desarrolladas utilizando computador personal con el cañón.
Fundamentalmente en las clases de laboratorio la actividad que realiza es la codificación en un
lenguaje de programación de los ejercicios de cada una de las series a los efectos de que el
alumno se vaya familiarizando en el uso de un lenguaje de programación y a partir de las
especificaciones de entrada de cada uno de los problemas y aplicando a los mismos los procesos
necesarios para la obtención de la salida, ver plasmada esa salida en el ordenador.
Se prevé al final del cuatrimestre, exclusivamente para las clases de laboratorio, la entrega de un
trabajo integral , que consistirá en la codificación, depuración, implementación y ejecución de
varios ejercicios de las series prácticas.
La evaluación de los alumnos contempla dos parciales individuales, cada uno de ellos con su
respectivo recuperatorio y un examen parcial extraordinario.
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
El alumno para aprobar la asignatura tiene la siguiente alternativa:
a) Regularizar y rendir el examen teórico final: Es decir, aprobar ambos parciales con notas
mayores o iguales a seis(6) y aprobar el examen final.
b) Aprobar examen final libre (teórico – practico): según programa analítico.
En todos los casos las evaluaciones se realizan sobre el programa vigente al momento de la
regularidad.
Desde la asignatura se intenta que el alumno comprenda la continuidad y articulación con todas y
cada una de las asignaturas, que verá posteriormente, del área de Programación. Se trata de que
el alumno tenga incorporado en su saber la aplicación de técnicas algorítmicas que posteriormente
(como en Programación I y en todas las otras Programaciones) codificara en algún lenguaje pre
establecido.
A los efectos de promover la articulación del área, desde la asignatura se desarrollan actividades
(dictado de cursos y talleres para alumnos y docentes), esto favorece la integración de los
docentes y alumnos y permite entrever los puntos de contacto entre las asignaturas.
2.1. OBJETIVO(S) GENERALES
Se instruye al alumno sobre los conceptos de algoritmos y estructura de la información. Utiliza
algoritmos para el manejo de arreglos, pilas, colas, grafo y árboles.
Aprende a solucionar problemas de búsqueda, clasificación e intercalación utilizando algoritmos,
como también el uso de algoritmos para el manejo de estructuras recursivas.
A través de la aplicación de técnicas de aprendizaje se iinstruye al alumno sobre programación
estructurada, formalización.
Comprende los algoritmos de cortes de control y de apareamiento de archivos.
Como también la utilización de técnicas de optimización de algoritmos e incursiona sobre la
resolución de algoritmos mas complejos como ser del tipo poda, voraces, evolutivos, divide y
vencerás.
Básicamente se pretende que el alumno logre:
•
Ubicarse en las distintas etapas de la resolución de problemas con computadoras.
•
Identificar las distintas partes de un programa.
•
Modelar problemas sencillos dividiéndolos en módulos.
•
Construir algoritmos utilizando las estructuras de control básicas (secuencia, decisión,
selección e iteración) y tipos de datos simples.
•
Resolver problemas utilizando estructuras de datos compuestas (arreglos , archivos, Pilas,
colas, listas)
•
Depuración de los algoritmos
•
Reconocer la importancia de utilizar la metodología de Programación Estructurada en el
desarrollo de software
2.2. TIPO/S DE ACTIVIDAD/ES: ( marque con una cruz)
Clases
Utiliza
Prácticas
X
Teóricas
X
Laboratorio
X
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
Trabajo Campo
Seminario
Otros
2.2.1. Técnicas o Estrategias didácticas:
(Exposición del docente/del alumno, trabajos grupales, estudio independiente, resolución de
situaciones problemáticas, resolución de ejercicios de aplicación, presentación de monografías, de
informes, etc., presentación y desarrollo de trabajos de laboratorio integral, etc.)
La exposición teórica se desarrolla a través de clases expositivas del profesor, complementándose
con la lectura previa de materiales puestos a disposición del alumnado.
La resolución de ejercicios de tipo práctico es realizada por el alumno en forma grupal y/o en
forma individual. Teniendo en cuenta la génesis del tipo de asignatura, lo ideal es fomentar el
tratamiento lógico de los problemas por cada uno de los alumnos, por lo que habitualmente la
resolución de los problemas si bien pueden ser encarados grupalmente, una vez entendido el
mismo se hace hincapié para que la solución sea aportada utilizando el intelecto individual.
2.2.2. Para el aprendizaje autónomo:
En el sitio Web de la asignatura:
el
http://exa.unne.edu.ar/depar/areas/informatica/programacion1/public_html/generalidades.php)
alumno encontrará abundante material de estudio, como también, series de trabajos prácticos, el
desarrollo de monografías, la codificación en lenguajes de programación de una gama de
ejercicios prácticos, bibliografía, sitios en la red relacionados con algoritmos, etc., que le permitirá
expandir en forma muy completa su visión en la aplicación de algoritmos de distintos tipos de
complejidad
También se le brinda información adicional que va desde lo más simple hasta accesos a
importantes documentos, libros, herramientas CASE y CASE-I y otras universidades con similares
contenidos en asignaturas equivalentes.
De igual manera, se recomienda el libro de la cátedra sobre Programación.
2.3. REGIMEN DE REGULARIDAD
Se regulariza con los dos parciales aprobados (primer y segundo) con notas mayores o iguales a
seis (6) y el 75 % de asistencias a las clases practicas.
2.4. EXAMEN FINAL
En el caso de que el alumno regularice la materia (ambos parciales aprobados con notas mayores
o iguales a seis(6)), deberá rendir un examen final teórico en el modo convencional.
2.5 PROGRAMA ANALITICO
2.5.1. CONTENIDOS POR UNIDAD:
Tema I. Algoritmo y programación
Profundización de los conceptos de: análisis del problema; diseño, implementación y depuración
del algoritmo; programación; ejecución y pruebas; concepto de algoritmo; sus características;
metodologías para resolver un problema; estructuras básicas.
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
Tema II. Programación en lenguaje estructurado
Elementos del lenguaje de programación. Caracteres. Constantes. Variables. Operadores.
Expresiones aritméticas. Instrucciones,. Instrucciones de Comienzo y Fin. Instrucciones de
transferencia. Aritméticas. Asignación. Instrucciones de entrada (lectura de datos). Instrucciones
de salida (escritura de resultados). Instrucciones de control. Condicional. Elementos básicos de
programación: Contadores. Acumuladores. Iteración, o Bucle o Rulo. Funciones y Subprogramas .
Tema III. Estructura dinámicas de datos lineales: Pilas, colas, listas.
Estructuras de datos lineales. Listas. Representación de listas. Operaciones. Listas enlazadas.
Listas circulares. Pilas. Representación de pilas. Operaciones. Colas. Representación de colas.
Colas circulares. Doble cola.
Tema IV. Estructura de datos: No lineales: Grafo, Árboles.
Estructura de Datos no lineales. Árboles. Introducción. Representación. Árboles binarios. Árbol
binario de búsqueda. Operaciones básicas. Grafos. Introducción. Representación. Operaciones
básicas.
Tema V. Búsqueda, clasificación e intercalación. (Algoritmos de ordenamientos).
Búsqueda. Búsqueda Secuencial. Búsqueda Máximos y Mínimos. Búsqueda Binaria. Clasificación
u Ordenación. Métodos Directos. Ordenación por Intercambio Directo (Burbuja). Ordenación por
Selección (Obtención sucesivas de menores). Ordenación por Inserción (Baraja). Métodos
Logarítmicos. Método de Shell (Inserción con incrementos decrecientes). Método de Clasificación
Rápida (QuickSort). Intercalación
Tema VI. Programación Estructurada. Subprogramas. Procedimientos y funciones
Programación Estructurada. Introducción. Herramientas. Estructuras básicas. Figuras Lógicas.
Teorema de la Estructura. Recursos abstractos. Diseño descendente (top-down). Métodos. Método
Jackson. Método Bertini. Método Warnier. Comparación con programación tradicional.
Ejemplificación. Ventajas. Inconvenientes.
Introducción a los subalgoritmos o subprogramas. Funciones. Declaración e invocación de
funciones. Procedimientos (subrutina). Procedimiento versus funciones. Sustitución de parámetros.
Ámbito: Variables locales y globales. Funciones y procedimientos como parámetros. Efectos
laterales.
Tema VII. Recursividad.
Recursividad. Concepto. Recursividad directa e indirecta. Recursividad versus iteración.
Recursividad infinita. Ejemplos de problemas complejos de recursividad. Ventajas y desventajas.
Tema VIII. Archivos (ficheros) secuenciales y directos.
Noción de archivo. Estructura jerárquica. Concepto y definiciones. Soporte secuenciales y
direccionables. Organización de archivos. Operaciones sobre archivos. Gestión de archivos.
Eliminación de archivos. Mantenimiento de archivos. Procesamiento de archivos secuenciales.
Procesamiento de archivos directos. Procesamiento de archivos secuenciales indexados.
Tema IX. Optimización de Algoritmo
Concepto. Objetivos. Factibilidad. Reglas de Jackson. Formas de optimización. Por afinación. Por
algoritmos. Recursos. Tablas. Parámetros. Matemáticos. Modelos de clasificación. Distintos
métodos. Eficiencia de algoritmos.
Tema X. Algoritmos complejos.
Algoritmos complejos. Descripción. Tipos: Ramificación y poda; Vuelta atrás, (Backtracking); Divide
y Vencerás; etc.. Estrategia de resolución. Diseño e implementación. Aplicaciones. Ventajas y
desventajas. Concepto de algoritmos evolutivos. Paradigmas de algoritmos evolutivos.
Comparación de algoritmos evolutivos.
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
2.5.2. BIBLIOGRAFIA:
•
Especifica:
1. Fundamentos de programación. Algoritmos, estructuras de datos y objetos; Luis Joyanes
Aguilar; 2003; Editorial: MCGRAW-HILL. ISBN: 8448136642.
2. ESTRUCTURA DE DATOS; Luis Joyanes Aguilar, 2001,Editorial: MCGRAW-HILL.
ISBN:.ISBN: 8448120426.
3. FUNDAMENTOS DE PROGRAMACIÓN. Libro de Problemas en Pascal y Turbo Pascal;
Luis Joyanes Aguilar Luis Rodríguez Baena y Matilde Fernandez Azuela; 1999; Editorial:
MCGRAW-HILL. ISBN: 844110900.
4. PROGRAMACIÓN; Castor F. Herrmann,María E. Valesani.; 2001; Editorial: MOGLIA
S.R.L..ISBN: 9874338326.
5. ESTRUCTURA DE DATOS; Cairó y Guardati; 2002; Editorial: MCGRAW-HILL. ISBN:
9701035348.
•
General:
1. ESTRUCTURA DE DATOS, Luis Joyanes Aguilar, 1998,Editorial: MCGRAW-HILL. ISBN:
8448120426.
2. ESTRUCTURA DE DATOS Libro de Problemas, Luis Joyanes Aguilar, Fernández Matilde
, Rodriguez Luis; 1999; Editorial: MCGRAW-HILL. ISBN: 8448122984.
3. ALGORITMOS DATOS Y PROGRAMAS, De Giusti Armando E.; 2001; Editorial: Prentice
Hall. ISBN: 9879460642.
4. FUNDAMENTOS DE PROGRAMACIÓN. Algoritmo y Estructura de Datos; Luis Joyanes
Aguilar; 1998; Editorial: MCGRAW-HILL. 8448106032.
5. PROGRAMACIÓN EN TURBO PASCAL; Luis Joyanes Aguilar; 1993; editorial:
MCGRAW-HILL. ISBN: 8448101278.
6. ALGORITMOS + ESTRUCTURAS DE DATOS = PROGRAMAS; Niklaus Wirth; 2000;
Editorial: C.I.E / DOSSAT. ISBN: 8421901729.
7. METODOLOGÍA DE LA PROGRAMACIÓN: PROGRAMACIÓN ESTRUCTURADA; María
Dolores Alonso y Silvia Rumeu; 1994; Editorial Paraninfo. ISBN: 8428319545.
8. METODOLOGÍA DE LA PROGRAMACIÓN; Luis Joyanes Aguilar; 1990; Editorial:
MCGRAW-HILL. ISBN: 8476151381.
9. PRINCIPIO DEL DISEÑO DE PROGRAMAS; M.A. Jackson; 1990; Editorial: Pamel SRL.
ISBN: 87341155228.
10. INTRODUCCIÓN A LA PROGRAMACIÓN Y A LAS ESTRUCTURAS DE DATOS;
Braunstein y Gioia; 1991; Editorial: Universitaria de Buenos Aires. ISBN: 9502302192.
11. PROBLEMAS DE METODOLOGÍA DE LA PROGRAMACIÓN; Luis Joyanes Aguilar;
1990;MCGRA-WHILL. ISBN: 8476154623.
12. TURBO PASCAL FOR PROGRAM DESIGN; John Mallozzi ; 1988; Editorial: MCGRAWHILL. ISBN: 0670398186.
13. ADVANCED PROGRAMMING DESIGN AND STRUCTURE.Using Pascal;
Charles
E. Miller, William G. McArthur, J. Winston Crawley; 1989; Editorial: Prentice Hall. ISBN:
0138540357.
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
Material didactico :
# Material de estudio y guías de trabajos prácticos para la asignatura Programación I. Cuerpo
Docente de la asignatura Programación. Área Programación. Dpto. Informatica. FaCENA.
# Material de Estudio y guías de trabajo prácticos para la Asignatura Algoritmos y
Programación I. (UBA); 2001; Prof. Cataldi, Z. y Lage, F.
•
Otros documentos y enlaces:
Pagina de la asignatura:
http://exa.unne.edu.ar/depar/areas/informatica/programacion1/public_html/generalidades.php)
Taller de Programación I (FIUBA): .http://www.fi.uba.ar/materias/7542/
Algoritmos y Programación I. INGENIERÍA INFORMÁTICA Y LICENCIATURA - UBA:
http://www.fi.net.ar/materias/7540/cataldi/
Programación I - Conceptos. Básicos. Universidad de Lujan:
http://www.unlu.edu.ar/~program1/biblioteca/Clase1.pdf
Monografías sobre la temática de algoritmos:
http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml
Solución de problemas algorítmicos utilizando distintos lenguajes de programación: http://www.misalgoritmos.com/
Material de estudio del lenguaje Pascal:
http://wwwdi.ujaen.es/asignaturas/geometriacomputacional/pdfs/practicas/ccuz19.pdf
Artículos y tutoriales de Lenguaje Pascal:
http://www.um.es/docencia/barzana/PRACTICAS/Pascal.html
3. PROGRAMA DE EXAMEN:
Bolillas
Temas
Nro. 1
1
5
10
Nro. 2
2
6
9
Nro. 3
3
7
8
Nro. 4
4
8
7
Nro. 5
5
9
6
Nro. 6
6
10
5
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
Nro. 7
7
1
4
Nro. 8
8
2
3
Nro. 9
9
3
2
Nro. 10
10
4
1
4. - NOMINA DE TRABAJOS PRACTICOS:
Ejercicios de acuerdo a cada contenido temático del programa analítico.
Identificación
Descripción
Contenido
Temas
teóricos
Semanas
Clases
Serie Nro. 1
Sintaxis
del Conceptual
lenguaje Pascal
Dos
(1/2)
(1)
Serie Nro. 2
Arreglos.
Profundización
(1/2)
(1)
Serie Nro. 3
Pilas,
Listas
Colas
y Conceptual
Tres
(1 y 1/2)
(3)
Serie Nro. 4
Árboles y Grafo
Conceptual
Cuatro
(1 y 1/2)
(3)
Serie Nro. 5
Búsqueda,
clasificación
intercalación
(1 y 1/2)
(3)
Serie Nro. 6
Subprogramas
Funciones y procedimientos Seis
(1)
(2)
Serie Nro. 7
Recursividad
Algoritmos recursivos
Siete
(1)
(2)
Serie Nro. 8
Archivos
secuenciales y
Leer,
escribir,
actualizar, etc.
eliminar, Ocho
(1)
(2)
Corte de control, apareo, Ocho
etc.
(1)
(2)
Conceptual
Nueve
(1 y 1/2)
(3)
Poda, divide y
Diez
(1)
(2)
Manejos de arreglos
Algoritmos de ordenamiento Cinco
e y búsquedas
directos
Serie Nro. 9
Operaciones con
Archivos.
Serie Nro. 10
Optimización de
algoritmos
Serie Nro. 11
Algoritmos
complejos
vencerás, vuelta atrás,
etc.
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
5. - CRONOGRAMA DE ACTIVIDADES:
(Incluir clases teóricas, prácticas, de laboratorio, de campo, de seminario, y toda otra actividad
educativa prevista como así también evaluaciones parciales).
Teoría
Días Miércoles de 09.00 Hs. A 12.00 Hs. (Se repite los Jueves)
Practica
Grupo 1: Martes de 14.00 Hs. a 17.00 Hs.
Viernes de 14.00 Hs. a 17.00 Hs.
Grupo 2: Martes de 14.00 Hs. a 17.00 Hs.
Viernes de 14.00 Hs. a 17.00 Hs.
Grupo 3: Martes de 20.00 Hs. a 23.00 Hs.
Viernes de 20.00 Hs. a 23.00 Hs.
Laboratorio
Lunes: De 08.00 Hs a 11:00 Hs.
Toma
parciales
A determinar según evolución de las clases prácticas. Sugerencia: Primer parcial 9
semana. Recuperatorio Primer Parcial: 10 semana. Segundo Parcial: 17 semana;
Recuperatorio Segundo Parcial: 18 semana. Extraordinario a determinar.
Tutorías
Soporte permanente para consultas de teoría y/o prácticas el día viernes en el
Departamento.
Talleres
A los efectos de fomentar la articulación horizontal dentro del área, desde la
asignatura se intenta el desarrollo de extensión, como ser dictado de cursos y
talleres para alumnos y para la actualización especifica de docentes del área.
Distribución de las actividades en Laboratorio
Nº
de Módulo/Tema
Clase/Sema
na
Temas teóricos
1
Presentación
práctica
Lenguaje
2
Codificar y depuración Serie Dos.
Profundización de conceptos
3
Codificar y depuración Serie Tres.
(3)
4
Codificar y depuración Serie Cuatro.
(4)
5
Codificar y depuración Serie Cinco.
(5)
6
Practica codificación primer parcial
7
Codificar y depuración Serie Seis.
(6)
8
Codificar y depuración Serie Siete.
(7)
9
Codificar y depuración Serie Ocho.
(8)
10
Codificar y depuración Serie Nueve.
(9)
11
Codificar y depuración Serie Diez.
(10)
12
Practica codificación segundo parcial
13
Preparación
integrador
y
Pascal
presentación
y (I)
trabajo
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas y Naturales y Agrimensura
6. - EFECTOS SOBRE la formación integral del alumno.
El alumno estará capacitado para reconocer las distintas etapas en la resolución de problemas de
la perspectiva del tratamiento de la lógica. Como también estará hábilmente capacitado para
identificar las distintas partes de un programa, modelar el mismo y construir los algoritmos
necesarios para la obtención de la solución esperada.
Teniendo siempre presente la utilización de una metodología determinada para el desarrollo de
software.
7. - RECURSOS HUMANOS.
7.1.NOMINA DE
ASIGNATURA
PERSONAL
DOCENTE
INTERVINIENTE
EN EL
DICTADO
DE
LA
Apellido y Nombre
Máximo titulo alcanzado
Categoría (1)
Dedicación
(2)
Condición
(3)
Herrmann, Castor Federico
Agrimensor Nac.
Titular
Exclusiva
Ordinario
González, Miguel Angel
Lic. en Sistemas
Información
Simple
Ordinario
Vallejos, Oscar Adolfo
Mgter. en Informática y JTP
Computación
Simple
Ordinario
Zacarias, Ramón Arturo
Exp. en Estadística
Computación
y JTP
Simple
Ordinario
Valesani, Maria Eugenia
Mgter. en Informática y JTP
Computación
Simple
Ordinario
Alfonso, Pedro Luis
Lic. en Sistemas
Información
Simple
Ordinario
Núñez Widanka, David
Prog.
de
Aplicaciones Ayudante
Universitarias
Alumno
Simple
Contratado
de Adjunto
de Auxiliar
Descargar