SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
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
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de Informática
Página 2
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
Programación en Lenguajes Estructurados Desarrollo de Aplicaciones Informáticas..
I.E.S Lázaro Cárdenas Departamento de Informática
Página 4
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.
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.
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.
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.
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:
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.
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
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
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.
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.
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.
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.
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.
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
.
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.
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
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.
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)
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
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.
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.
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.
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.
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.
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.
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.

Mais conteúdo relacionado

Mais procurados

Metodologias de desarrollo_de_software_e (1)
Metodologias de desarrollo_de_software_e (1)Metodologias de desarrollo_de_software_e (1)
Metodologias de desarrollo_de_software_e (1)cristina_devargas
 
Actividades de la carrera de analisis y desarrollo de sistemas de informacion
Actividades de la carrera de analisis y desarrollo de sistemas de informacionActividades de la carrera de analisis y desarrollo de sistemas de informacion
Actividades de la carrera de analisis y desarrollo de sistemas de informacionadsi1963
 
Guia 02 analisis de requerimientos (1)
Guia 02 analisis de requerimientos (1)Guia 02 analisis de requerimientos (1)
Guia 02 analisis de requerimientos (1)jennisena
 
Preguntas ruta de exploración
Preguntas ruta de exploraciónPreguntas ruta de exploración
Preguntas ruta de exploraciónejam_
 
Ensayo: Importancia de la Evaluación del Software Educativo
Ensayo: Importancia de la Evaluación del Software EducativoEnsayo: Importancia de la Evaluación del Software Educativo
Ensayo: Importancia de la Evaluación del Software Educativowww.unefm.edu.ve
 
Presentacion lineas de productos de software y el metodo watch
Presentacion lineas de productos de software y el metodo watchPresentacion lineas de productos de software y el metodo watch
Presentacion lineas de productos de software y el metodo watchdanielnp33
 

Mais procurados (13)

Metodologias de desarrollo_de_software_e (1)
Metodologias de desarrollo_de_software_e (1)Metodologias de desarrollo_de_software_e (1)
Metodologias de desarrollo_de_software_e (1)
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
Covella guillermo
Covella guillermoCovella guillermo
Covella guillermo
 
Adsi c02-gd01 guia solucion de algoritmos
Adsi c02-gd01 guia solucion de algoritmosAdsi c02-gd01 guia solucion de algoritmos
Adsi c02-gd01 guia solucion de algoritmos
 
Adsi c02-iev1-uml(1) - diaz oscar david
Adsi c02-iev1-uml(1) - diaz oscar davidAdsi c02-iev1-uml(1) - diaz oscar david
Adsi c02-iev1-uml(1) - diaz oscar david
 
Métricas de Diseño Software
Métricas de Diseño SoftwareMétricas de Diseño Software
Métricas de Diseño Software
 
Actividades de la carrera de analisis y desarrollo de sistemas de informacion
Actividades de la carrera de analisis y desarrollo de sistemas de informacionActividades de la carrera de analisis y desarrollo de sistemas de informacion
Actividades de la carrera de analisis y desarrollo de sistemas de informacion
 
F004 p006 gfpi guìa de aprendizaje 3
F004 p006 gfpi guìa de aprendizaje 3F004 p006 gfpi guìa de aprendizaje 3
F004 p006 gfpi guìa de aprendizaje 3
 
Guia 02 analisis de requerimientos (1)
Guia 02 analisis de requerimientos (1)Guia 02 analisis de requerimientos (1)
Guia 02 analisis de requerimientos (1)
 
Preguntas ruta de exploración
Preguntas ruta de exploraciónPreguntas ruta de exploración
Preguntas ruta de exploración
 
Ensayo: Importancia de la Evaluación del Software Educativo
Ensayo: Importancia de la Evaluación del Software EducativoEnsayo: Importancia de la Evaluación del Software Educativo
Ensayo: Importancia de la Evaluación del Software Educativo
 
Presentacion lineas de productos de software y el metodo watch
Presentacion lineas de productos de software y el metodo watchPresentacion lineas de productos de software y el metodo watch
Presentacion lineas de productos de software y el metodo watch
 
Software
SoftwareSoftware
Software
 

Destaque (20)

Proyecto ciencias bloque 5
Proyecto ciencias bloque 5Proyecto ciencias bloque 5
Proyecto ciencias bloque 5
 
Presentacion de juddy
Presentacion de juddyPresentacion de juddy
Presentacion de juddy
 
Programa Preliminar II Congreso Conjunto MFAPS
Programa Preliminar II Congreso Conjunto MFAPSPrograma Preliminar II Congreso Conjunto MFAPS
Programa Preliminar II Congreso Conjunto MFAPS
 
Presentación1
Presentación1Presentación1
Presentación1
 
Mi gran pación es el ciclismo
Mi gran pación es el ciclismoMi gran pación es el ciclismo
Mi gran pación es el ciclismo
 
Opinión pública
Opinión públicaOpinión pública
Opinión pública
 
Syllabus informática II 2014 III semestre B
Syllabus informática II 2014 III semestre BSyllabus informática II 2014 III semestre B
Syllabus informática II 2014 III semestre B
 
Monsefú
MonsefúMonsefú
Monsefú
 
EVALUACIÓN DEL DESEMPEÑO TEMA DE LECTURA
EVALUACIÓN DEL DESEMPEÑO TEMA DE LECTURAEVALUACIÓN DEL DESEMPEÑO TEMA DE LECTURA
EVALUACIÓN DEL DESEMPEÑO TEMA DE LECTURA
 
Las tic
Las ticLas tic
Las tic
 
Pasos para crear un blog 1
Pasos para crear un blog 1Pasos para crear un blog 1
Pasos para crear un blog 1
 
La
LaLa
La
 
Punto 6 de la norma iso
Punto 6 de la norma isoPunto 6 de la norma iso
Punto 6 de la norma iso
 
Seminario "Posicionamiento en redes sociales"
Seminario  "Posicionamiento en redes sociales"Seminario  "Posicionamiento en redes sociales"
Seminario "Posicionamiento en redes sociales"
 
Presentación de la charla "Facebook Empresarial"
Presentación de la charla "Facebook Empresarial"Presentación de la charla "Facebook Empresarial"
Presentación de la charla "Facebook Empresarial"
 
Caloría que utilizamos al realizar las actividades diarias
Caloría que utilizamos al realizar las actividades diariasCaloría que utilizamos al realizar las actividades diarias
Caloría que utilizamos al realizar las actividades diarias
 
Derechos de autor
Derechos de autorDerechos de autor
Derechos de autor
 
ePacientes: experiencia de @midiabetes
ePacientes: experiencia de @midiabetesePacientes: experiencia de @midiabetes
ePacientes: experiencia de @midiabetes
 
Sinergia
SinergiaSinergia
Sinergia
 
Diabetes Mellitus 1
Diabetes Mellitus 1Diabetes Mellitus 1
Diabetes Mellitus 1
 

Semelhante a Dai1 ple2

El Perfil Profesional del Bachillerato Técnico en Informática
El Perfil Profesional del Bachillerato Técnico en InformáticaEl Perfil Profesional del Bachillerato Técnico en Informática
El Perfil Profesional del Bachillerato Técnico en InformáticaEuler V. Terán Yépez
 
1.fip especializacion-aplicaciones-informaticas
1.fip especializacion-aplicaciones-informaticas1.fip especializacion-aplicaciones-informaticas
1.fip especializacion-aplicaciones-informaticasDan Murillo
 
Desarrollo de proyectos de software isc
Desarrollo de proyectos de software iscDesarrollo de proyectos de software isc
Desarrollo de proyectos de software iscAngelica Garcia Garcia
 
Proyecto integrador de software basico
Proyecto integrador de software basicoProyecto integrador de software basico
Proyecto integrador de software basicoMaestros en Linea MX
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2MarceliTha Cardozzo
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2Yeison Smith
 
2 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v22 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v2brayanfp
 
Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Aleja Andrade
 

Semelhante a Dai1 ple2 (20)

Fip informatica
Fip  informaticaFip  informatica
Fip informatica
 
Requisitos metrica
Requisitos metricaRequisitos metrica
Requisitos metrica
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
El Perfil Profesional del Bachillerato Técnico en Informática
El Perfil Profesional del Bachillerato Técnico en InformáticaEl Perfil Profesional del Bachillerato Técnico en Informática
El Perfil Profesional del Bachillerato Técnico en Informática
 
1.fip especializacion-aplicaciones-informaticas
1.fip especializacion-aplicaciones-informaticas1.fip especializacion-aplicaciones-informaticas
1.fip especializacion-aplicaciones-informaticas
 
2016 programacion hlc
2016 programacion hlc2016 programacion hlc
2016 programacion hlc
 
Sis07 pwi programacion_web_i
Sis07 pwi programacion_web_iSis07 pwi programacion_web_i
Sis07 pwi programacion_web_i
 
Proyecto
ProyectoProyecto
Proyecto
 
Proyecto
ProyectoProyecto
Proyecto
 
Sistemas de informacion II LI
Sistemas de informacion II LISistemas de informacion II LI
Sistemas de informacion II LI
 
Sistema de informacion ii
Sistema de informacion iiSistema de informacion ii
Sistema de informacion ii
 
S4 tarea4 sihig
S4 tarea4 sihigS4 tarea4 sihig
S4 tarea4 sihig
 
Didáctica crítica.
Didáctica crítica.Didáctica crítica.
Didáctica crítica.
 
Desarrollo de proyectos de software isc
Desarrollo de proyectos de software iscDesarrollo de proyectos de software isc
Desarrollo de proyectos de software isc
 
Proyecto integrador de software basico
Proyecto integrador de software basicoProyecto integrador de software basico
Proyecto integrador de software basico
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2F004 p006 gfpi guìa de aprendizaje 3-v2
F004 p006 gfpi guìa de aprendizaje 3-v2
 
2 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v22 f004 p006 gfpi guìa de aprendizaje-3_v2
2 f004 p006 gfpi guìa de aprendizaje-3_v2
 
Guia deaprendizaje3 v2
Guia deaprendizaje3 v2Guia deaprendizaje3 v2
Guia deaprendizaje3 v2
 

Dai1 ple2

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.