Consulta de Guías Docentes



Curso Académico: 2023/24

20057 - PROGRAMACIÓN I: FUNDAMENTOS DE PROGRAMACIÓN


Information of the subject

Código - Nombre:
20057 - PROGRAMACIÓN I: FUNDAMENTOS DE PROGRAMACIÓN
Titulación:
771 - Graduado/a en Ciencia e Ingeniería de Datos
800 - Microtítulo en Programación
Centro:
350 - Escuela Politécnica Superior
Curso Académico:
2023/24

1. Detalles de la asignatura

1.1. Materia

Informática

1.2. Carácter

800 - Obligatoria
771 - Formación básica

1.3. Nivel

800 - Estudios Propios (MECES 2)
771 - Grado (MECES 2)

1.4. Curso

1

1.5. Semestre

Primer semestre

1.6. Número de créditos ECTS

6.0

1.7. Idioma

Español

1.8. Requisitos previos

No hay

1.9. Recomendaciones

A programar se aprende programando. Por ese motivo es importante seguir la asignatura con constancia y programar todo lo que se pide. Las clases serán más prácticas que teóricas y por ello es aconsejable disponer de un ordenador portátil para aprovechar completamente las docencia recibida.

1.10. Requisitos mínimos de asistencia

Dado el eminente carácter práctico, la asistencia mínima es del 90% tanto a teoría como a prácticas de forma independiente.

1.11. Coordinador/a de la asignatura

Eloy Anguiano Rey

1.12. Competencias y resultados del aprendizaje

1.12.1. Competencias

CG2 - Diseñar y desarrollar productos y procesos en los distintos ámbitos de la ciencia e ingeniería de datos, por medio de técnicas analíticas, computacionales o experimentales apropiadas.

CG3 - Resolver problemas con iniciativa, creatividad y razonamiento crítico en el ámbito de la ciencia e ingeniería de datos.

CG5 - Conocer el estado del arte de las tecnologías y las ciencias para permitir la innovación en el ámbito de la ciencia e ingeniería de datos.

CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las
competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.

CB3 - Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.

CB4 - Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.

CB5 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.

CT1 - Trabajar en equipo de forma colaborativa y con responsabilidad compartida.

CT2 - Aprender a realizar y aceptar críticas y fomentar la autocrítica.

CT4 - Organizar su propio autoaprendizaje con un alto grado de autonomía en nuevos métodos y tecnologías, así como adaptarse a nuevas situaciones.

CE3 - Conocer y aplicar los fundamentos de programación y técnicas algorítmicas básicas para diseñar soluciones a problemas, eligiendo el paradigma y los lenguajes de programación más relevantes en el ámbito de la ciencia e ingeniería de datos.

CE4 - Evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.

CE5 - Conocer, diseñar y utilizar de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de problemas en el contexto de la ciencia e ingeniería de datos



1.12.2. Resultados de aprendizaje

PROGRAMACIÓN I: FUNDAMENTOS DE PROGRAMACIÓN (6 ECTS, FORMACIÓN BÁSICA)


Conocer y aplicar de forma práctica los conceptos y habilidades de carácter básico para la programación de computadores. Saber y utilizar las nociones primordiales de automatización de tareas, recursos técnicos para hacerlo y la aplicación de ambas cosas (como algoritmos, diagramas de flujo, pseudocódigo ...). Conocer los fundamentos de un sistema operativo y de su uso a nivel de usuario. Conocer y aplicar los conocimientos fundamentales sobre recursos facilitados por los sistemas operativos (como almacenamiento, flujo de datos, procesos ...) y para la automatización de tareas. Conocer y aplicar los conceptos esenciales de programación (como variables, condicionales, bucles, funciones ...). Conocer y emplear conceptos intermedios de programación (como estructuras de datos básicas, objetos, entrada/salida ...). Utilizar de forma básica, pero autónoma y operativa, un lenguaje de programación actual de alto nivel.

1.12.3. Objetivos de la asignatura

-

1.13. Contenidos del programa

  1. Automatización de tareas y recursos técnicos para ello (como algoritmos, diagramas de flujo, pseudocódigo ...).
  2. Fundamentos de un sistema operativo y su uso a nivel de usuario.
  3. Recursos facilitados por los sistemas operativos (como almacenamiento, flujo de datos, procesos ...) y para la automatización de tareas.
  4. Conceptos básicos de programación (como variables, condicionales, bucles, funciones ...).
  5. Fundamentos de un lenguaje actual de alto nivel.
  6. Conceptos intermedios de programación (como estructuras de datos básicas, objetos, entrada/salida ...)

1.14. Referencias de consulta

Existen multitud de libros de alta calidad para aprender a programar en python. La bibliografía está formada por los libros que voy a utilizar como base de la asignatura, sin embargo cualquiera de la bibliografía complementaria puede ser igual de bueno o mejor para seguir la asignatura.

Bibliografía

  • "Think Python: How to Think Like a Computer Scientist", Allen B. Downey, Ed. O'Reilly.
  • "Linux, principios básicos del uso del sistema" (7ª edición), Nicolás Pos, Ediciones ENI.

Bibliografía complementaria

  • "Effective Python, 90 Specific Ways to Write Better Python" (2nd Edition), "Brett Slatkin, Ed. Pearson.
  • "Python paso a paso", Angel Pablo Hinojosa Gutirrez, Ed. Ra-Ma
  • "Python Data Scince Handbook", Jake VanderPlas, Ed. O'Reilly

 

2. Metodologías docentes y tiempo de trabajo del estudiante

2.1. Presencialidad

Presencial 55h
No presencial 95h

2.2. Relación de actividades formativas

Actividad Formativa

Horas

Clases teóricas en aula

28

Prácticas con medios informáticos

24

Actividades de evaluación. Realización de cuestionarios /pruebas escritas individuales de evaluación en el aula con la presencia del profesor.

3

Trabajo autónomo del estudiante

95

 

3. Sistemas de evaluación y porcentaje en la calificación final

3.1. Convocatoria ordinaria

Para aprobar la asignatura es necesario aprobar por separado teoría y prácticas. Se puede optar por realizar la evaluación continua o la evaluación final pero no por ambas. Se considerará que un estudiante opta por la evaluación continua cuando se presente a la primera prueba de evaluación de teoría o de prácticas.

La nota se calculará según la siguiente fórmula (donde T es la nota de teoría y Pr la de prácticas):

N = 0.65×T+0.35×Pr,si T5 y Pr5mín(0.65×T+0.35×Pr, 4.5),si T<5 o Pr<5

Todas las entregas tanto de problemas como de prácticas se realizarán a través del GIT de la escuela. El profesor corregirá la última versión disponible previa a la fecha y hora límites de entrega.

Continua

Una vez que el estudiante haya presentado la primera práctica o se haya presentado al primer parcial se asumirá que el estudiante ha optado por este tipo de evaluación. En caso de aprobar la evaluación continua la nota final se verá premiada con un 10% sobre la nota obtenida. En ningún caso podrá superarse la nota de 10. Es decir, se calculará según la siguiente fórmula:

N 1.1×N,si N5N,si N<5

Teoría

Consta de dos elementos:

  • P (problemas de la asignatura): la asignatura consta de cuatro problemas (P1, P2, P3 y P4). Estos problemas deben realizarse  individualmente. Si no se entrega algún problema la nota de dicho problema será un 0. La nota de problemas se computará según la siguiente fórmula: P=0.1×P1+0.2×P2+0.3×P3+0.4×P4
  • EP (exámenes parciales): se realizarán dos exámenes parciales. La nota de los exámenes será calculada según la siguiente fórmula: EP= 0.35×EP1+0.65*EP2

Para aprobar la teoría es imprescindible que la media de los problemas esté aprobada y haber aprobado el segundo parcial (EP2). Aprobar por evaluación continua será premiado con un 10% sobre la nota obtenida. En este caso la nota de teoría se calculará como:

T=0.65×EP+0.35×P, si EP5 y P5mín (0.65×EP+0.35×P, 4.5),si EP<5 o P<5

Prácticas

La parte práctica continua consta de 2 prácticas (Pr1 y Pr2). La primera de las prácticas será una práctica de introducción a la programación muy guiada y la segunda práctica será un proyecto de programación completo. Es necesario aprobar ambas prácticas para que las prácticas se consideren aprobadas. La nota de prácticas se calculará como:

Pr= 0.3×Pr1+0.7×Pr2,si Pr15 y Pr25mín(0.3×Pr1+0.7×Pr2),si Pr1<5 o Pr2<5

La nota de la asignatura será calculada según la fórmula indicada al principio de esta sección.

No continua

La evaluación no continua de la teoría se realizará con un examen único (E), con una práctica única (Pr) y una entrega de los problemas incluidos los problemas especiales para evaluación no continua (P).

La nota de teoría se calculará según la fórmula:

N={0.65×(0.65×E+0.35×P)+0.35×Pr, si E5 y P5 y Pr5mín(0.65×(0.65×E+0.35×P)+0.35×Pr, 4.5),si T<5 o P<5 o Pr<5

La nota de la asignatura será calculada según la fórmula indicada al principio de esta sección. Sólo podrán optar por este tipo de evaluación los estudiantes que no hayan entregado ninguna práctica ni se hayan presentado a ningún parcial, sin embargo se podrán entregar los problemas realizados hasta que sea necesario entregar la primera práctica o presentarse al primer parcial.

3.1.1. Relación actividades de evaluación

Evaluación

Parte

% sobre el total Tipo

% sobre la parte evaluada

Continua

Teoría 65%

Exámenes

65%

Problemas

35%
Prácticas 35%

Introducción

30%

Proyecto

70%
No continua Teoría 65%

Examen

65%

Problemas

35%

Prácticas

35%

Proyecto especial

100%

 

3.2. Convocatoria extraordinaria

La evaluación extraordinaria de la teoría se realizará con un examen único (E), una entrega de problemas P y una práctica única (Pr). Deben aprobarse todas las partes de forma independiente. La nota de la asignatura será calculada según la fórmula:

N=0.65×(0.65×E+0.35×P)+0.35×Pr, si E5 y P5 y Pr5mín(0.65×(0.65×E+0.35×P)+0.35×Pr, 4.5),si T<5 o P<5 o Pr<5

 

3.2.1. Relación actividades de evaluación

Evaluación

Parte

% sobre el total Tipo

% sobre la parte evaluada

Extraordinaria Teoría 65%

Examen

65%

Problemas

35%

Prácticas

35%

Proyecto especial

100%

 

4. Cronograma orientativo

Semana

Programación
1
  • Introducción a los Sistemas Operativos
2
  • Comandos básicos para el uso de los Sistemas Operativos
3
  • El camino de la programación
  • Variables, expresiones y declaraciones
4
  • Funciones
  • Condicionales y recursividad
  • Funciones fructíferas
5
  • Iteración
6
  • Cadenas
7 Examen parcial EP1
8
  • Listas
  • Tuplas
9
  • Diccionarios
10
  • Archivos
  • Formato
  • Módulos
  • Depuración
11
  • Clases y funciones
12
  • Clases y métodos
  • Herencia
13
  • Algunas golosinas
  • Depuración
  • Iteradores y decoradores
14 Examen parcial EP2

 


Curso Académico: 2023/24

20057 - PROGRAMACIÓN I: FUNDAMENTOS DE PROGRAMACIÓN


Información de la asignatura

Código - Nombre:
20057 - PROGRAMACIÓN I: FUNDAMENTOS DE PROGRAMACIÓN
Titulación:
771 - Graduado/a en Ciencia e Ingeniería de Datos
800 - Microtítulo en Programación
Centro:
350 - Escuela Politécnica Superior
Curso Académico:
2023/24

1. Detalles de la asignatura

1.1. Materia

Informática

1.2. Carácter

800 - Obligatoria
771 - Formación básica

1.3. Nivel

800 - Estudios Propios (MECES 2)
771 - Grado (MECES 2)

1.4. Curso

1

1.5. Semestre

Primer semestre

1.6. Número de créditos ECTS

6.0

1.7. Idioma

Español

1.8. Requisitos previos

No hay

1.9. Recomendaciones

A programar se aprende programando. Por ese motivo es importante seguir la asignatura con constancia y programar todo lo que se pide. Las clases serán más prácticas que teóricas y por ello es aconsejable disponer de un ordenador portátil para aprovechar completamente las docencia recibida.

1.10. Requisitos mínimos de asistencia

Dado el eminente carácter práctico, la asistencia mínima es del 90% tanto a teoría como a prácticas de forma independiente.

1.11. Coordinador/a de la asignatura

Eloy Anguiano Rey

1.12. Competencias y resultados del aprendizaje

1.12.1. Competencias

CG2 - Diseñar y desarrollar productos y procesos en los distintos ámbitos de la ciencia e ingeniería de datos, por medio de técnicas analíticas, computacionales o experimentales apropiadas.

CG3 - Resolver problemas con iniciativa, creatividad y razonamiento crítico en el ámbito de la ciencia e ingeniería de datos.

CG5 - Conocer el estado del arte de las tecnologías y las ciencias para permitir la innovación en el ámbito de la ciencia e ingeniería de datos.

CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las
competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.

CB3 - Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.

CB4 - Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.

CB5 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.

CT1 - Trabajar en equipo de forma colaborativa y con responsabilidad compartida.

CT2 - Aprender a realizar y aceptar críticas y fomentar la autocrítica.

CT4 - Organizar su propio autoaprendizaje con un alto grado de autonomía en nuevos métodos y tecnologías, así como adaptarse a nuevas situaciones.

CE3 - Conocer y aplicar los fundamentos de programación y técnicas algorítmicas básicas para diseñar soluciones a problemas, eligiendo el paradigma y los lenguajes de programación más relevantes en el ámbito de la ciencia e ingeniería de datos.

CE4 - Evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.

CE5 - Conocer, diseñar y utilizar de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de problemas en el contexto de la ciencia e ingeniería de datos



1.12.2. Resultados de aprendizaje

PROGRAMACIÓN I: FUNDAMENTOS DE PROGRAMACIÓN (6 ECTS, FORMACIÓN BÁSICA)


Conocer y aplicar de forma práctica los conceptos y habilidades de carácter básico para la programación de computadores. Saber y utilizar las nociones primordiales de automatización de tareas, recursos técnicos para hacerlo y la aplicación de ambas cosas (como algoritmos, diagramas de flujo, pseudocódigo ...). Conocer los fundamentos de un sistema operativo y de su uso a nivel de usuario. Conocer y aplicar los conocimientos fundamentales sobre recursos facilitados por los sistemas operativos (como almacenamiento, flujo de datos, procesos ...) y para la automatización de tareas. Conocer y aplicar los conceptos esenciales de programación (como variables, condicionales, bucles, funciones ...). Conocer y emplear conceptos intermedios de programación (como estructuras de datos básicas, objetos, entrada/salida ...). Utilizar de forma básica, pero autónoma y operativa, un lenguaje de programación actual de alto nivel.

1.12.3. Objetivos de la asignatura

-

1.13. Contenidos del programa

  1. Automatización de tareas y recursos técnicos para ello (como algoritmos, diagramas de flujo, pseudocódigo ...).
  2. Fundamentos de un sistema operativo y su uso a nivel de usuario.
  3. Recursos facilitados por los sistemas operativos (como almacenamiento, flujo de datos, procesos ...) y para la automatización de tareas.
  4. Conceptos básicos de programación (como variables, condicionales, bucles, funciones ...).
  5. Fundamentos de un lenguaje actual de alto nivel.
  6. Conceptos intermedios de programación (como estructuras de datos básicas, objetos, entrada/salida ...)

1.14. Referencias de consulta

Existen multitud de libros de alta calidad para aprender a programar en python. La bibliografía está formada por los libros que voy a utilizar como base de la asignatura, sin embargo cualquiera de la bibliografía complementaria puede ser igual de bueno o mejor para seguir la asignatura.

Bibliografía

  • "Think Python: How to Think Like a Computer Scientist", Allen B. Downey, Ed. O'Reilly.
  • "Linux, principios básicos del uso del sistema" (7ª edición), Nicolás Pos, Ediciones ENI.

Bibliografía complementaria

  • "Effective Python, 90 Specific Ways to Write Better Python" (2nd Edition), "Brett Slatkin, Ed. Pearson.
  • "Python paso a paso", Angel Pablo Hinojosa Gutirrez, Ed. Ra-Ma
  • "Python Data Scince Handbook", Jake VanderPlas, Ed. O'Reilly

 

2. Metodologías docentes y tiempo de trabajo del estudiante

2.1. Presencialidad

Presencial 55h
No presencial 95h

2.2. Relación de actividades formativas

Actividad Formativa

Horas

Clases teóricas en aula

28

Prácticas con medios informáticos

24

Actividades de evaluación. Realización de cuestionarios /pruebas escritas individuales de evaluación en el aula con la presencia del profesor.

3

Trabajo autónomo del estudiante

95

 

3. Sistemas de evaluación y porcentaje en la calificación final

3.1. Convocatoria ordinaria

Para aprobar la asignatura es necesario aprobar por separado teoría y prácticas. Se puede optar por realizar la evaluación continua o la evaluación final pero no por ambas. Se considerará que un estudiante opta por la evaluación continua cuando se presente a la primera prueba de evaluación de teoría o de prácticas.

La nota se calculará según la siguiente fórmula (donde T es la nota de teoría y Pr la de prácticas):

N = 0.65×T+0.35×Pr,si T5 y Pr5mín(0.65×T+0.35×Pr, 4.5),si T<5 o Pr<5

Todas las entregas tanto de problemas como de prácticas se realizarán a través del GIT de la escuela. El profesor corregirá la última versión disponible previa a la fecha y hora límites de entrega.

Continua

Una vez que el estudiante haya presentado la primera práctica o se haya presentado al primer parcial se asumirá que el estudiante ha optado por este tipo de evaluación. En caso de aprobar la evaluación continua la nota final se verá premiada con un 10% sobre la nota obtenida. En ningún caso podrá superarse la nota de 10. Es decir, se calculará según la siguiente fórmula:

N 1.1×N,si N5N,si N<5

Teoría

Consta de dos elementos:

  • P (problemas de la asignatura): la asignatura consta de cuatro problemas (P1, P2, P3 y P4). Estos problemas deben realizarse  individualmente. Si no se entrega algún problema la nota de dicho problema será un 0. La nota de problemas se computará según la siguiente fórmula: P=0.1×P1+0.2×P2+0.3×P3+0.4×P4
  • EP (exámenes parciales): se realizarán dos exámenes parciales. La nota de los exámenes será calculada según la siguiente fórmula: EP= 0.35×EP1+0.65*EP2

Para aprobar la teoría es imprescindible que la media de los problemas esté aprobada y haber aprobado el segundo parcial (EP2). Aprobar por evaluación continua será premiado con un 10% sobre la nota obtenida. En este caso la nota de teoría se calculará como:

T=0.65×EP+0.35×P, si EP5 y P5mín (0.65×EP+0.35×P, 4.5),si EP<5 o P<5

Prácticas

La parte práctica continua consta de 2 prácticas (Pr1 y Pr2). La primera de las prácticas será una práctica de introducción a la programación muy guiada y la segunda práctica será un proyecto de programación completo. Es necesario aprobar ambas prácticas para que las prácticas se consideren aprobadas. La nota de prácticas se calculará como:

Pr= 0.3×Pr1+0.7×Pr2,si Pr15 y Pr25mín(0.3×Pr1+0.7×Pr2),si Pr1<5 o Pr2<5

La nota de la asignatura será calculada según la fórmula indicada al principio de esta sección.

No continua

La evaluación no continua de la teoría se realizará con un examen único (E), con una práctica única (Pr) y una entrega de los problemas incluidos los problemas especiales para evaluación no continua (P).

La nota de teoría se calculará según la fórmula:

N={0.65×(0.65×E+0.35×P)+0.35×Pr, si E5 y P5 y Pr5mín(0.65×(0.65×E+0.35×P)+0.35×Pr, 4.5),si T<5 o P<5 o Pr<5

La nota de la asignatura será calculada según la fórmula indicada al principio de esta sección. Sólo podrán optar por este tipo de evaluación los estudiantes que no hayan entregado ninguna práctica ni se hayan presentado a ningún parcial, sin embargo se podrán entregar los problemas realizados hasta que sea necesario entregar la primera práctica o presentarse al primer parcial.

3.1.1. Relación actividades de evaluación

Evaluación

Parte

% sobre el total Tipo

% sobre la parte evaluada

Continua

Teoría 65%

Exámenes

65%

Problemas

35%
Prácticas 35%

Introducción

30%

Proyecto

70%
No continua Teoría 65%

Examen

65%

Problemas

35%

Prácticas

35%

Proyecto especial

100%

 

3.2. Convocatoria extraordinaria

La evaluación extraordinaria de la teoría se realizará con un examen único (E), una entrega de problemas P y una práctica única (Pr). Deben aprobarse todas las partes de forma independiente. La nota de la asignatura será calculada según la fórmula:

N=0.65×(0.65×E+0.35×P)+0.35×Pr, si E5 y P5 y Pr5mín(0.65×(0.65×E+0.35×P)+0.35×Pr, 4.5),si T<5 o P<5 o Pr<5

 

3.2.1. Relación actividades de evaluación

Evaluación

Parte

% sobre el total Tipo

% sobre la parte evaluada

Extraordinaria Teoría 65%

Examen

65%

Problemas

35%

Prácticas

35%

Proyecto especial

100%

 

4. Cronograma orientativo

Semana

Programación
1
  • Introducción a los Sistemas Operativos
2
  • Comandos básicos para el uso de los Sistemas Operativos
3
  • El camino de la programación
  • Variables, expresiones y declaraciones
4
  • Funciones
  • Condicionales y recursividad
  • Funciones fructíferas
5
  • Iteración
6
  • Cadenas
7 Examen parcial EP1
8
  • Listas
  • Tuplas
9
  • Diccionarios
10
  • Archivos
  • Formato
  • Módulos
  • Depuración
11
  • Clases y funciones
12
  • Clases y métodos
  • Herencia
13
  • Algunas golosinas
  • Depuración
  • Iteradores y decoradores
14 Examen parcial EP2