You are on page 1of 20

GUA DE APRENDIZAJE

Programacin I
PRIMER SEMESTRE

La informacin contenida en esta gua es orientativa y por tanto es susceptible de modificacin debido a erratas, omisiones, incidencias no previstas ocurridas durante el curso acadmico o si el correcto desarrollo de la asignatura as lo aconseja.

CURSO 2011/2012

INDICE Presentacin ................................................................................................. 1 Profesores y soporte .................................................................................... 1 Competencias y resultados de aprendizaje ............................................... 3 Unidades Temticas ..................................................................................... 7 Distribucin temporal de las unidades, prcticas y pruebas de evaluacin continua. .................................................................................. 16 Sistema de evaluacin y calificacin ........................................................ 17 Recursos de enseanza-aprendizaje ........................................................ 18

ASIGNATURA: CREDITOS: 6

Programacin I CUATRIMESTRE: 1

Presentacin
La programacin es una herramienta bsica para cualquier graduado en ingeniera. En concreto, tiene aplicacin en el desarrollo de aplicaciones telemticas y en el procesado digital de la seal, adems de estar presente en todos los sistemas de telecomunicacin, desde una central telefnica, hasta un telfono mvil. Programacin I es una asignatura comn a todos los grados y representa el primer contacto que tienen los estudiantes con la programacin, disciplina que desarrollarn a lo largo de la carrera. En ella se hace una introduccin a la programacin, sentando las bases del diseo descendente como estrategia elemental en el desarrollo de aplicaciones. Posteriormente, en otras asignaturas, se estudiarn otras tcnicas de diseo (por ejemplo el diseo basado en objetos), que en cualquier caso no representan una alternativa al diseo descendente, sino que se trata de tcnicas complementarias, cada una con su campo de aplicacin especfico. Aunque el mayor esfuerzo se dedicar al diseo de algoritmos y su anlisis, esto no servira de nada si no se pudieran ejecutar los algoritmos para poder aplicarlos a problemas concretos. Por ello, es necesario codificar estos algoritmos en un lenguaje de programacin concreto. En esta asignatura se utilizar el lenguaje de programacin C por su gran potencia, flexibilidad, y mbito de aplicacin, a pesar de los problemas que puede ocasionar poner en manos inexpertas un lenguaje pensado para programadores ms experimentados. La asignatura tiene 6 crditos oficiales. Esto se traduce en unas 140 horas de trabajo del alumno, concentradas en unas16 semanas. Este trabajo incluye la asistencia activa a las clases presenciales de grupo y de laboratorio, el estudio, las bsquedas bibliogrficas, realizacin de ejercicios y pruebas de autoevaluacin, resolucin de las prcticas de laboratorio y realizacin de las pruebas de evaluacin continua. La asignatura se imparte mediante b-learning, es decir, combinando la enseanza presencial y la no presencial, para lo cual se utilizar el entorno virtual de aprendizaje Moodle. La superacin de la asignatura se realizar a travs de la evaluacin continua. Existe la posibilidad de eleccin, por parte del alumno, del itinerario de slo prueba final.

Profesores y soporte
PROFESORADO Nombre profesores (indicar coordinador) Name of lecturer(s) Da. Esther Gago (Coordinadora) Despachos 4310 4304 4314 8203 4324 4314 4322 4315 4306 4302 4322 Correo electrnico

esther.gago@upm.es gregorio.rubio@upm.es jm.andrinal@upm.es carlos.carrillo@upm.es lourdes.lopez@upm.es angel.martinezg@upm.es david.meltzer@upm.es oscar.ortiz@upm.es eloy.portillo@upm.es javier.ramirez.ledesma@upm.es ja.sanchez@upm.es

D. Gregorio Rubio (Coordinador Laboratorio) D. Jos Miguel Andrinal D. Carlos Carrillo Da. Lourdes Lpez D. ngel Martnez D. David Meltzer D. Oscar Ortiz D. Eloy Portillo D. Javier Ramrez D. Jos Antonio Snchez

D. Sergio Snchez

4307

sergio.sanchez@upm.es

G.TEORAPROF.ASIGNADO G1M1 EstherGago(EG) G1T1 GregorioRubio(GR) G1M2 DavidMeltzer (DM) G1T2 SergioSnchez (SS) G1M3 CarlosCarrillo (CC) G1T3 ngelMartnez(AM) G1M4 LourdesLpez(LL) G1M5 JavierRamrez (JR) LABJosMiguelAndrinal(JA) LABOscarOrtiz(OO) LABEloyPortillo(EP) LABJosA. Snchez(JS)

ASIGNACIN DE PROFESORES A GRUPOS DE LABORATORIO

LUNES 08:30

MARTES

MIRCOLES M3 EP

JUEVES

VIERNES

M1 EP 09:30 10:30 11:30 12:30 13:30 15:30 16:30 17:30 18:30 19:30 T2 JA 20:30 T3 JA T1 EG T1 OO M2 DM M2 LL

M1 DM

M1 LL/EG

M4 GR M4 CC/JR M5 JS

M4 EP M5 JR

M2 GR

M3 EG M3 GR

T2 SS M5 JR

T3 CC

T2 CC

T1 JA

T3 AM

En el caso de necesitar asistencia tcnica en relacin a la plataforma Moodle, el soporte se realiza en el GATE: el administrador de la plataforma o el personal con responsabilidad tcnica solucionarn los problemas de manejo de la herramienta que puedan aparecer.

Competencias y resultados de aprendizaje


En la programacin hay dos aspectos fundamentales a tener en cuenta: por una parte el diseo de los algoritmos y las estructuras de datos a manejar, y por otro la codificacin de estos algoritmos y estructuras de datos usando algn lenguaje de programacin. En esta asignatura, el alumno deber aprender a programar de forma estructurada y correcta aplicaciones sencillas utilizando C ANSI como lenguaje de programacin. Para ello, deber alcanzar los resultados de aprendizaje de la siguiente tabla, que aparecen con un peso (en horas sobre el total) indicando la contribucin de cada resultado a la adquisicin de las competencias asignadas a la asignatura:

Programacin I Semestre: 1 6 ECTS = 160 horas

Habilidades para la utilizacin de las Tecnologas de la Informacin y las Comunicaciones. (Nivel 2)

Habilidades de aprendizaje con un alto grado de autonoma. (Nivel 1)

Capacidad para expresarse correctamente de forma oral y escrita y transmitir informacin mediante documentos y exposiciones en pblico. (Nivel 1) C GEN. 3 N1 10

Conocimiento y utilizacin de los fundamentos de la arquitectura y metodologa de diseo, verificacin y validacin de software. (Nivel 2) C TEL. 7 N1 69 3

Conocimientos bsicos sobre el uso y programacin de los ordenadores, sistemas operativos, bases de datos y programas informticos con aplicacin en ingeniera. (Nivel 2) CE BAS. 2 N1 42 3

C GEN. 11 Total horas = 160 Resultados de Aprendizaje Definir el concepto de procesador, diseo, entorno y acciones. Establecer el concepto de dato y su representacin en el ordenador. Utilizar los tipos de datos bsicos y definir y utilizar tipos de datos estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes. Manejar las operaciones de entrada/salida. Operar con ficheros. Utilizar operadores (aritmticos, relacionales, lgicos y a nivel de bit), expresiones. Aplicar acciones y sentencias de asignacin, seleccin e iteracin en algoritmia y lenguaje de programacin respectivamente. Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Horas 6 N2 6

C GEN. 13 N1 33

15

14 4 19

3 2

6 2 4

12

19

12

Identificar clases de parmetros y sus tipos. Determinar los mecanismos de paso de parmetros en argumentos y resultado de funciones. Analizar la correccin de los algoritmos usando tcnicas sencillas de verificacin. Codificar y realizar pruebas a partir del diseo de un algoritmo. Estructurar un programa en funciones y conocer el uso del paso de funciones como argumentos de otras funciones. Usar memoria dinmica y aritmtica de punteros para resolver problemas sencillos. Explicar el concepto de mdulo: utilizar funciones de biblioteca y de otros mdulos. Familiarizarse con el manejo bsico de herramientas para desarrollar programas: editor, compilador, enlazador y depurador. Manejar entornos integrados de desarrollo y acostumbrase a documentar programas. Preparar y organizar memorias de trabajos realizados.

19

12

12 12 16 3 6 3 2 10 2 3 2 10 2 8 6

12 2 4 2 4 3 4

Peso en la calificacin de cada resultado de aprendizaje: cada uno de los resultados de aprendizaje formarn parte de una evaluacin continua sumativa, puesto que constituyen un todo de conocimientos y habilidades que el alumno necesita para capacitarse en el diseo de algoritmos y su codificacin en lenguaje C. En la siguiente tabla aparecen los porcentajes sobre la calificacin de cada resultado de aprendizaje.

Resultados de Aprendizaje Definir el concepto de procesador, diseo, entorno y acciones. Establecer el concepto de dato y su representacin en el ordenador. Utilizar los tipos de datos bsicos y definir y utilizar tipos de datos estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes. Manejar las operaciones de entrada/salida. Operar con ficheros. Utilizar operadores (aritmticos, relacionales, lgicos y a nivel de bit), expresiones. Aplicar acciones y sentencias de asignacin, seleccin e iteracin en algoritmia y lenguaje de programacin respectivamente. Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Identificar clases de parmetros y sus tipos. Determinar los mecanismos de paso de parmetros en argumentos y resultado de funciones. Analizar la correccin de los algoritmos usando tcnicas sencillas de verificacin. Codificar y realizar pruebas a partir del diseo de un algoritmo. Estructurar un programa en funciones y conocer el uso del paso de funciones como argumentos de otras funciones. Usar memoria dinmica y aritmtica de punteros para resolver problemas sencillos. Explicar el concepto de mdulo: utilizar funciones de biblioteca y de otros mdulos. Familiarizarse con el manejo bsico de herramientas para desarrollar programas: editor, compilador, enlazador y depurador. Manejar entornos integrados de desarrollo y acostumbrase a documentar programas. Preparar y organizar memorias de trabajos realizados.

Horas 6

Peso en la calificacin 4%

15

6%

14 4 19

10% 4% 10%

19

10%

19 12 12 16 3 6 3 2 10

12% 8% 8% 12% 2% 2% 4% 2% 6%

Unidades Temticas
UNIDAD 1.- INTRODUCCION 1.1.- Conceptos de algoritmo y programa. Entorno y acciones. 1.2.- Necesidad del diseo de algoritmos. Introduccin al concepto de diseo descendente 1.3.- Estructura bsica de un programa C. UNIDAD 2.- INTRODUCCIN AL CONCEPTO DE DATO. ENTRADA/SALIDA BSICA 2.1.- Concepto de dato 2.2.- Tipos de datos simples en C y su representacin en el ordenador. 2.3.- Operadores en C. Aritmticos, relacionales, lgicos y a nivel de bit. 2.4.- Punteros. 2.5.- Expresiones. Sentencia de asignacin. 2.6.- Entrada y salida bsica. Ejemplos en C. UNIDAD 3.- ESTRUCTURAS DE CONTROL: ALTERNATIVAS Y REPETITIVAS 3.1.- Estructuras repetitivas. 3.2.- Proceso de verificacin de estructuras repetitivas. 3.3.- Estructuras alternativas. 3.4.- Diseo de algoritmos sencillos. Codificacin de programas sencillos por analoga. UNIDAD 4.- ALGORITMOS PARAMETRIZADOS Y MANEJO DE FUNCIONES 4.1.- Concepto y formalizacin de algoritmo parametrizado. 4.2.- Concepto de parmetro, clases de parmetros. 4.3.- Introduccin al uso de funciones en C. 4.4.- Funciones estndar, manejo de funciones de biblioteca. Concepto y uso de mdulos. UNIDAD 5.- ESTRUCTURAS DE DATOS 5.1.- Identificacin de tipos de datos estructurados. 5.2.- Tablas de una y varias dimensiones. Definicin y uso. 5.3.- Funciones bsicas para el manejo de cadenas de caracteres en C. 5.4.- Objetos compuestos. Definicin y uso. UNIDAD 6.- DISEO DESCENDENTE Y AMPLIACIN DE FUNCIONES EN C 6.1.- Diseo descendente en varios niveles. Verificacin de la parametrizacin. 6.2.- Paso de tablas y estructuras como parmetros. 6.3.- Funciones como argumentos de funciones. 6.4.- Parmetros de la funcin main(). UNIDAD 7.- FICHEROS 7.1.- Concepto y uso de ficheros. 7.2.- Operaciones con ficheros. 7.3.- Acceso secuencial y aleatorio. PRCTICAS BLOQUE I.- Introduccin al entorno de programacin y uso de tipos de datos bsicos. BLOQUE II.- Manejo de Estructuras de control. BLOQUE III.- Algoritmos parametrizados y uso de funciones en C. BLOQUE IV.- Diseo descendente con estructuras de datos complejas. BLOQUE V.- Operaciones con ficheros (opcional).

PLANIFICACIN PRIMERA Y SEGUNDA UNIDAD Resultados de aprendizaje asociados a los contenidos:

Definir el concepto de procesador, diseo, entorno y acciones. Establecer el concepto de dato y su representacin en el ordenador. Utilizar los tipos de datos bsicos y definir y utilizar tipos de datos estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes. Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Manejar las operaciones de entrada/salida.

Contenidos y descripcin de actividades en el aula: Presentacin de la asignatura. Exposicin por parte del profesor de los contenidos de laS Unidades I y II (clase magistral + grupos informales): o Anlisis y resolucin de problemas mediante secuencias de pasos (procedimientos). Formalizacin de algoritmos. o Conceptos de diseo, accin, entorno y procesador. Diferencia entre accin primitiva y no primitiva. Nombre, clase, tipo y funcionalidad de un objeto del entorno. Tipos de datos. o Concepto de lenguaje de programacin, compilador, enlazador, etc. o Expresiones, operadores y acciones bsicas de los algoritmos: lectura, escritura y asignacin. o Bucles y acciones condicionales en diseo. o Aspecto de un programa escrito en lenguaje C. Resolucin mediante trabajo cooperativo de ejercicios bsicos de algoritmia. Exposicin y discusin de la solucin de los ejercicios propuestos. Anlisis inicial de la codificacin en lenguaje C de diseos realizados en clase. Entrada y salida bsica en C.

Descripcin de Actividades de Trabajo no Presencial: 1. 2. 3. 4. 5. Entrar en Moodle y verificar el acceso a la pgina de Programacin I. Leer la Gua de Aprendizaje. Imprimir la documentacin bsica que aparece en Moodle de las unidades I, II y III. Repasar los conceptos presentados por el profesor en el aula y realizar en grupo los diseos propuestos para casa. Leer antes el documento Gua de la sintaxis a utilizar en algoritmia. Codificar por analoga diseos anteriores. Realizacin del test de autoevaluacin n 1 (Moodle).

PLANIFICACIN PRIMERA Y SEGUNDA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Definir el concepto de procesador, diseo, entorno y acciones. Establecer el concepto de dato y su representacin en el ordenador. Utilizar los tipos de datos bsicos y definir y utilizar tipos de datos estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes. Manejar las operaciones de entrada/salida. Utilizar operadores (aritmticos, relacionales, lgicos y a nivel de bit) y expresiones. Aplicar acciones y sentencias de asignacin, seleccin e iteracin en algoritmia y lenguaje de programacin C respectivamente. Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Familiarizarse con el manejo bsico de herramientas para desarrollar programas: editor, compilador, enlazador y depurador. Manejar entornos integrados de desarrollo y acostumbrase a documentar programas. Preparar y organizar memorias de trabajos realizados.

Contenidos y descripcin de actividades en el aula: Exposicin y discusin de las soluciones a los ejercicios de trabajos en grupo. Manejo de operadores en C. Trabajo en grupo para reforzar concepto de accin repetitiva. Repaso de expresiones y sentencias de asignacin en C. Entrada y salida en C

Descripcin de Actividades en el laboratorio: Realizacin de la primera prctica: introduccin al entorno de programacin (editor, compilador, sistema operativo) y al manejo de datos y estructuras bsicas.

Descripcin de Actividades de Trabajo no Presencial: 1. 2. Repasar los conceptos vistos hasta el momento. Trabajo en grupo: trabajo complementario de la prctica de laboratorio y realizacin de la memoria.

PLANIFICACIN TERCERA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Aplicar acciones y sentencias de asignacin, seleccin e iteracin en algoritmia y lenguaje de programacin respectivamente. Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Analizar la correccin de los algoritmos usando tcnicas sencillas de verificacin. Familiarizarse con el manejo bsico de herramientas para desarrollar programas: editor, compilador, enlazador y depurador. Manejar entornos integrados de desarrollo y acostumbrase a documentar programas.

Contenidos y descripcin de actividades en el aula: Correccin de ejemplos pendientes. Explicacin por parte del profesor: Tipos de estructuras repetitivas y alternativas. Formalizacin. Uso adecuado de cada una. Sintaxis en lenguaje C de las estructuras alternativas y repetitivas. Tcnicas bsicas de verificacin de algoritmos. Realizacin de ejemplos (ejercicio individual: disear sin ayuda diseos anteriores y codificar por analoga). Clase de apoyo al laboratorio.

Descripcin de Actividades en el laboratorio: Preparacin memoria primera prctica. Presentacin y realizacin de la segunda prctica: manejo de estructuras de control.

Descripcin de Actividades de Trabajo no Presencial: 1. 2. 3. 4. 5. 6. Repasar los conceptos impartidos por el profesor en el aula y lectura del documento Gua para la verificacin de algoritmos. Realizar y/o completar ejercicios pendientes. Realizar el test de autoevaluacin nmero 2. Realizar la prctica de laboratorio. Imprimir informacin bsica sobre la Unidad IV que aparece en Moodle. Disear y codificar un algoritmo. Realizacin por analoga.

10

PLANIFICACIN CUARTA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Identificar clases de parmetros y sus tipos. Determinar los mecanismos de paso de parmetros en argumentos y resultado de funciones. Estructurar un programa en funciones y conocer el uso del paso de funciones como argumentos de otras funciones. Explicar el concepto de mdulo: utilizar funciones de biblioteca y de otros mdulos. Preparar y organizar memorias de trabajos realizados.

Contenidos y descripcin de actividades en el aula: Plantear un ejercicio cuya resolucin implique la utilizacin de algoritmos parametrizados. Proyectar y discutir la solucin. A partir del ejemplo, se introduce el concepto de funcin. Trabajo en grupos informales: aspectos fundamentales de lo explicado. Formalizacin por parte del profesor: o Algoritmos parametrizados. Clases de Parmetros. o Funciones en C. Paso de parmetros. Valor devuelto por la funcin. o Funciones estndar, manejo de funciones de biblioteca. Concepto y uso de mdulos. Hacer en grupo el diseo y la codificacin de un algoritmo que reutilice el explicado en clase. Exposicin por parte del profesor de contenidos complementarios de la Unidad IV. Realizacin de ejemplos.

Descripcin de Actividades en el laboratorio: Realizacin de la tercera prctica: Algoritmos parametrizados y uso de funciones en C.

Descripcin de Actividades de Trabajo no Presencial: 1. 2. 3. 4. Realizar la prctica de laboratorio. Repasar los conceptos impartidos por el profesor en el aula. Realizar el test de autoevaluacin nmero 3. Imprimir la documentacin para la clase de la Unidad V.

11

PLANIFICACIN QUINTA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Establecer el concepto de dato y su representacin en el ordenador. Utilizar los tipos de datos bsicos y definir y utilizar tipos de datos estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes. Usar memoria dinmica y aritmtica de punteros para resolver problemas sencillos. Familiarizarse con el manejo bsico de herramientas para desarrollar programas: editor, compilador, enlazador y depurador. Manejar entornos integrados de desarrollo y acostumbrase a documentar programas.

Contenidos y descripcin de actividades en el aula: Exposicin por parte del profesor de conceptos de la Unidad V: identificacin de datos estructurados. Concepto y uso de tablas. Recorridos. Trabajo en grupo: ejercicio de uso de arrays. Discusin. Presentar un problema para solucionar mediante trabajo colaborativo. Uso de aritmtica de punteros. Ejemplos. Tablas multidimensionales. Definicin y uso. Ejemplos. Exposicin por parte del profesor (clase magistral + grupos informales): Concepto y uso de una estructura de datos (objeto compuesto). Definicin en C de un nuevo tipo de datos. Uso de typedef. Ejemplos de gestin (acceder a los elementos, pasar como parmetros a funciones, dar valor a todos los elementos, etc.) de objetos de este tipo.

Introduccin al uso de cadenas de caracteres y las funciones de librera que las manejan en C. Propuesta de trabajo de investigacin.

Descripcin de Actividades en el laboratorio: Presentacin y realizacin de la prctica 4: Diseo descendente con estructuras de datos complejas.

Descripcin de Actividades de Trabajo no Presencial: 1. 2. 3. 4. 5. 6. Repasar los conceptos impartidos por el profesor en el aula. Trabajo en grupo: realizar los ejercicios propuestos y diseo de la prctica 4. Completar de manera individual en el laboratorio el diseo de la prctica 4. Realizar el test 1 y el test 2 de autoevaluacin de la Unidad 5. Estudiar la teora correspondiente a cadenas de caracteres (ampliar la informacin presentada en clase). Investigar sobre prototipos de todas las funciones y uso de cada una de ellas. Buscar la funcin que detecta la presencia de una subcadena dentro de otra cadena. Imprimir la documentacin de la Unidad VI.

12

PLANIFICACIN SEXTA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Analizar la correccin de los algoritmos usando tcnicas sencillas de verificacin. Codificar y realizar pruebas a partir del diseo de un algoritmo. Estructurar un programa en funciones y conocer el uso del paso de funciones como argumentos de otras funciones. Manejar entornos integrados de desarrollo y acostumbrase a documentar programas. Preparar y organizar memorias de trabajos realizados.

Contenidos y descripcin de actividades en el aula: Exposicin por parte del profesor (clase magistral + grupos informales): Diseo descendente y verificacin de la parametrizacin. Ejemplo de la agenda. Exposicin y discusin en grupo de un problema de complejidad media. Diseo de las estructuras de datos necesarias. Diseo y codificacin de los algoritmos de primer nivel de abstraccin. Ejercicios de repaso. Completar el ejemplo de clase. Trabajo cooperativo. Exposicin por parte del profesor: o Parmetros de la funcin main(). o Paso de tablas, estructuras y funciones como argumento de otras funciones. o Ejemplos.

Descripcin de Actividades en el laboratorio: Presentacin y realizacin de la prctica 4: Diseo descendente con estructuras de datos complejas.

Descripcin de Actividades de Trabajo no Presencial: 1.- Codificar el algoritmo discutido en clase. 2.- Realizacin prctica de laboratorio. 3.- Completar el diseo y la codificacin en C algoritmos del programa de la agenda propuestos en clase. 4.- Imprimir la documentacin que aparece en Moodle sobre la Unidad VII.

13

PLANIFICACIN SPTIMA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Manejar las operaciones de entrada/salida. Operar con ficheros. Manejar entornos integrados de desarrollo y acostumbrase a documentar programas.

Contenidos y descripcin de actividades en el aula: Exposicin por parte del profesor (clase magistral con grupos informales): o Concepto de fichero y caractersticas. o Algoritmos de lectura y escritura. Apertura y cierre de ficheros. o Tipos de fichero. o Acceso secuencial y aleatorio. o Deteccin de errores. Presentacin de la actividad de trabajo cooperativo (puzzle).

Descripcin de Actividades en el laboratorio: Presentacin de la ampliacin de la prctica 4: Utilizacin de ficheros para guardar y recuperar informacin.

Descripcin de Actividades de Trabajo no Presencial: 1. 2. 3. Preparacin individual para el trabajo cooperativo. Trabajo cooperativo: PUZZLE. Realizacin de la prctica.

14

PLANIFICACIN EJERCICIOS FINALES Resultados de aprendizaje asociados a los contenidos:

Disear algoritmos que den solucin a problemas de complejidad sencilla, utilizando diseo descendente a partir de una especificacin. Manejar las operaciones de entrada/salida. Operar con ficheros. Manejar entornos integrados de desarrollo y acostumbrase a documentar programas. Preparar y organizar memorias de trabajos realizados.

Contenidos y descripcin de actividades en el aula:

1. 2.

Realizacin de ejercicios, en grupo, acerca de todo el contenido de la asignatura. Resolucin de ejercicios con enunciados complejos. Discusin de soluciones. Resolucin de dudas.

Descripcin de Actividades de Trabajo no Presencial:

1.- Estudio personal. Resolucin de dudas. Tutoras individuales.

15

Distribucin temporal de las unidades, prcticas y pruebas de evaluacin continua. Contando las fiestas, las catorce semanas de docencia de teora se convierten en 12 semanas (excepto para los grupos de los viernes que son 13) y los grupos de laboratorio son de 11 semanas excepto lunes y viernes que tienen 12. CLASES PRESENCIALES (horas) Teo. Tutora Laboratorio grupo/seminario colectiva ACTIVIDADES SIN PROFESOR (horas) Trabajo Laborat. Otros Grupo EVALUACIONES Pesos y horas

Semana 1 2 3 4 5 6

Fechas

06sep 12sep 19sep 26sep 03oct 10oct 17oct 24oct 31noct 07nov 14nov 21nov 28nov 05dic 12dic 19dic 26dic
2-ene 9-ene 16-ene SUMA TOTAL

3 3 2 2 2 1 1 1 1 2 2 2 2 2 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

2 2

2 2 2 2 2 1 1

Comienzo Unidades 1, 2 y 3 Comienzo Lab, P1 y P2. Comienzo Unidad 4. Terminan P1 y P2. Evaluacin P1-P2. Peso: 25%. 2 Horas Test, diseo, modificacin. Cada grupo en su horario de laboratorio. Comienzo P3 Comienzo Unidad 5. Ejemplo agenda. Comienzo P4. Posible ev. 3. Test, 15% 1 hora. Comn para todos los grupos. Comienzo Unidad 6. Comienzo realizacin ejercicios complejos y resumen Unidad 7. Evaluacin P3, p4. Peso: 25%. 2 Horas (jueves y viernes) Evaluacin P3, p4. Peso: 25%. 2 Horas (lunes, martes, mircoles)

7 8 9 10 11 12 13 14 15 16

2 2 2 2 2 2 1 1 2

1 2 2 2

2 2

3 2 6 6 6 10

17 18

Tercer Parcial. Peso: 35%. 3 Horas. 24 (reales) 6 20 (reales) 20 10 52 8

16

Sistema de evaluacin y calificacin


Evaluacin y criterios de calificacin Assessment methods El alumno deber trabajar de forma continuada durante todo el cuatrimestre, asistiendo y participando en las clases tericas y de laboratorio. Igualmente, deber entregar en fecha todos trabajos (diseos y codificaciones) solicitados en los enunciados de las prcticas de laboratorio. Como evaluacin formativa, el alumno realizar tests de autoevaluacin en moodle, ejercicios con retroalimentacin por parte del profesor, trabajos en grupo, etc.Como evaluacin formativa y sumativa se realizarn: Una evaluacin en el laboratorio en la semana n 5 con un peso del 25% en la calificacin final del alumno. Una prueba escrita la semana n 10 con un peso del 15% en la calificacin final del alumno. Una evaluacin en el laboratorio la semana n 13 con un peso del 25% en la calificacin final del alumno. Una prueba escrita al final del semestre con un peso del 35% en la calificacin final del alumno.

Por evaluacin continua la asignatura slo se puede superar en el semestre de imparticin de la docencia, de acuerdo con los siguientes criterios: o Haber asistido de manera regular a las clases de laboratorio ( como mnimo al 80% de las clases) y haber entregado, en las fechas solicitadas, los diseos y codificaciones de las prcticas. Haberse presentado a las cuatro pruebas de evaluacin continua. Obtener al menos un 5 en la media ponderada de las calificaciones de las pruebas de evaluacin continua.

o o

El alumno podr elegir entre dos itinerarios de evaluacin, excluyentes y definitivos: Itinerario de evaluacin continua. Es el itinerario por defecto. Se aplicar lo anteriormente recogido. Itinerario de slo prueba final. Los alumnos que elijan este itinerario debern presentar, en las tres primeras semanas de clase, una solicitud por escrito en la Secretara del Departamento DIATEL indicando la eleccin de este itinerario. El modelo de solicitud se encuentra en moodle. En este itinerario no se realizar ninguna prueba de evaluacin continua, pero los alumnos debern realizar las prcticas de laboratorio y debern entregar al final de semestre las memorias de las mismas. La evaluacin final consistir en dos pruebas: examen de laboratorio y examen de teora. Para superar la asignatura el alumno deber obtener como mnimo un 5 en ambas pruebas.

Una vez elegido el itinerario de slo prueba final, no es posible el cambio de itinerario por parte del alumno excepto por causa sobrevenida y de fuerza mayor.

Convocatoria Extraordinaria (junio-julio): La convocatoria extraordinaria tendr lugar en los meses de junio y julio, para los alumnos de los dos semestres, y estar abierta a todos los alumnos que no hayan aprobado la asignatura, tanto los que han ido por evaluacin continua como por evaluacin no continua. Consistir en: PARTE ESCRITA: Realizacin de ejercicios escritos. Es de obligatoria realizacin para todos los alumnos que se presenten a esta convocatoria. PARTE PRCTICA: Realizacin y entrega de prcticas, y realizacin de ejercicios que evaluarn ese trabajo. Slo ser obligatoria para los alumnos que, habiendo optado por el itinerario de evaluacin continua, hayan obtenido una calificacin media de las pruebas de laboratorio inferior a 5 sobre 10 y para los alumnos que, habiendo optado por el itinerario de slo prueba final hayan obtenido ms de un 5 en el examen de laboratorio y la evaluacin de sus memorias. A principios de febrero (alumnos primer semestre) y de junio (alumnos segundo semestre) se publicar la lista de los alumnos que estn exentos de la realizacin de esta parte prctica.

17

El enunciado para la realizacin de la parte prctica se publicar el da de la publicacin de las notas del segundo semestre (en el mes de junio). Igualmente, se publicarn las fechas lmite para la entrega y de evaluacin de dicho trabajo. Todos los alumnos que se presenten a la parte prctica de la convocatoria extraordinaria debern presentar una solicitud. Para superar la prueba se debe obtener un mnimo de 5 en cada una de las partes

Recursos de enseanza-aprendizaje
Recursos bibliogrficos: o o o o o J. BIONDI, G. CLAVEL, Introduccin a la programacin. Tomo I. Algortmica y lenguajes. Ed. Masson, S.A. 2 edicin, 1988. JOYANES, I. ZAHONERO, Programacin en C. Metodologa, algoritmos y estructuras de datos. 2 edicin, 2005. McGraw-Hill/Interamericana de Espaa. ALFRED V. AHO, Estructuras de datos y algoritmos. Ed. Addison-Wesley Iberoamrica. 1988. N. WIRTH, Algoritmos+estructuras de datos=programas. Ed. Del Castillo Madrid, 1980. BRIAN W. KERNIGHAN, DENNIS M. RITCHIE, El lenguaje de programacin C. Ed. Prentice-Hall. 1985.

Recursos Web y multimedia: Moodle. En esta plataforma se incluyen documentos docentes bsicos de la asignatura, enlaces, test de autoevaluacin, ejercicios propuestos y resueltos, etc. Igualmente, es el medio de entrega de las memorias de las prcticas de la asignatura y se aade como mtodo de comunicacin de avisos y solucin de dudas.

Equipamiento:

En los laboratorios los alumnos dispondrn de ordenadores en los que se encuentra instalado el entorno de desarrollo necesario para desarrollar las prcticas de la asignatura. Los ordenadores disponen de acceso a Internet. Locales para trabajo no presencial

Laboratorios con horarios de libre acceso para la realizacin de las prcticas y aulas especialmente equipadas para las actividades de trabajo en grupo.

18

You might also like