Prácticas de programación Código:  81.578    :  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Campos profesionales en el que se proyecta   Conocimientos previos   Información previa a la matrícula   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje de los que dispone la asignatura   Recursos de aprendizaje y herramientas de apoyo   Informaciones sobre la evaluación en la UOC   Consulta del modelo de evaluación  
ATENCIÓN: Esta información recoge los apartados del plan docente de la asignatura durante el último semestre con docencia. Al iniciar el periodo de matrícula, podrás consultar el calendario y modelo de evaluación para el siguiente semestre en Trámites / Matrícula / Horarios de las pruebas de evaluación final.
En la asignatura de Fundamentos de Programación habéis adquirido los conceptos básicos de programación dentro del paradigma clásico o procedimental. En esta asignatura se busca ayudar al estudiante a asentar estos conceptos básicos, profundizando en algunos de ellos.
Hasta el momento, los problemas propuestos se podían resolver con la utilización de herramientas y conceptos teóricos explicados en los módulos de teoría, siguiendo unas guías de buenas prácticas de programación. El objetivo final del estudiante era obtener un código que solucionara el problema dado. En la resolución de problemas reales, la obtención de soluciones informáticas a problemas concretos es una tarea de ingeniería, donde la creatividad i la pericia del programador puede ser la diferencia entre conseguir una solución o que el proyecto fracase.
No existen recetas mágicas para encontrar soluciones factibles a todos los problemas a los que un programador se puede enfrontar al largo de su vida profesional. La única forma de que el estudiante adquiera las capacidades de abstracción de problemas y planteamiento eficiente de soluciones, es por medio de la creación de sus propios mecanismos, lo que solo se consigue a base de práctica. Por consiguiente, esta será una asignatura mayoritariamente práctica, donde el estudiante deberá enfrentarse a problemas más complejos y tener en cuenta aspectos de optimización de código para encontrar soluciones que no solo funcionen, sino que también sean eficientes en términos de velocidad y utilización de la memoria.
Siguiendo con lo que se ha iniciado en la asignatura de Fundamentos de Programación, esta asignatura utilizará el lenguaje de programación C para codificar las soluciones a los problemas propuestos.

Amunt

Esta asignatura profundiza en los conocimientos introducidos en la asignatura de Fundamentos de Programación, y por lo tanto se da por superado todo su temario. Dado que los conocimientos introducidos en esta asignatura se sustentan en los conocimientos básicos de programación, si el estudiante decide cursar esta asignatura si haber asimilado los conocimientos básicos de Fundamentos de Programación, necesitará más tiempo para resolver las tareas propuestas, encontrándose con una dificultad mayor a la hora de entender los distintos módulos teóricos.
Es importante que al final de la asignatura, el estudiante haya logrado un alto nivel de programación dentro del paradigma clásico, dado que en se introducirá la programación dentro del paradigma de la programación Orientada a Objeto dentro de la asignatura Diseño y Programación orientada a Objetos.

Amunt

Conseguir un buen nivel de algorítmica y programación es la base para el ejercicio profesional dentro del ámbito del desarrollo de aplicaciones informáticas, y en la mayoría de las tareas que requieren de automatización de procesos o simulación de eventos. Además, la capacidad de abstracción en la resolución de problemas de programación, resulta de gran utilidad en otros aspectos de la vida profesional de los ingenieros, creando buenos hábitos de trabajo y una correcta estructuración y organización de las tareas.
Además, el lenguaje de programación C utilizado en las prácticas de la asignatura es un lenguaje ampliamente utilizado en todo tipo de problemas i ámbitos, y ha sido utilizado como fuente de inspiración para muchos otros lenguajes más modernos, lo que os dará la capacidad de aprender nuevos lenguajes de programación más fácilmente.

Amunt

Los conocimientos previos para la realización de la asignatura son los que se especifican como contenidos en la asignatura de Fundamentos de Programación. En especial, se necesita un buen conocimiento en la formulación de algoritmos y en las técnicas de la programación estructurada. También se necesita facilidad para la codificación de algoritmos en lenguaje C.

Amunt

Dado que esta asignatura es la continuación de Fundamentos de Programación, se recomienda tenerla superada. En caso de estudiantes con posibilidad de convalidar Fundamentos de Programación, hay que tener en cuenta que para el correcto seguimiento de Prácticas de Programación es necesario disponer de los siguientes conocimientos:

  • Conceptos básicos de la programación estructurada
    • Flujo de un programa
    • Estructuras de control condicional e iterativas
    • Modularidad: Definición e implementación de acciones y funciones
  • Tipos de datos
    • Tipos básicos
    • Vectores y matrices
    • Tuplas y tablas
    • Tipos Abstractos de Datos básicos (colas, pilas y listas)
  • Punteros
  • Nociones de Recursividad
  • Uso memoria dinámica
  • Conocimiento básico del lenguaje de programación C.


Como estudiantes de Prácticas de Programación tendréis acceso a todos los materiales de Fundamentos de Programación, pero el tiempo de dedicación a la asignatura y su dificultad será mucho mayor en caso de no tener nociones básicas de estos contenidos.

Amunt

La competencia central de esta asignatura es que el estudiante asimile la capacidad de diseñar y construir aplicaciones informáticas mediante técnicas de desarrollo, integración y reutilización. La asimilación de esta competencia requiere trabajar en las siguientes competencias específicas: 1)       Saber escribir e implementar un algoritmo que satisfaga unos requerimientos preestablecidos aplicando la metodología más adecuada. 2)       Saber calcular la complejidad de un algoritmo y ser capaz de comparar la eficiencia de distintas soluciones posibles para resolver un problema dado. 3)       Conocer en profundidad los lenguajes y herramientas de programación (IDE) más actuales y populares. 4)       Conocer los distintos mecanismos para la ejecución de una aplicación (Compiladores, intérpretes, etc.). 5)       Conocer en profundidad los recursos existentes para la depuración de un programa. 6)       Saber implementar (codificar) cualquier diseño de programa. 7)       Saber elegir la estructura modular y de datos necesaria para construir una aplicación informática. 8)       Ser capaz de entender algoritmos y programas escritos (en un lenguaje de programación concreto) por otras personas, así como conocer los algoritmos y componentes de bibliotecas más aceptados para problemas concretos (ej. Manipulación de datos, etc.). 9)       Conocer las buenas prácticas de programación (tabulación, comentarios, documentación, política de nombres, etc.).

Amunt

Los contenidos de la asignatura se han dividido en 5 bloques teóricos:
1)       Diseño descendente.
2)       Estructuras de datos básicas: Listas, Pilas y Colas.
3)       Recursividad.
4)       Técnicas de análisis de algoritmos (complejidad algorítmica y eficiencia).
5)       Algoritmos de búsqueda y clasificación (búsqueda lineal, búsqueda binaria, método de la burbuja, ordenación por inserción, ordenación por selección, etc.).
y 5 bloques prácticos:
1)       Introducción a las herramientas de programación: Entornos de desarrollo (IDE), compilador, intérprete y depurador.
2)       El lenguaje de programación C.
3)       Gestión de la memoria.
4)       Entrada y Salida.
5)       Implementación de algoritmos complejos.

Amunt

Màquina virtual Fonaments de programació / Máquina virtual fundamentos de programación Software en línea
Prácticas de programación Web
Estructuras de datos básicas PDF
Materiales de programación Web

Amunt

Para el contenido teórico de la asignatura se utilizará el libro “Manual de Algorítmica”,  escrito por Jesús Bisbal Riera, y que encontrareis en la bibliografía de la asignatura. En este libro encontrareis las explicaciones teóricas y ejemplos para los bloques teóricos 1, 3, 4 y 5. Para el bloque 2, se utilizará un documento anexo desarrollado específicamente para esta asignatura.
En los recursos del aula encontrareis:
·         Módulo 2. Estructuras de datos básicas: Éste modulo corresponde al anexo que contiene información sobre el módulo 2 de teoría. También lo recibiréis en casa en formato papel.
·         Corrector automático: Pera una autocorrección orientativa de algunos ejemplos de codificación en C, dispondréis de un corrector automático.
En los recursos del aula de laboratorio encontrareis:
·         Manual del lenguaje C: Éste manual introduce un entorno y un lenguaje de programación en concreto, que permitir poner en práctica los conocimientos aprendidos en los materiales didácticos. Concretamente, el manual presenta un lenguaje de programación comercial (el C) y da las pautas de traducción de la notación algorítmica a C.
·         Guía de estilo de programación en C.
·         Programas: Dev-C++ y manual de instalación.
·         Tablas de conversión entre lenguaje algorítmico y C.

Amunt

La Normativa académica de la UOC dispone que el proceso de evaluación se fundamenta en el trabajo personal del estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de originalidad en la autoría o el mal uso de las condiciones en las que se hace la evaluación de la asignatura es una infracción que puede tener consecuencias académicas graves.

El estudiante será calificado con un suspenso (D/0) si se detecta falta de originalidad en la autoría de alguna actividad evaluable (práctica, prueba de evaluación continua (PEC) o final (PEF), o la que se defina en el plan docente), ya sea porque ha utilizado material o dispositivos no autorizados, ya sea porque ha copiado de forma textual de internet, o ha copiado de apuntes, de materiales, manuales o artículos (sin la citación correspondiente) o de otro estudiante, o por cualquier otra conducta irregular.

La calificación de suspenso (D/0) en la evaluación continua (EC) puede conllevar la obligación de hacer el examen presencial para superar la asignatura (si hay examen y si superarlo es suficiente para superar la asignatura según indique este plan docente).

Cuando esta mala conducta se produzca durante la realización de las pruebas de evaluación finales presenciales, el estudiante puede ser expulsado del aula, y el examinador hará constar todos los elementos y la información relativos al caso.

Además, esta conducta puede dar lugar a la incoación de un procedimiento disciplinario y la aplicación, si procede, de la sanción que corresponda.

La UOC habilitará los mecanismos que considere oportunos para velar por la calidad de sus titulaciones y garantizar la excelencia y la calidad de su modelo educativo.

Esta asignatura sólo puede superarse 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.

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

 
 

Amunt