Logo

Programación Científica

Código: 107925
Créditos: 6
2026/2027
Titulación Tipo Curso
Matemáticas FB 1

Profesor/a de contacto

Nombre :
Joaquim Roé Vellvé
Correo electrónico :
joaquim.roe@uab.cat

Equipo docente

Martí Prats Soler
Jaume Coll Guerrero
Joaquim Roé Vellvé

Idiomas de los grupos

Puede consultar esta información al final del documento.

Prerrequisitos

Ninguno

Objetivos

Familiarizarse con el uso de un manipulador algebraico. Este manipulador debe convertirse en una herramienta habitual en el estudio de muchas otras asignaturas.

Iniciarse en la programación de ordenadores, en los aspectos más relevantes para la computación científica.

Entender el funcionamiento del ordenador, en los aspectos más relevantes para la programación.

Aprender a programa en Python y C.

 

Resultados de aprendizaje

  • CM05 (Discriminar, entre distintos algoritmos, el más pertinente para resolver un problema matemático elemental.) Discriminar, entre distintos algoritmos, el más pertinente para resolver un problema matemático elemental.
  • KM08 (Identificar algunos algoritmos de cálculo básicos.) Identificar algunos algoritmos de cálculo básicos.
  • KM09 (Enumerar los principios matemáticos fundamentales de la programación.) Enumerar los principios matemáticos fundamentales de la programación.
  • KM10 (Describir los principios del funcionamiento del ordenador en los aspectos más relevantes para la programación, incluyendo componentes, memoria, procesamiento y entrada/salida.) Describir los principios del funcionamiento del ordenador en los aspectos más relevantes para la programación, incluyendo componentes, memoria, procesamiento y entrada/salida.
  • SM07 (Utilizar un programa de cálculo simbólico en la resolución de problemas sencillos de otras ramas de las matemáticas, como el álgebra, la geometría o la teoría de grafos.) Utilizar un programa de cálculo simbólico en la resolución de problemas sencillos de otras ramas de las matemáticas, como el álgebra, la geometría o la teoría de grafos.
  • SM08 (Programar algoritmos sencillos.) Programar algoritmos sencillos.

Contenidos


Primera parte: Python y Sagemath


- Números, cadenas y variables.

- Listas, conjuntos y comprensión.

- Construcciones iterativas y alternativas.

- Tuplas y diccionarios.

- Funciones y recursividad.

- Control de errores.

- Diseño y análisis de algoritmos.

- Números enteros y congruencias.

- Cálculos numéricos y algebraicos.

- Gráficas de funciones.

- Resolución de ecuaciones.

- Objetos y Clases.

- Vectores y matrices.


Segunda Parte: C


- Lenguajes compilados. Código fuente y programa ejecutable.

- Estructuras de los programas en C: iterativa, alternativa.

- Funciones y recursividad.

- Codificación de la información. Tipos de variables y constantes.

- Vectores y tipos derivados.

- Gestión de la memoria. Apuntadores.

- Entrada y salida: interacción por consola y archivos.

- Bibliotecas.


Actividades formativas y Metodología

Título Horas ECTS Resultados de aprendizaje
Preparación examen de Pyhton y Sagemath 25 1 CM05, KM08, KM09, KM10, SM07, SM08
Python y Sagemath 26 1,04 CM05, KM08, KM09, KM10, SM07, SM08
Trabajo 39 1,56 CM05, KM08, KM09, KM10, SM07, SM08
Preparación examen de C 25 1 CM05, KM08, KM09, KM10, SM07, SM08
C 30 1,2 CM05, KM08, KM09, KM10, SM07, SM08

Habrá 13 sesiones de prácticas en el primer semestre y 15 sesiones en el segundo, de dos horas de duración cada sesión.

La parte esencial de las prácticas consiste en el trabajo personal de cada alumna/o en el ordenador, siguiendo un guión preparado y explicado por el profesorado.

En todos los aspectos de las actividades de enseñanza / aprendizaje se harán los mejores esfuerzos por parte del profesorado y el alumnado para evitar lenguaje y situaciones que puedan ser interpretados como sexistas. Con el fin de conseguir una mejora continua en este tema, todo el mundo debe colaborar en poner de manifiesto las desviaciones que observe respecto de este objetivo.

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.


Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Evaluación

Actividades de evaluación continuada

Título Peso Horas ECTS Resultados de aprendizaje
Trabajo 0'24 1 0,04 CM05, KM08, KM09, KM10, SM07, SM08
Examen de Python y Sagemath 0,38 2 0,08 CM05, KM08, KM09, KM10, SM07, SM08
Examen de C 0,38 2 0,08 CM05, KM08, KM09, KM10, SM07, SM08

La asignatura tiene tres evaluaciones:

  • durante el primer semestre del curso se realizará una o más pruebas de la parte de Python y Sagemath.
  • durante el segundo semestre del curso se realizará una prueba de la parte de C, además de entregas de algunos ejercicios prácticos.
  • un trabajo de programación, que contendrá una explicación escrita en Latex, con partes del código escritas con Python y partes con escritas con C, que será evaluado oralmente.

La nota final de la asignatura será la suma ponderada de las notas de cada una de las tres partes. Cada parte contribuye a un tercio de la nota global.

Existe una nota mínima de cada una de las partes de 3,5 puntos sobre 10. Por lo tanto, para aprobar la asignatura es obligatorio sacar más de un 3,5 en cada una de las tres partes, además de tener un 5 o más de media.

De cada uno de los exámenes habrá una segunda convocatoria para recuperar/mejorar la nota. La entrega de este segundo examen anulará automáticamente la nota de la primera convocatoria. El trabajo no es recuperable.

Se considerará evaluable quien haya presentado trabajos o haya realizado exámenes por un total de al menos dos tercios de la asignatura. En caso contrario constará en el acta como No Evaluable.

Para la asignación de Matrículas de Honor no se tendrá en cuenta las notas de las segundas convocatorias.

MUY IMPORTANTE: Los trabajos evaluables son individuales. Copiar o dejar copiar total o parcialmente un trabajo evaluable o un examen se penalizará con un cero como nota final de la asignatura. Els uso de herramientas de "Inteligencia artificial" en los exámenes no está permitido; en la elaboración del trabajo estará regulado. Habrá que identificar claramente qué partes han sido generadas con esta tecnología, especificar las herramientas empradas e incluir una reflexión crítica sobre cómo estas han influido en el proceso y el resultado final. La no transparencia en el uso de IA se considerará falta de honestedad académica y comportará una penalización en la nota, o sanciones mayores en casos de gravedad.

EVALUACIÓN ÚNICA: En esta modalidad habrá que entregar el trabajo y resolver un único examen de 4 horas seguido de la evaluación oral del trabajo.


Bibliografía

Durante el curso se proporcionará el material imprescindible para seguirlo. Como material adicional, recomendamos:

SAGE. http://www.sagemath.org/help.html

Tobias Oetiker, Hubert Partl, Irene Hyna and Elisabeth Schlegl. The not so short introduction to LaTeX 2e. Tobi.oetiker.ch/lshort/lshort.pdf

George Grätzer, More Math Into LaTeX, Springer, 2016

CProgramming. http://www.cprogramming.com/tutorial/c-tutorial.html (La cantidad de tutoriales sobre lenguaje C en internet y en forma de libro es enorme, y en diversidad de idiomas)

B.W. Kernighan, Ritchie, D.M., The C programming language. 2nd edition. 1988

Software

 En esta asignatura se utiliza SageMath, Pyhton, Latex y C. Durante el curso se darán instrucciones para su correcta instalación, así como de posibles editores. 

 

Grupos e idiomas de la asignatura

La información proporcionada es provisional hasta el 30 de noviembre. A partir de esta fecha, podrá consultar el idioma de cada grupo a través de este enlace. Para acceder a la información, será necesario introducir el CÓDIGO de la asignatura

Tipo de docencia Grupo Idioma Semestre Turno
(PLAB) Prácticas de laboratorio 1 Catalán anual manaña-mixto
(PLAB) Prácticas de laboratorio 2 Catalán anual manaña-mixto
(PLAB) Prácticas de laboratorio 3 Catalán anual manaña-mixto
(PLAB) Prácticas de laboratorio 4 Catalán anual manaña-mixto