Última actualización: 28/04/2023


Curso Académico: 2023/2024

Programación
(15366)
Programa Académico de Ingeniería de Telecomunicación vía Grado en Ingeniería en Tecnologías de Telecomunicación (Plan: 511 - Estudio: 252)


Coordinador/a: BELLUCCI , ANDREA

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



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 de programación 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.
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
  • Allen Downey and Chris Mayfield. Think Java. O'Reilly Media, Incorporated . 2019
  • Bruce Eckel. Piensa en Java - Thinking in Java. Grupo Anaya Publicaciones Generales. 2007
Recursos electrónicosRecursos Electrónicos *
Bibliografía complementaria
  • Donald E. Knuth. The Art of Computer Programming. Addison-Wesley Educational Publishers Inc. 2011
Recursos electrónicosRecursos Electrónicos *
(*) 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.