Denominación de la asignatura

Fundamentos de Programación
Grado al que pertenece
Grado en Diseño Digital
Créditos ECTS
6
Curso y cuatrimestre en el que se imparte
Primer curso, primer cuatrimestre
Carácter de la asignatura Básica

Presentación

En la asignatura de Fundamentos de Programación se busca que el alumno adquiera las competencias necesarias para entender la implicación de la programación en el diseño, desarrollo e implementación de aplicaciones informáticas. Para ello, va utilizarse Python, un lenguaje de alto nivel, aunque el curso está diseñado para que el alumno sea capaz de programar correcta y eficientemente, con independencia del lenguaje de programación que posteriormente tenga que utilizar en su entorno profesional.

La asignatura se estructura en capítulos que describen los fundamentos generales de la programación, válidos para cualquier lenguaje que quiera emplearse y aquellos en los que los conocimientos adquiridos se ponen en práctica y se refuerzan empleando el lenguaje Python. Los temas que se tratan son la base para el desarrollo de cualquier aplicación informática: algoritmos, programación modular y estructurada, tipos de datos, diagramas de flujo, subprogramas, control de archivos, recursividad, etc.

Además se ha tenido en cuenta el grado en el que se encuentra la asignatura, Diseño Digital, en el que los alumnos en general no tienen una orientación técnica. Por tanto, se han incluido dos temas que generalmente no se presentan en este tipo de cursos, pero que pueden ser de especial interés para el alumnado: introducción al manejo de imágenes y a la programación de la Interfaz Gráfica de Usuario (GUI).

Competencias

Competencias básicas

  • CB1: Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
  • 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.

Competencias generales

  • CG4. Comprender la naturaleza y esencia de los nuevos medios, el ordenador como metamedio, la información como sustancia, y el software (lo digital) como instrumental medial, estético y proyectual.
  • CG5. Entender los fundamentos básicos de la programación, estructuras de datos, algoritmos, código, así como de las herramientas y técnicas de trabajo del diseño digital.
  • CG10. Aprender de manera autónoma nuevos conocimientos, técnicas, herramientas, lenguajes en el desarrollo de los procesos de diseño digital.
  • CG17. Creación y desarrollo de proyectos de diseño con medios sociales interactivos desde el conocimiento de las técnicas de programación y comunicación así como de los fundamentos sociológicos, narrativos, de lenguaje y creación, etc.
  • CG18. Conocer, usar, mezclar e integrar las diferentes disciplinas del diseño en un diseño digital multidisciplinar.
  • CG20. Sistematizar procesos de observación, descripción, análisis, visualización, realización, presentación pública y evaluación de proyectos de diseño digital.

Competencias específicas

  • CE12. Comprender el valor narrativo del tiempo para el diseño digital.
  • CE13. Informar, narrar o documentar mediante imágenes, gráficos, sonidos y textos desplegados en el tiempo.
  • CE14. Aplicar transformaciones y efectos espacio-temporales con intenciones narrativas para proyectar y realizar comunicaciones visuales con un propósito claro y específico.
  • CE15. Desarrollar y producir proyectos de imágenes y gráficos en movimiento.

Competencias transversales

  • CT1. Capacidad de compromiso con el cumplimiento de las tareas encomendadas.
  • CT6. Capacidad de adaptación a nuevas situaciones. Flexibilidad en nuevos entornos de aprendizaje, como es la enseñanza online.
  • CT9. Capacidad para asumir y llevar a cabo actividades: capacidad para anticipar problemas, proponer mejoras y soluciones y perseverar en su consecución.
  • CT10. Capacidad de encontrar y generar nuevas ideas y soluciones.

Contenidos

Tema 1. Conceptos básicos sobre programación
Concepto de computador
Los lenguajes de programación
Ensambladores, compiladores e intérpretes

Tema 2. Programación modular y estructurada
Estructura de un programa
Algoritmos
Programación modular y estructurada

Tema 3. Tipos de datos
Constantes y variables
Expresiones, identificadores y palabras reservadas
Tipos de datos simples: numéricos, caracteres, lógicos
Tipos de datos compuestos: cadenas, vectores, matrices y listas

Tema 4. Estructuras de control
Tipos de estructuras de control
Estructura secuencial
Estructuras selectivas: bifurcación condicional
Estructuras repetitivas: bucles
Bifurcaciones incondicionales

Tema 5. Introducción a la programación en Python
Estructura de un programa
Módulos y paquetes
Módulos y paquetes
Tipos de datos simples
Estructuras de control

Tema 6. Subprogramas
Introducción a los subprogramas
Funciones y procedimientos
Ámbito y visibilidad
Funciones en Python

Tema 7. Estructuras de datos
Qué es la programación orientada a objetos
Conceptos fundamentales
POO en Python

Tema 8. Funciones en Python
Introducción
Listas
Tuplas
Diccionarios
Pilas
Colas

Tema 9. Archivos y ficheros
Conceptos y definiciones
Soporte y acceso
Clasificación de archivos y operaciones
Procesamiento de archivos

Tema 10. Recursividad
Recursividad: definición
Diseño de algoritmos recursivos
Recursión e iteración
Ejemplos

Tema 11. Ficheros y recursividad en Python
Ficheros
Recursividad

Tema 12. Documentación y depuración
Documentación de programas
Documentación de especificaciones
Guía técnica
Manual de usuario
Guía de instalación
Depuración de programas

Metodología

Metodología

Las actividades formativas de la asignatura se han elaborado con el objetivo de adaptar el proceso de aprendizaje a las diferentes capacidades, necesidades e intereses de los alumnos.

Las actividades formativas de esta asignatura son las siguientes:

  • Actividades. Se trata de tareas de diferentes tipos: trabajos, casos prácticos y proyectos, en función de las características de la asignatura.
  • Participación en eventos. Son eventos programados todas las semanas del cuatrimestre: sesiones presenciales virtuales, foros de debate, test.

En la programación semanal puedes consultar cuáles son las actividades concretas que tienes que realizar en esta asignatura.

Descarga el pdf de la programación

Estas actividades formativas prácticas se completan, por supuesto, con estas otras:

  • Estudio personal
  • Tutorías. Las tutorías se pueden articular a través de diversas herramientas y medios. Durante el desarrollo de la asignatura, el profesor programa tutorías en días concretos para la resolución de dudas de índole estrictamente académico a través de las denominadas “sesiones de consultas”. Como complemento de estas sesiones se dispone también del foro “Pregúntale al profesor de la asignatura” a través del cual se articulan algunas preguntas de alumnos y las correspondientes respuestas en el que se tratan aspectos generales de la asignatura. Por la propia naturaleza de los medios de comunicación empleados, no existen horarios a los que deba ajustarse el alumno.
  • Examen final presencial

Las horas dedicadas a cada actividad se detallan en la siguiente tabla:

ACTIVIDADES FORMATIVAS
HORAS
% PRESENCIAL
Sesiones presenciales virtuales
20
0
Estudio personal del material básico
50,6
0
Lectura del material complementario
19,4
0
Trabajos, proyectos y casos prácticos
55
0
Evaluación
4,1
50
Tutorías
27,9
0
Foros y debates (trabajo colaborativo)
3
0
Total
180

 


Puedes personalizar tu plan de trabajo seleccionando aquel tipo de actividad formativa que se ajuste mejor a tu perfil. El profesor-tutor te ayudará y aconsejará en el proceso de elaboración de tu plan de trabajo. Y siempre estará disponible para orientarte durante el curso.

Recomendaciones técnicas y materiales

Metodología

Para la correcta participación de los alumnos en las diferentes actividades propuestas en la asignatura se recomienda disponer de un ordenador con las siguientes especificaciones mínimas recomendadas:

  • 4 GB de RAM
  • Conexión a Internet superior a 6 Mbit/s
  • Cámara web
  • Micrófono
  • Altavoces o auriculares
  • Sistema operativo Windows o Mac OS
  • Navegador web Chrome, Safari o Firefox actualizado (versiones no actualizadas pueden presentar problemas funcionales y/o de seguridad)

Además se necesitará el siguiente software (del que encontrarás más información en el aula virtual):

  • Python

Bibliografía

Bibliografía básica

La bibliografía básica es imprescindible para el estudio de la asignatura. Cuando se indica que no está disponible en el aula virtual, tendrás que obtenerla por otros medios: librería UNIR, biblioteca… 

Los textos necesarios para el estudio de la asignatura han sido elaborados por UNIR y están disponibles en formato digital para consulta, descarga e impresión en el aula virtual.

 

 

Bibliografía complementaria

Dev Mishra, A. & Grag, D. (2008). Selection of best sorting algorithm. International Journal of Intellifent Information Processing, 2(2), 363-368.

Dijkstra, E. (1968). Go To Statement Considered Harmful. Eindhoven: Technological University.

Fernández, A. (2012). Python 3 al descubierto. Madrid: Ed. RC Libros.

García, M. C. (14 de octubre de 2013). Paradigmas de programación. Recuperado de http://michelletorres.mx

Joyanes, L. (2008). Fundamentos de la programación. Algoritmos y Estructura de Datos (4ª Ed). Madrid: McGraw-Hill.

Librería estándar. Recuperado de https://docs.python.org/dev/library/index.html

López, J. & Quero, E. (2000). Fundamentos de programación. Madrid: Ed. Paraninfo.

Serna, M. (2013). Prueba funcional del software. Un proceso de verificación constante. Medellín: Fondo Editorial, ITM.

Università di Napoli Federico II (2001). The 68000's Instruction Set. Recuperado de: http://www.grid.unina.it/

Valls, J. M. & Camacho, C. (2004). Programación estructurada y algoritmos en PASCAL. Madrid: Pearson Educación.

Von Neumann, J. (1945). First Draft of a Report on the EDVAC. Pennsylvania. Moore School of Electrical Engineering University of Pennsylvania.

evaluación

Evaluación y calificación

El sistema de calificación se basa en la siguiente escala numérica:

0 - 4, 9

Suspenso

(SS)

5,0 - 6,9

Aprobado

(AP)

7,0 - 8,9

Notable

(NT)

9,0 - 10

Sobresaliente

(SB)

La calificación se compone de dos partes principales:

calificación

El examen se realiza al final del cuatrimestre y es de carácter PRESENCIAL y OBLIGATORIO. Supone el 60% de la calificación final (6 puntos sobre 10) y para que la nota obtenida en este examen se sume a la nota final, es obligatorio APROBARLO (es decir, obtener 3 puntos de los 6 totales del examen).

La evaluación continua supone el 40% de la calificación final (es decir, 4 puntos de los 10 máximos). Este 40% de la nota final se compone de las calificaciones obtenidas en las diferentes actividades formativas llevadas a cabo durante el cuatrimestre.

Ten en cuenta que la suma de las puntuaciones de las actividades de la evaluación continua es de 15 puntos. Así, puedes hacer las que prefieras hasta conseguir un máximo de 10 puntos (que es la calificación máxima que se puede obtener en la evaluación continua). En la programación semanal de la asignatura, se detalla la calificación máxima de cada actividad o evento concreto puntuables.

SISTEMAS DE EVALUACIÓN
PONDERACIÓN MIN. 
PONDERACIÓN MÁX.
Participación en foros y otros medios participativos
10%
10%
Realización de trabajos, proyectos y casos
20%
20%
Test de evaluación
10%
10%
Prueba de evaluación final presencial
60%
60%

 

 

Ten en cuenta…
Si quieres presentarte sólo al examen final, tendrás que obtener una calificación de 5 puntos sobre 6 para aprobar la asignatura.

Profesorado

Cristina García del Pozo

Formación: Máster en Diseño y Gestión de Proyectos Tecnológicos por la Universidad Internacional de la Rioja. Ingeniería en Organización Industrial por la Universidad Pontificia de Salamanca. Máster en Seguridad Informática por la Universidad Pontificia de Salamanca. Ingeniería Técnica en Informática de Gestión por la Universidad Pontificia de Salamanca.

Experiencia: Participación en varios proyectos de investigación, tanto de financiación pública como privada, destacando la financiación europea a través del 7 Programa Marco, ejerciendo las tareas de investigación y gestión de proyectos, realizados por tanto por la Universidad Carlos III de Madrid como por la Universidad Pontificia de Salamanca. Docente en la Universidad Pontificia de Salamanca, en el Campus de Madrid, en el curso de adaptación al Grado de Informática y en el Master de Ingeniería del Software. Más de 7 años de experiencia en la gestión de proyectos tecnológicos tanto en empresas privadas como en universidades. En la actualidad técnico de apoyo a la investigación en la Universidad Carlos III de Madrid.

Líneas de investigación: Su investigación dentro del campo de la computación evolutiva e inteligencia artificial se centra en la predicción de patrones de comportamiento.

Orientaciones para el estudio

Orientación para el estudio

Obviamente, al tratarse de formación on-line puedes organizar tu tiempo de estudio como desees, siempre y cuando vayas cumpliendo las fechas de entrega de actividades, trabajos y exámenes. Nosotros, para ayudarte, te proponemos los siguientes pasos:

  1. Desde el Campus virtual podrás acceder al aula virtual de cada asignatura en la que estés matriculado y, además, al aula virtual de Lo que necesitas saber antes de empezar. Aquí podrás consultar la documentación disponible sobre cómo se utilizan las herramientas del aula virtual y sobre cómo se organiza una asignatura en la UNIR y también podrás organizar tu plan de trabajo personal con tu profesor-tutor.
  2. Observa la programación semanal. Allí te indicamos qué parte del temario debes trabajar cada semana.
  3. Ya sabes qué trabajo tienes que hacer durante la semana. Accede ahora a la sección Temas del aula virtual. Allí encontrarás el material teórico y práctico del tema correspondiente a esa semana.
  4. Comienza con la lectura de las Ideas clave del tema. Este resumen te ayudará a hacerte una idea del contenido más importante del tema y de cuáles son los aspectos fundamentales en los que te tendrás que fijar al estudiar el material básico. Lee siempre el primer apartado, ¿Cómo estudiar este tema?, porque allí te especificamos qué material tienes que estudiar. Consulta, además, las secciones del tema que contienen material complementario (Lo + recomendado y + Información).
  5. Dedica tiempo al trabajo práctico (sección Actividades y Test). En la programación semanal te detallamos cuáles son las actividades correspondientes a cada semana y qué calificación máxima puedes obtener con cada una de ellas.
  6. Te recomendamos que participes en los eventos del curso (sesiones presenciales virtuales, foros de debate…). Para conocer la fecha concreta de celebración de los eventos debes consultar las herramientas de comunicación del aula vitual. Tu profesor y tu profesor-tutor te informarán de las novedades de la asignatura.
En el aula virtual de Lo que necesitas saber antes de empezar encontrarás siempre disponible la documentación donde te explicamos cómo se estructuran los temas y qué podrás encontrar en cada una de sus secciones: Ideas clave, Lo + recomendado, + Información, Actividades y Test.

Recuerda que en el aula virtual de Lo que necesitas saber antes de empezar puedes consultar el funcionamiento de las distintas herramientas del aula virtual: Correo, Foro, Sesiones presenciales virtuales, Envío de actividades, etc.

Ten en cuenta estos consejos…

  • Sea cual sea tu plan de estudio, accede periódicamente al aula virtual, ya que de esta forma estarás al día de las novedades del curso y en contacto con tu profesor y con tu profesor tutor.
  • Recuerda que no estás solo: consulta todas tus dudas con tu profesor-tutor utilizando el correo electrónico. Si asistes a las sesiones presenciales virtuales también podrás preguntar al profesor sobre el contenido del tema. Además, siempre puedes consultar tus dudas sobre el temario en los foros que encontrarás en cada asignatura (Pregúntale al profesor).
  • ¡Participa! Siempre que te sea posible accede a los foros de debate y asiste a las sesiones presenciales virtuales. El intercambio de opiniones, materiales e ideas nos enriquece a todos.
  • Y ¡recuerda!, estás estudiando con metodología online: tu esfuerzo y constancia son imprescindibles para conseguir buenos resultados. ¡No dejes todo para el último día!