Está en la página 1de 59

Programacin Didctica

Mdulo Profesional: Fundamentos de Programacin

CFGS Administracin de Sistemas Informticos

Jos Javier Valls Vilar DNI: 33464024 J

ndice:

1- Introduccin
1.1- Justificacin 1.2- Base legal 1.3- Contextualizacin 1.4- Caractersticas del alumnado 1.5- Presentacin del mdulo

4
4 5 6 6 7

2- Objetivos 3- Contenidos generales 4- Secuenciacin 5- Temporalizacin 6- Metodologa


6.1- Espacios y agrupamientos

10 16 19 42 44
45

7- Actividades
7.1- De presentacin y conocimientos previos 7.2- De enseanza-aprendizaje 7.3- De refuerzo 7.4- De ampliacin 7.5- De motivacin 7.6- Extraescolares y complementarias

46
46 46 47 47 47 49

8- Recursos y elementos de instrumentacin


8.1- Del centro

49
50

-2-

8.2- Del alumno

50

9- Evaluacin
9.1- Criterios de evaluacin 9.2- Criterios de calificacin 9.3- Recuperaciones, examen de nivel cero, final y de mnimos 9.4- Evaluacin del proceso enseanza-aprendizaje 9.5- Evaluacin de la Programacin Didctica

50
50 52 52 53 53

10- Atencin a los alumnos con necesidades educativas 54 especficas de apoyo educativo 11- Temas transversales 12- Bibliografa 55 58

ANEXO - Relacin de la propuesta de programacin

didctica con el currculo oficial

-3-

1- Introduccin

1.1- Justificacin
En la siguiente memoria se presenta la programacin didctica del mdulo Fundamentos de Programacin. ste consta de 285 horas de duracin y se asocia con la unidad de competencia n 4: Proponer y coordinar cambios para mejorar la explotacin del sistema y las aplicaciones. Por tanto, est dirigido a futuros tcnicos en administracin de sistemas.

Concretamente, tiene como capacidades terminales el dar una formacin bsica en la programacin en lenguajes estructurados, el manejo de estructuras de datos y diseo de algoritmos. Para lograr esto se ha tomando como elemento vehicular las tcnicas de programacin modular y el lenguaje arquetpico de la programacin de sistemas, C.

Pero antes de realizar una programacin didctica se ha de tener en cuenta que se entiende por ello, a qu se refiere el trmino programacin didctica, qu se pretende conseguir al plantear una. Por tanto hay que partir de lo que implica tal tarea.

En primera instancia, la programacin didctica de un mdulo profesional supone organizarlo en Unidades Didcticas1. En cada unidad didctica se deben estructurar y concretar los elementos curriculares, capacidades terminales, criterios de realizacin y contenidos, dentro del marco que establece la ley, pero manteniendo flexibilidad y margen de maniobra.

A lo largo del texto, se usa de forma indistinta la abreviatura UD.

-4-

Se ha de tener en cuenta el contexto al que va a ir aplicada. Esto implica que hacer una programacin didctica tambin supone aplicar y adaptar la normativa legal vigente a una realidad educativa concreta, con sus necesidades y particularidades.

Tambin se han de tener en cuenta las caractersticas de la materia a impartir, de qu trata, qu proporcin tiene de procedimientos, conceptos y actitudes y que capacidades terminales trata de desarrollar, entre otros factores. Por todo ello se contina analizando estos tres factores, marco legal, contexto educativo y la materia en s misma.

1.2- Base legal


La legislacin vigente de relevancia en esta programacin, a la que se hace referencia a lo largo de esta memoria, es, de menor a mayor concrecin:

La Ley Orgnica 5/2002, de 19 de junio, de las Cualificaciones y de la Formacin Profesional. La Ley Orgnica de Educacin 2/2006 de 3 de mayo. El Real Decreto 1538/2006, de 15 de diciembre, por el que se establece la ordenacin general de la formacin profesional del sistema educativo. El Real Decreto 1660/1994, de 22 de julio, por el que se define el ttulo de Tcnico superior en Administracin de Sistemas Informticos y las correspondientes enseanzas mnimas. El Real Decreto 1675/1994, de 22 de julio, por el que se establece el currculo del ciclo formativo de grado superior correspondiente al ttulo de Tcnico superior en Administracin de Sistemas Informticos.

-5-

Con este marco legal se regulan los estudios correspondientes al CFGS1 de Administracin de Sistemas Informticos, pero se ha tener en cuenta que cada ley tiene su mbito de aplicacin y se definen en ella diferentes elementos curriculares. Por ello, a lo largo del texto, se irn desgranando estos elementos del currculo siguiendo un esquema general-particular, de menor a mayor concrecin

1.3- Contextualizacin
Otro factor a tener en cuenta es a quin est dirigida y el entorno en el que se va a desarrollar la labor educativa. Es evidente que no es lo mismo un grupo de primaria que uno de secundaria o formacin profesional, por lo que se hace necesario contextualizar la programacin didctica, definir en que circunstancias se pretende aplicar.

Para ello se toma como hiptesis de trabajo el IES Alan Turing de Valencia, cuya oferta educativa consta de educacin secundaria obligatoria y postobligatoria, ESO, Bachillerato y CFGM2, aparte de diversos ciclos formativos de grado superior. Est ubicado en la periferia urbana, con un entorno socioeconmico de clase media. La reglamentacin vigente ordena que el nmero de alumnos es de 30 por grupo, aunque la el grupo supuesto consta slo de 18 alumnos.

1.4- Caractersticas del alumnado


El CFGS de Administracin de Sistemas Informticos, es un grado de enseanza superior y dirigido a alumnos adultos. Dada esta circunstancia, se considera de menor importancia el analizar con gran detalle el entorno en que se haya el alumnado al que va

1 2

Ciclo Formativo de Grado Superior. Ciclo Formativo de Grado Medio.

-6-

dirigido el mdulo. En cambio si que se considera una variable relevante del alumnado su modo de acceso a estos estudios.

Los dos principales modos de acceso a un CFGS son por medio de una prueba de acceso o por la posesin del ttulo de Bachillerato, entre los que acceden por medio de una prueba de acceso se puede distinguir los que han cursado el CFGM Explotacin de Sistemas Microinformticos. Con estas tres categoras la distribucin de alumnos es:

50% desde el CFGM Explotacin de Sistemas Informticos. 40% desde el bachillerato. El 10% restante proviene del mundo laboral.

De este reparto de alumnos se puede esperar que, aproximadamente la mitad de los alumnos no tengan grandes conocimientos previos de informtica. Aquellos provenientes de Explotacin de Sistemas Informticos s estn relacionados con la informtica, pero no con la programacin. En todo caso y como es habitual, es necesario realizar una evaluacin inicial, algo contemplado en la programacin del mdulo.

1.5- Presentacin del mdulo


Para terminar con esta introduccin, el ltimo elemento a tener en cuenta, es la propia naturaleza del mdulo y el ciclo en que se enmarca. De acuerdo con el RD1 1660/1994 que define el ttulo de Tcnico superior de Administracin de Sistemas Informticos, los requerimientos generales de cualificacin profesional del sistema productivo para este tcnico son:

Real Decreto.

-7-

Implantar, explotar y mantener en requerimientos de bajo y medio nivel los sistemas informticos...

Y en este contexto se enmarcan las diferentes unidades de competencia, entre las cuales, se tiene que la 4, proponer y coordinar cambios para mejorar la explotacin del sistema y las aplicaciones, se corresponde, entre otros, con el mdulo de Fundamentos de programacin.

Un mdulo se define como un conjunto coherente de contenidos de la Formacin Profesional. Es la unidad de oferta educativa y la parte ms pequea que puede acreditarse. Existen diferentes clases de mdulo, aquellos transversales (comunes a varios Ciclos Formativos de sta y otras Familias Profesionales) y los asociados a una Unidad de Competencia, como Fundamentos de Programacin.

Dentro de ste se especifican tres capacidades terminales, manejar y definir estructuras de datos (tanto estticas como dinmicas), aplicar la metodologa estructurada de diseo de algoritmos y codificar programas en un lenguaje estructurado de tercera generacin (del que cual no se especifica ms).

A efectos de realizar la programacin didctica la ambigedad que pudiera haber en este ltimo aspecto queda despejada por el RD 1675/1994 que define el currculo del ttulo, que menciona de forma explcita como contenido del mdulo la programacin en C.

-8-

Resumiendo lo anterior, por un lado se tiene que la cualificacin profesional requiere conocimientos del bajo y medio nivel y en el mdulo Fundamentos de programacin la programacin en C es mencionada como contenido en el propio currculo. Por todo esto se propone una programacin que toma al lenguaje C como elemento vehicular de la mayor parte del curso.

C es el lenguaje clsico de la programacin de sistemas, hoy da la mayor parte de sistemas operativos, compiladores, ensambladores y dems herramientas del sistema estn programadas en l, esto hace particularmente lgico el transmitir su uso a quienes han de entender y manipular el bajo y medio nivel.

Tambin se ha de recordar que este es un mdulo de introduccin a la programacin, que no necesita de conocimientos previos, por que existe la necesidad de partir de cero en l. Por ello antes de dedicarse a la programacin C se propone un esquema de contenidos y metodolgico como el que sigue:

Partiendo de una introduccin del concepto programar se pasa a la necesidad de un lenguaje. Este en primera instancia es uno supuesto, pseudocdigo o diagramas de flujo, que constituye una herramienta de gran importancia por s mismo. Luego se pasa al estudio de C, aadiendo de forma progresiva ms dificultad y recursos del propio lenguaje. En paralelo se introduce la necesidad de disear el qu hace un programa, algoritmos, y sobre qu lo hace, datos. Esto se interrelaciona con otros contenidos y as se divide el mdulo en diferentes bloques, segn se ve en apartados posteriores.

-9-

2- Objetivos
Se define a los objetivos como resultados de aprendizaje que se pretenden alcanzar al final del periodo de formacin. En un recorrido de menor a mayor grado de concrecin curricular, se tiene que estos objetivos los determina la Ley Orgnica de Educacin 2/2006, el Real Decreto 538/2006, de la Organizacin de la Formacin Profesional, el Real Decreto de Enseanzas mnimas 1660/1994, el de de Currculo, 1675/1994, y la propia programacin didctica, cada uno con una mayor especificidad que el anterior.

Expresados en trminos de capacidades y de acuerdo con la LOE1, desarrollada por el Real Decreto 1538/2006, de 15 de diciembre, por el que se establece la ordenacin general de la formacin profesional del sistema educativo, los objetivos de la Formacin Profesional son: Desarrollar la competencia general correspondiente a la cualificacin o cualificaciones objeto de los estudios realizados. Comprender la organizacin y las caractersticas del sector productivo correspondiente, as como los mecanismos de insercin profesional; conocer la legislacin laboral y los derechos y obligaciones que se derivan de las relaciones laborales. Aprender por s mismos y trabajar en equipo, as como formarse en la prevencin de conflictos y en la resolucin pacfica de los mismos en todos los mbitos de la vida personal, familiar y social. Fomentar la igualdad efectiva de oportunidades entre hombres y mujeres para acceder a una formacin que permita todo tipo de opciones profesionales y el ejercicio de las mismas.
1

Ley Orgnica de Educacin.

- 10 -

Trabajar en condiciones de seguridad y salud, as como prevenir los posibles riesgos derivados del trabajo. Desarrollar una identidad profesional motivadora de futuros aprendizajes y adaptaciones a la evolucin de los procesos productivos y al cambio social. Afianzar el espritu emprendedor para el desempeo de actividades e iniciativas empresariales. Lograr las competencias relacionadas con las reas prioritarias referidas en la Ley Orgnica 5/2002, de 19 de junio, de las Cualificaciones y de la Formacin Profesional. Hacer realidad la formacin a lo largo de la vida y utilizar las oportunidades de aprendizaje a travs de las distintas vas formativas para mantenerse actualizado en los distintos mbitos: social, personal, cultural y laboral, conforme a sus expectativas, necesidades e intereses.

En el siguiente grado de concrecin curricular, el Real Decreto 1660/1994 por el que se establece las Enseanzas Mnimas se fija que los requerimientos generales de cualificacin profesional del sistema productivo para este tcnico son:

Implantar, explotar y mantener en requerimientos de bajo y medio nivel los sistemas informticos en que se apoya la gestin y administracin de la empresa, prestando soporte directo o de primera lnea a los usuarios finales y aplicando y cumpliendo con los requisitos legales vigentes en el sector.

Este tcnico actuar, en su caso, bajo la supervisin general de Ingenieros o licenciados y/o Ingenieros Tcnicos o diplomados.

- 11 -

Asimismo, las capacidades profesionales del mdulo tambin quedan especificadas por el mismo Real Decreto de enseanzas mnimas, entre las que destacamos con negrita las referidas al mdulo de Fundamentos de programacin:

Organizar, administrar y controlar los servicios en sistemas informticos monousuarios, multiusuario y en red. Instalar y configurar sistemas informticos en entornos monousuario y multiusuario. Coordinar la puesta en marcha de redes de rea local y la conexin a sistemas informticos enredes extensas. Organizar y administrar los recursos informticos, compartidos y no compartidos, atendiendo a las necesidades y/o requerimientos de la empresa. Implantar e integrar software de aplicacin, especfico y/o de propsito general en el sistema informtico. Interpretar y aportar soluciones a las necesidades y requerimientos funcionales formulados por el/los usuario/s. Definir y proponer cambios y mejoras en el sistema y aplicaciones encaminados a optimizar las prestaciones del sistema informtico mantenindose informado de las innovaciones, tendencias, tecnologa y normativa aplicable. Establecer y aplicar procedimientos que aseguren la integridad, disponibilidad y confidencialidad de la informacin. Mantener relaciones fluidas con los miembros del grupo funcional en el que est integrada, responsabilizndose de la consecucin de los objetivos asignados al grupo, respetando el trabajo de los dems, organizando y dirigiendo tareas

- 12 -

colectivas y cooperando en la superacin de dificultades que se presenten, con una actitud tolerante hacia las ideas de los compaeros y subordinados. 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, econmicas o de seguridad son importantes. 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 prevenir/corregir las mismas.

A este tcnico, en el marco de las funciones y objetivos asignados por tcnicos de nivel superior al suyo, se le requerirn en los campos ocupaciones concernidos, por lo general, las capacidades de autonoma en: Organizacin y control de los servicios en sistemas informticos de tipo medio (ordenadores PC's y/o minis) operando en entornos monousuario, multiusuario y/o conectados en red local. Supervisin de la entrega y aceptacin de material informtico (equipos, productos sotfware y soportes de informacin). Instalacin, configuracin e integracin de productos software en el sistema. Instalacin y configuracin de equipos (ordenadores y perifricos) en entornos monousuario y multiusuario. Diseo y realizacin de pruebas de equipos y programas. Establecimiento de procedimientos para la seguridad y proteccin del sistema y la informacin.

- 13 -

Identificacin de problemas en la utilizacin del sistema, derivados de la instalacin y/o configuracin errnea de equipos y programas. Control del mantenimiento operativo o preventivo realizado a los equipos e instalaciones. Realizacin de guas, manuales y programas que faciliten al usuario/cliente la explotacin del sistema y/o las aplicaciones. Elaboracin de informes tcnicos sobre las prestaciones de nuevos equipos y programas para la toma de decisiones por el usuario/cliente.

Siguiendo con el aumento en la concrecin curricular y, de acuerdo con este mismo Real Decreto de enseanzas mnimas se definen una serie de Unidades de Competencia1. Cada una de ellas se corresponde con unas realizaciones y una serie de mdulos donde tales realizaciones se estudian, siendo la relevante en este caso la UC 4, proponer y coordinar cambios para mejorar la explotacin del sistema y las aplicaciones. Adems, las realizaciones profesionales vienen asociadas a unos criterios de evaluacin, como se muestra a continuacin2:

UC 4: proponer y coordinar cambios para mejorar la explotacin del sistema y las aplicaciones. Realizaciones profesionales y criterios de realizacin

Formular tcnicamente los cambios y mejoras necesarios en el sistema y/o aplicaciones para proporcionar criterios de decisin a la persona autorizada. o Se detectan las carencias y dificultades de explotacin del sistema y de las aplicaciones observadas y sugeridas por los usuarios.
1 2

Se usa la abreviatura UC en el resto del texto. Las realizaciones profesionales se marcan con negrita, los criterios de realizacin en tipo normal.

- 14 -

o Se definen de forma clara y concisa las funciones, prestaciones y recursos de los cambios y mejoras que hay que programar. o Se informa sobre las ventajas que aportara al proceso de datos la incorporacin del nuevo producto indicando prestaciones, costes y servicios necesarios. Realizar, a su nivel, los cambios propuestos en el sistema y/o aplicaciones de acuerdo con las prestaciones requeridas. o Se identifican los ficheros y/o utilidades del sistema implicados en la realizacin de los cambios propuestos. o Se utiliza la interfaz de programacin disponible en el sistema, si procede. o El funcionamiento del sistema y/o aplicacin no resulta afectado durante la realizacin de los cambios y mejoras. Realizar pruebas funcionales y de usuario previas a la implantacin de los cambios desarrollados en el sistema y/o aplicaciones. o La configuracin y/u operatividad del sistema y/o aplicaciones no se ve afectada durante la realizacin de las pruebas. o Los datos utilizados y las condiciones de realizacin de las pruebas permiten verificar la respuesta ante situaciones de error. o La prueba verifica que la entrada, acceso y produccin de datos es la requerida. Elaborar y mantener la documentacin y guas del usuario descriptivas de los cambios y mejoras introducidos en el sistema y/o aplicaciones segn las normas y procedimientos establecidos. o Se cumple con las normas y procedimientos de documentacin establecidos. o Se elaboran las guas de usuario de forma sencilla y entendible para facilitar su uso y aplicacin.

- 15 -

o La informacin describe las estructuras de control, datos y caractersticas del sistema utilizado en el cambio introducido y es interpretada fcilmente por terceras personas.

Concretado el mdulo, Fundamentos de Programacin dentro de la UC 4, el Real Decreto 1660/1994 determina qu capacidades terminales se pretenden conseguir y qu criterios de evaluacin estn asociados a ellas, a continuacin se especifican las capacidades terminales, dejndose los criterios de evaluacin para el apartado 9:

Mdulo profesional 4: Fundamentos de Programacin. Capacidades terminales Elegir y definir una estructura de datos para resolver un problema con lenguajes estructurados. Aplicar la metodologa de desarrollo estructurado para el diseo de algoritmos. Codificar programas en lenguajes estructurados de tercera generacin.

Slo resta el ltimo grado de concrecin curricular, los objetivos didcticos asociados a cada unidad. Por motivos de claridad, se encuentran enumerados en cada una de las Unidades Didcticas, que conforman la programacin.

3- Contenidos generales
Se entiende por contenidos el conjunto de saberes, habilidades, destrezas y actitudes que debe adquirir un alumno durante el periodo de formacin. De forma anloga con el apartado anterior, se ve cuales son los contenidos marcados por la ley, en un orden de menor a mayor concrecin curricular:

- 16 -

En este caso la LOE slo referencia a los Reales Decretos correspondientes a cada ttulo, por lo que se procede a consultar estos. En el de Enseanzas Mnimas, como su propio nombre indica, se fijan los contenidos bsicos del mdulo que sern los que se usen para confeccionar los criterios de evaluacin de la prueba extraordinaria de mnimos.

El RD 1675/1994 por el que se establece el currculo es el ms conciso en cuanto a los contenidos del mdulo que se pueden diferenciar en conceptuales y procedimentales, ntese que la legislacin no menciona contenidos actitudinales especficos para el mdulo: Contenidos conceptuales Estructuras de datos. o Variables, tipos de variables. o Registros, ficheros, arrays, listas, rboles. o Algoritmos de utilizacin. Metodologa de la programacin y programacin estructurada. Caractersticas de los lenguajes estructurados de tercera generacin: o Estructuras e instrucciones tpicas. o Procedimientos y funciones. o Paso de argumentos. o Caractersticas de la programacin estructurada. Estructuras bsicas. Entidades que maneja el lenguaje C: tipos de variables y estructuras de datos. Utilizacin de estructuras dinmicas: punteros en lenguaje C. o Punteros, listas: pilas, colas. rboles. Algoritmos de utilizacin. o Funciones: paso de argumentos por parmetros y por direccin.

- 17 -

o Utilizacin de ficheros. Contenidos procedimentales Aplicacin de las estructuras a la resolucin de problemas en programacin. Caractersticas de los lenguajes estructurados de tercera generacin: o Mtodos de diseo de programas y datos de prueba en programacin estructurada: anlisis descendente; mtodos orientados a las estructuras de datos. o Documentacin y medidas de calidad en la programacin. o Aplicacin de mtodos de diseo de programas y datos de prueba en programacin estructurada. o Documentacin de programas. Programacin en lenguajes estructurados: lenguaje C. Instrucciones del lenguaje: funcin y sintaxis; declaracin de estructuras; E/S. instrucciones de control. o Aplicacin prctica del lenguaje: diseo; procedimiento de codificacin; obtencin de cdigo ejecutable; depuracin de errores. o Funciones y libreras bsicas del entorno de desarrollo. o Documentacin del programador del lenguaje C. Utilizacin de estructuras dinmicas: punteros en lenguaje C. o Diseo y codificacin de programas sobre: punteros, listas, pilas, colas. Arboles. o Diseo y codificacin de funciones. o Diseo y codificacin de programas sobre ficheros.

El grado ms fino de concrecin curricular, que se corresponde con el desglose por Unidad Didctica, se detalla en el siguiente apartado.

- 18 -

4- Secuenciacin
Como ya se ha indicado antes, la legislacin vigente asigna al mdulo de Fundamentos de Programacin como objetivos tres capacidades terminales; metodologa de programacin estructurada, estructuras de datos y codificacin.

Al estar estos tres conceptos interrelacionados, se ha optado por dividir los contenidos en unos bloques que no se corresponden de forma exacta con ese esquema. En su lugar, los bloques propuestos estn diseados con la premisa metodolgica de ir aadiendo conceptos de acuerdo con su dificultad, conforme sean necesarios en la resolucin de problemas de carcter procedimental, ms que en formar bloques de tipo temtico por conceptos. Dicho esto el esquema general de contenidos que se propone es el siguiente:

Bloque 1 Introduccin UD 1: Introduccin a la programacin UD 2: Representacin interna de la informacin UD 3: Pseudocdigo UD 4: Diagramas de flujo

Bloque 2: Programacin bsica en C UD 5: Introduccin al lenguaje C UD 6: Entrada salida estndar UD 7: Control de flujo

- 19 -

UD 8: Funciones

Bloque 3: Programacin Avanzada en C UD 9: Punteros UD 10: Arrays y cadenas UD 11: Ficheros UD 12: Estructuras de datos UD 13: Gestin dinmica de memoria UD 14: Estructuras dinmicas UD 15: Preprocesador, macros y libreras

Con ms detalle, el desglose de contenidos, objetivos, sesiones y actividades por UD es como sigue:

UD 1: Introduccin a la programacin
Temporalizacin: 1 Evaluacin: 8 Sesiones de teora. Objetivos: Diferenciar los componentes de un ordenador. Definir lenguaje de programacin y distinguir entre alto y bajo nivel. Definir el concepto de algoritmo y tipos de datos.

- 20 -

Conocimientos previos: Ninguno, es la UD inicial del curso. Contenidos conceptuales: Introduccin a la informtica. Unidades funcionales del ordenador. Introduccin a la programacin. Alto y bajo nivel. Lenguajes de programacin, ensambladores, compiladores. Algoritmos y codificacin. 3 sesiones Datos: constantes, variables, tipos. Contenidos procedimentales: Ninguno. Contenidos actitudinales: Inters por el estado actual de la informtica. Inters por el funcionamiento bsico de los ordenadores. Disposicin a aprender a manejar software por cuenta propia. Apertura a los compaeros y valoracin positiva al intercambio de ideas y experiencias anteriores. Actividades Enseanza-Aprendizaje: Ninguna. Criterios de evaluacin: Definir las diferentes partes que componen un ordenador. Diferenciar entre lenguajes de alto y bajo nivel, cdigo objeto y mquina. Distinguir entre algoritmo y codificacin. 3 sesiones 2 sesiones

- 21 -

Diferenciar entre tipos de datos.

UD 2: Representacin interna de la informacin


Temporalizacin: 1 Evaluacin: 14 Sesiones totales, 7 tericas + 7 prcticas. Objetivos: Manejar los distintos sistemas de numeracin. Conocer las principales codificaciones alfanumricas. Conocimientos previos: Aritmtica bsica y de la UD 1 los conceptos de; informacin, dato y tipos de datos y de memoria principal. Contenidos conceptuales: Sistemas de numeracin. 3 sesiones

Representacin de enteros, desbordamiento. Representacin de nmeros reales, coma flotante. Codificaciones alfanumricas: ASCII, Unicode. Contenidos procedimentales: Cambio entre sistemas de numeracin decimal, binario, octal y hexadecimal. Operaciones aritmticas con diferentes sistemas de numeracin. Consulta de tablas de caracteres. Contenidos actitudinales: Disposicin al uso de la documentacin. Inters por el funcionamiento bsico de los ordenadores. 1 sesin 3 sesiones

- 22 -

Actividades Enseanza-Aprendizaje: Resolucin de problemas de cambios de numeracin y 7 sesiones aritmtica en bases diferentes a la decimal. Criterios de evaluacin: Distinguir entre los diferentes sistemas de numeracin. Resolver problemas de cambios de base. Conocer los estndares de representacin interna de los datos.

UD 3: Pseudocdigo
Temporalizacin: 1 Evaluacin: 28 Sesiones totales, 10 tericas + 18 prcticas. Objetivos: Disear algoritmos para la resolucin de problemas. Entender los elementos bsicos de la programacin estructurada. Representar algoritmos usando pseudocdigo. Conocimientos previos: De la UD 1 los conceptos de algoritmo. En menor medida, de la UD 2 datos, su almacenamiento y tipos. Contenidos conceptuales: Pseudocdigo. o Acciones simples; asignar, declarar, E/S. o Condiciones, operandos. o Secuencias 3 sesiones

- 23 -

Control de flujo: o Bifurcaciones o Iteraciones. Subprogramas o Funciones o Procedimientos o Recursividad Contenidos procedimentales: Diseo y lectura de pseudocdigos. Contenidos actitudinales: Valoracin positiva de la metodologa estructurada de diseo de software. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Codificacin en pseudocdigo de algoritmos secuenciales sencillos. Codificacin en pseudocdigo de algoritmos con control de flujo. Codificacin en pseudocdigo de algoritmos modulares Criterios de evaluacin: Codificar en pseudocdigo algoritmos. Interpretar pseudocdigos. Aplicar el pseudocdigo al diseo de programas. 4 sesiones 10 sesiones 4 sesiones 3 sesiones 4 sesiones

- 24 -

UD 4: Diagramas de flujo
Temporalizacin: 1 Evaluacin: 20 Sesiones totales, 6 tericas + 14 prcticas. Objetivos: Disear algoritmos para la resolucin de problemas. Representar algoritmos usando diagramas de flujo. Diferenciar entre organigramas y ordinogramas. Conocimientos previos: De la UD 1 los conceptos de algoritmo. De la UD 3 el manejo de pseudocdigo y los conceptos de flujo, su control y subprogramas. Contenidos conceptuales: Diagramas de flujo: o Organigramas. o Ordinogramas. Contenidos procedimentales: Diseo y lectura de diagramas de flujo para un algoritmo. Traduccin entre pseucdigos y diagramas de flujo. Contenidos actitudinales: Valoracin positiva de la metodologa estructurada de diseo de software. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Confeccin de ordinogramas y organigramas para algoritmos sencillos. 12 sesiones 6 sesiones

- 25 -

Traduccin entre pseudocdigo y diagramas de flujo. Criterios de evaluacin: Disear diagramas de flujo dado un algoritmo. Interpretar diagramas de flujo. Aplicar los diagramas de flujo al diseo de programas.

2 sesiones

UD 5: Introduccin al lenguaje C
Temporalizacin: 1 Evaluacin: 17 Sesiones totales, 6 tericas + 11 prcticas. Objetivos: Conocer los componentes de un entorno de programacin. Manejar la sintaxis de C para la construccin de sentencias. Usar la documentacin del programador. Diferenciar entre constante y variable y sus tipos. Conocimientos previos: De las UD 1 y 3 los conceptos de algoritmo, lenguaje y pseudocdigo. De la UD 2 el sistema binario de numeracin, necesario para abordar las operaciones con bits, un recurso muy caracterstico de C. Contenidos conceptuales: El software: Compilador, enlazador. Librera estndar. Documentacin. 2 sesiones

- 26 -

Tipos de datos de C. Declaracin de variables y constantes. Operadores y rdenes de precedencia. Sentencias. Contenidos procedimentales: Instalacin del entorno de programacin. Lectura de documentacin bsica. Uso de la sintaxis bsica de C: declaracin de variables y constantes. Uso de la sintaxis bsica de C: sentencias y operadores. Operaciones con bits. Contenidos actitudinales: Disposicin a la bsqueda de informacin adicional. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Instalar entorno de desarrollo Dev-C++ Primer contacto en C: Hello world Codificacin de sentencias sencillas en C y declaracin de variables. Resolucin de problemas acerca de operadores de C. Criterios de evaluacin: Instalar software de programacin. Reconocer y usar las herramientas ya instaladas en una mquina. Diferenciar entre los tipos de variables y constantes de C. Resolver problemas relacionados con la sintaxis bsica y operadores de C. 4 sesiones 3 sesiones 4 sesiones

4 sesiones

- 27 -

UD 6: Entrada salida estndar


Temporalizacin: 2 Evaluacin: 17 Sesiones totales, 5 tericas + 12 prcticas. Objetivos: Usar las funciones de la librera de C para la E/S estndar. Disear y codificar programas interactivos bsicos. Conocimientos previos: Programacin bsica en C, de la UD 5 y tcnicas descriptivas de algoritmos, de las UD 3 y 4. Contenidos conceptuales: Concepto de E/S estndar. Funciones de C para la E/S estndar Formato, secuencias de escape. Contenidos procedimentales: Uso de las funciones printf, scanf, get, getche. Diseo y codificacin en C de programas que usen la E/S estndar. Diseo de programas amigables e informativos. Contenidos actitudinales: Correccin en el diseo y codificacin de programas. Uso de libreras en programas. Metodologa de programacin estructurada. Disposicin al trabajo en equipo. 5 sesiones

- 28 -

Actividades Enseanza-Aprendizaje: Diseo y codificacin de programas interactivos bsicos 12 sesiones

Criterios de evaluacin: Entender el concepto de entrada salida estndar. Conocer y diferenciar las funciones bsicas de E/S de C. Resolver problemas de programacin que requieran la E/S estndar.

UD 7: Control de flujo
Temporalizacin: 2 Evaluacin: 18 Sesiones totales, 5 tericas + 13 prcticas. Objetivos: Definir el concepto de flujo de un programa. Distinguir entre bifurcacin, iteracin y salto. Disear y codificar programas en C que usen control de flujo. Conocimientos previos: De la UD 5 y, en menor medida, 6, el concepto y los procedimientos de programacin secuencial en C. Contenidos conceptuales: Flujo de un programa Bifurcaciones en C; if, else, if else. Bifurcaciones en C: switch, case. Iteraciones en C: for, do, while Saltos en C: goto, break, continue. Contenidos procedimentales: - 29 2 sesiones 1 sesin 2 sesiones

Uso de las palabras claves de C: if, else, for, do, while, goto y break. Diseo y codificacin en C de programas que usen control de flujo. Contenidos actitudinales: Correccin en el diseo y codificacin de programas. Metodologa de programacin estructurada. Buenas prcticas de programacin estructurada: limitar el uso de saltos incondicionales. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Diseo y codificacin de programas interactivos bsicos que 13 sesiones usen control de flujo. Criterios de evaluacin: Conocer y diferencias las palabras claves de C asociadas al control de flujo. Disear y codificar programas que necesiten de control de flujo. Valorar la eficacia de los mtodos de programacin estructurada.

UD 8: Funciones
Temporalizacin: 2 Evaluacin: 18 Sesiones totales, 6 tericas + 12 prcticas. Objetivos: Definir el concepto de rutina y subprograma. Reconocer el mbito de una variable en un programa de C. Disear y codificar programas modulares en C. Usar libreras en la programacin.

- 30 -

Conocimientos previos: De las UD 3 y 5-7 los conceptos de control de flujo y las herramientas de programacin secuencial en C. Contenidos conceptuales: Concepto de funcin: rutinas y subprogramas. La funcin main. Declaracin y definicin de funciones. mbito de una variable. Recursividad. Librerias, APIs, enlazadores. Concepto de compilacin esttica y dinmica. Contenidos procedimentales: Diseo y codificacin en C de programas que usen funciones y recursividad. Codificacin en C de libreras. Contenidos actitudinales: Correccin en el diseo y codificacin de programas. Buenas prcticas de programacin estructurada: modularidad y libreras. Buenas prcticas de programacin estructurada: documentar el cdigo. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Resolucin de problemas bsicos de programacin con funciones y recursividad: Hanoi, etc. Enlazar un programa con una librera en cdigo objeto. Compilar una librera de rutinas. 4 sesiones 8 sesiones 2 sesiones 2 sesiones 2 sesiones

- 31 -

Criterios de evaluacin: Reconocer la utilidad de la programacin modular. Implementar programas que hagan uso de rutinas y funciones. Compilar programas con libreras propias o ajenas por compilacin esttica.

UD 9: Punteros
Temporalizacin: 2 Evaluacin: 20 Sesiones totales, 6 tericas + 14 prcticas. Objetivos: Definir el concepto de puntero y posicin de memoria. Usar los operadores *, & de C. Disear y codificar programas en C que usen punteros y llamen a funciones por referencia o valor. Conocimientos previos: Programacin modular en C de las UD 5-8 y representacin y almacenamiento interno de informacin, de la UD 2. Contenidos conceptuales: Concepto de puntero. Operadores *, &. 3 sesiones

Paso de argumentos por referencia y por valor Contenidos procedimentales:

3 sesiones

Diseo y codificacin en C de programas que usen punteros y paso de funciones por referencia y valor. Contenidos actitudinales: Inters por el funcionamiento bsico de los ordenadores. - 32 -

Correccin en el diseo y codificacin de programas. Metodologa de programacin estructurada. Buenas prcticas de programacin en C: inicializar punteros a NULL y vigilar a donde apuntan. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Primeros bug en C: Hello,protection/segmentation fault 1 sesin

Resolucin de problemas bsicos de programacin con 13 sesiones punteros y paso por referencia. Criterios de evaluacin: Diferenciar entre variable, posicin en memoria y puntero. Distinguir entre los operadores *, &. Codificar y depurar programas en C que usen punteros y paso de argumentos a funciones por referencia.

UD 10: Arrays y cadenas


Temporalizacin: 2 Evaluacin: 14 Sesiones totales, 4 tericas + 10 prcticas. Objetivos: Diferenciar entre array, cadena y puntero. Conocer la aritmtica de punteros. Disear y codificar programas en C que usen arrays y cadenas de caracteres. Usar las funciones de librera de C para el manejo de cadenas. Conocer los algoritmos de ordenacin.

- 33 -

Conocimientos previos: Programacin modular en C de las UD 5-8 y punteros de la UD 9. Contenidos conceptuales: Concepto y utilidad de arrays y cadenas. Funciones de librera para manipular cadenas. Relacin con punteros. Aritmtica de punteros Algoritmos de ordenacin: burbuja, kicksort Contenidos procedimentales: Uso de las funciones de libreria: strcat, strcpy, strlen, strcmp, etc. Diseo y codificacin en C de programas que usen cadenas y arrays. Implementacin de algoritmos de ordenacin. Contenidos actitudinales: Inters por el funcionamiento bsico de los ordenadores. Correccin en el diseo y codificacin de programas. Metodologa de programacin estructurada. Buenas prcticas de programacin en C: vigilar la longitud de cadenas y arrays. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Diseo y codificacin de programas interactivos en modo texto. Diseo y codificacin de algoritmos de ordenacin. Criterios de evaluacin: Definir y distinguir cadenas, arrays y punteros. Manejar la aritmtica de punteros. Codificar y depurar programas en C que usen arrays y cadenas. - 34 6 sesiones 4 sesiones 2 sesiones 2 sesiones

Conocer los algoritmos de ordenacin.

UD 11: Ficheros
Temporalizacin: 3 Evaluacin: 14 Sesiones totales, 4 tericas + 10 prcticas. Objetivos: Definir el concepto de fichero y sus tipos. Conocer la interfaz de E/S y las funciones de librera asociadas de C. Disear y codificar programas de C que manipulen archivos de datos. Conocimientos previos: Programacin modular en C de las UD 5-8, particularmente la UD 6 de E/S estndar. Contenidos conceptuales: Concepto de archivo: tipos 1 sesin

Funciones de librera para el manejo de ficheros. Modos de acceso a un archivo. Ficheros secuenciales de texto. Ficheros binarios. Contenidos procedimentales: Uso de las funciones de librera: fopen, fclose, fprintf, fscanf, fread, fputs fseek, etc. Diseo y codificacin en C de programas que usen la E/S a archivos. Contenidos actitudinales: Correccin en el diseo y codificacin de programas. Metodologa de programacin estructurada. 3 sesiones

- 35 -

Buenas prcticas de programacin estructurada: documentar formatos de los ficheros de datos. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Diseo y codificacin de programas que usen archivos de datos Criterios de evaluacin: Definir y distinguir entre los modos de acceso a ficheros. Manejar las funciones de librera de E/S de C. Codificar y depurar programas en C que usen ficheros. 10 sesiones

UD 12: Estructuras de datos


Temporalizacin: 3 Evaluacin: 19 Sesiones totales, 6 tericas + 13 prcticas. Objetivos: Definir el concepto de estructura de datos. Distinguir entre conjunto, registro y unin. Crear estructuras de datos en C. Disear y codificar programas de C que usen estructuras de datos estticas. Conocimientos previos: Programacin modular en C de las UD 5-8. Contenidos conceptuales: Concepto de estructura de datos. Estructura de datos en C: struct. Tipos de estructuras: uniones, registros, conjuntos. - 36 1 sesin 5 sesiones

Contenidos procedimentales: Implementacin de estructuras de datos en C usando la palabra clave struct. Aplicacin de las estructuras de datos en el diseo de programas. Contenidos actitudinales: Correccin en el diseo y codificacin de programas. Metodologa de programacin estructurada. Buenas prcticas de programacin estructurada: usar estructuras de datos. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Diseo y codificacin de programas que usen estructuras de datos estticas. Criterios de evaluacin: Definir y distinguir los tipos de estructuras estticas. Usar estructuras de datos estticas en el desarrollo de programas. 15 sesiones

UD 13: Gestin dinmica de memoria


Temporalizacin: 3 Evaluacin: 20 Sesiones totales, 5 tericas + 15 prcticas. Objetivos: Conocer el mecanismo bsico de asignacin dinmico de memoria. Usar las funciones malloc y free de C para la asignacin dinmica de memoria. Disear y codificar programas que usen memoria de forma dinmica. Conocimientos previos: Programacin modular en C de las UD 5-8 y representacin interna de la informacin de la UD 2. - 37 -

Contenidos conceptuales: Posiciones de memoria y direccionamiento. Gestin dinmica de memoria con C: malloc y free. Tipo de dato void Contenidos procedimentales: Uso de las funciones de libreria: malloc, free, etc. Asignacin de memoria a arrays, cadenas, etc, de tamao desconocido en tiempo de compilacin. Diseo y codificacin de programas con necesidades de memoria dinmica. Contenidos actitudinales: Inters por el funcionamiento bsico de los ordenadores. Correccin en el diseo y codificacin de programas. Metodologa de programacin estructurada. Buenas prcticas de programacin en C: Liberar memoria asignada dinmicamente tras su uso. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Diseo y codificacin de programas que usen gestin dinmica de memoria. Criterios de evaluacin: Entender el mecanismo bsico de asignacin dinmica de memoria. Usar la gestin dinmica de memoria en el desarrollo de programas. 15 sesiones 5 sesiones

- 38 -

UD 14: Estructuras dinmicas


Temporalizacin: 3 Evaluacin: 22 Sesiones totales, 8 tericas + 14 prcticas. Objetivos: Diferenciar entre estructuras estticas y dinmicas Distinguir entre listas enlazadas, pilas, colas y rboles. Implementar estructuras dinmicas en C. Usar estructuras dinmicas en el diseo de programas. Conocimientos previos: Prcticamente todos los conceptos y procedimientos anteriores; programacin modular en C de las UD 5-8, adems de punteros, UD 9, estructuras estticas, UD 12, y gestin dinmica de memoria, UD 13. Contenidos conceptuales: Estructuras dinmicas vs. estticas. Tipos de estructuras dinmicas: listas enlazadas, pilas, colas y rboles. Implementaciones implcitas. Implementaciones usando memoria dinmica Contenidos procedimentales: Punteros a estructuras. Estructuras y E/S. Operaciones asociadas a las estructuras dinmicas, push y pop, recorrido de rboles. Implementacin de estructuras dinmicas Aplicacin de las estructuras de datos en el diseo de programas. 4 sesiones 1 sesin 3 sesiones

- 39 -

Contenidos actitudinales: Correccin en el diseo y codificacin de programas. Metodologa de programacin estructurada. Buenas prcticas de programacin estructurada: usar estructuras de datos. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Implementacin de estructuras dinmicas Diseo y codificacin de programas que usen estructuras de datos dinmicas. Criterios de evaluacin: Diferenciar entre estructuras estticas y dinmicas. Distinguir entre lista, cola, pila y rbol. Implementar las operaciones asociadas a las estructuras dinmicas Usar estructuras dinmicas en el desarrollo de programas. 7 sesiones 7 sesiones

UD 15: Preprocesador, macros y libreras


Temporalizacin: 3 Evaluacin: 12 Sesiones totales, 6 tericas + 6 prcticas. Objetivos: Entender la sintaxis del preprocesador de C. Usar las macros de C en la codificacin de proyectos. Diferenciar entre los tipos de libreras ms usados Conocimientos previos: Programacin modular en C de las UD 5-8 y punteros de la UD 9.

- 40 -

Contenidos conceptuales: Definicin y uso de macros. 3 sesiones El uso de macros en grandes proyectos de programacin. Libreras: o Enlace esttico o Enlace dinmico Contenidos procedimentales: Uso de macros y sentencias de preprocesador. Sintaxis del preprocesador. Utilidad del preprocesador en rboles de fuentes grandes. Uso de libreras externas en programas. Contenidos actitudinales: Inters por el cdigo de proyectos grandes. Correccin en el diseo y codificacin de programas. Disposicin al trabajo en equipo. Actividades Enseanza-Aprendizaje: Resolucin de problemas que impliquen el uso de macros de preprocesador. Aplicacin de macros en el diseo de programas. Resolucin de problemas que impliquen el uso de libreras externas. Criterios de evaluacin: Resolver problemas que impliquen el uso de macros de preprocesador. Entender las diferencias entre los tipos de libreras existentes. 3 sesiones 3 sesiones 3 sesiones

- 41 -

5- Temporalizacin
De acuerdo con la Resolucin de 8 de junio de 2008, de la Direccin General de Enseanza, por la que se fija el calendario escolar del curso acadmico 2008/2009 y con el cuadro horario del CFGS de Administracin de Sistemas Informticos, al mdulo Fundamentos de Programacin le corresponden 288 sesiones, repartidas entre las 32 semanas del curso a razn de 9 sesiones por cada una de la siguiente forma: L M X J V

2 sesiones 2 sesiones 1 sesin 2 sesiones 2 sesiones Adems de las propias clases en aula y prcticas, para lograr un esquema flexible, se han de tener en cuenta las sesiones dedicadas a exmenes, actividades de repaso y extraescolares. Por ello se propone dedicar uno de cada dos mircoles a actividades de repaso y reservar 2 sesiones por evaluacin para exmenes y actividades extraescolares. Con todo ello, el reparto de sesiones por evaluacin queda de la siguiente forma: Sesiones 1 Evaluacin UD 1. Introduccin a la programacin 2. Representacin interna de la informacin 3. Pseudocdigo 4. Diagramas de flujo 5. Introduccin al lenguaje C Total docencia: Repaso Act. Extraescolar Exmenes Total evaluacin: 37 50 Conceptos Actividades Total 8 7 10 6 6 37 7 18 14 11 50 8 14 28 20 17 87 5 2 2 96

- 42 -

2 Evaluacin UD 6. Entrada salida estndar 7. Control de flujo 8. Funciones 9. Punteros 10. Arrays y cadenas Total docencia: Repaso Act. Extraescolar Exmenes Total evaluacin: 26 61 Conceptos Actividades Total 5 5 6 6 4 26 12 13 12 14 10 61 17 18 18 20 14 87 5 2 2 96

3 Evaluacin UD 11. Ficheros 12. Estructuras de datos 13. Gestin dinmica de memoria 14. Estructuras dinmicas 15. Preprocesador, macros y librerias Total docencia: Repaso Act. Extraescolar Exmenes Total evaluacin: Los totales por curso quedan as: Fundamentos de Programacin Teora Prctica Otros Total 1 Evaluacin 2 Evaluacin 3 Evaluacin Total sesiones: 37 26 26 89 50 61 61 172 9 9 9 27 96 96 96 288 26 61 Conceptos Actividades Total 5 5 6 6 4 26 12 13 12 14 10 61 17 18 18 20 14 87 5 2 2 96

- 43 -

6- Metodologa
Se propone una metodologa activa y constructivista, cuyo fin es lograr un aprendizaje significativo en base a lo siguiente: Partir de los conocimientos previos del alumno. Favorecer la motivacin. Aprender a aprender, el alumno debe de sentar las bases para adquirir conocimientos por si mismo. De forma concreta, la metodologa general que se propone se articula en torno al siguiente procedimiento: Presentacin de la UD, haciendo relacin con otras anteriores y contenidos de otros mdulos. El hilo de la secuenciacin de contenidos es aadir funcionalidad a un lenguaje de programacin. Dicha funcionalidad se introduce para resolver problemas de tipo prctico (interactividad, modularidad, etc) lo que es un elemento motivador. En el desarrollo formal de los conceptos tericos, se intenta que sean los alumnos quienes realizan las conexiones entre conceptos y con la prctica. Para ello se recurre a mtodos de pregunta-respuesta o socrticos. Por ejemplo, para introducir la idea de lenguaje de programacin se sugiere la pregunta y cmo se pasan las instrucciones al ordenador?. En otro ejemplo, una vez dominado el concepto de flujo de un programa se sugiere lo til que sera el tener un control sobre dicho flujo. El desarrollo de los contenidos procedimentales se lleva a cabo en el aula de informtica, mediante la elaboracin de prcticas y presentando una memoria al final de ellas que sirve como observacin de los progresos del alumno.

- 44 -

Estas prcticas tambin contribuyen a la consolidacin de los contenidos conceptuales. Algunos conceptos, notoriamente el de puntero, son fciles de entender a un nivel bsico en la teora, pero difciles de manejar en la prctica, lo que refuerza este planteamiento. A nivel de actitudes y dado el perfil profesional al que va dirigir el ciclo formativo, se destaca la capacidad de buscar informacin y aprender por sus propios medios sobre tecnologa. Para fomentar esto se propone usar una serie de actividades de motivacin que impliquen la documentacin por cuenta propia y la introduccin de referencias a fuentes de documentacin, nuevas tecnologas y software fuera de lo comn en las clases.

6.1- Espacios y agrupamientos


En las clases tericas se usa el aula en gran grupo, con actividades de exposicin directa o pregunta-respuesta.

Las clases prcticas usan el aula-taller de informtica, de forma individual o en grupos de dos. Ya que uno de los grandes contenidos actitudinales es trabajar en equipo, se pretende reflejar as la realidad profesional.

7- Actividades
De acuerdo con su carcter y objetivos las actividades se clasifican en diferentes tipos:

- 45 -

7.1- De presentacin y conocimientos previos


De acuerdo con la metodologa constructivista, se ha de partir de los conocimientos previos del alumno para desarrollar otros ms avanzados.

Por ello, en las primeras sesiones de cada UD se hace una exposicin relacionando con otras anteriores y contenidos de otros mdulos. En el propio desarrollo de las UD se dejan ganchos conceptuales o procedimentales para poder enlazar con otras posteriores, o con los contenidos de otros mdulos.

En la medida de lo posible, se pretende que sean los alumnos quienes desarrollen estas conexiones entre las diferentes UD recurriendo a mtodos de pregunta abierta o socrticos. Por ejemplo, para introducir la idea de lenguaje de programacin se sugiere la pregunta y cmo se pasan las instrucciones al ordenador?. En la UD dedicada a funciones se muestra la limitacin del paso por valor (usando el ejemplo tpico de una rutina que permute el valor de dos variables) y as sucesivamente.

Por esta razn tambin se ha escogido una secuenciacin de contenidos en la que se vayan aadiendo funcionalidades de forma progresiva a C, para usar la interrelacin de contenidos como eje del mdulo.

7.2- De enseanza-aprendizaje
Dada la carga procedimental del mdulo, estas actividades consisten en resolucin de problemas y la codificacin de programas en el aula-taller de informtica, presentando una memoria al final de ellas que sirve como observacin de los progresos del alumno.

- 46 -

Estas prcticas tambin contribuyen a la consolidacin de los contenidos conceptuales. Algunos de ellos, notoriamente el de puntero, son fciles de entender a un nivel bsico en la teora, pero difciles de manejar sino se trabaja con ellos de forma prctica, lo que refuerza este planteamiento.

7.3- De refuerzo
La temporalizacin contempla el uso de uno de cada dos sesiones de mircoles como clases de repaso para alumnos ritmo de aprendizaje lento.

7.4- De ampliacin
El caso contrario, alumnos con ritmo de aprendizaje rpido, puede abordarse tambin en las sesiones dedicadas a refuerzo, trabajando con las agrupaciones oportunas. A nivel de contenidos y sin adaptar el currculo de forma significativa, el mdulo se puede ampliar tratando otros lenguajes y paradigmas de programacin. De la multitud que existen, los ms oportunos temticamente podran ser; PERL, lenguaje usado en scripts de administracin, ensamblador, por el conocimiento de bajo nivel que implica, o C++ o Java, por lo extendido de su uso.

La evaluacin de estas actividades se hara por memorias, similar a las usadas en las actividades de enseanza-aprendizaje.

7.5- De motivacin
Al margen de la tendencia general por hacer la materia interesante, fundamentalmente relacionando la materia con la prctica profesional, algunas actividades tienen como objeto especfico de motivar al alumnado.

- 47 -

En este sentido, en el intervalo entre las UD 9, punteros, y UD 12, estructuras estticas, se acaba de explicar casi todos los recursos tpicos de programacin estructurada y modular. Esto hace posible el proponer en ese periodo una actividad de programacin a desarrollar por cuenta propia, con las siguientes caractersticas: Agrupacin libre de alumnos. Lenguaje de programacin a escoger. Temtica a escoger, con la condicin de estar relacionada de alguna forma con el bajo o medio nivel, las tareas administrativas. Ha de implicar una labor de documentacin. Ha de ser legal y respetar licencias de software. El tiempo de trabajo dedicado ha de ser aproximadamente una semana. El plazo de entrega acaba el 15 de mayo. La justificacin de esta actividad se encuentra en que los tpicos proyectos de muchos cursos de programacin (calculadora, agenda, etc) no tienen gran relacin con un ciclo formativo de administracin de sistemas. Adems, es fcil encontrar este tipo de problemas resuelto en la red.

Por ello, fomentando una actividad de carcter libre se espera motivar al alumnado a aprender por cuenta propia. Posibles ejemplos para motivar a los indecisos son: Un programa en DOS que cambie los modos de video, usando llamadas a VESA. Disear un programa que formatee un disco o sobrescriba su contenido. Escribir un programa que comunique al ordenador con un dispositivo por el puerto serie. Documentar algn comando de Linux que no lo est.

- 48 -

Todos estos proyectos no requieren un gran esfuerzo de codificacin, no son de muchas lneas. Con ello se insiste en que la idea no es proponer un gran proyecto, sino uno pequeo pero extico.

Esta actividad se evala como una memoria del aula-taller.

7.6- Extraescolares y complementarias


La temporalizacin prev el uso de dos horas por evaluacin para el desarrollo de actividades extraescolares y complementarias.

8- Recursos y elementos de instrumentacin

8.1- Del centro


A nivel material, para el desarrollo de este mdulo el aula-taller de informtica ha de estar equipada con: Al menos 1 PC por cada dos alumnos. Windows y/o Linux instalado. Conexin a internet aconsejable, pero no imprescindible. El resto del software que se propone en las actividades de enseanza-aprendizaje es gratuito: o Entorno de desarrollo Dev-C++, de Bloodshed, disponible para Windows y Linux, acta como frontend de gcc, disponible en http://www.bloodshed.net, a pesar del nombre es tanto un entorno de C++ como de C.

- 49 -

8.2- Del alumno


No hay un libro de texto que se ajuste completamente a los contenidos del mdulo, por lo que usan fotocopias y apuntes propios como recursos didcticos para el alumno y el clsico de Kerninghan y Ritchie como principal texto complementario. Adems se sugiere en el apartado dedicado a bibliografa varias pginas web con contenido de inters para los alumnos.

9- Evaluacin

9.1- Criterios de evaluacin


Los criterios de acuerdo con los cuales se realiza a la evaluacin estn regulados por el RD de ttulo y enseanzas mnimas 1660/1994, por lo que se incluye dicha informacin a continuacin: Describir las estructuras de datos tpicas que maneja un lenguaje estructurado, su utilidad y mbito de aplicacin. Citar operaciones que permiten realizar una estructura de datos desde un programa y explicar sus algoritmos. Justificar la importancia de la adecuada seleccin de estructuras de datos para la resolucin de problemas en programacin. Sobre un problema de programacin en gestin propuesto: Elegir las estructuras ms adecuadas para representar y manejar los datos del problema. Describir los algoritmos de tratamiento de las estructuras para la resolucin del problema.

- 50 -

Clasificar los lenguajes de programacin segn su nivel de abstraccin y los recursos y procedimientos de desarrollo utilizados. Describir las caractersticas propias de la programacin estructurada y justificar las ventajas que comporta. Identificar las estructuras bsicas de programacin. Definir las condiciones, el modo de aplicacin de algn mtodo de programacin estructurada y la sintaxis de un lenguaje grfico de representacin de algoritmos. Clasificar las instrucciones tpicas de los lenguajes estructurados segn su funcin. Sobre un problema de programacin en gestin propuesto: Identificar y definir las estructuras de datos propias del problema. Elaborar y representar un algoritmo aplicando mtodos de programacin estructurada. Elaborar un conjunto de datos de prueba de programa diseado.

Interpretar la sintaxis del lenguaje y sus instrucciones. Definir las instrucciones, funciones y libreras del lenguaje ms bsicas y su utilidad. Describir el entorno de desarrollo del lenguaje: recursos que se utilizan y procedimiento prctico de desarrollo de programas. En un supuesto en el que se dispone de un sistema y de la documentacin de referencia del lenguaje y un programa ya diseado que responde a un programa propuesto: - Interpretar correctamente la informacin que suministran los manuales. - Codificar un programa fuente en el lenguaje con comentarios significativos y concisos, que defina adecuadamente las estructuras de datos y utilice correctamente las instrucciones, funciones y libreras del lenguaje.

- 51 -

- Depurar el programa fuente y obtener un programa ejecutable.

9.2- Criterios de calificacin


Siendo el mdulo de carcter marcadamente procedimental, se propone un esquema de evaluacin que tenga en cuenta este hecho. En cada evaluacin, sobre 10 puntos la nota se reparte as: 50% mediante exmenes cuantitativos, a desarrollar en 2 horas con preguntas sobre conceptos y resolucin de problemas. 40% por evaluacin continua, centrado en los contenidos procedimentales. Se realiza mediante la entrega de problemas resueltos y memorias sobre las actividades prcticas. La evaluacin es de tipo cuantitativo. 10% cualitativo sobre la observacin de actitudes, asistencia a clase y comportamiento general. La nota final del mdulo se obtiene como promedio de las obtenidas en cada evaluacin. La nota mnima por evaluacin para hacer media es de 4.

9.3- Recuperaciones, examen de nivel cero, final y de mnimos


El da de la presentacin del mdulo se realizar un pequeo examen conceptual de nivel, para comprobar los conocimientos previos del alumnado y poder ajustar el curso posterior. El examen ser de tipo test y no influye en la nota del mdulo.

Los alumnos que suspendan una evaluacin tienen la oportunidad de recuperarla mediante un examen.

- 52 -

Este se realizar en las sesiones destinadas a repaso de la evaluacin siguiente. En el caso de la recuperacin de la 3 evaluacin, se realizar el mismo da del examen final.

Los alumnos que no aprueben el mdulo por evaluaciones, tienen la opcin de un examen final en el mes de Junio.

Para los alumnos que no aprueben el examen final, en Septiembre se convoca un examen de mnimos, donde los contenidos a evaluar sern los marcados por el RD 1660/1994 de enseanzas mnimas. Resumidos, estos contenidos son: Programacin estructurada y modular: Tipos de datos, E/S, punteros y estructuras dinmicas y estticas.

9.4- Evaluacin del proceso enseanza-aprendizaje


A fin de tener flexibilidad a lo largo del mdulo, por cada evaluacin, una sesin destinada a repaso se dedica a evaluar al profesor, mediante un test a rellenar por los alumnos o por debate en clase.

Con esto se pretende tener un mecanismo realimentacin con el alumnado, aparte de las sesiones de tutoras, y modificar en su caso la metodologa a seguir.

9.5 Evaluacin de la Programacin Didctica


Al terminar cada evaluacin se realizar un control interno acerca de la aplicacin de la propia programacin, tenindose en cuenta la evaluacin del proceso enseanzaaprendizaje. Con ellos se pretende comprobar la aplicacin de la presente programacin y dar constancia de los cambios que se hagan en ella.

- 53 -

10- Atencin a los alumnos con necesidades educativas especficas de apoyo educativo
En el caso de contar de contar con alumnos con necesidades educativas especiales, se ha de tener en cuenta en la programacin didctica como atenderlos de forma adecuada.

El mecanismo para ello es la adaptacin curricular individual, ACI, que puede afectar tanto a los elementos bsicos del currculo, (metodologa, contenidos, objetivos y actividades), como a los de acceso, (adaptacin de herramientas, arquitectnicas, etc).

El segundo caso queda fuera del alcance de esta programacin didctica, por lo que se aborda una ACI referida slo a los elementos bsicos del currculo. El desarrollo de una adaptacin curricular nunca puede suponer la supresin, ni la adicin, de capacidades terminales asociadas a la competencia profesional.

Aplicado al mdulo de Fundamentos de programacin se toma como referencia los contenidos bsicos indicados por el RD 1660/1994 de enseanzas mnimas, que marca la mxima adaptacin posible. De forma especfica, aparte de los contenidos tambin se puede actuar mediante: Actividades diferenciadas. Material didctico no homogneo. Agrupacin flexible. Evaluacin. Siempre teniendo en cuenta las particularidades de cada alumno.

- 54 -

11- Temas transversales


La educacin no slo consiste en la transmisin y adquisicin de unos saberes, en este caso orientados a una competencia profesional. Tambin existen unos contenidos actitudinales, sin contenido conceptual especfico y que no estn asociados a ningn mdulo concreto.

Son los temas transversales, criterios y principios de la vida en sociedad, que se han de transmitir de forma implcita. En lo que respecta al mdulo de Fundamentos de Programacin, se propone el siguiente tratamiento:

Educacin para la paz Objetivos Resolver las diferencias con el grupo desde el respeto a otras opiniones. Metodologa Observar a los alumnos en situaciones que supongan conflictos. Evaluacin Valoracin del proceder individual dentro del grupo.

Educacin moral y cvica Objetivos Desarrollar respeto y tolerancia por los compaeros. Metodologa Situar al alumnado en posicin de intercambio de opiniones. Mostrar discusiones conocidas dentro del mundo del software (Torvalds vs. Tannebaum, vi vs. emacs, estilo de indentacin, etc) y analizarlas.

- 55 -

Evaluacin Valoracin del proceder individual dentro del grupo. Educacin para la igualdad entre sexos Objetivos Tener una actitud abierta basada en el respeto y la igualdad social. Usar un lenguaje no sexista. Metodologa Analizar las aportaciones de los compaeros, independientemente de su sexo o condicin. Denunciar actitudes discriminatorias Evaluacin Valoracin del proceder individual dentro del grupo. Educacin para la salud Objetivos Respetar las normas de seguridad e higiene. Realizar las prcticas con rigor y de acuerdo con las normas. Metodologa Dar a conocer las normas de seguridad e higiene. Analizar las consecuencias de no cumplir las normas de seguridad e higiene. Evaluacin Respeto por las normas de seguridad y salud. Educacin ambiental Objetivos Uso racional de los recursos de las prcticas. Toma de conciencia de la problemtica ambiental.

- 56 -

Metodologa Vigilar el uso de electricidad en el aula taller, reducir derroche de energa en monitores, etc. Evaluacin Valoracin del proceder individual dentro del grupo. Educacin del consumidor Objetivos Mentalizar acerca de la necesidad de planificacin lgica del uso de recursos. Metodologa En las prcticas aprovechar los recursos, limitar el uso de papel en las memorias entregndolas en formato electrnico. Evaluacin Valoracin del proceder individual dentro del grupo. Nuevas tecnologas Objetivos Potenciar el inters del alumnado por las nuevas tecnologas. Incluir las nuevas tecnologas en la vida diaria del alumno. Metodologa Exponer el estado del arte en la informtica. Proponer el uso de opciones de hardware y software menos conocido en las prcticas. Evaluacin Valoracin del proceder individual dentro del grupo.

- 57 -

12- Bibliografa
Para la confeccin de esta programacin didctica se han usado diferentes materiales que se recogen a continuacin.

Bibliografa bsica sobre C The ANSI C Programming Language, Dennis Ritchie & Brian Kerninghan, Ed Prentice-Hall. ISBN 0-13-110362-8, o su traduccin al castellano. El Lenguaje de Programacion C, Ed. Prentice-Hall Hispanoamericana, ISBN 968880-205-0.

Libro de texto A pesar de no haber encontrado un libro que se ajuste totalmente a los contenidos del mdulo, una buena referencia bsica para los alumnos es la siguiente: Fundamentos de programacin, Enrique Quero Catalinas, Ed. ParaninfoThomson, ISBN: 84-9732-000-X

Recursos en la web Existen multitud de recursos en la red para el autoaprendizaje de C, o cualquier otro lenguaje de programacin. Entre ellos se destacan los siguientes:

http://c.conclase.net/curso/index.php?cap=001 Un muy buen curso en castellano de C++ para todos los niveles, en sus primeros captulos sirve para C y acaba con los conceptos ms ridos de C++.

http://www.osdev.org/

- 58 -

Web dedicada a la programacin de sistemas, incluye wiki y foro. Muy buenos recursos sobre ensamblador, C/C++ y programacin a bajo nivel en general.

http://www.htdp.org/ How to design programs, web de un proyecto del MIT para la enseanza de un mtodo de programacin sistemtica. Incluye un libro en hipertexto. El lenguaje vehicular es Scheme, pero resulta de gran inters pese a ello.

- 59 -