Sunteți pe pagina 1din 22

Laboratorio de Matemáticas

Asignatura de Primero de Grado de Matemáticas


Universidad Autónoma de Madrid

Pablo Angulo, Patricio Cifuentes y Daniel Ortega


Curso 2009/2010
Lápiz y bit
En algún momento nos ha pasado por la cabeza: esta cuenta tengo que
hacerla luego, en papel. Conamos, porque somos infalibles, en que nos lleva-
rá unas cuantas hojas, unos cuantos desarrollos pulcramente encaminados.
Tan convencidos estamos de la pinta que tendrá el nal, que seguimos sin
más por los vericuetos más teóricos. Y así, en el mejor de los casos, parimos
algún que otro lúcido teorema. Lo queremos cantar a los cuatro vientos. Solo
queda comprobar esa cuenta que, en no sé qué momento, dejamos para hacer
luego, en papel. Curioso, no da exactamente lo que temíamos. Aún así tiene
buena pinta.
½Cuántos teoremas para el olvido! De habernos dado cuenta antes, . . .
Ahora, vuelta a empezar, y con otros horizontes.

Cada vez más pronto en nuestro ocio, necesitamos vericar un resultado,


y no siempre tenemos a mano el artículo que lo certica (o ni siquiera está
explícito en ninguno). De estudiantes esto no era problema, si no estaba en
alguno de los libros de texto, podías preguntar a la profesora y te indicaba.
Claro que casi siempre estabas simplemente resolviendo la lista de problemas
propuestos. En cualquier caso, tardaban en aparecer problemas de los de esta
cuenta, luego en papel.
Un encargo

Ya empezado el curso 07/08, en el departamento surgió la idea de in-


corporar a los, por entonces nacientes, estudios de Grado de Matemáticas,
una asignatura dedicada a cualicar a nuestros estudiantes con una nueva
habilidad: usar el ordenador para resolver, o al menos ilustrar, los problemas.
Más o menos, el encargo me llegó así:

En cuanto al Laboratorio:
Son dos asignaturas de tres créditos cada una; serían dos horas
semanales durante todo primero. ... Con lo que hay, que son dos
cuatrimestres de primero, se intentaría cubrir:

Aprender a usar uno (o varios ) de los programas MATEMATICA, MAPLE,


CABRI, DERIVE...

Aplicación a problemas de Cálculo Diferencial.


Por ejemplo: representaciones gráficas, desarrollos asintóticos,
estudio de la ecuación logística, integración...

Aplicación a problemas de Geometría.

Aplicación a problemas de Álgebra Lineal.

Aplicación a problemas de Probabilidad y Estadística.

Aplicación a ???

No se trata de un curso de Numérico, sino de aprender a utilizar los


programas de cálculo simbólico en la resolución de problemas. Aunque
es difícil conseguirlo en primero, lo ideal sería que en segundo los
alumnos ya fueran autónomos para usar estas herramientas por sí
mismos en las asignaturas de segundo.

Siempre intentando respetar esta semilla, conseguí hacer que se oyera


mi grito de socorro por el departamento. Afortunadamente llegó a oídos de
Pablo, que, sabiendo muy bien de qué hablaba, me presentó SAGE (fue el 12
de septiembre de 2008). Dicho y hecho, manos a la obra.

1
Montar un programa

Finalmente la asignatura se llama: Laboratorio de Matemáticas. Se impar-


te como asignatura anual (es la única con esta cualidad) en el primer curso,
en sesiones de dos horas, un día a la semana.

En el primer año de andadura (curso 2009/2010), hemos dividido la asig-


natura en 6 bloques, y hemos podido hacer coincidir los tres primeros con el
primer semestre. Huelga decir que los otros tres han hecho lo propio con el
segundo semestre. Mantendremos estructura y coincidencias.

En el curso 09/10, el programa ha sido:

Bloque I.- Algoritmos y principios básicos de


programación
Sesión 1.- Bienvenidas a SAGE
• Cuadros de texto
• Cuadros de comando
• Uso como calculadora
• Reglas de precedencia
• Funciones
• Variables
• Actualizar una variable
• Liberar una variable
• Tipos de datos
• Números de coma otante y expresiones simbólicas
• Métodos especícos de cada tipo de datos
• Números de SAGE y de python
• Mostrar información por pantalla

Sesión 2.- Secuencias de datos


• Cadenas de caracteres
• Tuplas

2
• Listas
• Pertenencia
• Transformar y ltrar listas
• Transformar los elementos de una lista
• Filtrar una lista
• Funciones que trabajan sobre listas
Sesión 3.- Alternativas y bucles
• Alternativas lógicas
• Bucle for
• Bucles while
• Calcular valores aproximados

Sesión 4.- Bloques anidados


• Tablas de verdad
• Suma de los inversos de los primos
• Bucle de búsqueda

Sesión 5.- Denición de funciones


• Documentación
• Cuándo usar una función
• Funciones recursivas
• Recursión innita
• Un ejemplo más inquietante

Bloque II.- Álgebra y Aritmética


Sesión 1.- Aritmética
• Dígitos y numeración en distintas bases
• Algoritmo de Euclides
• Identidad de Bézout

3
Sesión 2.- Números primos
• Criba de Eratóstenes
• Artimética modular

Sesión 3.- Criptografía


• Codicar un mensaje de texto en números
• Cifrado de César
• Cifrado de permutación
• Análisis de frecuencias

Sesión 4.- Encriptación asimétrica con RSA


• Codicar un mensaje de texto en números
• Encriptación RSA

Sesión 5.- Polinomios


• Anillos de polinomios
• Raíces de polinomios
• Factorización de polinomios

Bloque III.- Cálculo


Sesión 1.- Cálculo simbólico
• Límites
• Derivadas
• Grácas
• Funciones denidas a trozos
• Ceros, máximos y mínimos

Sesión 2.- Aproximación e interpolación de funciones


• Interpolación por segmentos lineales
• Polinomio de Taylor

4
• Polinomio interpolador de Lagrange
• Splines

Sesión 3.- Integrales

• Integrales denidas
• Sumas de Riemann
• Regla del punto medio
• Regla del trapecio

Sesión 4.- ¾Qué es TEX?

Bloque IV.- Análisis de algoritmos

Sesión 1.- Conjuntos y diccionarios

• Tipos de datos mutables e inmutables


• Conjuntos
• Diccionarios
• Construir diccionarios a partir de listas

Sesión 2.- Tiempo de ejecución y eciencias de algoritmos

• Medir el tiempo de CPU


• Grácas de tiempo de ejecución

Sesión 3.- Algoritmos con listas, conjuntos y diccionarios

• ¾Cómo funcionan las listas?


• ¾Cómo funcionan los conjuntos y los diccionarios?

Sesión 4.- Listas ordenadas

• Ordenar una lista


• Quicksort (qsort)

5
Bloque V.- Combinatoria y estadística
Sesión 1.- Combinatoria
• Cómo iterar sobre todos los posibles valores de muchas variables
• Subconjuntos (y sublistas)
• Generadores
• Combinaciones

Sesión 2.- Grafos


• Introducir grafos en SAGE
• Algunos grafos especiales
• Introducir un grafo a mano
• Operaciones con grafos
• Modicar grafos
• Propiedades de los grafos
• Criterio de Euler
• Isomorsmo de grafos
Sesión 3.- Experimentos con números aleatorios
• Simulaciones
• Discusión: ¾cómo de aleatorios son los números aleatorios?

Sesión 4.- Regresión y ajuste de modelos

• Ejemplo de ajuste lineal


• Ejemplo de ajuste no lineal
• Ajuste de un modelo exponencial

Bloque VI.- Álgebra lineal y geometría


Sesión 1.- Álgebra lineal
• Espacios vectoriales
• Vectores

6
• Subespacios vectoriales
• Bases de los espacios vectoriales
• Matrices
• Métodos de las matrices
• Suma de matrices
• Autovalores, autoespacios, forma de Jordan
• Matrices con parámetros
• Sistemas de ecuaciones

Sesión 2.- Cálculo vectorial


• Representación de funciones
• Curvas de nivel
• Plano tangente
• Polinomio de Taylor
• Derivadas direccionales
• Campo gradiente
• Regiones
• Puntos críticos y extremos
• Ceros del gradiente
• Mínimos de una función de varias variables obtenidos numéricamente
• Integrales
• Cambios de coordenadas
Sesión 3.- Curvas planas
• Ecuaciones paramétricas
• Ejemplos
• Más ejemplos
• Y los más interesantes
• Construcción de la curva de Agnesi
• Coordenadas polares
• Ejemplos
• Últimos ejemplos
• Coordenadas cartesianas

7
• Ecuaciones implícitas
• Más ecuaciones implícitas
• Un ejemplo de haz de curvas

El programa se ha cubierto en su totalidad, y aunque la cantidad de


materia cubierta nos parece razonable, hemos decidido recolocar los bloques,
y hacer algunos ajustes menores al contenido de algunos bloques:

Los dos primeros bloques deben ser los dos de programación.

La parte de criptografía del antiguo segundo bloque se pasa al nal


de la asignatura, pues los alumnos arman que todavía no estaban
preparados para este tipo de programas.

El tercer bloque contendrá la parte de álgebra del antiguo bloque de


álgebra (teoría de números, polinomios), y además la sesión de álgebra
lineal.

El segundo semestre comienza con el bloque de combinatoria, excepto


la sesión de ajuste de modelos, que podemos pasar al último bloque.

El quinto bloque contiene todo el material sobre cálculo simbólico, que


contendrá material relacionado con las asignaturas de cálculo I y II.

El sexto bloque se llama escuetamente de aplicaciones, y contendrá


material escogido entre la parte de criptografía, la sesión de ajuste de
modelos, y otros temas que los profesores consideren oportunos.

Material

Aparte de los diversos manuales que hemos puesto accesibles en la página


web de la asignatura
http://www.uam.es/pablo.angulo/laboratorio.html
los alumnos han dispuesto de un live dvd , con la mayoría del software
cientíco que necesitarán durante la carrera, para poder trabajar en casa.
En la página web de la asignatura han ido apareciendo todas las sesiones y
la información relevante sobre la misma.

8
Agenda

En el curso académico 2009/2010 inauguramos los nuevos estudios de


Grado de Matemáticas. Solo se imparte el primer curso, conviviendo con los
cursos segundo, tercero y cuarto de licenciatura. El calendario de grado y
licenciatura no es común. Estos fueron, cronológicamente, los eventos más
relevantes.

14 de septiembre comienzan las clases


22 de sept. a 2 de octubre matriculación en grado de estudiantes que cam-
bian
19 y 20 de octubre matriculación de admitidos en octubre
22 de octubre fecha de primera entrega (bloque I)
24-25 noviembre incorporación de alumnos matriculados en octu-
bre a sus grupos (comienza el bloque III)
27 de noviembre examen bloque II (I para matriculados en octu-
bre)
23 de enero naliza el primer semestre
25 de enero examen intermedio (hasta bloque III)
25 de enero comienza el segundo semestre
1, 8 y 10 de marzo examen bloque IV (cada grupo por separado)
14, 19 y 21 de abril examen bloque V (cada grupo por separado)
14 de mayo examen nal (todos los grupos)
22 de mayo naliza el segundo semestre
16 de junio evaluación extraordinaria
13 de julio se cierran actas
15 de julio I jornada SAGE- python (Facultades de Física y
Matemáticas, UCM)

El aula

La docencia de la asignatura se ha realizado casi exclusivamente en el la-


boratorio de informática del departamento de matemáticas: CIE7, aula 101,
módulo 17 (edicio de ciencias). Los alumnos (salvo un grupo, y durante me-
dio curso) acuden al laboratorio desde la otra esquina del edicio de ciencias
(unos 5 minutos), y al acabar el resto de sus clases.

El aula tiene 24 puestos repartidos en 6 las, con 4 puestos por la (dos
a cada lado de un estrecho pasillo central). Se dispone de un puesto para el
profesor en la mitad derecha de la cabecera del aula, conectado a dos cañones,

9
uno apunta a la pared frontal y el otro al lateral derecho del aula (el otro
lateral son grandes ventanales). En la otra mitad de la cabecera cuelga una
pizarra de esas para rotuladores no permanentes.

Cada alumno tiene una cuenta de usuario personalizada en el aula del


laboratorio del departamento (CIE7, aula 101 en el módulo 17 de ciencias).
El profesor tiene otra cuenta, y en ella una carpeta que comparte con
todos los alumnos de su grupo.

Todas estas cuentas residen en un servidor nis+nfs en otra sala (físi-


camente contigua), y las gestiona un miembro del departamento de mate-
máticas y una persona becada (distinta cada año). El servidor suministra
autenticación y directorios home a los puestos del laboratorio. La gestión
de las cuentas está totalmente automatizada mediante scripts en python y
shell.

Las clases

Los estudiantes se han repartido en tres grupos:

Grupo m1: pertenecen al grupo 11, su dni es impar

Imparte: Patricio Cifuentes Muñiz


Horario: miércoles 12:30-14:30 (todo el curso)
Grupo m2: el resto de estudiantes del grupo 11 (dni par)

Imparte: Daniel Ortega Rodrigo


Horario: martes 12:30-14:30 (primer semestre)
lunes 12:30-14:30 (segundo semestre)

Grupo t: coincide con el grupo 16

Imparte: Pablo Angulo Ardoy


Horario: martes 14:30-16:30 (primer semestre)
martes 17:30-19:30 (segundo semestre)

10
Para los alumnos matriculados en octubre (selectividad de septiembre y
cambios de plan) se abrieron grupos especiales con clases extra en paralelo
a las normales. Aunque en estos grupos la asistencia inicial fue alta, en las
últimas sesiones bajó bastante. En enero, estos alumnos se incorporaron al
ritmo normal, con sus compañeros. La mayoría de estos alumnos abandonaron
la asignatura a lo largo del segundo semestre.

Los exámenes

Se realizaron 5 pruebas intermedias y el examen nal. Las pruebas inter-


medias fueron coincidiendo con el nal de los cinco primeros bloques.

Los alumnos con media de aprobado en las cinco pruebas intermedias tu-
vieron la oportunidad de no presentarse al examen nal. La única condición,
entregar dos ejercicios de los propuestos en el último bloque, uno de álgebra
lineal y el otro de cálculo vectorial. También podían presentarse al nal.

La calicación para todo alumno que se presentase al examen nal sería


el promedio de las notas de los 6 bloques, siendo la nota de cada bloque el
máximo entre la de cada bloque y la del nal.

En denitiva se han obtenido los siguientes datos:

Grupo Aprobados por curso Aprobados totales Alumnos evaluados


m1 13 16 18
m2 13 15 17
t 9+2 10+3 11+6

Nota: los segundos números del grupo t corresponden a los alumnos matriculados
en octubre.

Para el primer bloque se les pidió la entrega de una práctica realizada


fuera del aula. El resultado fue muy negativo, pues muchos alumnos copiaron
a sus compañeros, y no trabajaron para adquirir los conocimientos necesarios
de la asignatura.

El resto de exámenes se hizo en aulas de ordenadores y, aunque sufrimos


varios problemas técnicos, y ajustar la dicultad de los exámenes lleva un
poco de práctica, el resultado fue mucho más positivo.

11
Si se usa un aula distinta a la del departamento, es importante asegurarse
de que tiene ordenadores potentes. Aunque un ordenador puede servir para
dar clase, en un examen los alumnos abren muchos documentos a la vez y
prueban código erróneo que pone el ordenador a prueba.

Nuestra aula de laboratorio está especialmente preparada para poder rea-


lizar exámenes, por un método que podemos denominar jaula :

a) Los exámenes se realizan utilizando cuentas especialmente conguradas


para que sea imposible que un estudiante haga público el acceso a su
directorio home

b) Tenemos scripts (python+pexpect) para arrancar y parar un corta-


fuegos en cada una de las máquinas de los estudiantes, de forma que
durante el examen solo puedan acceder al servidor.

c) También paramos, en las máquinas de los estudiantes, el demonio hald


para que no puedan montar el pendrive de un compañero en su máqui-
na.

d) Una vez empezado el examen, se deshabilitan, en el servidor, las con-


traseñas de las cuentas de examen ejecutando un script que contiene
instrucciones passwd -l <nombre usuario>. Esto impide que un es-
tudiante pueda entrar en la cuenta de otro, que le haya comunicado su
contraseña, y vea sus soluciones.

Mejoras inminentes Durante este verano se cambiará nis por o ldap


pen
para conseguir que los estudiantes tengan nombre de usuario y contraseñas
únicos en odos los servicios suministrados por la Universidad. También, y
a partir de este verano, todas las máquinas tendrán Ubuntu 10.04 como
sistema operativo. Además, el número de puestos aumenta a 36.

Una clase

Mostramos, a modo de ejemplo, una de las sesiones impartidas. Habi-


tualmente las sesiones comenzaban 10 minutos después de la hora marcada
pues los alumnos se han de desplazar desde otro aula distante. Comenzada la

12
sesión, no se suele hacer ninguna parada de descanso, salvo las invitaciones
a los alumnos a retocar el código mostrado, o resolver algún ejercicio inter-
medio. Finalizada la sesión, se proponen los ejercicios adjuntos en una hoja
aparte y que está a su disposición en la web de la asignatura.

13
14
15
16
17
Nota: recordamos que esta sesión, como las demás, está disponible en la
web de la asignatura.

18

S-ar putea să vă placă și