Asignatura grado en ingeniería en tecnologías de la información
FUNDAMENTOS DE PROGRAMACIÓN
Course 2024/2025 Subject code: 71901020
-
Subject guide Course 2024/2025
- First Steps
- Presentation and contextualization
- Requirements and/or recommendations to take the subject
- Teaching staff
- Office hours
- Tutoring in associated centers
- Competencies that the student acquires
- Learning results
- Contents
- Methodology
- Assessment system
- Basic bibliography
- Complementary bibliography
- Support resources and webgraphy
FUNDAMENTOS DE PROGRAMACIÓN
Subject code: 71901020
The subject guide has been updated with the changes mentioned here
Full name | ISMAEL ABAD CARDIEL |
iabad@issi.uned.es | |
Telephone number | 91398-8654 |
Faculty | ESCUELA TÉCN.SUP INGENIERÍA INFORMÁTICA |
Department | INGENIERÍA DE SOFTWARE Y SISTEMAS INFORMÁTICOS |
Full name | JOSE ANTONIO CERRADA SOMOLINOS (Subject Coordinator) |
jcerrada@issi.uned.es | |
Telephone number | 91398-6478 |
Faculty | ESCUELA TÉCN.SUP INGENIERÍA INFORMÁTICA |
Department | INGENIERÍA DE SOFTWARE Y SISTEMAS INFORMÁTICOS |
Full name | RUBEN HERADIO GIL |
rheradio@issi.uned.es | |
Telephone number | 91398-8242 |
Faculty | ESCUELA TÉCN.SUP INGENIERÍA INFORMÁTICA |
Department | INGENIERÍA DE SOFTWARE Y SISTEMAS INFORMÁTICOS |
SUBJECT NAME | |
---|---|
SUBJECT NAME | FUNDAMENTOS DE PROGRAMACIÓN |
CODE | |
CODE | 71901020 |
SESSION | |
SESSION | 2024/2025 |
DEPARTMENT | |
DEPARTMENT | INGENIERÍA DEL SOFTW. Y SIST. INFORMÁTICOS |
DEGREE IN WHICH IT IS OFFERED | |
DEGREE IN WHICH IT IS OFFERED | |
GRADO EN INGENIERÍA INFORMÁTICA | |
COURSE - PERIOD - TYPE |
|
GRADO EN INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN | |
COURSE - PERIOD - TYPE |
|
CREDITS NUMBER | |
CREDITS NUMBER | 6 |
HOURS | |
HOURS | 150 |
LANGUAGES AVAILABLE | |
LANGUAGES AVAILABLE | CASTELLANO |
El objetivo de esta guía es orientar al alumno en el estudio de la asignatura de Fundamentos de Programación. Se recomienda la lectura completa de la guía al comienzo del cuatrimestre para tener una idea completa del temario, las prácticas y el método de evaluación, lo que permitirá al alumno una correcta planificación de su trabajo.
Como se enuncia con el titulo de esta asignatura, su objetivo es abordar los fundamentos de la programación e introducir de forma progresiva y sistemática los conceptos para una correcta metodología de programación. Se considera muy importante el acceso de manera natural e inmediata a la programación del computador. Esto permite al alumno comprobar en la práctica que los ejemplos resueltos y los ejercicios propuestos funcionan correctamente.
Esta asignatura se imparte en el primer cuatrimestre del primer curso, supone una carga docente de 6 créditos y es parte de la materia de fundamentos de programación, con un carácter de formación básica para la titulación de los grados en Ingeniería Informática e Ingeniería de las Tecnologías de la Información.
Como primera asignatura de la materia de fundamentos de programación prepara además para los contenidos que se ofrecen en el resto de las asignaturas de esta materia.
Al tratarse de una asignatura de carácter introductorio, no se requiere ningún requisito previo más allá de los conocimientos generales que un alumno debe tener en este nivel de enseñanza y los conocimientos específicos del manejo de un computador personal a nivel de usuario.
La tutorización presencial de la asignatura se realizará en los Centros Asociados correspondientes. La tutorización virtual o seguimiento de los aprendizajes se realiza a través del Curso Virtual de la asignatura, implantado en la plataforma oficial de la UNED para enseñanzas oficiales. A dicha plataforma se accede a través de la página principal de la Web de la UNED, mediante las claves que se facilitan al formalizar la matrícula.
Para cualquier consulta adicional, el lugar y horario de atención al alumno es el indicado a continuación:
Lugar: Locales de la ETSI Informática de la UNED.
Edificio Interfacultativo.
C/ Juan del Rosal, 16.
Departamento de Ingeniería de Software y Sistemas Informáticos.
Tels 91 398 86 54 (Martes de 10 a 14 h.)
91 398 82 42 (Jueves de 10 a 14 h.)
91 398 64 78 (Jueves de 10 a 14 h.)
En relación con las competencias de la materia, la asignatura "Fundamentos de Programación" contribuye al desarrollo de las siguientes competencias generales y específicas, del grado en que se imparte. Se muestran estas competencias utilizando las mismas referencias que se han usado en la memoria de verificación de la ANECA:
- Competencias generales
- Competencias cognitivas superiores.
- Competencias de expresión y comunicación.
- Competencias específicas
- FB.05 - Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, así como de los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería.
- BC.1 - Capacidad para diseñar, desarrollar, seleccionar y evaluar, aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a los principios éticos y a la legislación y normativa vigente.
- BTEisw.4 - Capacidad para identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
El resultado fundamental del aprendizaje de esta asignatura es la adquisición de manera progresiva y sistemática de una correcta metodología para la programación de computadores. Las materias que se aprenden son las propias de un curso de primer nivel de programación. A lo largo de la asignatura se van introduciendo de forma progresiva las estructuras y herramientas necesarias en cada punto del temario y que están disponibles en cualquier lenguaje de programación de propósito general. Los conceptos más importantes que se adquieren son los siguientes:
- Conceptos básicos de programación e ingeniería de software
- Elementos básicos: valores, tipos, constantes y variables.
- Estructuras básicas: secuencia, selección e iteración.
- Programación estructurada.
- Funciones y procedimientos.
- Esquemas de recorrido y búsqueda.
- Definición de tipos de datos. Formaciones. Registros.
- Punteros y estructuras no acotadas.
- Tipos abstractos de datos (TAD).
- Módulos
Como vehículo para la enseñanza de la programación se utiliza el lenguaje C± (léase C-más-menos), que está constituido por un subconjunto de los lenguajes C y C++. Por lo tanto, cualquier programa escrito en el lenguaje C± se puede editar, compilar y ejecutar en un entorno de desarrollo para C/C++. Es muy importante usar un lenguaje real para poder programar de manera natural e inmediata el computador. Esto permite al alumno comprobar en la práctica que los ejemplos propuestos funcionan y así también adquirir como resultado del aprendizaje el conocimiento de un lenguaje de uso habitual en el desarrollo de software.
Los resultados del aprendizaje dentro de la materia de la asignatura son los siguientes:
- Especificar problemas sencillos.
- Diseñar programas que resuelvan problemas bien especificados.
- Seleccionar y realizar la codificación más adecuada para un algoritmo.
- Realizar pruebas de validación y depuración de un programa dado.
- Abordar metodológicamente proyectos de programación sencillos.
- Dominar un lenguaje de programación acorde al paradigma del contenido de la materia.
Unidad Didáctica I
TEMA 1. Introducción
El objetivo de este tema es introducir los conceptos generales, y dar una panorámica de la programación
TEMA 2. Elementos básicos de programación
En este tema se presenta un conjunto mínimo de elementos de un lenguaje de programación imperativo
TEMA 3. Constantes y Variables
Este tema complementa el anterior con nuevos elementos que permiten construir programas algo más realistas.
TEMA 4. Metodología de Desarrollo de Programas (I)
Se tratan los primeros conceptos metodológicos de programación
TEMA 5. Estructuras Básicas de la Programación Imperativa
Este tema se dedica a introducir las estructuras básicas de la programación imperativa.
TEMA 6. Metodología de Desarrollo de Programas (II)
En este tema se muestran la técnica de refinamientos sucesivos, la verificación formal y la eficiencia.
Unidad Didáctica II
TEMA 7. Funciones y Procedimientos
En este tema se introduce el concepto de subprograma en sus dos variantes de funciones y procedimientos
TEMA 8. Metodología de Desarrollo de Programas (III)
Este tema complementa al anterior y amplia la metodología de desarrollo por refinamientos sucesivos.
TEMA 9. Definición de tipos
En este tema se indican las primeras formas en que el programador puede definir sus propios tipos de datos.
TEMA 10. Ampliación de estructuras de control
En este tema se completa el repertorio de estructuras de control más frecuentes en los lenguajes imperativos.
TEMA 11. Estructuras de datos
En este tema se introducen los mecanismos básicos para la definición de nuevos tipos de datos incluyedo los datos estructurados.
Unidad Didáctica III
TEMA 12. Esquemas típicos de operación con formaciones
En este tema se presentan los esquemas típicos de operaciones con formaciones: recorrido, busqueda y ordenación
TEMA 13. Punteros y variables dinámicas
En este tema se introducen estructuras de datos potencialmente ilimitadas mediante punteros y variables dinámicas
TEMA 14. Tipos abstractos de datos
En este tema se introducen los tipos abstractos de datos (TADs) como adelanto de la programación orientada a objetos.
TEMA 15. Módulos
En este tema se introduce la programación modular basada especialmente en el empleo de los tipos abstractos de datos.
La metodología seguida para el aprendizaje de esta asignatura es la propia de una universidad a distancia, que se caracteriza por el empleo conjunto de medios impresos, audiovisuales y de las nuevas tecnologías. Los materiales docente específicos, las comunidades virtuales de aprendizaje, la asistencia presencial a los estudiantes a través de los profesores tutores de los Centros Asociados y el uso de los diversos sistemas de comunicación (teléfono, videoconferencia, radio, televisión, correo electrónico, etc.) son los medios con que cuenta la UNED para la enseñanza a distancia y todos ellos son utilizados en esta asignatura.
Adicionalmente, el equipo docente mantendrá actualizada una página web completamente específica para la asignatura en la dirección:
ONSITE TEST |
|
---|---|
Type of exam | |
Type of exam | Examen mixto |
Quiz questions | |
Quiz questions | 10 |
Development questions | |
Development questions | 1 |
Duration of the exam | |
Duration of the exam | 120 (minutes) |
Material allowed in the exam | |
Material allowed in the exam | Para realizar el examen no se permitirá el uso de ningún material auxiliar. |
Assessment criteria | |
Assessment criteria | El examen constará de dos partes:
El test es eliminatorio y se necesitan al menos 8 respuestas correctas ( 6 respuestas si se han realizado y aprobado las PEC/Practicas). Los criterios de evaluación y la ponderación de cada parte del examen será publicada en la página web de la asignatura: http://www.issi.uned.es/fp/ Además, en esta misma página web se podrán consultar las soluciones de los exámenes, las notas de las PEC/Prácticas y las notas de los exámenes. |
% Concerning the final grade | |
% Concerning the final grade | 90 |
Minimum grade (not including continuas assessment) | |
Minimum grade (not including continuas assessment) | 5,6 |
Maximum grade (not including continuas assessment) | |
Maximum grade (not including continuas assessment) | 9 |
Minimum grade (including continuas assessment) | |
Minimum grade (including continuas assessment) | 0 |
Coments | |
Coments |
|
CONTINUOUS ASSESSMENT TEST (PEC) |
|
---|---|
PEC? | |
PEC? | Si |
Description | |
Description | Las PEC/Practicas para la evaluación continua se logra mediante la realización de unas prácticas de programación en el lenguaje C± con un grado de dificultad creciente. Las PEC/Prácticas son voluntarias. Es necesaria la realización correcta de todas las prácticas para que sean tenidas en cuenta en la nota final del curso. Las prácticas se podrán realizar en cualquier computador al que pudiera tener acceso el alumno utilizando el entorno de programación para el lenguaje C±. La instalación del entorno de programación, el manejo básico y avanzado del entorno de programación, los enunciados de las prácticas, el método de corrección de las prácticas, etc., están descritos en el libro: “Prácticas de Programación en C±”. y en la página web de la asignatura: http://www.issi.uned.es/fp/ |
Assessment criteria | |
Assessment criteria | Las primeras PEC/Prácticas se corrijen y evaluan de manera automática dentro del entorno de programación para el lenguaje C±.. La última PEC/Práctica la evaluará el tutor correspondiente de cada alumno según su Centro Asociado. La lista de tutores para cada Centro Asociado será publicada en la página web de la asignatura: http://www.issi.uned.es/fp/ |
Weighting of the PEC in the final grade | |
Weighting of the PEC in the final grade | Ver comentarios y observaciones |
Approximate submission date | |
Approximate submission date | Ver comentarios y observaciones |
Coments | |
Coments | En la página web de la asignatura: http://www.issi.uned.es/fp/ se publicará la ponderación de las PEC/Practicas en la nota final, el enunciado de la última práctica y la fecha de entrega de las PEC/Practicas |
OTHER GRADEABLE ACTIVITIES |
|
---|---|
Are there other evaluable activities? | |
Are there other evaluable activities? | No |
Description | |
Description | |
Assessment criteria | |
Assessment criteria | |
Weighting in the final grade | |
Weighting in the final grade | |
Approximate submission date | |
Approximate submission date | |
Coments | |
Coments |
How to obtain the final grade? |
|
---|---|
En la página web de la asignatura: http://www.issi.uned.es/fp/ se publicará el algoritmo para calcular la nota final |
ISBN(13): 9788480049566
Title: FUNDAMENTOS DE PROGRAMACIÓN Author: Cerrada Somolinos, José Antonio;Collado Machuca, Manuel E.; Editorial: EDITORIAL UNIVERSITARIA RAMON ARECES |
ISBN(13): 9788480049573
Title: PRÁCTICAS DE PROGRAMACIÓN EN C+/- Author: Cerrada Somolinos, José Antonio;Collado Machuca, Manuel E.; Editorial: EDITORIAL UNIVERSITARIA RAMON ARECES |