Principal | Acerca de la asignatura  |Profesores | Recursos  | Programa  

Página web de la asignatura

Laboratori de Programació II  

 

Curso 2001-2002 (Q2)

 

  Acerca de la asignatura  


 


Índice

  1. Detalles sobre la asignatura, las clases y los profesores

  2. Objetivos de la asignatura

  3. Organización del curso

  4. Recursos

  5. Evaluación

  6. Normas de comportamiento (en referencias a las copias)

1.  Detalles sobre la asignatura, las clases y los profesores

La asignatura Laboratori de Programació II se imparte en el cuatrimestre 2B de l'Enginyeria Tècnica de Telecomunicacions, Especialitat en Sistemes de Telecomunicació, en l'Escola Politècnica Superior de Castelldefels. La asignatura tiene 4,5 créditos.

El curso consiste en una sesión de 3 horas de clase a la semana más entre 1 y 2 horas de trabajo personal, también por semana. La sesión de clase se realizará siempre en un laboratorio de ordenadores, y el trabajo personal adicional consistirá en la preparación del trabajo del laboratorio y en la reflexión sobre el trabajo realizado.

Durante el curso 2001-2002 (Q1) habrá tres subgrupos de alumnos, con los siguientes horarios de clase:

  • Subgrupo 2B11  Lunes, de 11:00 a 14:00

  • Subgrupo 2B21, Jueves, de 18:00 a 21:00

Todas las sesiones tendrán lugar en la sala 235 (LINF).

Los datos de los profesores de la asignatura para el curso 2001-2002 (Q2) son:

  • Nombre: Miguel Valero-García

  • Despacho: 206

  • Teléfono: 934137106

  • e-mail: miguel@ac.upc.es

  • Horarios de consulta:  martes y viernes de 11:00 a 13:00

  • Nombre: Rubén Hidalgo

  • Despacho: 207

  • Teléfono: 934137107

  • e-mail: FALTA

  • Horarios de consulta:  FALTA

 

Inicio

2.  Objetivos de la asignatura

La asignatura pretende ofrecer un escenario adecuado para que los estudiantes consoliden los conocimientos de programación de ordenadores adquiridos en las asignaturas previas del plan de estudios, y para que desarrollen la habilidad de resolver problemas de programación de tamaño medio/grande, en equipo.

El objetivo es que al acabar la asignatura, los estudiantes sean capaces de:

  • Escribir programas en C utilizando correctamente estructuras de control y de datos típicas (vectores, matrices, colas, punteros, etc.).
  • Escribir/modificar programas para obtener el mejor rendimiento de los recursos del computador.
  • Documentar correctamente el código desarrollado.
  • Depurar y poner a punto el código generado.
  • Descomponer un problema de programación en módulos, distribuir los módulos entre los miembros de un equipo, e integrar las diferentes partes.
  • Buscar la información necesaria para concretar la especificación de un problema de programación definido de forma imprecisa.
  • Justificar con claridad y convicción las decisiones de diseño tomadas durante la resolución de un problema de programación.

Inicio

3.  Organización del curso

El curso tiene 3 fases distintas, que se describen a continuación. La información más detallada de cada una de las fases se encontrará siempre en la sección de esta web titulada Programa del curso.

FASE 1: Puesta al día (sesiones 1, 2, 3 y 4)

Los alumnos trabajarán ejercicios sencillos de programación en C (sobre papel y sobre el ordenador), para refrescar sus conocimientos de programación e identificar posibles lagunas. El trabajo que los alumnos deberán realizar fuera de clase consistirá en repasar las soluciones a los ejercicios y hacer algunos ejercicios sobre los tema en los que más dificultades se han encontrado. 

FASE 2: Consolidación (sesiones 5, 6, 7 y 8)

En esta fase, los alumnos trabajarán de forma individual para realizar dos prácticas sobre el ordenador (cada práctica ocupará dos sesiones). 

Durante la semana anterior a la primera sesión de cada práctica, los alumnos deberán realizar un estudio previo de preparación de la práctica. Este estudio consistirá en leer información y resolver algún ejercicio sobre papel (siempre en relación con el trabajo que se realizará en la práctica), requerirá una dedicación de entre 1h. y 2h., y deberá ser entregado al inicio de la sesión correspondiente.

Durante las dos sesiones de cada práctica, los alumnos irán realizando, de forma individual, cada uno de los pasos de la práctica. Algunos de esos pasos deberán ser realizados en el tiempo libre entre la primera y la segunda sesión. Durante la sesión, el profesor comentará el estudio previo con cada alumno e intentará ayudar en todo lo posible para que el trabajo progrese adecuadamente. Las sesiones podrán ser interrumpidas por el profesor para realizar explicaciones de interés general, o para que los alumnos discutan en grupos de 3 ó 4 las dudas que han ido surgiendo, y se ayuden entre sí a resolver estas dudas.

Al final de la segunda sesión de cada práctica, los alumnos deberán entregar el código generado y realizar una autoevaluación de ese código, siguiendo las pautas establecidas en una guía que facilitará el profesor. La autoevaluación se realizará en los últimos minutos de la sesión y el resultado será entregado al profesor. 

FASE 3: Proyectos en grupo (sesiones 9, 10, 11, 12, 13 y 14) 

En esta fase los alumnos trabajarán en grupos de 3 para realizar dos prácticas. 

La primera práctica ocupara dos sesiones y será del nivel de dificultad de las dos realizadas en la FASE 2. Lo importante en esta práctica será que los alumnos del grupo aprendan repartirse el trabajo y a integrar el trabajo realizado por cada uno para que el código final funcione correctamente. 

La segunda práctica ocupará las cuatro últimas sesiones del curso. El problema será complejo y requerirá que cada grupo tome sus propias decisiones de diseño, descomponga el problema en partes, reparta trabajo e integre las partes para que el programa funcione correctamente.

En ambas prácticas, cada grupo deberá realizar una autoevaluación del trabajo realizado, y en la segunda práctica, cada grupo deberá también evaluar el trabajo realizado por otros grupos.

Inicio

4.  Recursos

A la hora de realizar el trabajo de esta asignatura, ten presente los siguientes recursos que están a tu disposición:

El profesor

El trabajo principal del profesor es ayudarte a conseguir los objetivos de la asignatura. Su mayor éxito será conseguir que todos los alumnos aprueben la asignatura. Durante las sesiones de laboratorio estará pendiente del trabajo que estés realizando y te ofrecerá las ayudas necesarias para que puedas completarlo de forma satisfactoria. Lógicamente, no se trata de que le pidas ayuda inmediatamente cada vez que te surja una dificultad. Se espera de ti que hagas el máximo esfuerzo para superar la dificultad por ti mismo antes de recurrir a él. Por otra parte, no esperes que el profesor te facilite inmediatamente la solución al problema. Normalmente, te ofrecerá alguna idea, pista o pregunta que te ayude a encontrar la salida por ti mismo.

Recuerda también que el profesor estará a tu disposición en el horario de consulta (y también en otros momentos, siempre que le avises con antelación). El horario de consulta es siempre una ocasión para una interacción más directa con el profesor, en la que se pueden aclarar muchas dudas de forma eficiente, siempre y cuando acudas a la consulta con una idea muy clara de lo que quieres plantear.

Los compañeros

En cualquier curso, y especialmente en un curso de programación de ordenadores, tus compañeros pueden ayudarte tanto o más que el profesor. Ten presente que un compañero tiene un nivel de desarrollo y un conjunto de experiencias previas similares a las tuyas, y puede estar en muy buenas condiciones para ayudarte a ver claro algo que él mismo aprendió recientemente, y que tiene fresco en la memoria. Por contra, el profesor puede tener dificultades para entender por qué te has atascado en la resolución de ejercicios tan simples para él. Además, el esfuerzo de explicarle algo a un compañero resulta muy beneficioso para el alumno que explica, puesto que le ayuda a organizar y consolidar sus conocimientos.

En este curso están programadas algunas actividades específicas para facilitar la interacción y el aprendizaje entre compañeros. Recuerda, por ejemplo, que las cuatro sesiones de la FASE 2 serán interrumpidas para organizar grupos de alumnos que se aclaren mútuamente las dudas que hayan surgido hasta ese momento durante la realización del trabajo de la sesión. Verás más adelante en esta guía que el método de evaluación te proporciona un buen motivo para que intentes ayudar a tus compañeros en todo lo que puedas (aunque probablemente la satisfacción de ayudarles es ya una motivación suficiente para ti).

Un libro

En este curso recomendamos el libro siguiente:

Peña, M.A., Cela, J.M. Introducción a la programación en C, Edicions UPC, Aula Politècnica ETSETB 42, 2000.

Aquí encontrarás los principios básicos de la programación en C, y numerosos ejercicios. Échale un vistazo (el profesor puede dejarte una copia para que la ojees) y considera la opción de comprarlo. Además, este libro tiene asociada una página web cuya dirección es la siguiente:

http://docencia.ac.upc.es/ETSETB/IO/LIBROC/frsprobl.htm

Aquí encontrarás unas transparencias que sintetizan el contenido de cada uno de los capítulos del libro, y una colección de problemas resueltos, también clasificados de acuerdo con la estructura del libro. Con frecuencia, el profesor te remitirá a esta página web para que busques allí ejercicios que te ayudarán a progresar.

La página web de la asignatura

La dirección de la página web de esta asignatura es:

http://docencia.ac.upc.es/EPSC/LPII

En esta página encontrarás recursos adicionales para el seguimiento de la asignatura (por ejemplo, el enlace a la página web del libro anterior). Interesa destacar el apartado Programa del Curso. En él encontrarás, organizada en forma de calendario, las descripción de las actividades que se realizarán cada sesión, junto con el material asociado a cada actividad (por ejemplo, soluciones a los ejercicios realizados). Toda esta información se irá incorporando a medida que avanza el curso. Es muy importante que consultes ese apartado de la web de forma periódica (una o dos veces por semana) aunque el profesor os informará en clase del material que se vaya incorporando.

Un manual de Visual C++ 6.0

En el laboratorio usarás el entorno de programación Visual C++ 6.0. En la página web de la asignatura encontrarás un sencillo manual que te ayudará en los primeros pasos. Para cuestiones más avanzadas probablemente deberás recurrir a manuales más completos (que encontrarás en la biblioteca).

Inicio

5Evaluación

La evaluación es la realización de un conjunto de actividades que nos van a permitir averiguar si las cosas van bien, es decir, si las actividades del programa de la asignatura se están llevando a cabo correctamente y si los alumnos están aprendiendo lo que se espera que aprendan en el curso. Los resultados de la evaluación deben permitir tomar medidas oportunas durante el curso para mejorarlo y deben permitir también producir la calificación que se asignará a cada alumno al final. A continuación, se describen los métodos de evaluación que se usarán durante el curso, así como los criterios para calcular la calificación final de cada alumno.

Con una cierta frecuencia, el profesor te pedirá que rellenes un cuestionario de opinión sobre la marcha del curso. Por favor, contesta los cuestionarios (que son anónimos) con la máxima sinceridad, puesto que la información que se puede recoger resulta muy útil para mejorar la asignatura.

Durante el curso, deberás realizar actividades de autoevaluación del trabajo realizado en el laboratorio. En concreto, a partir de una guía proporcionada por el profesor, deberás asignar una nota al trabajo que has realizado en la sesión de laboratorio, e identificar los puntos débiles y posibles medidas correctivas. La autoevaluación es una actividad muy formativa puesto que:

  1. Te permitirá tener rápidamente información sobre lo bien o lo mal que vas, de forma que puedas tomar medidas correctivas lo antes posible.

  2. La guía de autoevaluación te ofrecerá soluciones correctas a los ejercicios que has realizado, de forma que puedas aprender de ellas.

  3. Al tener que aplicar unos criterios para autoevaluarte, te resultará más fácil asimilar esos criterios y aplicarlos en el trabajo de las siguientes sesiones.

  4. La habilidad para autoevaluarse es fundamental para estar preparado para aprender de forma autónoma en el futuro.

Naturalmente, el profesor evaluará el trabajo que vayas realizando durante el curso y te hará comentarios frecuentes referentes a ese trabajo, de forma que puedas tomar las medidas oportunas para mejorar.

Para calcular la nota final de cada alumno, se seguirá el siguiente criterio: 

  • 40% procedente de la calificación de la FASE 2

  • 50% procedente de la calificación de la FASE 3

  • 10% procedente de la calificación subjetiva

Calificación de la FASE 2

Cada alumno deberá autoevaluar su trabajo en cada una de las 2 prácticas (cuatro sesiones) de esta fase. El profesor calificará también estas prácticas. Si la nota asignada por el profesor coincide con la autoasignada por el alumno (con una diferencia máxima de 1,5 puntos) entonces el profesor respetará la nota del alumno. Si no hay coincidencia entre las notas del alumno y las del profesor, entonces la nota definitiva de la práctica será la establecida por el profesor. Para calcular la nota de la FASE 2 de hará el promedio de las notas de las dos prácticas.

A la nota obtenida tal y como se ha descrito se le sumarán los puntos correspondientes a la media de las notas del 80% de alumnos con mejores notas del subgrupo, dividida por 10 (esto puede representar entre 0,3 y 0,7 puntos). Aquí tienes una buena razón para ayudar a tus compañeros en todo lo que puedas, puesto que si sacan buena nota en esta fase tu también saldrás beneficiado.

Calificación de la FASE 3 

La calificación de esta fase se obtendrá a partir de la calificación de las dos prácticas que la componen. La primera tendrá un peso del 15% y la segunda del 35% (para hacer un total de 50%, que es el peso de esta fase en la nota final).

Para calificar la primera práctica se tendrá en cuenta:

  • la autoevaluación que realice el grupo

  • la evaluación que realice el profesor

  • un informe que describirá cómo se han repartido el trabajo

  • el resultado de un pequeño examen que un miembro de cada grupo, elegido al azar, deberá realizar en algún momento durante la segunda sesión de la práctica

A partir de los tres elementos anteriores se calculará una nota que se asignará a todos los miembros del grupo.

Para calificar la segunda práctica se tendrá en cuenta:

  • la autoevaluación que realice el grupo

  • la evaluación que realicen los compañeros 

  • la evaluación que realice el profesor

  • un informe sobre el diseño e implementación del código

  • el resultado de un pequeño examen que un miembro de cada grupo, elegido al azar, deberá realizar en algún momento durante la segunda sesión de la práctica

A partir de los tres elementos anteriores se calculará una nota que se asignará a todos los miembros del grupo.

Calificación subjetiva

Esta componente de la nota será determinada por el profesor en función de su impresión sobre tu interés y el trabajo que has realizado, especialmente en aquellas actividades que no son objeto de calificación directa. Los dos elementos fundamentales para determinar la nota subjetiva serán:

  • El trabajo realizado en la FASE 1

  • La calidad del trabajo de autoevaluación.

Finalmente, para poder ser calificado será condición necesaria que relices las dos prácticas de la FASE 2 y las dos prácticas de la FASE 3. El incumplimiento de este requisito representará un suspenso en la asignatura. En el caso de que preveas a principio de curso la imposibilidad de satisfacer estos requisitos entonces plantéale la cuestión lo antes posible al profesor.

Inicio

6Normas de comportamiento (en referencia a las copias)

En un curso como éste, en el que se estimula y se facilita el intercambio entre compañeros, es difícil trazar una frontera clara entre lo que se considera un comportamiento correcto y lo que debe considerarse una actuación fraudulenta por parte del alumno, cuando éste usa material o información facilitada por compañeros. A continuación, se intenta aclarar esta cuestión.

Se considerará correcto que un alumno utilice en su propio trabajo ideas o materiales producidos por otros compañeros, siempre y cuando se haga constar con claridad el origen de las ideas o material, y las motivaciones para utilizarlo. 

Un ejemplo de comportamiento correcto

Juan estaba encallado en la implementación de un procedimiento para el que no acababa de concebir el algoritmo adecuado. Después de varios intentos infructuosos se enteró de que Rosa había resuelto el problema. Se encontró con ella en la biblioteca y le preguntó cómo lo había hecho (incluso consiguió que le pasase un listado). La información ayudó mucho a Juan. En el código que entregó al profesor, incluyó el siguiente comentario en referencia al procedimiento en cuestión.

// La idea original de la implementación de este procedimiento se

// debe a Rosa, a quien acudí después de varios intentos

// infructuosos (en el anexo I explico las tres ideas que probé y

// las razones por las que ninguna funcionó). No obstante, tuve que

// hacer algunos cambios respecto al código que ha usado ella puesto

// que la configuración de sus parámetros no se adaptaba a mi

// planteamiento, ya que ella usaba una estructura ...., 

// mientras que yo usaba una ligeramente diferente (tal y como se 

// ha descrito antes). 

Finalmente, Juan invitó a una cerveza a Rosa como muestra de agradecimiento (el comportamiento no puede considerarse completamente correcto sin esta última operación).

Un ejemplo de comportamiento incorrecto

Juan y Rosa estaban un poco agobiados en un pico de trabajo. Acordaron que Juan haría la práctica 3 y Rosa la práctica 4, y que después intercambiarían los códigos de forma que cada uno pudiese introducir los cambios oportunos para poder presentarla como propia (cambiar el nombre de las variables, modificar los comentarios, etc.). De esta forma, reducirían un poco el trabajo, y, después de todo, esto también es una forma de colaboración.

En ambos ejemplos, Juan estaba en dificultades. La diferencia fundamental es que en el caso correcto, Juan ha descrito los esfuerzos infructuosos y el origen de la solución, mientras que en el caso incorrecto ha pretendido engañar al profesor.

Debes tener presente que, en el caso de el profesor detecte un caso de comportamiento incorrecto por parte de un alumno, la calificación final del curso para ese alumno será un 0.0. Como es poco probable que el ejemplo anterior resuelva todas las dudas, y en vista de la gravedad de las consecuencias, es muy importante que acudas al profesor en caso de que tengas alguna duda. No obstante, ten en cuenta también que en esta asignatura el profesor realizará un seguimiento cercano del trabajo realizado por los alumnos, por lo que es poco probable que un comportamiento incorrecto pase desapercibido.

Inicio

 

Principal | Acerca de la asignatura | Profesores | Recursos | Programa 

Inicio

 Departament d'Arquitectura de Computadors