Esta versión de la guía docente es provisional hasta que no finalize el periodo de edición de las guías del nuevo curso.

Logo UAB

Iniciación a la Programación

Código: 104383 Créditos ECTS: 6
2025/2026
Titulación Tipo Curso
Matemática Computacional y Analítica de Datos FB 1

Contacto

Nombre:
Roberto Benavente Vidal
Correo electrónico:
robert.benavente@uab.cat

Equipo docente

Enric Sala Esteva

Idiomas de los grupos

Puede consultar esta información al final del documento.


Prerrequisitos

Dado que la asignatura es de introducción, se asumirá que no se posee ningún tipo de conocimiento previo sobre la materia.

Sin embargo, es recomendable tener conocimientos a nivel de usuario de algún tipo de plataforma (Windows, Mac o Linux).

En las actividades presenciales en el aula es imprescindible disponer de un ordenador portátil para realizar las tareas de la asignatura.

 


Objetivos y contextualización

Esta asignatura tiene un carácter general e introductorio a la programación. Se profundizará en el estudio de los aspectos metodológicos de la programación y el aprendizaje de un lenguaje de alto nivel. Por tanto, los objetivos generales que se proponen son los siguientes:

  • Entender el ciclo de vida del software: analizar el problema (entender lo que se nos pide), diseño (proponer una solución al problema), implementación (codificación en un lenguaje de programación de la solución elegida), prueba (realización de un test de manera sistemática para asegurar la corrección de la solución implementada).
  • Dotar al estudiante de la capacidad de diseño de algoritmos para la resolución de problemas, introduciendo de manera progresiva y sistemática una metodología rigurosa y estructurada de programación, basada fundamentalmente en la técnica del diseño descendente de algoritmos.
  • Introducir al estudiante en un lenguaje de programación real. Se pretende que el estudiante perciba la diferencia entre la flexibilidad de la notación pseudo-algorítmica que se emplea en los primeros temas y la estricta sintaxis de un lenguaje de programación real, tanto en sus aspectos léxicos (palabras válidas del lenguaje ), sintácticos (reglas para combinarlas) y semánticos (significado de las mismas).
  • Habituar al estudiante a desarrollar programas siguiendo unas normas de estilo tendentes a conseguir programas de calidad. Dentro de estas normas de estilo engloban aquellas que facilitan la compresión del código, como pueden ser el uso de comentarios, la indentación del código, la utilización de nombres adecuados para los tipos de datos, etc.

 


Resultados de aprendizaje

  1. CM06 (Competencia) Desarrollar soluciones algorítmicas eficientes a problemas computacionales de acuerdo con los requisitos establecidos.
  2. CM07 (Competencia) Analizar la complejidad computacional de las soluciones algorítmicas para desarrollar e implementar aquella que garantice el mejor rendimiento.
  3. CM08 (Competencia) Asegurar el funcionamiento correcto de una solución algorítmica de acuerdo con los requisitos del problema a resolver.
  4. KM06 (Conocimiento) Reconocer los conceptos básicos de la lógica, la estructura y la programación de los computadores.
  5. KM07 (Conocimiento) Describir el funcionamiento básico de los sistemas de cómputo.
  6. KM08 (Conocimiento) Reconocer los métodos, sistemas y tecnologías propios de la computación.
  7. SM07 (Habilidad) Utilizar los sistemas operativos y programas de uso común en diversos campos.
  8. SM08 (Habilidad) Utilizar las estructuras algorítmicas y de representación de los datos apropiadas para la resolución de problemas.

Contenido

Tema 1: Introducción a la informática

Historia. Estructura funcional del ordenador. Programas / instrucciones. Niveles conceptuales del ordenador.

Tema 2: Resolución de problemas: introducción a la algorítmica y la programación.

Introducción a la resolución de problemas. Concepto de algoritmo. Fases en el desarrollo de algoritmos. La programación como disciplina de ingeniería. Ciclo de vida del software. Elementos básicos de un algoritmo. Herramientas para la representación de algoritmos. Lenguajes de programación. Clasificación. Traductores de lenguajes: Compiladores e intérpretes.

Tema 3: Conceptos básicos y estructuras de control

Definición de variables y constantes. Tipo de datos fundamentales. Estructura Secuencial. Estructuras de selección o condicionales. Estructuras iterativas o repetitivas.

Tema 4: Estructuras de datos

Arrays unidimensionales: strings, tuplas y listas. Búsquedas y recorridos.

Tema 5: Subprogramas

El concepto de subprograma como abstracción de operaciones. Localidad, neamente, ámbito y visibilidad. Definición de funciones y procedimientos. Llamadas a funciones y procedimientos. Diseño modular descendente. 

Tema 6: Control de erroes

Tipos de errores. Excepciones y asserts. Programación preventiva. Depuración de programas.

Tema 7: Archivos

Definiciones básicas. Entrada / salida de datos en ficheros. Tipos de accesos a ficheros.

Tema 8: Introducción a la programación orientada a objetos

Clases y objetos. Atributos y métodos. Encapsulación. Definición de clases.

Tema 9: Tipos de datos complejos

Listas: iteradores, generadores, paradigma funcional y list comprehensions. Conjuntos. Diccionarios.

 


Actividades formativas y Metodología

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases de Problemas 26 1,04 CM06, CM07, CM08, SM07, SM08, CM06
Clases de Teoría 10 0,4 KM06, KM07, KM08, SM08, KM06
Clasesde Prácticas 13 0,52 CM06, CM07, CM08, SM07, SM08, CM06
Tipo: Supervisadas      
Programming project 25 1 CM06, CM07, CM08, SM07, SM08, CM06
Tipo: Autónomas      
Preparación clases y Estudio personal 30 1,2 KM06, KM07, KM08, KM06
Resolución de problemas auto-evaluables (individual) 42 1,68 CM06, CM07, CM08, SM07, SM08, CM06

La gestión de la docencia de la asignatura se realizará a través del gestor documental Caronte (http://caronte.uab.cat/), que servirá para poder ver los materiales, gestionar los grupos de prácticas, realizar las entregas correspondientes, ver las notas, comunicarse con el profesorado, etc. Para poder utilizarlo hay que dar los siguientes pasos:

  1. Darse de alta como usuario dando el nombre, NIU, y una foto carné en formato JPG. Si ya se ha dado de alta por alguna otra asignatura, no es necesario volver a hacerlo, puede ir al siguiente paso.
  2. Inscribirse en el curso "Programación en Python", dando como código de inscripción el proporcionado el primer día de clase.

En el desarrollo de la asignatura se seguirá la metodología de aula inversa. Esto significa que el alumnado tendrá que trabajar algunos conocimientos antes de las sesiones presenciales en las que principalmente se realizarán actividades prácticas con el objetivo de tratar el máximo de casos posibles para entender la complejidad de lo que implica plantear una solución a un problema de programación.

Antes de clase. Los conceptos básicos se trabajan antes de las sesiones presenciales a partir de los materiales proporcionados con una semana de antelación en la plataforma Caronte. El material a trabajar será documentación escrita, contenido multimedia y actividades de aprendizaje.

Cada estudiante debe prepararse las clases antes de asistir, revisando los materiales tantas veces como sea necesario para asimilar los conceptos. Como orientación, se recomienda dedicar semanalmente un número de horas equivalente al tiempo de clase aproximadamente entre 2 y 3 horas semanalmente. Para cada tema, se propondrá un cuestionario que permitirá evaluar el grado de consecución de los contenidos trabajados

La clase. El objetivo de las sesiones presenciales es pasar de la información al conocimiento. Pondremos el énfasis en crear conocimientos aplicables al análisis y solución de problemas concretos. La estructura de las clases será:

  • Revisión de los conceptos básicos del tema a tratar (15 min). El objetivo es resolver las dudas que puedan existir sobre aspectos teóricos no entendidos y hacer seguimiento de la adquisición de los conceptos básicos.
  • Solución de problemas (resto del tiempo de clase). El objetivo es experimentar realizando una tarea práctica que permita aplicar los conceptos aprendidos para resolver retos y así compartir y crear conocimiento.

Después de Clase. El objetivo es consolidar el conocimiento. En la plataforma Caronte se podrán encontrar un conjunto de problemas evaluables de autocorrección que deben permitir al alumnado profundizar en la comprensión de los temas y personalizar su conocimiento. El hecho de que sea autoevaluable permite adecuar el ritmo de consolidación a cada estudiante y que se produzca una reflexión sobre el propio aprendizaje.

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
Actividades de clase evaluables 10% 0 0 CM06, CM07, CM08, KM06, KM07, KM08, SM07, SM08
Examen final 45% 2 0,08 CM06, CM07, CM08, KM06, KM07, KM08, SM08
Examen intrasemestral 15% 2 0,08 CM06, CM07, CM08, KM06, KM07, KM08, SM08
Prácticas 15% 0 0 CM06, CM07, CM08, SM07, SM08
Resolución de problemas 15% 0 0 CM06, CM07, CM08, SM07, SM08

Actividades de evaluación programadas

La asignatura consta de las siguientes actividades de evaluación:

Actividad

Tipo

Peso

Nota mínima

Recuperable

Examen intrasemestral

individual

15%

No

Examen final

individual

45%

5

Prácticas

grupal

15%

5

Resolución de problemas

individual

15%

No

Actividades de clase evaluables

individual

10%

No

No

Para poder aprobar la asignatura, será necesario tener una nota mínima de 5 en el examen final y las prácticas.

 

Programación de actividades de evaluación

El calendario de las actividades de evaluación se dará el primer día de la asignatura y se hará público a través de Caronte, y en el apartado de exámenes de la web del grado.

 

Proceso de recuperación

El estudiante puede presentarse a la recuperación siempre que se haya presentado a un conjunto de actividades que represente un mínimo de dos terceras partes de la calificación total de la asignatura. En particular si el estudiante no se ha presentado en el examen final no podrá realizar el examen de recuperación

El examen final podrá recuperarse en la fecha fijada por la coordinación del grado. En caso de realizar el examen de recuperación, la nota de este examen también podrá sustituir a la nota del examen intrasemestral si la nota de la recuperación es superior a la nota del intrasemestral.

Las prácticas se podrán recuperar en una segunda entrega en la fecha fijada en el calendario de las actividades de evaluación que se dará el primer día de la asignatura y se hará público a través de Caronte.

Las entregas de problemas se podrán recuperar en cualquier momento del curso, entregándolas de nuevo y evaluándolas con el autocorrector.

De acuerdo con la normativa de evaluación de la Universidad, las actividades de clase evaluables no podrán recuperarse.

 

Procedimiento de revisión de las calificaciones

Para los exámenes (intrasemestral, final y recuperación), se indicará un lugar, fecha y hora de revisión en la que el alumnado podrá revisar la actividad con el profesorado. En este contexto, se podrán realizar reclamaciones sobre la nota de la actividad, que serán evaluadas por el profesorado responsable de la asignatura. Si el estudiante no se presenta a esta revisión, no se revisará posteriormente esta actividad.

Para el resto de actividades, si se detecta algún error en la corrección, se podrá pedir que se revise en cualquier momento, hasta la fecha de la revisión del examen de recuperación.

 

Calificaciones

No Evaluable (NA): Un estudiante se considerará no evaluable (NA) si no se ha presentado en ninguna de las siguientes actividades de evaluación: exámenes de la asignatura (intrasemestral, final y recuperación), prácticas y actividades evaluables en clase.

Nota final: Se calcula con la suma ponderada de las actividades de evaluación según criterios expuestos en el apartado de actividades de evaluación.

En caso de no superar la asignatura debido a que alguna de las actividades de evaluación no llega a la nota mínima requerida, la nota numérica del expediente será el menor valor entre 4.5 y la media ponderada de las notas. Con las excepciones de que se otorgará la calificación de "No Evaluable" al alumnado que no participe en ninguna de las actividades de evaluación, y de que la nota numérica del expediente será el valor menor entre 3.0 y la media ponderada de las notas en caso de que el o la estudiante haya cometido irregularidades en un acto de evaluación

Matrículas de honor: Otorgar una calificación de matrícula de honor es decisión del profesorado responsable de la asignatura. La normativa de la UAB indica que las MH sólo podrán concederse a estudiantes que hayan obtenido una calificación final igual o superior a 9.00. Puede otorgarse hasta un 5% de MH del total de estudiantes matriculados. En caso de que el número de estudiantes con nota superior o igual a 9 supere el 5% del total de matriculados, se aplicarán los siguientes criterios de priorización en el orden enumerado a continuación:

  1. Estudiantes que hayan realizado menos actividades de recuperación.
  2. Estudiantes con mayor nota final.
  3. Estudiantes con nota más alta en el examen final
  4. Estudiantes con nota más alta en el examen intrasemestral

 

Irregularidades cometidas por el alumnado

Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un/a estudiante que puedan conducir a una variación de la calificación en una actividad evaluable se calificarán con un cero (0). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso. Estas irregularidades incluyen, entre otras:

  • la copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
  • dejar copiar;
  • presentar un trabajo de grupo no realizado íntegramente por los miembros del grupo (aplicado a todos los miembros, no sólo a los que no han trabajado);
  • uso no autorizado de la IA (p. ej., Copiloto, ChatGPT o equivalentes) para resolver ejercicios, prácticas y/o cualquier otra actividad evaluable;
  • presentar como propios materiales elaborados por un tercero, aunque sean traducciones o adaptaciones, y por lo general trabajos con elementos no originales y exclusivos del estudiante;
  • tener dispositivos de comunicación (como teléfonos móviles, smart watches, bolígrafos con cámara, etc.) accesibles durante las pruebas de evaluación teórico-prácticas individuales (exámenes);
  • hablar con compañeros durante las pruebas de evaluación teórico-prácticas individuales (exámenes);
  • copiar o intentar copiar de otros alumnos durante las pruebas de evaluación teórico-prácticas (exámenes);
  • usar o intentar utilizar escritos relacionados con la materia durante la realización de las pruebas de evaluación teórico-prácticas (exámenes), cuando éstos no hayan sido explícitamente permitidos.

En ediciones futuras de esta asignatura, al alumnado que haya cometido irregularidades en un acto de evaluación no se le convalidará ninguna de las actividades de evaluación realizadas ni podrá acogerse a ninguna normativa específica de evaluación de los estudiantes repetidores.

 

Ús de la IA

Para esta asignatura, se permite el uso de tecnologías de Inteligencia Artificial (IA) exclusivamente en labores de apoyo, como la búsqueda de información, la interpretación y explicación de programas, resolución de dudas, etc. En ningún caso se permite el uso de la IA para la realización de las tareas de programación que deben entregarse como parte de la evaluación. Cualquier trabajo que incluya fragmentos generados con IA será considerado una falta de honestidad académica y comportará la aplicación de la normativa en lo referente a irregularidades por parte del estudiante.

 

Evaluación de los estudiantes repetidores

Los estudiantes repetidores deben cursar la asignatura por completo. No se guarda ninguna nota de cursos anteriores. 

  

Evaluación única

Esta asignatura ofrece sistema de evaluación única.

La evaluación única de la asignatura constará de las siguientes actividades de evaluación:

Actividad

Tipo

Peso

Nota mínima

Recuperable

Examen final

individual

60%

5

Prácticas

grupal

15%

5

Resolución de problemas

individual

15%

No

Cuestionario de prácticas

individual

10%

5

Para poder aprobar la asignatura, será necesario tener una nota mínima de 5 en el examen final, las prácticas y el cuestionario de prácticas.

Se aplicará el mismo sistema de recuperación que por la evaluación continua, excepto en los puntos que hacen referencia al examen intrasemestral. El cuestionario de prácticas se podrá recuperar el día del examen de recuperación.

La revisión de la calificación final sigue el mismo procedimiento que para la evaluación continua.

Se aplicará el mismo criterio de no evaluable que para la evaluación continua.

 


Bibliografía

J. L. Gahete Díaz, C. M. Vallez Fernández, A. Fernández-Pacheco Sánchez-Migallóm. Fundamentos de programación con PythonMcGraw Hill, 1.ª edición, 2024. ISBN-10: 9788448645274

J. Guttag.Introducción a la computación y programación con Python: con aplicación para la comprensión de datos. MIT Press, segunda edición, 2016. ISBN-10: 9780262529624

S. Chazallet.Python 3: Los fundamentos del lenguaje.  Ediciones ENI, 2ª edición, 2016. ISBN-10: 2409006140

E. Matthes.Curso intensivo de Python: una introducción práctica a la programación basada en proyectos. No Starch Press, 1st edition, 2016. ISBN-10: 1593276036 (Existe versión online: https://ebookcentral.proquest.com/lib/uab/detail.action?docID=4503145)

Señor Myers.Una forma más inteligente de aprender Python: Apréndelo más rápido. Recuérdalo por más tiempo.. Createspace Independent Pub, 2017. ISBN-10: 1974431479

L. Joyanes Aguilar.  Fundamentos de Programación: Algoritmos, Estructuras de Datos y Objetos.  5ª Edición, McGraw-Hill, 2020. ISBN-10:8448161114 (Existe versión online: https://www-ingebook-com.eu1.proxy.openathens.net/ib/NPcd/IB_Escritorio_Visualizar?cod_primaria=1000193&libro=10211)

 


Software

Se utilizará la última versión del paquete Anaconda que incluye Python 3.x y el editor Spyder (https://www.anaconda.com/download/success).

 


Grupos e idiomas de la asignatura

La información proporcionada es provisional hasta el 30 de noviembre de 2025. 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

Nombre Grupo Idioma Semestre Turno
(PLAB) Prácticas de laboratorio 1 Catalán primer cuatrimestre manaña-mixto
(PLAB) Prácticas de laboratorio 2 Catalán primer cuatrimestre manaña-mixto
(TE) Teoría 1 Catalán primer cuatrimestre manaña-mixto