Fundamentos de Programación UOC
Descripción
Esta asignatura es el punto de entrada en la programación. Es una asignatura introductoria, en la que aprenderéis los fundamentos del diseño algorítmico o pseudocódigo y la programación en C.
En esta asignatura se aprende a utilizar C como lenguaje de programación, y es necesaria para hacer otros cursos de este grado:
- Prácticas de Programación
- Diseño y Programación Orientada a Objetos
- Trabajo en equipo en la red
Si os dedicáis al desarrollo de software, esta asignatura será clave en vuestra formación.
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.
Resultados de aprendizaje
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 programación de los ordenadores, sistemas operativos y programas informáticos con aplicación a la ingeniería.
Objetivos de la asignatura
El objetivo general de la asignatura es aprender a diseñar algoritmos y programas que cumplan unos criterios básicos de calidad para resolver problemas de baja complejidad. Este objetivo general se concreta en los siguientes objetivos concretos:
- 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.
- Poner en práctica los conceptos y técnicas de programación para que, a partir del enunciado de un problema, se pueda diseñar una solución algorítmica e implementar su correspondiente programa que lo resuelva.
- Usar la modularidad, que permite resolver problemas descomponiéndolos en subproblemas más sencillos, y los esquemas algorítmicos para construir algoritmos a partir de soluciones ya conocidas.
- Adquirir práctica en la aplicación de los conceptos anteriores en un entorno real de desarrollo de programas, y alcanzar un conocimiento no solo conceptual, sino también práctico de cómo escribir un programa, compilarlo, montarlo y ejecutarlo.
En el caso del grado de Ingeniería de Tecnologías y Servicios de Telecomunicación, de acuerdo al nuevo decreto de organización de las enseñanzas universitarias (RD 822/2021), la asignatura persigue los siguientes resultados de aprendizaje:
Conocimientos:
- Demostrar conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
- Utilizar los fundamentos de la programación en redes, sistemas y servicios de telecomunicación.
Habilidades:
- Utilizar aplicaciones de comunicación e informáticas (ofimáticas, bases de datos, cálculo avanzado, gestión de proyectos, visualización, etc.) para apoyar el desarrollo y explotación de redes, servicios y aplicaciones de telecomunicación y electrónica.
Competencias:
- Disponer de las habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
- Aprender nuevos métodos y tecnologías a partir del conocimiento de materias básicas y tecnologías que le dote de una gran versatilidad para adaptarse a nuevas situaciones.
Estos resultados de aprendizaje están vinculados a las competencias de la ORDEN CIN/352/2009, que regula la profesión del ingeniero técnico de telecomunicaciones, que se listan a continuación:
- Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
- Conocimiento y utilización de los fundamentos de la programación en redes, sistemas y servicios de telecomunicación.
- Capacidad de utilizar aplicaciones de comunicación e informáticas (ofimáticas, bases de datos, cálculo avanzado, gestión de proyectos, visualización, etc.) para apoyar el desarrollo y explotación de redes, servicios y aplicaciones de telecomunicación y electrónica.
- Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía
- Conocimiento de materias básicas y tecnologías, que le capacite para el aprendizaje de nuevos métodos y tecnologías, así como que le dote de una gran versatilidad para adaptarse a nuevas situaciones.
Contenidos
Introduciremos el concepto de lenguaje algorítmico o pseudocódigo como una herramienta formal para diseñar algoritmos, que pueden ser traducidos a cualquier lenguaje de programación (en nuestro caso, C)
- Introducción a la algorítmica y la programación
- Tipos básicos de datos
- Estructuras de control: secuencial, alternativa e iterativa
- Tipos estructurados de datos: tablas y tuplas
- Esquemas algorítmicos: recorrido y búsqueda
- Modularidad
- Recursividad