Download unidad didáctica

Document related concepts

Racket (lenguaje de programación) wikipedia , lookup

Dylan (lenguaje de programación) wikipedia , lookup

Programación funcional wikipedia , lookup

Transcript
Unidad Didáctica 10 sesiones
Índice de contenido
1-Justificación
2
1.1-Ubicación y/o contexto
2
1.2-Perfil del grupo
2
1.3-Objetivo general de la unidad
2
1.4-Conexión con el currículo
2
2-Inventario de contenido
4
2.1-Contenidos
4
2.2-Conceptos
5
2.3-Procedimientos
5
2.4-Actitudes
5
2.5-Objetivos didácticos
5
3-Actividades
6
3.1-Conocimientos necesarios previos del tema
6
3.2-Actividades de motivación
6
3.3-Actividades de enseñanza-aprendizaje
6
3.3.1-Presentación de la unidad didáctica
6
3.3.2-Contenidos: Elementos de un sistema informático
6
3.3.3-Clasificar los elementos de un PC del Aula
7
3.3.4-Contenidos: Conceptos de programación
7
3.3.5-Ejecutar un algoritmo en clase
7
3.3.6-Contenidos: Introducción a la calidad del SW.
7
3.3.7-Encontrar a qué descripción pertenece un programa
7
3.3.8-Contenidos: Evolución histórica de los entornos de programación.
3.3.9-Presentación del entorno de desarrollo integrado
8
4-Temporalización 9
5-Evaluación del Alumnado
10
5.1-Actividades de la evaluación inicial
10
5.2-Técnica de evaluación formativa
10
6-Evaluación de la unidad didáctica
11
Código:
UD1
Título:
Introducción a la programación
1
8
Justificación
1.1 Ubicación
y/o contexto
El centro está ubicado en una ciudad de tamaño medio, bien comunicado con el resto de
la ciudad y núcleos urbanos cercanos. El centro es un Instituto de Enseñanza
Secundaria y cuenta en el mismo centro con alumnos desde la ESO hasta los ciclos
formativos superiores. Es un centro grande con más de 1000 alumnos y amplia plantilla
de profesores. El departamento de informática cuenta particularmente con una docena
de ellos. Para el módulo que vamos a tratar el centro dispone de un aula de informática
para 20 alumnos con 20 ordenadores que ya tienen una antigüedad de 4 años en el
centro. Y otro ordenador para el profesor comprado para este curso y por lo tanto
totalmente actualizado. Los ordenadores están conectados en red, e inicialmente tienen
instalado Edgy Eft (Ubuntu 6.10) los ordenadores de los alumnos y Gutsy Gibbon
(Ubuntu 7.10) el del profesor. Todos los ordenadores están conectados a un mismo
switch y tienen salida a Internet mediante un proxy instalado en un servidor en otra
aula. También tenemos en el Aula una impresora láser en blanco y negro, un cañón
conectado al ordenador del profesor y cómo no una pizarra.
1.2 Perfil
del grupo
El curso cuenta inicialmente con 18 alumnos provenientes en su mayoría de
titulaciones de Técnico de formación profesional de grado medio y el resto de
Titulaciones de Bachillerato. Varios de estos alumnos compatibilizan los estudios con
su profesión y dos de ellos están interesados en la Titulación para acceder a estudios
universitarios. Aunque en al grupo de alumnos no se han detectado que puedan existir
dificultades en su capacidad de aprendizaje sí que se ha detectado una alumna con
problemas de visión.
1.3 Objetivo
general de la unidad
Las computadoras (ordenadores) son herramientas esenciales en muchas áreas: industria
gobierno, ciencia, educación..., en realidad en casi todos los campos de nuestras vidas.
El papel de los programas de computadoras es esencial, sin una lista de instrucciones a
seguir, la computadora es virtualmente inútil. Los lenguajes de programación nos
permiten escribir esos programas y, por consiguiente, comunicarnos con las
computadoras.
En esta Unidad Didáctica se hace una introducción a las computadoras y a los lenguajes
de programación como herramienta de comunicación entre la máquina y el usuario. Una
vez conseguida esta comunicación las computadoras son de las herramientas más
eficientes y potentes para resolver problemas de cualquier nivel de complejidad.
1.4 Conexión
con el currículo
La presente Unidad Didáctica pertenece al Módulo 3: Programación en lenguajes
estructurados. Dicho módulo se engloba dentro del nivel de competencia 3 elaborar,
adaptar y probar programas en lenguajes de programación estructurados y de cuarta
generación. En el Real Decreto 1661/1994 podemos encontrar asociado a nuestro al
Título de Técnico Superior en Desarrollo de Aplicaciones Informáticas la competencia
general del ciclo formativo: ‘Desarrollar aplicaciones informáticas participando en el
diseño y realizando la programación, pruebas y documentación de las mismas de
conformidad con los requisitos funcionales, especificaciones aprobadas y normativa
vigente.’.
En particular y para el módulo en el que nos encontramos las dentro de la
Unidad de competencia número 3 el Real Decreto establece las capacidades
terminales que debe adquirir el alumno junto con las enseñanzas mínimas.
El objetivo de la presente programación es que el alumno adquiera estas
capacidades terminales, que junto con las capacidades que le otorgarán otros
módulos le llevarán a poseer los conocimientos suficientes para desarrollar su
trabajo.
Capacidades terminales:
Elaborar programas utilizando lenguajes estructurados
Evaluar el funcionamiento de las aplicaciones mediante la realización de pruebas
de los diferentes módulos de programación
Elaborar la documentación completa relativa a las aplicaciones desarrolladas
Adaptar aplicaciones a partir de nuevos requerimientos establecidos en el diseño
Destacar que tanto este módulo como el módulo 4 ‘Desarrollo de aplicaciones en
entornos de cuarta generación y con herramientas CASE’ están ubicados dentro de la
misma unidad de competencia (Unidad de competencia 3). Por lo tanto son dos módulos
complementarios. Con el primero debe aprender a programar (lenguajes estructurados)
y con el segundo aplicar estos conocimientos de programación sobre entornos de cuarta
generación y Herramientas CASE que serán finalmente las herramientas que se
utilizarán en su futuro puesto de trabajo.
La duración del módulo está establecida en 380 horas lectivas, repartidas en los tres
trimestres del curso. El módulo se imparte todos los días lectivos, dos días durante 3
horas y tres días durante 2 horas, lo que hace un total de 12 horas semanales.
2
Inventario de contenido
Esta unidad didáctica es eminentemente teórica, donde el alumno debe aprender diferentes
conceptos sobre ordenadores y programación. Por lo tanto la metodología será explicar al
alumno todos estos conceptos (según el orden indicado en la programación) e ir introduciendo
actividades que ayuden al alumno a fijar estos conceptos. Como identificar elementos en los
equipos del aula, buscar información sobre diferentes temas en Internet o libros.
2.1 Contenidos
1. Qué es un ordenador.
En este tema presentaremos la definición de ordenador y de sistema informático.
Haremos una breve introducción de los elementos que lo conforman, elementos físicos,
lógicos y humanos.
2. Elementos de un ordenador
Presentación de los elementos físicos y lógicos del ordenador
2.1. Elementos físicos. Hardware.
Presentación de los elementos físicos del ordenador
2.1.1. Unidad central de proceso. UC, ALU y Registros
2.1.2. Memoria principal. RAM, ROM
2.1.3. Unidad de E/S
2.1.4. Periféricos. Entrada. Salida y Entrada/Salida
2.1.5. Almacenamiento auxiliar.
2.2. Elementos lógicos. Software
2.2.1. Sistema Operativo
2.2.2. Aplicaciones (Ofimáticas, Dibujo, Internet, Compiladores…)
3. Programación
Introducción a la programación propiamente dicha, como secuencia de ordenes sencillas
con el fin de completar una tarea más compleja.
4. Lenguajes de programación
Evolución histórica y presentación de las principales características de los diferentes
tipos de lenguajes de programación:
4.1. Lenguaje máquina
4.2. Lenguaje Ensamblador
4.3. Lenguajes compilados
4.4. Lenguajes interpretados
5. Fases en la creación de un programa
En este punto se define cómo a partir de un diseño correcto de una algoritmo específico
que resuelve un problema obtenemos un programa igualmente correcto:
5.1. Fase de edición
5.2. Fase de compilación
5.3. Fase de enlazado
5.4. Fase de ejecución
6. Calidad del software
El objetivo de este punto es hacer entender a los alumnos no es solo conseguir un
programa capaz de resolver un determinado problema sino que además el programa
debe cumplir con otra serie de características como son legibilidad, modificabilidad y
cumplir con el tiempo y presupuesto establecido.
7. Entornos de desarrollo
Evolución histórica de los diferentes entornos de desarrollo utilizados por los
programadores. Especial hincapié en los más modernos que es el que se utilizará en el
curso y seguramente los alumnos en su vida laboral.
2.2 Conceptos
● Unidad
central de proceso.
● Periféricos.
● Almacenamiento auxiliar.
● Software
● Sistema Operativo
● Aplicaciones (Ofimáticas, Dibujo, Internet, Compiladores…)
● Tipos de lenguajes
● Fases en la creación de un programa
● Calidad del software
● Entornos de desarrollo
2.3 Procedimientos
● Identificar los principales elementos del
ordenador de pruebas del aula
● Saber dibujar un esquema de la arquitectura del ordenador
● Conocer diferentes sistemas operativos
● Diferenciar sistemas operativos y aplicaciones informáticas
● Conocer algunas de las aplicaciones más
comunes
● Diferenciar lenguajes interpretados y compilados
● Conocer los lenguajes más utilizados
● Conocer las fases de creación de un programa y la función de las mismas
● Saber realizar comentarios a un código simple
● Conocer algunos entornos de desarrollo, simples y complejos
● Manejar de forma sencilla el entorno de desarrollo que se utilizará para el desarrollo
de unidades didácticas posteriores
2.4 Actitudes
●
Examinar los equipos informáticos a los que tiene acceso de manera crítica,
diferenciando sus componentes
● Planificar antes de desarrollar software
● Ser conscientes de la importancia de la calidad y documentación del software
2.5 Objetivos
didácticos
El alumno debe comprender la diferencia entre hardware y software. Así como
conocer los elementos principales de cada uno de ellos
Debe conocer los principales tipos de lenguajes. Así como clasificarlos según
distintas características (históricas, generacionales, compilados/interpretados ...)
Conocer las diferentes fases de elaboración de un programa informático
Adquirir conocimientos básicos sobre calidad de SW y entornos de programación
3
Actividades
3.1 Conocimientos
necesarios previos del tema
Dado que el tema comienza con un nivel muy básico, no son necesarios conocimientos
adicionales más allá del manejo simple como usuario de un ordenador. Los
conocimientos que se requieren son los siguientes:
● Manejo
de un teclado y ratón de ordenador
● Manejo básico de un sistema de ventanas (Windows, Gnome, KDE...)
● Inicio/Apagado del ordenador
● Manejo de ficheros, carpetas. Guardar y recuperar ficheros
3.2 Actividades
de motivación
Las actividades de motivación se han diseñado de tal forma que se integren con las
actividades de enseñanza-aprendizaje. Su descripción se detalla en el apartado siguiente;
enumeramos aquí las que consideramos que cumplen funciones de identificación con la
materia, generación de interés y creación de sentimientos grupales:
● Actividad 3:
Clasificar los elementos de un PC del aula
● Actividad 5: Ejecutar un algoritmo en clase
● Actividad 7: Encontrar a qué descripción pertenece un programa
3.3 Actividades
de enseñanza-aprendizaje
3.3.1 Presentación
de la unidad didáctica
Actividad de exposición teórica. Se introducirán los conceptos que tratará la unidad
didáctica y se realizará la evaluación inicial de conocimientos de los alumnos, a fin de
adaptar el ritmo y los contenidos del resto de la unidad.
3.3.2 Contenidos:
Elementos de un sistema informático
Actividad de exposición teórica. Se desarrollarán los apartados 1 y 2 de los contenidos
(qué es un ordenador, elementos de un ordenador físicos y lógicos).
La exposición teórica se apoyará mediante una presentación proyectada con el cañón
del aula, para presentar de forma gráfica los elementos y esquemas necesarios.
Se dispondrá de un ordenador del aula abierto que servirá para mostrar los diferentes
componentes del ordenador. Asimismo, se dispondrá de varias máquinas virtuales en el
ordenador del profesor con diferentes sistemas operativos y aplicaciones instaladas en
las mismas, a fin de poder mostrar ejemplos ayudándose del proyector del aula.
3.3.3 Clasificar
los elementos de un PC del Aula
Se dispondrá a los alumnos en cuatro grupos y cada uno deberá abrir un ordenador y
desmontarlo en sus componentes básicos (disco duro, procesador, memoria, placa base,
tarjeta gráfica). No se pedirá a los alumnos que monten de nuevo los ordenadores ya
que escapa al objetivo de la unidad didáctica.
3.3.4 Contenidos:
Conceptos de programación
Actividad teórica en la que se expondrán los puntos 3, 4 y 5 del contenido
(programación, lenguajes de programación, fases en la creación de un programa).
Mediante el proyector del aula, se seguirá un ejemplo que servirá para ilustrar los
contenidos. Se proyectará el código binario de un ejecutable ('hola, mundo' en C
estándar), su código fuente asociado, y se realizarán los pasos necesarios para pasar del
código fuente al ejecutable. Se realizará mediante línea de comandos, utilizando gcc, ya
que nos servirá de base para mostrar posteriormente el
Tras el ejemplo, se mostrará el mismo código utilizando lenguajes diferentes. De este
modo los alumnos serán conscientes de la variedad de soluciones. Haremos incapie en
que, a pesar de la diferencia del lenguaje, el proceso y los conceptos subyacentes son
los mismos.
3.3.5 Ejecutar
un algoritmo en clase
El propósito de esta actividad es que los alumnos refuercen el concepto de algoritmo
como instrucciones simples que ejecuta el ordenador.
Para ello, se dividirá a los alumnos en seis grupos. A cada grupo se le repartirá en orden
un papel con instrucciones simples que permita ejecutar un algoritmo sencillo sobre un
folio que irán pasando entre los grupos (escribir la cadena “aaaaabbbbb”).
La segunda parte de esta práctica es pedir a los grupos de alumnos, con las mismas
hojas instrucciones, que se reordenen como crean oportuno a fin de escribir la cadena
“bbbbbaaaaa”.
3.3.6 Contenidos:
Introducción a la calidad del SW.
Actividad teórica en la que se expondrá el punto 6 del contenido de la unidad (calidad
del software). Mediante el proyector, se mostrarán ejemplos de código documentado y
sin documentar, así como ejemplos de documentación externa.
Se presentarán algunos ejemplos en los que la falta de calidad de software haya tenido
consecuencias catastróficas (pérdida de maletas en barajas, cálculo erróneo de la tarifa
de Movistar, explosión del Ariane-5).
3.3.7 Encontrar
a qué descripción pertenece un programa
El propósito de esta actividad es que los alumnos sean conscientes de la importancia de
una buena documentación.
Para ello, se dividirá a los alumnos en cuatro grupos. Se repartirán en cada grupo dos
tipos de cuartillas: programas simples bien comentados, que permitan entender su
función a partir de los comentarios (el alumno todavía no es capaz de entender un
fuente) y descripciones textuales funcionales de los programas. Los alumnos deberán
casar los programas y las descripciones.
Uno de los programas no estará bien comentado, para que a los alumnos les resulte
complicado encontrar la descripción que le corresponde.
3.3.8 Contenidos:
Evolución histórica de los entornos de programación.
Actividad teórica en la que se expondrá el punto 7 del contenido de la unidad (entornos
de desarrollo). Se ilustrará con ejemplos y gráficos la evolución de los entornos, desde
la programación con tarjetas perforadas hasta el off-shoring, en el que programadores de
diferentes países trabajan sobre el mismo sistema.
Por último, se expondrá contando con la ayuda del cañón el IDE que se va a utilizar
para el desarrollo del resto de Unidades Didácticas (Eclipse).
3.3.9 Presentación
del entorno de desarrollo integrado
Los alumnos trabajarán en ordenadores, en grupos de dos. Se realizará en grupo a pesar
de tener ordenadores disponibles ya que de esta forma podrán apoyarse entre ellos en
las actividades.
En esta práctica realizarán la edición y compilación del programa “hola. mundo” visto
en la actividad 4. Previamente se presentará mediante el cañón del aula cómo realizarlo,
ya que el objetivo es únicamente que los alumnos se familiaricen con el entorno.
Temporización:
Introducción 
1 hora
Desarrollo de contenidos 
Evaluación 
Total

8 horas
1 horas
10 horas
Sesión
Actividad
1
Presentación de la unidad didáctica
Evaluación inicial
2-3
Contenidos: Elementos de un sistema informático
Clasificar los elementos de un PC del Aula
4-5
Contenidos: Conceptos de programación
Ejecutar un algoritmo en clase
5-7
Contenidos: Introducción a la calidad del SW
Encontrar a qué descripción pertenece un programa
7-9
Contenidos: Evolución histórica de los entornos de programación
Presentación del entorno de desarrollo integrado
10
5
Evaluación sumativa
Evaluación del Alumnado
5.1 Actividades
de la evaluación inicial
La evaluación inicial se realizará en la primera sesión de la unidad didáctica. Se promoverá un
debate en clase con el fin de averiguar el grado de conocimiento previo de los alumnos en
materias relacionadas con la unidad:
● Cuántos tienen ordenador
● Manejo de internet / Ofimática / Sistemas operativos
● Cuántos han reemplazado piezas de su ordenador
● Quienes han utilizado ya herramientas de desarrollo
● Grado de conocimiento de Ubuntu y Eclipse (sistemas
a utilizar para el desarrollo de
futuras Unidades Didácticas)
Tras el debate, para cada uno de los alumnos, se rellenará una tabla como la siguiente:
Alumno:
Muy Poco
poco
Algo
Bastante
Mucho
Conocimientos básicos de informática
Conocimientos hardware
Conocimientos de desarrollo
5.2 Técnica
de evaluación formativa
Se utilizarán diferentes técnicas para evaluar cada uno de los tipos de contenidos: conceptos,
procedimientos y actitudes:
5.2.1 Evaluación
de conceptos
Los conceptos se evaluarán mediante una prueba objetiva breve, que consistirá en un
cuestionario tipo test de opciones múltiples.
5.2.2 Evaluación
de procedimientos
No se realizará una prueba escrita para valorar los procedimientos de esta unidad didáctica. Los
criterios que se utilizarán para la evaluación serán los de observación de las ejecuciones de los
alumnos a lo largo del desarrollo de la unidad, y en los diferentes trabajos individuales y en
grupo. Para ello analizaremos:
● Trabajo en libreta/ordenador del alumno
● Trabajos en grupo
● Trabajo individual: respuesta a preguntas
5.2.3 Evaluación
en clase, etc..
de actitudes
Para la evaluación de actitudes se utilizarán dos herramientas fundamentales:
Listas de control individual
En ellas registraremos las actitudes observadas en los alumnos a lo largo del desarrollo de la
unidad didáctica y de los ejercicios prácticos:
Alumno:
Examinar los equipos informáticos a los que tiene
acceso de manera crítica, diferenciando sus
componentes
Muy Poco
poco
Algo
Bastante
Mucho
Planificar antes de desarrollar software
Ser conscientes de la importancia de la calidad y
documentación del software
Fichas de anecdotario
En las fichas de anecdotario recogeremos los eventos u anécdotas que nos llamen la atención
respecto al comportamiento de los alumnos:
Alumno
Fecha
Hora
Lugar
Anécdota
Interpretación
Orientación
5.3 Contenido
del informe de la evaluación sumativa
Para la evaluación sumativa se utilizará la información recopilada a lo largo del desarrollo de la
unidad. La evaluación se ponderará según los tipos de contenidos, de la siguiente forma:
● 40%
● 50%
● 10%
6
Conceptos
Procedimientos
Actitudes
Evaluación de la unidad didáctica
La evaluación de la programación, así como el informe de evaluación sumativa debe realizarse a
posteriori del desarrollo de la unidad didáctica. Únicamente inventariaremos aquí la ficha con
los elementos a revisar y que nos han de servir para mejorar la misma de cara a desarrollos
futuros.
Evaluación de la Unidad Didáctica
Grado de motivación y/o participación
Valoración del profesor(a)
Valoración del grupo
Grado de adecuación al grupo
Valoración global final
Fecha de elaboración de la unidad
Fecha de revisión de la unidad