Última actualización: 13/06/2023


Curso Académico: 2023/2024

Programación
(13490)
Grado en Ingeniería de Comunicaciones Móviles y Espaciales (Plan: 442 - Estudio: 217)


Coordinador/a: FRAGA VAZQUEZ, ANABEL

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Formación Básica
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:

Rama de Conocimiento: Ingeniería y Arquitectura



Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Ninguna
Objetivos
El objetivo de este curso es introducir al estudiante en las técnicas básicas de programación de modo que aprenda a programar aplicaciones de cierta entidad en el ámbito de las telecomunicaciones. El lenguaje de programación elegido es Java, si bien las habilidades fundamentales adquiridas serán de carácter genérico de modo que puedan ser aplicadas a otros lenguajes de programación de uso habitual. Al finalizar el curso con éxito, el estudiante será capaz de: - Comprender los fundamentos de la programación imperativa - Entender los mecanismos de la programación estructurada - Comprender y manejar los diferentes tipos de datos proporcionados por el lenguaje - Comprender y manejar las estructuras de control de flujo - Conocer la sintaxis del lenguaje Java - Conocer los principales tipos de pruebas que se suelen aplicar a programas - Analizar y entender programas con código desarrollado en Java - Localizar y solucionar errores de sintaxis y de funcionamiento en un programa, dados unos requisitos - Analizar y entender algoritmos expresados en pseudocódigo y/o mediante diagramas de flujo - Diseñar y desarrollar algoritmos sencillos de acuerdo a unos requisitos prefijados - Desarrollar programas sencillos en lenguaje Java, tanto a partir de algoritmos especificados mediante diagramas de flujo o pseudocódigo, como directamente a partir de sus requisitos de funcionamiento - Adquirir conocimientos de algoritmos básicos de búsqueda y ordenamiento - Diseñar, desarrollar y ejecutar planes de pruebas de programas.
Competencias y resultados del aprendizaje
Descripción de contenidos: Programa
PARTE I: Fundamentos de programación - Arquitectura básica de un ordenador - Lenguajes de programación - Compilación y ejecución de programas - Elementos de un programa: datos y algoritmos - Herramientas básicas de programación: algoritmos, diagramas de flujo y pseudocódigo. - Lenguaje JAVA PARTE II: Programación estructurada - Tipos de datos primitivos y operadores - Estructuras de control - Condicionales - Bucles PARTE III: Introducción a las pruebas de programa PARTE IV: Conceptos avanzados - Cadenas de caracteres: la clase String - Arrays - Entrada/salida PARTE V: Programación modular - Organización del código en métodos - Intercambio de información entre métodos: paso de parámetros
Actividades formativas, metodología a utilizar y régimen de tutorías
La metodología docente incluirá: 1. Clases magistrales, donde se presentarán los conocimientos que los alumnos deben adquirir. Para facilitar su desarrollo los alumnos tendrán textos básicos de referencia de teoría y de problemas que les permitirán completar y profundizar en aquellos temas en los cuales estén mas interesados. 2. Prácticas en laboratorios informáticos, en donde se analizarán y desarrollarán programas que hacen uso de los distintos conceptos impartidos en la materia. Estas prácticas se desarrollarán en grupo, lo que servirá para fomentar la capacidad de trabajo en equipo de los alumnos. 3. Resolución de ejercicios por parte del alumno, tanto en papel como en el ordenador, que servirán para autoevaluar sus conocimientos y adquirir las capacidades necesarias. 4. Se le planteará al alumno un problema de complejidad similar a los utilizados en las clases de prácticas, que deberá resolver correctamente y en un tiempo razonable en el ordenador. 5. Puesta en común de las respuestas a los ejercicios y corrección conjunta para afianzar conocimientos y desarrollar la capacidad para analizar y comunicar la información relevante para la resolución de problemas. Además la puesta en común favorecerá el intercambio de opiniones críticas tanto entre profesor y alumnos como entre alumnos. 6. Uso de nuevas tecnologías de e-learning con una plataforma conocida (edX) donde los estudiantes tendrán la oportunidad de reforzar su aprendizaje a través de:evaluación cruzada, auto-aprendizaje y video para permitir que los estudiantes adquieran más conocimientos en cualquier momento que deseen.
Sistema de evaluación
  • Peso porcentual del Examen Final 30
  • Peso porcentual del resto de la evaluación 70
Calendario de Evaluación Continua
Bibliografía básica
  • Alfonso Jiménez Marín, Franciso Manuel Pérez Montes. Aprende a Programa con Java. Ediciones Paraninfo. 2016
  • BRUCE ECKEL. "Piensa en Java / Thinking in Java". Pearson Educación. Versión española: 2002 - 2ª Edición. Versión inglesa: 2007 - 4ª Edición.
  • C. T. Wu. Introduction to Object-Oriented Programming with Java 5th edition. McGraw-Hill, 2009.
  • David Camacho, José Mª Valls, Jesús García, José M. Molina, Enrique Bueno. Programación, algoritmos y ejercicios resueltos en Java. Pearson/Prentice Hall, 2003..
  • FRANCISCO DURAN, FRANCISCO GUTIERREZ, ERNESTO PIMENTEL. "Programación orientada a objetos con Java". Thomson, 2007.
  • Herbert Schildt. Java 9. ANAYA MULTIMEDIA. 2018
  • J. M. Pérez Menor, J. Carretero Pérez, F. García Carballeira, J. M. Pérez Lobato. Problemas resueltos de programación en lenguaje Java. Thomson.
  • RUSSEL WINDER & GRAHAM ROBERTS. "Developing Java software". Wiley. 2006 - 3º Edición.
Recursos electrónicosRecursos Electrónicos *
Bibliografía complementaria
  • Donald E. Knuth. The Art of Computer Programming. Addison-Wesley Educational Publishers Inc. 2011
(*) El acceso a algunos recursos electrónicos puede estar restringido a los miembros de la comunidad universitaria mediante su validación en campus global. Si esta fuera de la Universidad, establezca una VPN


El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.