Prácticas de Programación UOC

  • DESCRIPCIÓN
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

  • LA ASIGNATURA EN EL CONJUNTO DEL PLAN DE ESTUDIOS
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

  • CAMPOS PROFESIONALES EN EL QUE SE PROYECTA
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

  • CONOCIMIENTOS PREVIOS

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

  • INFORMACIÓN PREVIA A LA MATRÍCULA

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

  • OBJETIVOS Y COMPETENCIAS
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

  • CONTENIDOS
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.
Solicita información y te ayudaré a resolver cualquier duda.