• No se han encontrado resultados

GUÍA DE APRENDIZAJE. Programación I

N/A
N/A
Protected

Academic year: 2021

Share "GUÍA DE APRENDIZAJE. Programación I"

Copied!
20
0
0

Texto completo

(1)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

GUÍA DE APRENDIZAJE

Programación I

SEMESTRE DE OTOÑO

La información contenida en esta guía es orientativa y por tanto es susceptible de

modificación debido a erratas, omisiones, incidencias no previstas ocurridas durante

el curso académico o si el correcto desarrollo de la asignatura así lo aconseja.

(2)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

INDICE

Presentación ... 1

 

Profesores y soporte ... 2

 

Competencias y resultados de aprendizaje ... 3

 

Unidades Temáticas ... 7

 

Distribución temporal de las unidades, prácticas y pruebas de

evaluación continua. ... 16

 

Sistema de evaluación y calificación ... 17

 

Recursos de enseñanza-aprendizaje ... 18

 

Recursos bibliográficos: ... 18

 

Recursos Web y multimedia: ... 18

 

(3)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

Asignatura:

Programación I

Número de

créditos ECTS:

6

Semestre

de impartición:

Otoño

Semetre

Presentación

La programación es una herramienta básica para cualquier graduado en ingeniería. En concreto, tiene aplicación en el desarrollo de aplicaciones telemáticas y en el procesado digital de la señal, además de estar presente en todos los sistemas de telecomunicación, desde una central telefónica, hasta un teléfono móvil.

Programación I es una asignatura común a todos los grados y representa el primer contacto que tienen los estudiantes con la programación, disciplina que desarrollarán a lo largo de la carrera. En ella se hace una introducción a la programación, sentando las bases del diseño descendente como estrategia elemental en el desarrollo de aplicaciones. Posteriormente, en otras asignaturas, se estudiarán otras técnicas de diseño (por ejemplo el diseño basado en objetos), que en cualquier caso no representan una alternativa al diseño descendente, sino que se trata de técnicas complementarias, cada una con su campo de aplicación específico.

Aunque el mayor esfuerzo se dedicará al diseño de algoritmos y su análisis, esto no serviría 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 programación concreto. En esta asignatura se utilizará el lenguaje de programación C por su gran potencia, flexibilidad, y ámbito de aplicación, a pesar de los problemas que puede ocasionar poner en manos inexpertas un lenguaje pensado para programadores más experimentados.

La asignatura tiene 6 créditos oficiales. Esto se traduce en 160 horas de trabajo total, concentradas en unas 12 semanas. Este trabajo incluye la asistencia activa a las clases presenciales de grupo y de laboratorio, el estudio, las búsquedas bibliográficas, realización de ejercicios y pruebas de autoevaluación, resolución de las prácticas de laboratorio y realización de las pruebas de evaluación continua.

La asignatura se imparte mediante b-learning, es decir, combinando la enseñanza presencial y la no presencial, para lo cual se utilizará el entorno virtual de aprendizaje Moodle. La superación de la asignatura se realizará a través de la evaluación continua. Existe la posibilidad de elección, por parte del alumno, del itinerario de “sólo prueba final”.

(4)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

Profesores y soporte

PROFESORADO Nombre profesores (indicar coordinador)

Name of lecturer(s) Despachos Correo electrónico

D. José Miguel Andrinal 4314

[email protected]

D. Carlos Carrillo 8203

[email protected]

D. Honesto Díez 4307

[email protected]

D. Francisco Estaire 4313

[email protected]

Dña. Esther Gago 4310

[email protected]

Dña. Lourdes López (Coordinadora) 4324

[email protected]

D. David Meltzer 4322

[email protected]

D. Celestino Okenve 4307

[email protected]

D. Eloy Portillo 4306

[email protected]

D. Gregorio Rubio 4304

[email protected]

D. José Antonio Sánchez 4322

[email protected]

D. Sergio Sánchez 4314

[email protected]

GRUPO

 

TEORÍA

 

PROFESOR

 

G1M1

 

 

G1M2

 

 

G1M3

 

 

G1M4

 

 

G1M5

 

 

G1T1

 

 

G1T2

 

 

GIT3

 

 

GRUPO

 

LABORATORIO

 

 

G1M1_0

 

(X2)

 

 

G1M1_1

 

(M1)

 

 

G1M1_2

 

(J3)

 

 

G1M2_0

 

(X1)

 

 

G1M2_1

 

(L2)

 

 

G1M2_2

 

(J3)

 

 

G1M3_0

 

(X1)

 

 

G1M3_1

 

(V2)

 

 

G1M3_2

 

(V3)

 

 

G1M4_0

 

(V2)

 

 

G1M4_1

 

(M2)

 

 

G1M4_2

 

(M3)

 

 

G1M5_0

 

(M3)

 

 

G1M5_1

 

(M2)

 

 

G1M5_2

 

(V3)

 

 

(5)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

G1T1_0

 

(L4)

 

 

G1T1_1

 

(M5)

 

 

G1T1_2

 

(J6)

 

 

G1T2_0

 

(J4)

 

 

G1T2_1

 

(X5)

 

 

G1T2_2

 

(M6)

 

 

G1T3_0

 

(J4)

 

 

G1T3_1

 

(V5)

 

 

G1T3_2

 

(L4)

 

 

 

 

En el caso de necesitar asistencia técnica en relación a la plataforma Moodle, el soporte se realiza en el GATE: el administrador de la plataforma o el personal con responsabilidad técnica solucionarán los problemas de manejo de la herramienta que puedan aparecer.

Competencias y resultados de aprendizaje

En la programación hay dos aspectos fundamentales a tener en cuenta: por una parte el diseño de los algoritmos y las estructuras de datos a manejar, y por otro la codificación de estos algoritmos y estructuras de datos usando algún lenguaje de programación. En esta asignatura, el alumno deberá aprender a programar de forma estructurada y correcta aplicaciones sencillas utilizando C ANSI como lenguaje de programación. Para ello, deberá alcanzar los resultados de aprendizaje de la siguiente tabla, que aparecen con un peso (en horas sobre el total) indicando la contribución de cada resultado a la adquisición de las competencias asignadas a la asignatura:

(6)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

4

 

Programación I Semestre: 1 6 ECTS = 160 horas Habilidades para la utilización de las Tecnologías de la Información y las Comunicaciones. (Nivel 2) Habilidades de aprendizaje con un alto grado de autonomía. (Nivel 1) Capacidad para expresarse correctamente de forma oral y escrita y transmitir información mediante documentos y exposiciones en público. (Nivel 1) Conocimiento y utilización de los fundamentos de la arquitectura y metodología de diseño, verificación y validación de software. (Nivel 2) Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería. (Nivel 2)

C GEN. 11 C GEN. 13 C GEN. 3 C TEL. 7 CE BAS. 2

Total horas = 160 N2 N1 N1 N1 N1

Resultados de Aprendizaje Horas 6 33 10 69 42

Definir el concepto de procesador, diseño, entorno

y acciones. 6 3 3

Establecer el concepto de dato y su

representación en el ordenador. Utilizar los tipos de datos básicos y definir y utilizar tipos de datos estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes.

15 2 7 6

Manejar las operaciones de entrada/salida.

Operar con ficheros. 14 1 4 3 6 Utilizar operadores (aritméticos, relacionales,

lógicos y a nivel de bit), expresiones. 4 2 2 Aplicar acciones y sentencias de asignación,

selección e iteración en algoritmia y lenguaje de programación respectivamente.

19 1 2 12 4

Diseñar algoritmos que den solución a problemas de complejidad sencilla, utilizando diseño

descendente a partir de una especificación.

(7)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

5

 

Identificar clases de parámetros y sus tipos. Determinar los mecanismos de paso de parámetros en argumentos y resultado de funciones.

19 1 2 12 4

Analizar la corrección de los algoritmos usando

técnicas sencillas de verificación. 12 12 Codificar y realizar pruebas a partir del diseño de

un algoritmo. 12 8 2 2 Estructurar un programa en funciones y conocer

el uso del paso de funciones como argumentos de otras funciones.

16 2 6 4 4

Usar memoria dinámica y aritmética de punteros

para resolver problemas sencillos. 3 3 Explicar el concepto de módulo: utilizar funciones

de biblioteca y de otros módulos. 6 2 4 Familiarizarse con el manejo básico de

herramientas para desarrollar programas: editor, compilador, enlazador y depurador.

3 3

Manejar entornos integrados de desarrollo y

acostumbrase a documentar programas. 2 2 Preparar y organizar memorias de trabajos

(8)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

Peso en la calificación de cada resultado de aprendizaje: cada uno de los resultados de aprendizaje formarán parte de una evaluación continua sumativa, puesto que constituyen un todo de conocimientos y habilidades que el alumno necesita para capacitarse en el diseño de algoritmos y su codificación en lenguaje C. En la siguiente tabla aparecen los porcentajes sobre la calificación de cada resultado de aprendizaje.

Resultados de Aprendizaje Horas Peso en la

calificación Definir el concepto de procesador, diseño, entorno y acciones. 6 4% Establecer el concepto de dato y su representación en el ordenador.

Utilizar los tipos de datos básicos y definir y utilizar tipos de datos

estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes.

15 6%

Manejar las operaciones de entrada/salida. Operar con ficheros. 14 10% Utilizar operadores (aritméticos, relacionales, lógicos y a nivel de bit),

expresiones. 4 4%

Aplicar acciones y sentencias de asignación, selección e iteración en

algoritmia y lenguaje de programación respectivamente. 19 10% Diseñar algoritmos que den solución a problemas de complejidad

sencilla, utilizando diseño descendente a partir de una especificación. 19 10% Identificar clases de parámetros y sus tipos. Determinar los mecanismos

de paso de parámetros en argumentos y resultado de funciones. 19 12% Analizar la corrección de los algoritmos usando técnicas sencillas de

verificación. 12 8%

Codificar y realizar pruebas a partir del diseño de un algoritmo. 12 8% Estructurar un programa en funciones y conocer el uso del paso de

funciones como argumentos de otras funciones. 16 12%

Usar memoria dinámica y aritmética de punteros para resolver problemas

sencillos. 3 2%

Explicar el concepto de módulo: utilizar funciones de biblioteca y de otros

módulos. 6 2%

Familiarizarse con el manejo básico de herramientas para desarrollar

programas: editor, compilador, enlazador y depurador. 3 4% Manejar entornos integrados de desarrollo y acostumbrase a documentar

programas. 2 2%

(9)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

Unidades Temáticas

UNIDAD 1.- INTRODUCCION

1.1.- Conceptos de algoritmo y programa. Entorno y acciones.

1.2.- Necesidad del diseño de algoritmos. Introducción al concepto de diseño descendente 1.3.- Estructura básica de un programa C.

UNIDAD 2.- INTRODUCCIÓN AL CONCEPTO DE DATO. ENTRADA/SALIDA BÁSICA 2.1.- Concepto de dato

2.2.- Tipos de datos simples en C y su representación en el ordenador. 2.3.- Operadores en C. Aritméticos, relacionales, lógicos y a nivel de bit. 2.4.- Punteros.

2.5.- Expresiones. Sentencia de asignación. 2.6.- Entrada y salida básica. Ejemplos en C.

UNIDAD 3.- ESTRUCTURAS DE CONTROL: ALTERNATIVAS Y REPETITIVAS 3.1.- Estructuras repetitivas.

3.2.- Proceso de verificación de estructuras repetitivas. 3.3.- Estructuras alternativas.

3.4.- Diseño de algoritmos sencillos. Codificación de programas sencillos por analogía. UNIDAD 4.- ALGORITMOS PARAMETRIZADOS Y MANEJO DE FUNCIONES

4.1.- Concepto y formalización de algoritmo parametrizado. 4.2.- Concepto de parámetro, clases de parámetros. 4.3.- Introducción al uso de funciones en C.

4.4.- Funciones estándar, manejo de funciones de biblioteca. Concepto y uso de módulos. UNIDAD 5.- ESTRUCTURAS DE DATOS

5.1.- Identificación de tipos de datos estructurados. 5.2.- Tablas de una y varias dimensiones. Definición y uso.

5.3.- Funciones básicas para el manejo de cadenas de caracteres en C. 5.4.- Objetos compuestos. Definición y uso.

UNIDAD 6.- DISEÑO DESCENDENTE Y AMPLIACIÓN DE FUNCIONES EN C 6.1.- Diseño descendente en varios niveles. Verificación de la parametrización. 6.2.- Paso de tablas y estructuras como parámetros.

6.3.- Funciones como argumentos de funciones. 6.4.- Parámetros de la función main().

UNIDAD 7.- FICHEROS

7.1.- Concepto y uso de ficheros. 7.2.- Operaciones con ficheros. 7.3.- Acceso secuencial y aleatorio. PRÁCTICAS

BLOQUE I.- Introducción al entorno de programación y uso de tipos de datos básicos. BLOQUE II.- Manejo de Estructuras de control.

BLOQUE III.- Algoritmos parametrizados y uso de funciones en C. BLOQUE IV.- Diseño descendente con estructuras de datos complejas. BLOQUE V.- Operaciones con ficheros (opcional).

(10)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

8

 

PLANIFICACIÓN PRIMERA Y SEGUNDA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Definir el concepto de procesador, diseño, entorno y acciones.

Establecer el concepto de dato y su representación en el ordenador. Utilizar los tipos de datos básicos y definir y utilizar tipos de datos estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes.

Diseñar algoritmos que den solución a problemas de complejidad sencilla, utilizando diseño descendente a partir de una especificación.

Manejar las operaciones de entrada/salida.

Contenidos y descripción de actividades en el aula:

 Presentación de la asignatura.

 Exposición por parte del profesor de los contenidos de laS Unidades I y II (clase magistral + grupos informales):

o Análisis y resolución de problemas mediante secuencias de pasos (procedimientos). Formalización de algoritmos.

o Conceptos de diseño, acción, entorno y procesador. Diferencia entre acción primitiva y no primitiva. Nombre, clase, tipo y funcionalidad de un objeto del entorno. Tipos de datos.

o Concepto de lenguaje de programación, compilador, enlazador, etc.

o Expresiones, operadores y acciones básicas de los algoritmos: lectura, escritura y asignación.

o Bucles y acciones condicionales en diseño.

o Aspecto de un programa escrito en lenguaje C.

 Resolución mediante trabajo cooperativo de ejercicios básicos de algoritmia. Exposición y discusión de la solución de los ejercicios propuestos.

 Análisis inicial de la codificación en lenguaje C de diseños realizados en clase. Entrada y salida básica en C.

Descripción de Actividades de Trabajo no Presencial:

1. Entrar en Moodle y verificar el acceso a la página de Programación I. Leer la Guía de Aprendizaje. 2. Imprimir la documentación básica que aparece en Moodle de las unidades I, II y III.

3. Repasar los conceptos presentados por el profesor en el aula y realizar en grupo los diseños propuestos para casa. Leer antes el documento “Guía de la sintaxis a utilizar en algoritmia”.

4. Codificar por analogía diseños anteriores.

(11)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

9

 

PLANIFICACIÓN PRIMERA Y SEGUNDA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Definir el concepto de procesador, diseño, entorno y acciones.

Establecer el concepto de dato y su representación en el ordenador. Utilizar los tipos de datos básicos 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 (aritméticos, relacionales, lógicos y a nivel de bit) y expresiones.

Aplicar acciones y sentencias de asignación, selección e iteración en algoritmia y lenguaje de programación C respectivamente.

Diseñar algoritmos que den solución a problemas de complejidad sencilla, utilizando diseño descendente a partir de una especificación.

Familiarizarse con el manejo básico 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 descripción de actividades en el aula:

 Exposición y discusión de las soluciones a los ejercicios de trabajos en grupo.

 Manejo de operadores en C.

 Trabajo en grupo para reforzar concepto de acción repetitiva.

 Repaso de expresiones y sentencias de asignación en C.

 Entrada y salida en C

Descripción de Actividades en el laboratorio:

Realización de la primera práctica: introducción al entorno de programación (editor, compilador, sistema operativo) y al manejo de datos y estructuras básicas.

Descripción de Actividades de Trabajo no Presencial:

1. Repasar los conceptos vistos hasta el momento.

(12)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

10

 

PLANIFICACIÓN TERCERA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Aplicar acciones y sentencias de asignación, selección e iteración en algoritmia y lenguaje de programación respectivamente.

Diseñar algoritmos que den solución a problemas de complejidad sencilla, utilizando diseño descendente a partir de una especificación.

Analizar la corrección de los algoritmos usando técnicas sencillas de verificación.

Familiarizarse con el manejo básico de herramientas para desarrollar programas: editor, compilador, enlazador y depurador.

Manejar entornos integrados de desarrollo y acostumbrase a documentar programas.

Contenidos y descripción de actividades en el aula:

 Corrección de ejemplos pendientes.

 Explicación por parte del profesor:

 Tipos de estructuras repetitivas y alternativas. Formalización. Uso adecuado de cada una.

 Sintaxis en lenguaje C de las estructuras alternativas y repetitivas.

 Técnicas básicas de verificación de algoritmos.

 Realización de ejemplos (ejercicio individual: diseñar sin ayuda diseños anteriores y codificar por analogía).

 Clase de apoyo al laboratorio.

Descripción de Actividades en el laboratorio:

Preparación memoria primera práctica.

Presentación y realización de la segunda práctica: manejo de estructuras de control.

Descripción de Actividades de Trabajo no Presencial:

1. Repasar los conceptos impartidos por el profesor en el aula y lectura del documento “Guía para la verificación de algoritmos”. 2. Realizar y/o completar ejercicios pendientes.

3. Realizar el test de autoevaluación número 2. 4. Realizar la práctica de laboratorio.

5. Imprimir información básica sobre la Unidad IV que aparece en Moodle. 6. Diseñar y codificar un algoritmo. Realización por analogía.

(13)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

11

 

PLANIFICACIÓN CUARTA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Diseñar algoritmos que den solución a problemas de complejidad sencilla, utilizando diseño descendente a partir de una especificación.

Identificar clases de parámetros y sus tipos. Determinar los mecanismos de paso de parámetros 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 módulo: utilizar funciones de biblioteca y de otros módulos.

Preparar y organizar memorias de trabajos realizados.

Contenidos y descripción de actividades en el aula:

 Plantear un ejercicio cuya resolución implique la utilización de algoritmos parametrizados.

 Proyectar y discutir la solución. A partir del ejemplo, se introduce el concepto de función. Trabajo en grupos informales: aspectos fundamentales de lo explicado.

 Formalización por parte del profesor:

o Algoritmos parametrizados. Clases de Parámetros.

o Funciones en C. Paso de parámetros. Valor devuelto por la función.

o Funciones estándar, manejo de funciones de biblioteca. Concepto y uso de módulos.

 Hacer en grupo el diseño y la codificación de un algoritmo que reutilice el explicado en clase.

 Exposición por parte del profesor de contenidos complementarios de la Unidad IV.

 Realización de ejemplos.

Descripción de Actividades en el laboratorio:

Realización de la tercera práctica: Algoritmos parametrizados y uso de funciones en C.

Descripción de Actividades de Trabajo no Presencial:

1. Realizar la práctica de laboratorio.

2. Repasar los conceptos impartidos por el profesor en el aula. 3. Realizar el test de autoevaluación número 3.

4. Imprimir la documentación para la clase de la Unidad V.

(14)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

12

 

PLANIFICACIÓN QUINTA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Establecer el concepto de dato y su representación en el ordenador. Utilizar los tipos de datos básicos y definir y utilizar tipos de datos estructurados. Identificar los datos necesarios para resolver un problema y asociarlos a los tipos correspondientes.

Usar memoria dinámica y aritmética de punteros para resolver problemas sencillos.

Familiarizarse con el manejo básico de herramientas para desarrollar programas: editor, compilador, enlazador y depurador.

Manejar entornos integrados de desarrollo y acostumbrase a documentar programas.

Contenidos y descripción de actividades en el aula:

 Exposición por parte del profesor de conceptos de la Unidad V: identificación de datos estructurados. Concepto y uso de tablas. Recorridos.

 Trabajo en grupo: ejercicio de uso de arrays. Discusión.

 Presentar un problema para solucionar mediante trabajo colaborativo.

 Uso de aritmética de punteros. Ejemplos.

 Tablas multidimensionales. Definición y uso. Ejemplos.

 Exposición por parte del profesor (clase magistral + grupos informales):

 Concepto y uso de una estructura de datos (objeto compuesto).

 Definición en C de un nuevo tipo de datos. Uso de “typedef”.

 Ejemplos de gestión (acceder a los elementos, pasar como parámetros a funciones, dar valor a todos los elementos, etc.) de objetos de este tipo.

 Introducción al uso de cadenas de caracteres y las funciones de librería que las manejan en C. Propuesta de trabajo de investigación.

Descripción de Actividades en el laboratorio:

Presentación y realización de la práctica 4: Diseño descendente con estructuras de datos complejas.

Descripción de Actividades de Trabajo no Presencial:

1. Repasar los conceptos impartidos por el profesor en el aula.

2. Trabajo en grupo: realizar los ejercicios propuestos y diseño de la práctica 4. 3. Completar de manera individual en el laboratorio el diseño de la práctica 4. 4. Realizar el test 1 y el test 2 de autoevaluación de la Unidad 5.

5. Estudiar la teoría correspondiente a cadenas de caracteres (ampliar la información presentada en clase). Investigar sobre prototipos de todas las funciones y uso de cada una de ellas. Buscar la función que detecta la presencia de una subcadena dentro de otra cadena.

(15)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

13

 

PLANIFICACIÓN SEXTA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Diseñar algoritmos que den solución a problemas de complejidad sencilla, utilizando diseño descendente a partir de una especificación.

Analizar la corrección de los algoritmos usando técnicas sencillas de verificación.

Codificar y realizar pruebas a partir del diseño 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 descripción de actividades en el aula:

 Exposición por parte del profesor (clase magistral + grupos informales): Diseño descendente y verificación de la parametrización.

 Ejemplo de la agenda.

 Exposición y discusión en grupo de un problema de complejidad media.

 Diseño de las estructuras de datos necesarias.

 Diseño y codificación de los algoritmos de primer nivel de abstracción.

 Ejercicios de repaso.

 Completar el ejemplo de clase. Trabajo cooperativo.

 Exposición por parte del profesor:

o Parámetros de la función main().

o Paso de tablas, estructuras y funciones como argumento de otras funciones.

o Ejemplos.

Descripción de Actividades en el laboratorio:

Presentación y realización de la práctica 4: Diseño descendente con estructuras de datos complejas.

Descripción de Actividades de Trabajo no Presencial:

1.- Codificar el algoritmo discutido en clase. 2.- Realización práctica de laboratorio.

3.- Completar el diseño y la codificación en C algoritmos del programa de la “agenda” propuestos en clase. 4.- Imprimir la documentación que aparece en Moodle sobre la Unidad VII.

(16)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

14

 

PLANIFICACIÓN SÉPTIMA UNIDAD

Resultados de aprendizaje asociados a los contenidos:

Diseñar algoritmos que den solución a problemas de complejidad sencilla, utilizando diseño descendente a partir de una especificación.

Manejar las operaciones de entrada/salida. Operar con ficheros.

Manejar entornos integrados de desarrollo y acostumbrase a documentar programas.

Contenidos y descripción de actividades en el aula:

 Exposición por parte del profesor (clase magistral con grupos informales):

o Concepto de fichero y características.

o Algoritmos de lectura y escritura. Apertura y cierre de ficheros.

o Tipos de fichero.

o Acceso secuencial y aleatorio.

o Detección de errores.

 Presentación de la actividad de trabajo cooperativo (puzzle).

Descripción de Actividades en el laboratorio:

Presentación de la ampliación de la práctica 4: Utilización de ficheros para guardar y recuperar información.

Descripción de Actividades de Trabajo no Presencial:

1. Preparación individual para el trabajo cooperativo. 2. Trabajo cooperativo: PUZZLE.

(17)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

15

 

PLANIFICACIÓN EJERCICIOS FINALES

Resultados de aprendizaje asociados a los contenidos:

Diseñar algoritmos que den solución a problemas de complejidad sencilla, utilizando diseño descendente a partir de una especificación.

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 descripción de actividades en el aula:

1. Realización de ejercicios, en grupo, acerca de todo el contenido de la asignatura. Resolución de ejercicios con enunciados complejos. Discusión de soluciones. 2. Resolución de dudas.

Descripción de Actividades de Trabajo no Presencial:

(18)

Guía

 

de

 

aprendizaje.

 

Semestre

 

de

 

otoño,

 

Curso

 

2012

2013.

 

16

 

Distribución temporal de las unidades, prácticas y pruebas de evaluación continua.

CLASES PRESENCIALES (horas) ACTIVIDADES SIN PROFESOR (horas) EVALUACIONES

Semana Fechas Teoría

grupo/seminario

Tutoría

colectiva Laboratorio Laboratorio

Trabajo

Grupo Otros Pesos y horas

1 10-14/09 2 17-21/09 2 3 24-28/09 2 1 2 2 4 01-05/10 2 1 2 – P1 2 5 08-11/10 (V) 2 (L,M,X,J)/1 (V) 2 – P2 2 2 2 6 15-19/10 2 (L,M,X,J)/3 (V) 2 – P2 3 4 7 22-26/10 2 1 2 2

Prueba de evaluación 1 (en el laboratorio)

Evaluación P1-P2 y diseño

Peso 25%: test 5%, modificación 10% y diseño 10%

2 Horas (Grupos L, M, X y J)

8 29-31/10, 02/11 (J) 2 (L,M,X,V)/0 (J) 1 2 – P3 (L,M,X) 2 2 Prueba de evaluación 1 (Grupos V: 02/12)

9 05-08/11 (V) (J,V) 2 (X,V)/4 (J) 2 – P3 (X,V)

4 – P3 (J) 3 4

10 12-16/11 2 2 – P3

(L,M,V) 4 2 2

Prueba de evaluación 2 (en el laboratorio)

Evaluación P3

Peso 10%: modificación - 2 Horas (Grupos X y J)

11 19-23/11 2 2 – P4

(X,J) 2 6 Prueba de evaluación 2 (Grupos L, M y V)

12 26-30/11 2 2 – P4 2 2

Prueba de evaluación 3 (en aula de examen)

Evaluación unidades 1 al 5 (incluidas) Peso 15%: test - 1 hora

13 03-05/12 (J,V) (V) 2(L,M) 2 – P4

(L,M,V) 4 2

14 10-14/12 2 2 – P4 4 2 4

15 17-21/12 2 2 2 2

Prueba de evaluación 4 (en el laboratorio)

Evaluación P4

Peso 15%: modificación - 2 Horas

16, 17* 24/12-07/01 10

18 08-11/13 14

Prueba de evaluación 5 (en aula de examen)

Evaluación final

Peso 35%: ejercicio escrito de programación - 3 horas

19-20 14-18/01, 21/01

(19)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

17 

Sistema de evaluación y calificación

Evaluación y criterios de calificación Assessment methods

El alumno deberá trabajar de forma continuada durante todo el cuatrimestre, asistiendo y participando en las clases teóricas y de laboratorio. Igualmente, deberá entregar en fecha todos trabajos (diseños y codificaciones) solicitados en los enunciados de las prácticas de laboratorio.

Como evaluación formativa, el alumno realizará tests de autoevaluación en moodle, ejercicios con retroalimentación por parte del profesor, trabajos en grupo, etc. Como evaluación formativa y sumativa se realizarán las siguientes pruebas de evaluación: Prueba de evaluación 1 (en el laboratorio)

Evaluación P1-P2 y diseño

Peso 25%: test 5%, modificación 10% y diseño 10%

2 Horas – Semana 7 (Grupos L, M, X y J) Semana 8 (Grupos V: 02/12) Prueba de evaluación 2 (en el laboratorio)

Evaluación P3

Peso 10%: modificación

2 Horas – Semana 10 (Grupos X y J) Semana 11 (Grupos L, M y V) Prueba de evaluación 3 (en aula de examen)

Evaluación unidades 1 al 5 (incluidas)

Peso 15%: test - 1 hora - Semana 12 (todos los alumnos) Prueba de evaluación 4 (en el laboratorio)

Evaluación P4

Peso 15%: modificación - 2 Horas – Semana 15 (todos los Grupos) Prueba de evaluación 5 (en aula de examen)

Evaluación final

Peso 35%: ejercicio escrito de programación - 3 horas Semana 18 (todos los alumnos)n

Por evaluación continua la asignatura sólo se puede superar en el semestre de impartición de la docencia, de acuerdo con los siguientes criterios:

o Haber asistido de manera regular a las clases de laboratorio (como mínimo al 80% de las clases) y haber entregado, en las fechas solicitadas, los diseños y codificaciones de las prácticas.

o Haberse presentado a las cuatro pruebas de evaluación continua.

o Obtener al menos un 5 en la media ponderada de las calificaciones de las pruebas de evaluación continua.

El alumno podrá elegir entre dos itinerarios de evaluación, excluyentes y definitivos: - Itinerario de evaluación continua. Es el itinerario por defecto. Se aplicará lo

anteriormente recogido.

- Itinerario de sólo prueba final. Los alumnos que elijan este itinerario deberán presentar, en las tres primeras semanas de clase, una solicitud por escrito en la Secretaría del Departamento DIATEL indicando la elección de este itinerario. El modelo de solicitud se encuentra en moodle. En este itinerario no se realizará ninguna prueba de evaluación continua, pero los alumnos deberán realizar las prácticas de laboratorio y deberán entregar al final de semestre las memorias de las mismas. La evaluación final consistirá en dos pruebas: examen de laboratorio y examen de teoría. Para superar la asignatura el alumno deberá obtener como mínimo un 5 en ambas pruebas.

Una vez elegido el itinerario de sólo prueba final, no es posible el cambio de itinerario por parte del alumno excepto por causa sobrevenida y de fuerzamayor.

(20)

Guía de aprendizaje. Semestre de otoño, Curso 2012‐2013. 

18 

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 evaluación continua como por evaluación no continua.

Consistirá en:

PARTE ESCRITA: Realización de ejercicios escritos. Es de obligatoria realización para todos los alumnos que se presenten a esta convocatoria.

PARTE PRÁCTICA: Realización y entrega de prácticas, y realización de ejercicios que evaluarán ese trabajo. Sólo será obligatoria para los alumnos que, habiendo optado por el itinerario de evaluación continua, hayan obtenido una calificación media de las pruebas de laboratorio inferior a 5 sobre 10 y para los alumnos que, habiendo optado por el itinerario de “sólo prueba final” hayan obtenido menos de un 5 en el examen de laboratorio y la evaluación de sus memorias. A principios de febrero (alumnos primer semestre) y de junio (alumnos segundo semestre) se publicará la lista de los alumnos que están exentos de la realización de esta parte práctica.

El enunciado para la realización de la parte práctica se publicará el día de la publicación de las notas del segundo semestre (en el mes de junio). Igualmente, se publicarán las fechas límite para la entrega y de evaluación de dicho trabajo. Todos los alumnos que se presenten a la parte práctica de la convocatoria extraordinaria deberán presentar una solicitud. Para superar la prueba se debe obtener un mínimo de 5 en cada una de las partes

Recursos de enseñanza-aprendizaje

Recursos bibliográficos:

o J. BIONDI, G. CLAVEL, Introducción a la programación. Tomo I. Algorítmica y lenguajes. Ed. Masson, S.A. 2ª edición, 1988.

o JOYANES, I. ZAHONERO, Programación en C. Metodología, algoritmos y estructuras de datos. 2ª edición, 2005. McGraw-Hill/Interamericana de España.

o ALFRED V. AHO, Estructuras de datos y algoritmos. Ed. Addison-Wesley Iberoamérica. 1988.

o N. WIRTH, Algoritmos+estructuras de datos=programas. Ed. Del Castillo Madrid, 1980.

o BRIAN W. KERNIGHAN, DENNIS M. RITCHIE, El lenguaje de programación C. Ed. Prentice-Hall. 1985.

Recursos Web y multimedia:

Moodle.

En esta plataforma se incluyen documentos docentes básicos de la asignatura, enlaces, test de autoevaluación, ejercicios propuestos y resueltos, etc. Igualmente, es el medio de entrega de las memorias de las prácticas de la asignatura y se añade como método de comunicación de avisos y solución de dudas.

Equipamiento:

En los laboratorios los alumnos dispondrán de ordenadores en los que se encuentra instalado el entorno de desarrollo necesario para desarrollar las prácticas de la asignatura. Los ordenadores disponen de acceso a Internet.

 Locales para trabajo no presencial

Laboratorios con horarios de libre acceso para la realización de las prácticas y aulas especialmente equipadas para las actividades de trabajo en grupo.

Referencias

Documento similar

dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

entorno algoritmo.

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Como vimos, el proceso de democratización se define como un tipo de transición política caracterizado por una gran conflictualidad entre una lógica de apertura del sistema

Al considerar conjuntamente el número de asociaciones en las actividades (Tabla 11), en los motivos de realización (elección, obligatoriedad) se observa que la interacción

Como se aprecia en la parte inferior del cuadro se alude a los tipos de documentos que se identifican en las instituciones, Organizaciones comunitarias y vinculadas nombradas en la

Sabemos que, normalmente, las ​cookies deben ser almacenadas y enviadas de vuelta al servidor sin modificar; sin embargo existe la posibilidad de que un atacante

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés