Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de In...
Upcoming SlideShare
Loading in …5
×

Dai1 ple2

186 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
186
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dai1 ple2

  1. 1. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 1 DESARROLLO CURRICULAR DEL MÓDULO PROGRAMACIÓN EN LENGUAJES ESTRUCTURADOS CICLO FORMATIVO DE GRADO SUPERIOR DESARROLLO DE APLICACIONES INFORMÁTICAS
  2. 2. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 2
  3. 3. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 3 ÍNDICE DE CONTENIDOS 1. INTRODUCCIÓN 2. OBJETIVOS 3. CAPACIDADES TERMINALES 4. ORGANIZACIÓN DE LOS CONTENIDOS 4.1 ESTRUCTURA DE LOS CONTENIDOS. BLOQUES. TEMPORALIZACION DE LOS BLOQUES 4.2 RELACIÓN DE UNIDADES DE TRABAJO 4.3 RELACIÓN ENTRE UNIDADES DE TRABAJO Y CAPACIDADES TERMINALES 4.4 CONTENIDOS MÍNIMOS 5. ELEMENTOS CURRICULARES DE CADA UNIDAD 6. BIBLIOGRAFÍA RECOMENDADA
  4. 4. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 4
  5. 5. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 5 1.- INTRODUCCIÓN. El módulo Programación en Lenguajes Estructurados se imparte en el primer curso del ciclo DAI. Este módulo está asociado a la Unidad de Competencia 3: “ Elaborar, adaptar y probar programas en lenguajes de programación estructurados y de cuarta generación”. La duración del módulo es de 380 horas anuales y 12 semanales. 2.- OBJETIVOS. El módulo profesional que nos ocupa contribuye en una gran proporción a la obtención de los objetivos generales (capacidades profesionales) del ciclo formativo. El alumnado que supere con éxito este módulo profesional debe contribuir en un alto porcentaje a la obtención de las siguientes capacidades profesionales: • Organizar y utilizar eficazmente los recursos disponibles en el sistema informático. • Definir la estructura modular y de datos para llevar a cabo aplicaciones informáticas que cumplan con las especificaciones funcionales y restricciones del lenguaje de programación. • Realizar pruebas que verifiquen la validez funcional, la integridad de los datos y de la interfaz de comunicación y el rendimiento de las aplicaciones informáticas. • Ejecutar servicios de presentación que respondan a las necesidades y requerimientos de los usuarios, utilizando eficazmente el entorno de desarrollo de interfaz de usuario. • Interpretar las especificaciones funcionales dadas por analistas y/o usuarios encaminadas al desarrollo de aplicaciones informáticas. • Adaptarse a las nuevas situaciones de trabajo debidas a los cambios tecnológicos, organizativos, económicos y laborales que inciden en su actividad profesional. • Mantener comunicaciones efectivas en el desarrollo de su trabajo, coordinando su actividad con otras áreas de la organización. • Mantener relaciones fluidas con los miembros del grupo funcional en el que está integrado, responsabilizándose de la consecución de los objetivos asignados al grupo, respetando el trabajo de los demás, organizando y dirigiendo tareas colectivas y cooperando en la superación de dificultades que se presenten, con una actitud tolerante hacia las ideas de los compañeros y subordinados. • Actuar ante situaciones de posible emergencia, informando y solicitando ayuda a quien proceda, dirigiendo las actuaciones de los miembros de su equipo y aplicando con seguridad y eficacia los distintos sistemas, medios o equipos para prevenirlos y corregirlos. • Resolver problemas y tomar decisiones individuales sobre sus actuaciones o las de otros, identificando y siguiendo las normas establecidas procedentes, dentro del ámbito de su competencia, consultando dichas decisiones cuando sus repercusiones organizativas, económicas o de seguridad son importantes.
  6. 6. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 6 Este módulo pretende conseguir las siguientes realizaciones profesionales: Elaborar programas que cumplan las especificaciones establecidas en el diseño con bajo coste de mantenimiento. Integrar y ensamblar programas y rutinas siguiendo las especificaciones establecidas en el diseño. Realizar pruebas funcionales de programas atendiendo a las especificaciones establecidas en el diseño. Ejecutar posibles cambios en los programas de acuerdo con nuevos requerimientos establecidos. Elaborar y mantener documentación descriptiva de programas y pruebas que permitan la consulta y actualización por terceras personas. 3.- CAPACIDADES TERMINALES. En el análisis de los elementos del currículo del módulo se realiza el desglose de los componentes curriculares del Real Decreto, en él se hace un análisis de las capacidades terminales. Para adecuar este currículo a las nuevas técnicas de programación, se le han añadido nuevas capacidades relacionadas con el aprendizaje del paradigma de programación orientada a objetos. 1.- Elaborar programas utilizando lenguajes estructurados, cumpliendo con las especificaciones establecidas en el diseño. Elementos de Capacidad (Criterios de evaluación). Diferenciar la programación de procesos interactivos y por lotes (batch). Describir la utilidad de las librerías y de los enlazadores de los sistemas operativos y depuradores, así como su forma de empleo. Evaluar la importación de la claridad y legibilidad de los programas para facilitar el mantenimiento y el trabajo en equipo. Elegir y definir estructuras de datos necesarios para la resolución del problema en un lenguaje estructurado. Aplicar una metodología de desarrollo estructurado para el diseño de algoritmos. Codificar programas en un lenguaje estructurado a partir de los algoritmos diseñados. Aplicar estrategias de programación modular y de programación orientada a objetos, utilizando módulos, unidades o paquetes de desarrollo de programas. A partir de un supuesto práctico o de una situación real realizada en el aula: Codificar un módulo de programación en un lenguaje estructurado de tercera generación. Documentar el código de un módulo de programación con comentarios significativos, concisos y legibles: Integrar y enlazar módulos de programación, rutinas y utilidades, siguiendo las especificaciones del diseño y el diagrama de estructuras. Comprobar que la utilización de recursos del sistema (procesador, memoria, periféricos) permite que la integración y el enlace de programas sean ejecutables. Depurar los módulos de programación siguiendo criterios de eficiencia y eficacia. 2.- Evaluar el funcionamiento de las aplicaciones mediante la realización de pruebas de los diferentes módulos de programación. Elementos de Capacidad (Criterios de evaluación). Describir tipologías de errores de los tratamientos.
  7. 7. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 7 A partir de un supuesto o de una situación real realizada en el aula: Aplicar estándares de control de calidad a partir de las especificaciones establecidas en el diseño y de las prestaciones esperadas por el usuario de la aplicación. Realizar pruebas para cada módulo de una aplicación y pruebas de integración. Comprobar que el acceso y el tratamiento de los datos cumplen las directrices de la administración de datos del sistema y las especificaciones establecidas en el diseño. Comprobar que los formatos de entrada y salida de la aplicación son los esperados. Comprobar que la funcionalidad de los datos es la esperada. Provocar y verificar los diversos tratamientos de error. Medir los rendimientos de la aplicación y evaluar la eficiencia de las prestaciones de la aplicación y el consumo de recursos. 3.- Elaborar la documentación completa relativa a las aplicaciones desarrolladas y a las clases desarrolladas y pruebas realizadas. Elementos de Capacidad (Criterios de evaluación). Sobre una aplicación desarrollada en el aula: Documentar y describir las estructuras de datos utilizadas. Elaborar matrices de referencia cruzadas que relacionen procesos y almacenamientos de datos. Redactar guías de uso de las aplicaciones. En un supuesto práctico, a partir de una clase desarrollada, elaborar la documentación de diseño de la clase de acuerdo a un índice establecido. En un supuesto práctico, a partir de una clase y conjunto de pruebas, elaborar la documentación de pruebas (planificación y resultados) de acuerdo a un índice establecido. 4.- Adaptar aplicaciones a partir de nuevos requerimientos establecidos en el diseño. Elementos de Capacidad (Criterios de evaluación). Identificar los datos y módulos de programación afectados por la modificación de los requerimientos. Utilizar matrices de referencias cruzadas entre módulos y datos para conocer las implicaciones que sobre estos producen las nuevas modificaciones. Probar que los nuevos datos y módulos no producen pérdidas de eficiencia y eficacia en las prestaciones ni en los rendimientos de la aplicación y satisfacen los nuevos requerimientos funcionales. Documentar los cambios realizados sobre los datos, módulos y estructuras de datos y control de la aplicación. Mantener librerías de módulos reutilizables. 5.- Dominar los conceptos fundamentales del paradigma orientado a objetos Elementos de Capacidad (Criterios de evaluación). • Explicar las características del ciclo de desarrollo del software bajo el paradigma de orientación a objetos, distinguiendo la programación orientada a objetos como una fase dentro del mismo. • Describir y enumerar las características de una clase: Atributos, métodos y mecanismo de encapsulación, identificando la interfaz de la clase y lo que representa.
  8. 8. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 8 • Describir y enumerar las características que definen un objeto, distinguiendo las diferencias entre los conceptos de objeto y clase. • Describir la estructura y el significado de los mensajes y su relación con el comportamiento de los objetos. • Explicar las características fundamentales que tienen que estar presentes en una relación entre dos clases para que pueda ser calificada como relación • de herencia. • Describir el mecanismo de herencia múltiple y los problemas que presenta en el proceso de desarrollo de software. • Explicar el concepto de polimorfismo y enumerar y describir las características que introduce en el proceso de desarrollo del software. • En un supuesto práctico, a partir de una documentación típica de diseño detallado, identificar las clases establecidas, los atributos y las relaciones. 6.- Desarrollar clases aplicando los fundamentos del paradigma orientado a objetos Elementos de Capacidad (Criterios de evaluación) • Enumerar y describir los principales criterios de calidad del software y los principales factores evaluados por las métricas orientadas a objetos. • Enumerar y describir los mecanismos de gestión de memoria utilizados en la creación y destrucción de los objetos. • Describir los mecanismos existentes para realizar la implementación de las relaciones entre clases. (Clases contenedores, objetos colección, etc). • Explicar la utilización de los objetos ´superª y ´thisª (´currentª, ´selfª u otros), en relación con el acceso a los atributos definidos en una clase, desde una subclase o desde el código de la propia clase. • Clasificar los diferentes lenguajes de programación, identificando y reconociendo en los mismos las principales características del paradigma orientado a objetos: Clases, objetos, herencia y polimorfismo. • Distinguir y utilizar las características proporcionadas por un entorno de desarrollo asociado a un lenguaje Orientado a Objetos. • Distinguir las estructuras de datos más habituales (listas, pilas, árboles, grafos, etc.), y los posibles mecanismos de construcción en los lenguajes orientados a objetos. • Distinguir las librerías de clases estándares del lenguaje de programación conociendo la utilidad de cada una de ellas y la forma básica de uso. • En un supuesto práctico, construir las clases que representan las estructuras de datos en un lenguaje orientado a objetos. 7.- Verificar la correción de los programas desarrollados mediante la realización de pruebas Elementos de Capacidad (Criterios de evaluación) • Enumerar y describir las herramientas y utilidades más comunes para la depuración de programas. • Enumerar y describir los tipos de pruebas posibles que se pueden dar en el proceso de desarrollo de aplicaciones, distinguiendo especialmente aquellas que son responsabilidad del programador. • Enumerar y describir los tipos de pruebas que se deben realizar a una clase para verificar su corrección. • Utilizar las características proporcionadas por un entorno de desarrollo para realizar la depuración de un programa, mediante: • Ejecución paso a paso. • Establecimiento de puntos de parada (condicionales o incondicionales). • Monitorización de variables. • Realizar pruebas a una clase mediante herramientas de prueba.
  9. 9. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 9 4.- ORGANIZACIÓN DE LOS CONTENIDOS. 4.1.- ESTRUCTURA DE LOS CONTENIDOS. BLOQUES. TEMPORALIZACIÓN DE LOS BLOQUES. El contenido organizador debe ser de tipo procedimental. Este módulo está ligado a la unidad de competencia 3: elaborar, adaptar y probar programas en lenguajes de programación estructurados. Se pueden considerar 4 bloques : Bloque 1 – Metodología de la programación Bloque 2 - Programación orientada a objetos Bloque 3 –Técnicas de programación Bloque 4. – Proyecto Temporalización de los Bloques La temporalización elegida debe cubrir el número de horas totales del módulo (390h.). BLOQUE % Dedicación Mínimo % Dedicación Máximo 1. METODOGÍA DE LA PROGRAMACIÓN. 20 30 2. PROGRAMACIÓN ORIENTADA A OBJETOS. 30 40 3. TÉCNICAS DE PROGRAMACIÓN. 30 40 4. PROYECTO. 0 20 Con estos cuatro grandes bloque se estudian la programación estructurada, la programación orientada a objetos y las formas técnicas de programación. Este tercer bloque puede temporalizarse simultáneamente al bloque 1 o al bloque 2 dependiendo de si quiere impartirse con un enfoque estructurado o con un enfoque orientado a objetos. Estos bloques que agrupan las diferentes técnicas de programación y que marcan la temporalización del módulo, podemos subdividirlos en subbloques de la siguiente forma: Bloque 1 – Metodología de la programación Bloque 1.1.- Datos y algoritmos Bloque 1.2.- Introducción a la programación Bloque 1.3.- Desarrollo de programas Bloque 2 - Programación orientada a objetos Bloque 2.1.- Iniciación a la programación orientada a objetos Bloque 2.2.- Programación con el paradigma orientado a objetos Bloque 3 – Técnicas de programación Bloque 3.1.- Componentes de un programa Bloque 3.2.- Estructuras básicas de la información. La finalidad que se persigue con cada bloque es la siguiente:
  10. 10. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 10 Bloque 1.1.- Datos y algoritmos: Proporciona al alumnado los conocimientos básicos de la programación y le introduce en la metodología y construcción de algoritmos. Bloque 1.2.- Introducción a la programación: Le introduce en el conocimiento de la sintaxis de los lenguajes estructurados seleccionados. Bloque 1.3.- Desarrollo de programas: Proporciona un conocimiento mínimo del entorno de desarrollo de los compiladores e instruye al alumnado en la elaboración de la documentación de los programas. Bloque 2.1.- Iniciación a la programación orientada a objetos Enseña al alumnado cómo los fundamentos de la programación orienta a objetos, los conceptos fundamentales de la POO y su utilización y le introduce en las formas de relaciones entre clases y descripción de los diferentes mecanismos. Bloque 2.2.- Programación con el paradigma orientado a objetos- Enseña al alumnado ola forma de programar utilizando este paradigma y le permitirá a los alumnos distinguir las librerías de clases conociendo la utilidad y la forma de cada una. Bloque 3.1. - Componentes de un programa Este bloque enseña a dividir programas (problemas) grandes unidades independientes. Bloque 3.2.- - Estructuras básicas de la información Debe proporcionar al alumnado el dominio de cómo se definen estas estructuras y las operaciones que se pueden hacer con ellas. Enseña al alumnado nuevas técnicas de almacenamiento y gestión de la información.
  11. 11. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 11 4.2.- RELACIÓN BLOQUES Y UNIDADES DE TRABAJO. UNIDADES DE TRABAJO Y HORAS BLOQUE SUBBLOQUE UNIDADES DE TRABAJO METODOLOGIA DE LA PROGRAMACIÓN DATOS Y ALGORITMOS 1. Fundamentos de la programación. 2. Algoritmia. INTRODUCCIÓN A LA PROGRAMACIÓN 3. Introducción a los lenguajes estructurados. 4. Sentencias básicas de los lenguajes. DESARROLLO DE PROGRAMAS 5. Desarrollo de programas. 6. Documentación de programas. 7. Depuración. Pruebas PROGRAMACION ORIENTADA A OBJETOS CONCEPTOS FUNDAMENTALES DE LA POO 8. Iniciación a la programación orientada a objetos 9. Clases y Objetos. Métodos y atributos 10. Relaciones entre clases: herencia y polimorfismo PROGRAMACION CON EL PARADIGMA ORIENTADO A OBJETOS 11. Excepciones 12. Librerías de clases TECNICAS DE PROGRAMACIÓN COMPONENTES DE UN PROGRAMA 13. Componentes de un programa ESTRUCTURAS BASICAS DE LA INFORMACIÓN 14. Estructuras de almacenamiento en memoria interna: aráis, pilas, colas, listas, árboles y otras estructuras. 15. Estructuras de almacenamiento en memoria externa. PROYECTO INTEGRADOR 16. Proyecto
  12. 12. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 12 4.3.- RELACION ENTRE LAS UNIDADES DE TRABAJO Y LAS CAPACIDADES Capacidad terminal 1 Capacidad terminal 2 Capacidad terminal 3 Capacidad terminal 4 Capacidad terminal 5 Capacidad terminal 6 Capacidad terminal 7 U.T. 1 U.T. 2 U.T. 3 U.T. 4 U.T. 5 U.T. 6 U.T. 7 U.T. 8 U.T. 9 U.T. 10 U.T. 11 U.T. 12 U.T. 13 U.T. 14 U.T. 15 U.T. 16 4.4.- CONTENIDOS MÍNIMOS. Los contenidos mínimos que deben alcanzar los alumnos en el módulo de Programación en Lenguaje Estructurados están establecidos en el Real Decreto del Título, y su referencia son las capacidades terminales que el alumno debe conseguir y sus correspondientes criterios de evaluación, que marcan los niveles de consecución aceptable de dichas capacidades terminales. Los alumnos deben ser capaces de resolver cuestiones teóricas y prácticas que indiquen que han adquirido las capacidades terminales. Para ello deben demostrar que han desarrollado las aptitudes para realizar las actividades de enseñanza/aprendizaje y alcanzar los criterios de evaluación desarrollados en cada Unidad de Trabajo. 5.- ELEMENTOS CURRICULARES DE CADA UNIDAD. UT1: Fundamentos de la programación. Aquí se debe impartir los conceptos básicos de la programación. UT2: Algoritmia. Esta unidad está basada en la construcción de algoritmos sencillos en pseudocódigo. UT3: Introducción a los lenguajes estructurados. Se deben ver los elementos básicos de los lenguajes que se impartan. UT4: Sentencias básicas de los lenguajes. Unidad que debe enseñar la sintaxis de las sentencias de los lenguajes. UT5: Desarrollo de programas. Unidad destinada a mostrar el entorno de desarrollo de los compiladores
  13. 13. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 13 UT6: Documentación de programas. Muestra los tipos de documentación que se deben elaborar en la construcción de programas. U.T.7: Depuración. Pruebas. Introduce a los alumnos en la depuración de programas y pruebas a realizar para comprobar el correcto funcionamiento de los programas. U.T.8 : Iniciación a la programación orientada a objetos Esta unidad introduce a los alumnos en la terminología y la forma de programar con un lenguaje orientado a objetos. Se estudian los diferentes lenguajes de POO existentes y sus características, estudiando detalladamente un entorno de desarrollo. U.T. 9 : Clases y objetos. Métodos y atributos Unidad con los conceptos fundamentales de la POO. Se estudian sus características y se desarrollan programas utilizándolos. U.T. 10: Relaciones entre clases: herencia y polimorfismo Profundiza en las relaciones entre las clases, estudiando el diseño de clases relacionadas entre si. U.T.12 : Librerías de clases Esta unidad introduce dentro del bloque de Programación Orientada a Objetos en la forma de desarrollar programas utilizando clases existentes en librerías ya existentes y la creación por parte de los alumnos de nuevas librerías. U.T. 13 : Componentes de un programa. En esta unidad de estudiará la modularidad de los programas creando partes independientes que permitirán construir programas. U.T. 14 : Estructuras de almacenamiento en memoria interna: arrays, pilas, colas, listas, árboles y otras estructuras Unidad muy importante donde se estudiarán las estructuras de datos de almacenamiento interno, su utilización y las técnicas de programación utilizando dichas estructuras. U.T. 15 : Estructuras de almacenamiento en memoria externa. Unidad de nuevo, como la unidad anterior, de gran importancia donde se estudiarán las estructuras de datos de almacenamiento externo, su utilización y las técnicas de programación. U.T. 16 : Proyecto Realización de un proyecto integrador para integrar todas las unidades estudiadas y afianzar las diferentes técnicas de programación aprendidas.
  14. 14. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 14 UNIDAD DE TRABAJO 1 FUNDAMENTOS DE LA PROGRAMACIÓN. CONCEPTOS • Ciclo de vida de un programa. • Definición y diferencias de: algoritmo, programas y lenguaje de programación. • Definiciones de: traductores, compiladores, intérpretes, preprocesadores y compiladores cruzados. • Ficheros: fuente, objeto, ejecutable y batch. • Bit, byte y múltiplos. • Sistemas de numeración. Binario y hexadecimal. • Frecuencia y tiempo de acceso. Codificación de la información: ASCII. PROCEDIMIENTOS • Diferenciación de los conceptos relacionados. • Distinción entre las distintas unidades informáticas. • Comparación de los distintos formatos de ficheros. • Conversión entre los distintos sistemas de numeración. • ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. CRITERIOS DE EVALUACIÓN • Saber diferenciar entre los distintos conceptos relacionados. • Esquematizar el ciclo de vida de un programa. • Esquematizar las distintas unidades y sus múltiplos y divisores. • Calcular frecuencias y tiempos de acceso. • Realizar transformaciones entre los distintos sistemas de numeración.
  15. 15. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 15 UNIDAD DE TRABAJO 2 ALGORITMIA. CONCEPTOS • La memoria del ordenador como almacén de información. Gestión. • Definiciones de: dato, variable y constante. • Programación en pseudocódigo. • Estructura de un programa en pseudocódigo. • Estructuras de control: secuencia, bifurcación y repetición. • Organigramas. • Confección de algoritmos básicos. PROCEDIMIENTOS • Diferenciación de los conceptos relacionados. • Interpretación de los problemas y algoritmos. • Distinción entre las distintas unidades informáticas. • Clasificación de las distintas áreas de la memoria de un ordenador. • Aplicación de los conceptos dato, variable y constante. • Construcción de algoritmos en pseudocódigo y organigramas. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Diagramación de los algoritmos. • Búsqueda de situaciones del mundo real para construir su algoritmo. CRITERIOS DE EVALUACIÓN • Diferenciar entre los distintos conceptos relacionados. • Identificar las partes de la memoria de un ordenador. • Saber realizar un algoritmo, utilizando el pseudocódigo, dado un planteamiento de un problema • Buscar la eficiencia y eficacia de los algoritmos construidos. • Distinguir y aplicar las sentencias del pseudocódigo. • Describir e identificar las distintas partes e instrucciones de un programa.
  16. 16. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 16 UNIDAD DE TRABAJO 3 INTRODUCCIÓN LOS LENGUAJES ESTRUCTURADOS. CONCEPTOS • Estructura de un programa. • Notación y vocabulario del lenguaje. • Identificadores, literales, constantes y comentarios. • Tipos de datos predefinidos. • Tipos enumerados y subrango. • Variables. Contadores, acumuladores, booleanas. • Operadores y expresiones. • Álgebra de Boole. PROCEDIMIENTOS • Utilización de las leyes del álgebra de Boole para simplificar expresiones lógicas. • Transformación al lenguaje correspondiente de los algoritmos construidos. • Ejecución de algoritmos y programas manualmente. • Aplicación de las sentencias a los distintos casos. • Aplicación de los nuevos datos a los distintos ejemplos. • Elección de los identificadores más adecuados. • Diferenciación de los conceptos relacionados. • Interpretación de los problemas y algoritmos. • Distinción entre los distintos datos. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Construcción de programas en los lenguajes seleccionados que hagan uso de los conocimientos adquiridos en este bloque. • Instalación del compilador a emplear. • Formación de expresiones lógicas partiendo de los supuestos correspondientes. • Minimización de expresiones lógicas. • Utilización de los formatos de entrada/salida para leer/escribir la información que los programas necesitan/producen. CRITERIOS DE EVALUACIÓN • Buscar la eficiencia y eficacia de los algoritmos construidos. • Distinguir y aplicar las sentencias conocidas hasta el momento. • Saber generar la correcta transformación de algoritmos a los lenguajes impartidos. • Utilizar técnicas de programación estructurada. • Optimizar la ocupación de las variables en memoria. • Reconocer y manejar las utilidades del editor de código.
  17. 17. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 17 UNIDAD DE TRABAJO 4 SENTENCIAS BÁSICAS DE LOS LENGUAJES. CONCEPTOS • Asignación. • Entrada/salida. • Sentencias condicionales. • Sentencias repetitivas. • Secuencial o compuesta. PROCEDIMIENTOS • Transformación a los lenguajes seleccionados de los algoritmos construidos en pseudocódigos. • Ejecución de algoritmos y programas manualmente. • Aplicación de las sentencias a los distintos casos. • Aplicación de los nuevos datos a los distintos ejemplos. • Elección de los identificadores más adecuados. • Diferenciación de los conceptos relacionados. • Interpretación de los problemas y algoritmos. • Distinción entre los distintos datos. • Aplicación correcta de los datos según las especificaciones del problema y con el objetivo de ahorrar memoria. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Construcción de programas que hagan uso de los conocimientos adquiridos en este bloque. • Formación de expresiones lógicas partiendo de los supuestos correspondientes. • Ejercicios teórico-prácticos mediante los cuales se aprenda a utilizar las sentencias de esta unidad de trabajo. • Utilización de los formatos de entrada/salida para leer/escribir la información que los programas necesitan/producen. CRITERIOS DE EVALUACIÓN • Buscar la eficiencia y eficacia de los algoritmos construidos. • Distinguir y aplicar correctamente las sentencias conocidas hasta el momento. • Generar correctamente la transformación de algoritmos a los lenguajes. • Resolver los problemas planteados realizando el diseño del algoritmo, la codificación prueba y corrección de errores. • Aplicar correctamente las distintas sentencias de la unidad de trabajo.
  18. 18. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 18 UNIDAD DE TRABAJO 5 DESARROLLO DE PROGRAMAS. CONCEPTOS • Estilo de programación. • El entorno de programación. • Compilación. • Análisis de algoritmos: o Complejidad de algoritmos: rangos de crecimiento y complejidad para las distintas estructuras de control. o Relación tiempo-espacio. • Pruebas y enlace. PROCEDIMIENTOS • Creación de una guía-resumen de la utilización del editor de código y de las utilidades que incorpora el compilador instalado. • Edición, compilación, ejecución y documentación de los programas construidos en las anteriores unidades didácticas. • Edición de los programas de forma legible y documentada. • Cálculo de la complejidad de los algoritmos. • Aplicación a los nuevos programas de los conceptos adquiridos. • Diferenciación de los conceptos relacionados. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Construcción de programas que hagan uso de los conocimientos adquiridos en este bloque y los anteriores. • Prueba de la ejecución de los programas introduciendo todo tipo de datos de entrada. • Cálculo de la complejidad de todos los ejercicios resueltos hasta el momento. CRITERIOS DE EVALUACIÓN • Buscar la eficiencia y eficacia de los algoritmos construidos. • Usar un buen estilo de programación. • Tener soltura con el entorno del compilador. • Calcular correctamente la complejidad de los algoritmos. • Utilizar correctamente el entorno de desarrollo del compilador empleado. • Manejar el depurador integrado. • Probar el correcto funcionamiento de los programas ante la introducción de datos aleatorios. • Utilizar correctamente los tipos de datos para que la memoria ocupada sea mínima .
  19. 19. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 19 UNIDAD DE TRABAJO 6 DOCUMENTACIÓN DE PROGRAMAS. CONCEPTOS • Descripción de estructuras de datos. • Descripción de algoritmos. • Código fuente documentado. • Pruebas realizadas y resultados obtenidos. • Manual de usuario. • Manual de instalación. PROCEDIMIENTOS • Creación de una guía-resumen de la utilización del editor de código y de las utilidades que incorpora el compilador instalado. • Edición, compilación, ejecución y documentación de los programas construidos en las anteriores unidades didácticas. • Edición de los programas de forma legible y documentada. • Cálculo de la complejidad de los algoritmos. • Aplicación a los nuevos programas de los conceptos adquiridos. • Diferenciación de los conceptos relacionados. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Construcción de programas que hagan uso de los conocimientos adquiridos en este bloque y los anteriores. • Utilización práctica del entorno de desarrollo del compilador instalado. • Ejecución de los programas mediante el depurador integrado. • Prueba de la ejecución de los programas introduciendo todo tipo de datos de entrada. • Cálculo de la complejidad de todos los ejercicios resueltos hasta el momento. CRITERIOS DE EVALUACIÓN • Conseguir la legibilidad de los programas. • Elaborar la documentación de los programas, que debe ser clara y breve. • Hacer buen uso de los comentarios, identificadores y sangrado. • Elaborar los manuales de usuarios y de instalación, que han de ser fáciles de entender y de seguir.
  20. 20. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 20 UNIDAD DE TRABAJO 7 DEPURACION. PRUEBAS CONCEPTOS • Tipos de pruebas. • Herramientas de depuración de programas. Ejecución paso a paso. Establecimiento de puntos de parada (condicionales o incondicionales). Monitorización de variables. PROCEDIMIENTOS • Enumerar y describir las herramientas y utilidades más comunes para la depuración de programas. • Enumerar y describir los tipos de pruebas posibles que se pueden dar en el proceso de desarrollo de aplicaciones, distinguiendo especialmente aquellas • que son responsabilidad del programador. • Enumerar y describir los tipos de pruebas que se deben realizar a una clase para verificar su corrección. • Ejecución de los programas mediante el depurador integrado. • Utilizar las características proporcionadas por un entorno de desarrollo para realizar la depuración de un programa. • En supuestos prácticos, documentar una estrategia de pruebas completa de un programa a partir de su documentación de diseño, de forma que se asegure el óptimo funcionamiento en aspectos como: Todos los escenarios posibles. Rendimiento. Casos límite. Situaciones excepcionales. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Manejo de las herramientas de depuración en supuestos prácticos. • Realizar pruebas a un programa mediante herramientas de prueba. CRITERIOS DE EVALUACIÓN • Diseñar pruebas que validen el correcto funcionamiento de los programas. • Utilizar herramientas de depuración en un entorno de desarrollo
  21. 21. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 21 UNIDAD DE TRABAJO 8 INICIACCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS • Introducción al paradigma orientado a objetos: • Ciclo de desarrollo del software bajo el paradigma de orientación a objetos: Análisis, diseño y programación orientada a objetos. • Objetos como abstracciones de las entidades del mundo real que se quiere modelar. Descripción de objetos: conjunto de datos que definen un objeto y conjunto comportamientos que pueden solicitarse a los objetos. • Concepto de programa en el paradigma orientado a objetos. POO = Objetos + Mensaje. Comportamiento de un objeto: Concepto de mensaje. • Conceptos del paradigma orientado a objetos. Clases y Objetos Métodos y Atributos Herencia y Polimorfismo • Lenguajes de programación orientados a objetos: • Lenguaje de programación orientado a objetos y paradigma orientado a objetos. Lenguajes de programación basados en objetos. Lenguajes de programación que utilizan objetos. • Comparación entre los lenguajes de programación orientados a objetos más habituales. Características esenciales. • El entorno de desarrollo. PROCEDIMIENTOS • Dominar los conceptos fundamentales del paradigma orientado a objetos. • Clasificar los diferentes lenguajes de programación, identificando y reconociendo en los mismos las principales características del paradigma orientado a objetos: Clases, objetos, herencia y polimorfismo. • Edición, compilación, ejecución, depuración y documentación de los programas, utilizando un entorno de desarrollo orientado a objetos. • Distinguir y utilizar las características proporcionadas por un entorno de desarrollo asociado a un lenguaje Orientado a Objetos. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Explicar las características del ciclo de desarrollo del software bajo el paradigma de orientación a objetos, distinguiendo la programación orientada a objetos como una fase dentro del mismo. • Explicar el concepto de polimorfismo y enumerar y describir las características que introduce en el proceso de desarrollo del software. • Utilización práctica del entorno de desarrollo del compilador instalado. • En un supuesto práctico, a partir de una documentación típica de diseño detallado, identificar las clases establecidas, los atributos y las relaciones. CRITERIOS DE EVALUACIÓN • Saber distinguir el paradigma orientado a objetos frente a otros paradigmas de programación. • Enumera el ciclo de desarrollo del software bajo el paradigma de la orientación a objetos. • Diferenciación entre clases y objetos • Describir las componentes y comportamientos de las clases, incluyendo sus métodos. • Describir y enumerar las características de una clase: Atributos, métodos y mecanismo de encapsulación, identificando la interfaz de la clase y lo que representa. • Explicar las características fundamentales que tienen que estar presentes en una relación entre dos clases para que pueda ser calificada como relación de herencia. • Describir y enumerar las características que definen un objeto, distinguiendo las diferencias entre los conceptos de objeto y clase. • Describir la estructura y el significado de los mensajes y su relación con el comportamiento de los objetos. • Describir el mecanismo de herencia múltiple y los problemas que presenta en el proceso de desarrollo de software. • Esquematizar los diferentes lenguajes de programación orientada a objetos. • Manejar el entorno de desarrollo seleccionado.
  22. 22. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 22 UNIDAD DE TRABAJO 9 CLASES Y OBJETOS. MÉTODOS Y ATRIBUTOS CONCEPTOS • Clases y objetos: • Clase: Atributos, métodos y mecanismo de encapsulación. • Interfaz de la clase. Clases y tipos de datos. • Objetos: Estado, comportamiento e identidad. Mensajes. • Mecanismos de gestión de memoria: • Gestión automática de memoria. • Métodos • Tipos de métodos. • Clasificación: Métodos de acceso, de selección o consulta, de construcción , de destrucción. • Construcción y destrucción de objetos. Objetos inalcanzables. • Recolección de basura. • Métodos constructores y destructores. • Objetos como instancias de clase. Instancia actual (this, self, current). PROCEDIMIENTOS • Construcción de clases en el lenguaje orientado a objetos seleccionado. • Enumerar y describir los mecanismos de gestión de memoria utilizados en la creación y destrucción de los objetos. • Describir los mecanismos existentes para realizar la implementación de las relaciones entre clases. (Clases contenedores, objetos colección, etc). • Explicar la utilización de los objetos ´superª y ´thisª (´currentª, ´selfª u otros), en relación con el acceso a los atributos definidos en una clase, desde una subclase o desde el código de la propia clase. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • En un supuesto práctico, en el que se pide realizar la programación de una clase con un lenguaje orientado a objetos y desde una documentación a nivel de diseño detallado: Diseñar un algoritmo para cada operación definida en la clase, aplicando técnicas de programación estructurada y modular. Elegir la estructura de datos más adecuada para cada atributo. Seleccionar cada atributo utilizando los tipos base proporcionados por el lenguaje, si es el caso, y las librerías de clase existentes. Codificar los métodos de acceso a los atributos siguiendo los criterios de calidad que se establezcan. Codificar los métodos constructores utilizando la sobrecarga si es necesario y siguiendo los criterios de calidad que se establezcan. Codificar los métodos, como función o procedimiento, teniendo en cuenta la interfaz de la clase y los algoritmos diseñados y siguiendo los criterios de calidad que se establezcan. CRITERIOS DE EVALUACIÓN • Definición correcta de clases • Diseño de métodos y atributos dentro de una clase. • Crear objetos de una clase previamente definida. • Enumeración y descripción de los mecanismos de gestión de memoria utilizados en la creación y destrucción de objetos. • Redefinir métodos utilizando el concepto de sobrecarga. • Construir métodos constructores utilizando la sobrecarga si es necesario. • Utilizar de los objetos ´superª y ´thisª (´currentª, ´selfª u otros)
  23. 23. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 23 UNIDAD DE TRABAJO 10 RELACIONES ENTRE CLASES. HERNCIA Y POLIMORFISMO CONCEPTOS • Relaciones entre clases: Agregación/Composición. Generalización/Especialización. Asociación. • Generalización/Especialización: Herencia: Herencia: Simple y múltiple. Relación de herencia: Características. Reglas y características que definen una relación de herencia: Regla ´Es-unª. Transmisión de atributos y métodos. Regla de especialización de la superclase en la subclase. Acceso a los atributos de una clase y acoplamiento entre las clases. Utilización de objetos this (current, self u otros) y super. Leyes de Demeter. Herencia múltiple. Problemas: Conflictos de nombres, herencia repetida. Soluciones. Creación de objetos en la herencia. Clasificación jerárquica de las clases. Clase raíz. Clases abstractas. Métodos virtuales. Redefinición de métodos. Sobrecarga. • Polimorfismo: Concepto. Tipos: Polimorfismo en tiempo de compilación (sobrecarga) y polimorfismo en tiempo de ejecución (ligadura dinámica). Objetos polimórficos. Comprobación estática y dinámica de tipos. PROCEDIMIENTOS • Construcción de clases incluyendo relaciones de Agregación /Composición y Asociación. • Construcción de clases con herencia. • Construcción de clases con herencia múltiple. • Definición de clases abstractas. • Construcción de clases con herencia incluyendo polimorfismo. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • En un supuesto práctico, en el que se pide realizar la programación de una clase con un lenguaje orientado a objetos y desde una documentación a nivel de diseño detallado: Incluir las relaciones de especialización/generalización, agregación/composición y/o de asociación con el resto de las clases descritas en el diseño en la construcción de la clase. CRITERIOS DE EVALUACIÓN • Describir los mecanismos existentes para realizar la implemantacion de las relaciones entre clases • Utilizar de los objetos ´superª y ´thisª (´currentª, ´selfª u otros), en relación con el acceso a los atributos definidos en una clase, desde una subclase o desde el código de la propia clase. • Diseñar clases que incluyan las relaciones de especialización/generalización, agregación/composición y/o de asociación con el resto de las clases descritas en el diseño en la construcción de la clase
  24. 24. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 24 UNIDAD DE TRABAJO 11 EXCEPCIONES. CONCEPTOS • Definición. • Fuentes de excepciones. • Tratamiento de excepciones. • Prevención de fallos. • Excepciones definidas y lanzadas por el programador. • Las excepciones tratadas como objetos. PROCEDIMIENTOS • Conocer el concepto de excepción como mecanismo para enfrentarnos a circunstancias inesperadas. • Manejar las excepciones definidas en el sistema. • Aprender a definir excepciones propias. • Aprender a manejar una excepción dentro del entorno de desarrollo seleccionado (lanzamiento y captura de excepciones) • Diseñar métodos que lancen excepciones. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • En un supuesto práctico, en el que se pide realizar la programación de una clase con un lenguaje orientado a objetos y desde una documentación a nivel de diseño detallado: Incluir el código para el tratamiento de casos de error y excepciones de usuario. CRITERIOS DE EVALUACIÓN • Conocer el concepto de excepción • Distinguir aquellas situaciones en las que es necesario el uso de excepciones. • Diseñar clases que contemplen la gestión de casos de error mediante el uso de excepciones, tanto del sistema como aquellas definidas por el usuario • Saber diseñar métodos que lancen excepciones.
  25. 25. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 25 UNIDAD DE TRABAJO 12 LIBRERIAS DE CLASES. CONCEPTOS • Librerías de clases: Estructura. • Creación y utilización. • Estudio y utilización de las clases básicas incluidas en la librería de clases. • Documentación de las liberarías de clases. PROCEDIMIENTOS • Manejar las librerías de clases existentes. • Diseñar librerías propias • Elaborar la documentación completa relativa a las liberarías de clases desarrolladas. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • En un supuesto práctico, en el que se pide realizar la programación de una clase con un lenguaje orientado a objetos y desde una documentación a nivel de diseño detallado: Usar las librerías de clases existentes bases de datos, interfaces gráficas y otras librerías Diseñar librerías propias siguiendo los criterios de calidad que se establezcan. CRITERIOS DE EVALUACIÓN • Utilizar correctamente las librerías de clases existentes. • Distinguir las librerías de clase estándares del lenguaje de programación conociendo la utilidad de cada una de ellas y la forma básica de uso. • Documentar de forma precisa la definición de las clases de una librería para su correcto uso posterior.
  26. 26. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 26 UNIDAD DE TRABAJO 13 COMPONENTES DE UN PROGRAMA CONCEPTOS • División del problema en subproblemas. • Código reutilizable. • Procedimientos. Funciones. Variables globales y locales. Parámetros. • Funciones y procedimientos de entrada/salida. • Estructura de una unidad de compilación independiente o librería. • Referencias entre unidades. • Las librerías DLL. • Proceso de construcción de software: Modularidad. • Módulo en el paradigma orientado a objetos. PROCEDIMIENTOS • Utilización de las técnicas conocidas para dividir el problema en subproblemas. • Selección del código más adecuado para construir un procedimiento o función que realice una tarea específica y se comunique con el mundo exterior a través de sus parámetros. • Reconstrucción de los programas construidos hasta el momento aplicando los nuevos conocimientos adquiridos de modularidad. • Creación de una guía-resumen de los nuevos conceptos. • Edición, compilación, ejecución, depuración y documentación de los programas. • Diferenciación de los conceptos relacionados. • Clasificación de las tareas de un programa e introducirlas en procedimientos y unidades que permitan ser utilizadas por otros programas. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Construcción de programas que hagan uso de los conocimientos adquiridos en este bloque y los anteriores. • Documentación de los programas. • Ejecución de los programas mediante el depurador integrado para localizar los errores de ejecución y para aprender la técnica de las llamadas a procedimientos. • Prueba de la ejecución de los programas introduciendo todo tipo de datos de entrada. • Cálculo de la complejidad de todos los algoritmos y simplificarla si es posible. CRITERIOS DE EVALUACIÓN • Justificar la importancia que tiene la programación modular. • Generar la correcta modularización de los programas. • Buscar la generalidad de los procedimientos y de las funciones. • Usar y definir correctamente los procedimientos, funciones y los parámetros. • Conseguir la legibilidad de los programas. • Realizar correctamente las modificaciones de programas anteriores incluyendo procedimientos y funciones. • Elaborar la documentación de los programas. • Probar el correcto funcionamiento de los programas ante la introducción de datos.
  27. 27. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 27 UNIDAD DE TRABAJO 14 ESTRUCTURAS DE ALMACENAMIENTO EN MEMORIA INTERNA CONCEPTOS • Arrays o tablas. Definición Operaciones de accesos, búsquedas y ordenación. • Cadenas. Operaciones con cadenas. • Pilas y colas Definición y conceptos básicos. Representación de las listas. Operaciones • Listas enlazadas Definición y conceptos básicos. Listas simplemente enlazadas: Definición de un elemento o nodo. Operaciones con listas enlazadas. Listas doblemente enlazadas. Definición de un elemento o nodo. Operaciones con listas enlazadas. • Arboles y grafos Conceptos básicos. Árboles binarios. Operaciones y algoritmos en árboles binarios. Árboles perfectamente equilibrados. Árboles B. Operaciones. Grafos, operaciones y algoritmos. PROCEDIMIENTOS • Utilización de gráficos para explicar los algoritmos de ordenación, búsqueda, inserción, supresión, etc., que emplean las distintas estructuras de datos. • Manipulación de cadenas de caracteres para producir los resultados deseados. • Reconstrucción de los programas construidos hasta el momento aplicando las nuevas estructuras de datos. • Creación de una guía-resumen de los nuevos conceptos. • Edición, compilación, ejecución, depuración y documentación de los programas. • Diferenciación de las distintas estructuras de datos. • Clasificación de las tareas de un programa e introducirlas en procedimientos y unidades que permitan ser utilizadas por otros programas. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Construcción de programas que hagan uso de los conocimientos adquiridos en este bloque y los anteriores. • Documentación de los programas. • Ejecución de los programas con el depurador integrado para comprobar el perfecto funcionamiento de las operaciones típicas de las estructuras de datos. • Prueba de la ejecución de los programas introduciendo todo tipo de datos de entrada. • Cálculo de la complejidad de todos los algoritmos y simplificarla si es posible. CRITERIOS DE EVALUACIÓN • Buscar la eficiencia y eficacia de los algoritmos construidos. • Saber construir la estructura de datos más adecuada a la propuesta de un enunciado. • Usar correctamente las estructuras de datos y de sus operaciones. • Aplicar los distintos métodos para las operaciones con estructuras de datos • Probar el correcto funcionamiento de los programas ante la introducción de datos aleatorios. • Realizar la correcta elección y utilización de las estructuras de datos: pila, cola y cola circular. • Justificar la importancia de las distintas estructuras y la elección de una determinada . • Conseguir la legibilidad de los programas. • Modularizar correctamente los programas.
  28. 28. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 28 UNIDAD DE TRABAJO 15 ESTRUCTURAS DE ALMACENAMIENTO EN MEMORIA EXTERNA. CONCEPTOS • Estructuras externas Conceptos. Tipos. Operaciones. PROCEDIMIENTOS • Conocer los conceptos de almacenamiento en memoria externa. • Manipulación de las estructuras externas para producir los resultados que marcan las especificaciones iniciales del problema. • Realizar las operaciones mas habituales con las estructuras externas.. • Edición, compilación, ejecución, depuración y documentación de los programas. • Diferenciación de las distintas estructuras de datos. • Clasificación de las tareas de un programa e introducirlas en procedimientos y unidades que permitan ser utilizadas por otros programas. • Selección de la organización de datos más adecuada. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Resolución de ejercicios propuestos por el profesor. • Construcción de los algoritmos que resuelven los problemas propuestos. • Documentación de los programas. • Ejecución de los programas con el depurador integrado para comprobar el perfecto funcionamiento de las operaciones típicas de las estructuras de datos. • Prueba de la ejecución de los programas introduciendo todo tipo de datos de entrada. • Cálculo de la complejidad de todos los algoritmos y simplificarla si es posible. CRITERIOS DE EVALUACIÓN • Buscar la eficiencia y eficacia de los algoritmos construidos. • Modularizar correctamente los programas. • Buscar la generalidad de los procedimientos y de las funciones. • Usar correctamente las operaciones de las estructuras externas. • Saber realizar operaciones de creación o mantenimiento de estructuras externas. • Conseguir la legibilidad de los programas. • Elaborar la documentación de los programas. • Probar el correcto funcionamiento de los programas ante la introducción de datos.
  29. 29. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 29 UNIDAD DE TRABAJO 16 PROYECTO CONCEPTOS • Todos los contemplados en la programación. PROCEDIMIENTOS • Realizar programas siguiendo los criterios de calidad establecidos. • Realizar programas utilizando las técnicas de programación aprendidas. • Realizar pruebas de los programas realizados • Realizar la documentación completa de los programas realizados ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE • Realización de un proyecto formado por unidades independientes donde se apliquen todas las técnicas de programación estudiadas. CRITERIOS DE EVALUACIÓN • Realizar correctamente los algoritmos que resuelvan los problemas planteados. • Codificar los programas de forma clara. • Elaborar la documentación completa. • Saber realizar correctamente las pruebas de los programas codificados.
  30. 30. Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas.. I.E.S Lázaro Cárdenas Departamento de Informática Página 30 6.- BIBLIOGRAFÍA RECOMENDADA. Para poder seguir los contenidos programados, el alumnado puede utilizar como bibliografía de referencia la siguiente: CHARTE, Francisco. Programación avanzada con Delphi 3.0. Madrid, Anaya, 1997. CHARTE, Francisco. Programación con C++ Builder. Madrid, Anaya, 1997. DOHERTY, Donald y MANNING, Michelle M. Aprendiendo Borland Jbuilder 3 en 21 días. México, Pearson Educación, 2000. DUBOIS, Ludovic. Delphi, desarrollo rápido de aplicaciones bajo Windows. Barcelona, Ediciones Gestión 200 S.A., 1995. NAUGHTON, Patrick. Manual de Java. Madrid, McGraw-Hill, 1996. SALAS PARRILLA, Jesús. Programación con Borland Pascal. Madrid, Anaya, 1993. SANCHIS, F.J. Programación con el lenguaje Pascal. Madrid, Paraninfo, 1984. SCHILDT, Herbert. C guía de autoenseñanza. Madrid, McGraw-Hill, 1994.

×