170 likes | 359 Views
1º Ingeniería de Telecomunicaciones. Programación (Curso 2005-2006). Pedro Álvarez alvaper@unizar.es José Ángel Bañares banares@unizar.es. http://diis.unizar.es/ Departamento de Informática e Ingeniería de Sistemas. Presentación Profesores. Horarios de Tutorías: José Ángel Bañares
E N D
1º Ingeniería de Telecomunicaciones Programación (Curso 2005-2006) Pedro Álvarez alvaper@unizar.es José Ángel Bañares banares@unizar.es http://diis.unizar.es/ Departamento de Informática e Ingeniería de Sistemas
Presentación Profesores • Horarios de Tutorías: • José Ángel Bañares • Lunes 10 h. a 12 h. • Jueves 10 h. a 14 h. • Pedro Álvarez • Lunes 16 h. a 20 h. • Jueves 17 h. a 19 h. • Correos electrónicos • banares@unizar.es (J.A. Bañares) • alvaper@unizar.es (P. Álvarez) Edificio A (2ª planta) Dpto. Informática e Ing. Sistemas. J.A. Bañares - 2.21 P. Álvarez - 2.16
Horarios Asignatura Laboratorio 0.04 (Edificio A) – Semanas Tipo B.
? Mis primeras Preguntas • ¿Qué voy a aprender en esta asignatura? • ¿Cuáles son los criterios de evaluación de esta asignatura? • ¿Qué debo hacer si quiero suspender esta asignatura? • ¿Qué debo hacer si quiero aprobar esta asignatura? • ...
¿Qué voy a aprender? • Analizar y comprender problemas de tratamiento de información (datos de entrada, resultados de salida, manipulación de datos,...). • Proponer y expresar soluciones válidas a estos problemas de tratamiento de información (lenguaje algorítmico). • Hacernos “amigo” del computador (sistema operativo, editores de texto, compiladores,...). • Expresar en un lenguaje comprensible por el computador (lenguaje de programación, PASCAL) la solución propuesta al problema (codificar). • Ser capaz de depurar y ejecutar esa solución expresada en un lenguaje de programación para su resolución automática utilizando un computador.
¿Cómo...? ...Análisis-Diseño de Algoritmos
¿Cómo...? ...Prácticas de programación
Aclaraciones • Un lenguaje de programación no es sólo una forma de hacer que un computador ejecute operaciones • Un medio de expresar algoritmos para resolver problemas • Los programas deben ser escritos para que los entiendan las personas, y sólo cuando es necesario para que se ejecuten en el ordenador. • Las habilidades requeridas (desarrolladas) son habilidades “comunes” a cualquier actividad de un ingeniero: • Controlar la complejidad de un problema construyendo abstracciones que ocultan los detalles cuando se precisa. • Organización de actividades para la realización de una tarea más compleja.
Aclaraciones • Existen muchos productos informáticos con errores • La programación es una de las tareas de ingeniería más complejas • Reglas de oro • Seguir una práctica de programación correcta • Comprobar el programa concienzudamente a lo largo de todo el proceso de desarrollo. • Un buen programa debe ser • Legible • Eficiente • Reusable
Criterios de Evaluación • Nota de la Asignatura = 80% Nota Teoría + 20% Nota Prácticas. • Para poder promediar es necesario 4,5 en teoría (sobre 10) y un 5 en prácticas (sobre 10) • Nota de Teoría = nota de un examen teórico práctico (dos convocatorias por alumno/curso) • Nota de Prácticas = • 1ª Opción: Evaluación continuada (seguimiento a lo largo del cuatrimestre). • Ir a prácticas, mostrar interés, responder a cuestiones, enseñar ejercicios hechos,... • 2ª Opción: Presentarse al examen de prácticas • Delante del computador, ”merlin”. • Notas: • Un alumno que haya elegido la opción de evaluación continuada podrá presentarse al examen de prácticas renunciando a su nota. • No “corre convocatoria” el presentarse al examen de prácticas. • Copias de prácticas = Suspenso (quien copia y quien se deja copiar)
Criterios de Evaluación (II) • ¿Cómo es la Evaluación Continuada? • Consta de 6 prácticas (sólo una ausencia no justificada) • Existen 2 hitos de control: • 1º) Prácticas 1 (presencial), 2 y 3. • 2º) Prácticas 4, 5 y 6. • Cada hito de control se revisará a cada alumno • Código de las prácticas • Documentación de los códigos • Resultados de los programas realizados • + Trabajo continuado en sesiones de Lab. para obtener una nota Nota de Hito = 0’5 * Sesiones + 0,5 * Revisiones • Nota Final Evaluación Continuada = Nota 1º hito * 0’4 + Nota 2º hito * 0,6 • ¿Cuándo se suspende Evaluación Continuada? • Suspenso en alguno de los dos hitos de control • Si la nota final es inferior a 5 (sobre 10)
Más allá del Mito... • Estadísticas cursos 01-02/02-03/03-04: • Curso 01-02: 47% (112) - 87% (8) – 39% (59) • Curso 02-03: 49% (115) - 30% (14) - 43% (46) • Curso 03-04: 45% (128) – 29% (15) – 53%(54) • Curso 04-05: 31% (93) –50%(36) ¡ QUEDAN 104 alumnos de 152! • Estadísticas Evaluación Continuada: • Número Alumnos Totales: 156 / 170 / 182/152 • Número Alumnos E.C: 139 / 156 /166/147 • Número Alumnos Aprobados: 128 / 149 / 157/93 • Nota Media: 8 (sobre 10) ¡5,3 en 2004-2005!
Decálogo para Suspender • Decálogo para SUSPENDER la asignatura: • No hacer las prácticas sugeridas • Pretender empollar al final • No preguntar cuando no se entiende un ejercicio • Dejar de ir a clase • Repetir continuamente: • “Esto es para informáticos” • “Van a por nosotros” • “Es muy difícil” • “Todo el mundo suspende” • “No sirve para nada” • No intentar hacer los ejercicios hasta (poco antes de) el examen • Anotar las soluciones pero no el porqué • Ir a tutorías solamente el día anterior al examen • Bah, en septiembre será más fácil • Dejarla para el próximo curso
Decálogo para Aprobar • Decálogo para APROBAR la asignatura: • No seguir el decálogo para suspender • Buscar más allá de una solución a los problemas • No dejar pasar ni una duda • Probar los ejercicios en el ordenador • Las soluciones más sencillas suelen ser las mejores • Explicar cómo resolver el problemas antes de programarlo • Detallar por escrito todo lo que tenemos en la cabeza • Pensar nuestro propios problemas e intentar resolverlos • Descomponer los problemas en otros más pequeños • No confiar en la suerte (es mala)
Material y Bibliografía • Material: • “Notas para el curso de Introducción a la programación”. Javier Martínez. DIIS. Versión revisada 2004. • Guión de Prácticas de la asignatura. • CD con material asignatura (apuntes, ejercicios resueltos, compiladores de Pascal, etc.). • Bibliografía: • “Programación en PASCAL”. Cuarta Edición. Sanford Leestma & Larry Nyhoff. Prentice Hall.1998. • “Programación en PASCAL”. Edición revisada. P. Grogono. Addison-Wesley Iberoamericana.1996.
Programa ALGORÍTMICA FUNDAMENTAL1. Algunos conceptos básicos2. Tipos de datos, constantes y variables3. El tipo entero. Acciones elementales4. El tipo booleano. Composición condicional e iterativa de acciones5. Tipos cadena. Algoritmos interactivos6. El tipo real. Algoritmos de cálculo7. El tipo carácter. Algoritmos de conversión8. Mecanismos para definir tipos9. Definición de ficheros secuenciales. Tratamiento de secuencias10. Diseño descendente de algoritmos11. Registros12. Vectores13. Problemas de búsqueda14. Problemas de mezclaLENGUAJE DE PROGRAMACIÓN PASCAL1. Elementos del lenguaje y estructura de un programa2. Codificación de algoritmos en Pascal3. Particularidades de los ficheros en Pascal. Aplicación a problemas4. Tratamiento de textos en PascalPROGRAMA DE PRACTICAS DE LABORATORIO:Realización de programas en lenguaje Pascal.7 sesiones de practicas tutoradas de 2 horas de duración:1. Presentación del entorno de trabajo: Sistema operativo, Editor de textos y compilador Pascal2. Composición secuencial. Entrada y salida de datos. Interacción con el usuario.3. Composición condicional4. Composición iterativa5. Almacenamiento de datos. Ficheros secuenciales y de texto6. Estructuras de datos: Registros7. Estructuras de datos: Vectores y matrices