Fundamentos de programación Código:  75.554    Créditos:  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Campos profesionales en que se proyecta   Conocimientos previos   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje que dispone la asignatura   Recursos de aprendizaje y herramientas de apoyo   Bibliografía y fuentes de información   Metodología   Información sobre la evaluación en la UOC   Consulta del modelo de evaluación   Evaluación Contínua   Evaluación final   Feedback  
Este es el plan docente de la asignatura para el segundo semestre del curso 2023-2024. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

Esta asignatura es el punto de entrada a las técnicas de programación. Si os dedicáis al desarrollo de software, no hace falta decir que la práctica profesional girará principalmente en torno del aprendizaje adquirido en una serie de asignaturas, la primera de las cuales es esta. Así pues, esta asignatura ocupa una posición central en los estudios y en muchas de sus salidas profesionales.

Es una asignatura inicial de programación y, por tanto,  no presupone ningún conocimiento previo de esta disciplina ni de ninguna otra asignatura de estos estudios. Es conveniente, sin embargo, tener algunos conocimientos elementales de matemáticas.

La profundización de las técnicas de programación se hará cursando las asignaturas que son la continuación directa de esta en semestres sucesivos: Prácticas de Programación y Diseño y Programación Orientada a Objetos.

Los conceptos básicos de la programación estructurada se introducen a través de la algorítmica, que permite aprenderlos de manera genérica, sin vincularlos a ningún lenguaje de programación en concreto. Después, se ponen en la práctica en diversos lenguajes de programación a lo largo otras asignaturas del grado. En esta en concreto, las prácticas se hacen en lenguaje de programación C.

Amunt

Esta asignatura es el punto de inicio a las técnicas de programación. La profundización se hará cursando las asignaturas siguientes del plan de estudios: Prácticas de Programación y Diseño y Programación Orientada a Objetos.

La algorítmica y la práctica de programación en lenguaje C permite adquirir unos conocimientos que son imprescindibles para otras asignaturas del grado.

Amunt

Si os dedicáis al desarrollo de software, no es necesario decir que la práctica profesional girará principalmente en torno a las competencias adquiridas en una serie de asignaturas, la primera de las cuales es ésta. Así pues, esta asignatura ocupa una posición central en los estudios y en muchas de sus salidas profesionales.

Amunt

La asignatura no presupone ningún conocimiento previo de esta disciplina ni de ninguna otra asignatura de estos estudios. Es conveniente, sin embargo, tener algunos conocimientos fundamentales de matemáticas.

Amunt

Competencias dentro del Grado

  • Capacidad de diseñar y construir aplicaciones informáticas mediante técnicas de desarrollo, integración y reutilización.
  • Conocimientos básicos sobre el uso y la programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en la ingeniería.

Objetivos de la asignatura

El objetivo general de la asignatura es aprender a diseñar algoritmos y programas  de baja complejidad que cumplan unos criterios básicos de calidad.

Los objetivos concretos son los siguientes:

  1. Conocer y asimilar los conceptos fundamentales de la algorítmica mediante el aprendizaje y comprensión de la sintaxis y semántica de una notación algorítmica.
  2. Conocer y asimilar los conceptos, métodos y técnicas para que, a partir del enunciado de un problema, se pueda especificar el comportamiento preciso que tendrá que tener la solución, diseñarla e implementar el programa correspondiente.
  3. En lo que concierne a los métodos, se verá la aplicación de esquemas como una técnica eficaz para construir algoritmos. También se verá la modularidad como una forma idónea de afrontar problemas complejos al dividirlos en un conjunto de subproblemas más sencillos.
  4. Adquirir práctica en la aplicación de los conceptos anteriores en un entorno real de desarrollo de programas. Así, el estudiante adquirirá un conocimiento no sólo conceptual sino también práctico de cómo escribir un programa, compilarlo, montarlo y ejecutarlo.

 

Amunt

En esta asignatura se estudia el lenguaje algorítmico o pseudocódigo como herramienta de diseño formal de algoritmos (secuencia de instrucciones que se suceden para resolver un problema) que posteriormente se pueden traducir a cualquier lenguaje de programación (en nuestro caso utilizaremos el lenguaje C).

Introducción a la programación

Se exponen  los conceptos básicos de la programación.
 
Tipos de datos

Se describen los diferentes tipos de datos: básicos, estructurados y abstractos. En todos los casos, se verá su implicación en cuanto a la capacidad de representación, operaciones y uso de memoria.

Estructuras de control

Se presentan las tres estructuras fundamentales de control: secuencial, alternativa e iterativa y también los esquemas básicos de búsqueda y recorrido en secuencias.
 
Modularidad

Se estudiarán los diferentes mecanismos de modularidad que podemos utilizar, tanto los que hacen referencia al diseño de los algoritmos (acciones y funciones) como aquellos más relacionados con la organización del código (archivos y librerías).

Amunt

Material Soporte
Materiales de programación Web

Amunt

En los recursos del aula encontraréis el acceso a la XWiki que contiene todos los recursos que necesitáis: unidades de contenidos, guías de software y lenguaje C y orientaciones para realizar las diferentes actividades. La XWiki tiene una explicación inicial sobre el uso de cada recurso y también una guía de aprendizaje donde encontraréis todos los materiales agrupados según la semana en la que hay que utilizarlo. También tenéis accesible el contenido de la XWiki desde el aula de laboratorio.

Cabe destacar también una herramienta especialmente útil. Se trata de una recopilación de cuestiones frecuentes (FAQs) que os servirán para encontrar respuestas rápidas a las preguntas más comunes.

Amunt

  1. Algoritmos y estructuras de datos. Wirth, Niklaus. Naucalpan de Juárez : Prentice-Hall Hispanoamericana, cop. 1987
  2. Fundamentos de algoritmia. Brassard, Gilles. Madrid [etc.] : Prentice Hall, cop. 1997
  3. El Lenguaje de programación C : diseño e implementación de programas. Madrid [etc.] : Prentice Hall, 2001. Félix García Carballeira
  4. Programación en C. Gottfried, Byron S. Madrid [etc.] : McGraw-Hill, cop. 1997
  5. Programación en C : metodología, algoritmos y estructuras de datos. Joyanes Aguilar, Luis. Madrid [etc.] : McGraw-Hill, cop. 2005
  6. Programación en lenguaje C. Quero Catalinas, Enrique. Madrid : Paraninfo, 1998
  7. Programación estructurada en C. Antonakos, James L. Madrid [etc.] : Prentice Hall, cop. 1997 

Amunt

Para poder alcanzar los objetivos propuestos, durante todo el semestre iremos combinando el estudio de la teoría de la algorítmica (diseño de algoritmos) con la práctica de programación en C (codificación de programas).

Desde la guía de aprendizaje de la xWiki, se indicará cada semana cuál es la actividad que se está haciendo, los recursos para poder realizarla, breves explicaciones teóricas de los conceptos clave y los módulos teóricos necesarios.

En esta asignatura, mucho más que en otras, la asimilación de los conceptos y métodos que le son propios depende en gran medida de la realización contínua de los ejercicios propuestos y practicar mucho. Por este motivo, es muy importante tanto la realización de los ejercicios de cada módulo como practicar con los aspectos concretos del lenguaje y del entorno de programación.

El aprendizaje de la programación es eminentemente práctico y requiere de un trabajo continuado e incremental. La evaluación continua (las PEC y las PR) están pensadas para realizar este proceso continuado de aprendizaje. Esta es sin duda la vía que mejor os garantizará alcanzar los objetivos previstos.
 
Para desarrollar la parte práctica de la asignatura tendréis a vuestra disposición un Laboratorio Virtual de C, accesible desde el campus y atendido por un consultor de laboratorio que os ayudará a resolver cualquier duda que tengáis sobre la instalación del software, la corrección de ejercicios en C y la programación en C. El laboratorio está pensado exclusivamente para apoyar al desarrollo de la parte práctica y los ejercicios de C de las PEC.

¿Cuando se han de estudiar los contenidos?

En los materiales web encontraréis la guía de aprendizaje, que mostrará semanalmente un resumen de lo que se trabajará esa semana, la actividad que se desarrollará y los enlaces a los módulos que hay que estudiar. También indica una estimación del tiempo de dedicación mínimo.  La guía de aprendizaje se irá activando semanalmente siguiendo la progresión del semestre.

Amunt

El proceso de evaluación se fundamenta en el trabajo personal de cada estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; el intento fraudulento de obtener un resultado académico mejor; la colaboración, el encubrimiento o el favorecimiento de la copia, o la utilización de material o dispositivos no autorizados durante la evaluación, entre otras, son conductas irregulares que pueden tener consecuencias académicas y disciplinarias graves.

Por un lado, si se detecta alguna de estas conductas irregulares, puede comportar el suspenso (D/0) en las actividades evaluables que se definan en el plan docente –incluidas las pruebas finales– o en la calificación final de la asignatura, ya sea porque se han utilizado materiales o dispositivos no autorizados durante las pruebas, como redes sociales o buscadores de información en internet, porque se han copiado fragmentos de texto de una fuente externa (internet, apuntes, libros, artículos, trabajos o pruebas del resto de estudiantes, etc.) sin la correspondiente citación, o porque se ha practicado cualquier otra conducta irregular.

Por el otro, y de acuerdo con las normativas académicas, las conductas irregulares en la evaluación, además de comportar el suspenso de la asignatura, pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda.

Amunt

Esta asignatura puede superarse por una doble vía:

- A partir de las actividades hechas a lo largo del curso y la realización de una prueba de síntesis (PS):

La combinación de la nota final de las actividades de evaluación continua (EC) y la calificación final de las actividades prácticas (Pr) da como resultado la calificación final de evaluación continua (FC: EC + Pr).
Para tener derecho a hacer la PS, la calificación final de evaluación continua (FC) debe ser igual o superior a 5. La nota final de la asignatura se obtendrá posteriormente cruzando la nota de la PS con la FC.

- Mediante la realización de un examen final (EX):

Para hacer el EX no es necesario haber superado la EC. Por esta vía, la calificación final de la asignatura se obtiene cruzando la nota del EX con la calificación final de las actividades prácticas (Pr).

En cualquiera de las dos vías es obligatorio hacer las actividades prácticas (Pr).

La fórmula de acreditación de la asignatura es la siguiente: (EC + Pr) + PS o EX + Pr.


Ponderación de las calificaciones

Opción siguiendo y superando la FC: (EC + Pr) + PS

Final Continuada: (FC) = EC + Pr

EC = 40%

Pr = 60%

Notas mínimas:

· Pr = 5

· EC = 4

En caso de no conseguir la nota mínima en la Pr, la nota obtenida en la fórmula corresponde a la obtenida en la Pr, o el que indique el modelo de evaluación.


Nota final de asignatura: FC + PS

FC = 70%

PS = 30%

Notas mínimas:

· PS = 3,5

Cuando la nota obtenida en la PS sea inferior a los mínimos establecidos para cada fórmula, la calificación final de la asignatura será la nota obtenida en la PS.

Opción con EX: (EX+Pr)+EC

Final de examen (FE) = EX + Pr

EX = 60 %

Pr = 40%

Notas mínimas:

· Pr = 5

En caso de no conseguir la nota mínima en la Pr, la nota obtenida en la fórmula corresponde a la obtenida en la Pr, o el que indique el modelo de evaluación.


Nota final de asignatura: FE + EC

FE = 65%

EC = 35%

Notas mínimas:

· EX = 4

Esta fórmula de ponderación sólo se aplicará cuando la nota resultante mejore la obtenida en el EX. Cuando la nota obtenida en el EX sea inferior a 4 o la calificación resultante de la fórmula de ponderación no permita mejorar la nota obtenida en el EX, la calificación final de la asignatura será la nota obtenida en el EX.

En el caso de asignaturas con prácticas (Pr) que cruzan con el examen (EX), la fórmula de ponderación sólo se aplicará cuando la nota resultante mejore la obtenida en FE (FE=EX+Pr). Cuando la nota obtenida en el EX sea inferior a 4, la calificación resultante de la asignatura será la nota obtenida en el EX. Cuando la calificación resultante de la fórmula de ponderación no permita mejorar la nota obtenida en FE, la calificación final de la asignatura será la nota obtenida en FE.

Amunt

La evaluación continua (EC) consiste en una serie de ejercicios semanales (9 en total) para trabajar los contenidos trabajados. Todas las PEC tienen el mismo peso en el cálculo de la nota final de EC. 

Las pruebas de evaluación continua consistirán básicamente en la resolución de un ejercicio sencillo de diseño de algoritmos combinado con un ejercicio de codificación en C. Las PEC se deben entregar dentro de los plazos establecidos (encontraréis las fechas en el calendario del aula). No se aceptarán actividades fuera de plazo.

Las PEC se corregirán agrupadas en tres grupos, pero se deben entregar cada una en su plazo:

GRUPO 1:  PEC1 PEC2 PEC3 PEC4
GRUPO 2: PEC5 PEC6 PEC7 PEC8
GRUPO 3: PEC9 

Además de las PEC también hay que hacer una práctica dividida en dos partes (PR1 y PR2) cada una de las cuales  tiene un peso  específico en la nota final de Práctica:  PR1 (8 puntos) i PR2 (2 puntos). Para poder aprobar la asignatura hay que obtener una nota mínima de 5 en la nota final de prácticas.

El curso comenzará con una actividad no evaluable consistente en la preparación del entorno de programación, por eso no tiene puntuación aunque es imprescindible hacerla para poder continuar con el resto de actividades (las prácticas y las PEC)

El hecho de entregar cualquiera de las dos prácticas (PR1 y PR2) implica que vuestra nota final de prácticas será diferente de No Presentado.

Es imprescindible entregar las dos prácticas para poder aprobar la asignatura independientemente de la vía de evaluación que se haya escogido.

La guía de aprendizaje incorpora la evaluación continua de manera que podáis seguir un proceso de aprendizaje progresivo. 

Fraude o Plagio

Es importante tener claro que el seguimiento correcto de la asignatura os compromete a realizar las actividades propuestas (PEC y Prácticas) de manera individual y según las indicaciones que pauta este Plan Docente. En caso de que no sea así, las actividades se evaluarán con una D o un cero según corresponda. En concreto, en caso de extrema similitud entre algún ejercicio de alguna PEC/Práctica de dos o más estudiantes que desacredite el hecho de haberla realizado individualmente, la nota final de EC/Práctica será una D para todos ellos de acuerdo con la normativa UOC de plagio.

Amunt

Las pruebas finales, dependiendo de la via de evaluación escogida, consisten en una prueba de síntesis (PS) o en un examen (EX).  Tal y como se indica en el apartado "Consulta el modelo de evaluación": en la opción siguiendo la FC se debe hacer la prueba de síntesis (PS) y en la opción con EX hay que hacer el examen. Por tanto, en cualquier caso, para superar la asignatura hay que hacer una prueba final y en ambos casos es imprescindible tener una nota mínima final de prácticas de 5.

Amunt

De cada una de las actividades de evaluación del curso (PEC y Prácticas), además de las soluciones publicadas en la agenda del aula, los estudiantes en el umbral del aprobado (C+/C-), recibirán un feedback personal en el que se comentarán los errores cometidos y se darán indicaciones de mejora.

Este feedback se recibirá mediante el mismo aplicativo de entregas y registro de EC en la fecha de publicación de las notas de cada actividad.

Amunt