General
Fundamentos de Informática Grado de Ingeniería Mecánica
Programa
Bloque I. Introducción
Tema 0: Presentación
Primer tema con la presentación del curso en el que se explica la metodología de trabajo que se desarrollará y el método de evaluación previsto. Se proporciona, además, datos relevantes del curso como calendario de practicas, aulas, horarios de tutorías del profesorado, etc.Tema 1: Hardware.
Compendio de conceptos básicos de hardware -componentes básicos, tecnologías actuales, capacidades-. Funciones, estructura y componentes de un computador.Tema 2: Software.
Clasificaciones del software, Sistemas Operativos, software de aplicación y Programación de software.
Bloque II. ProgramaciónTema 3: Clases y objetos
Se introducen los principios básicos de la programación orientada a objetos, los conceptos y utilidades más elementales. En este primer tema de programación se introduce la herramienta que se utilizará durante el curso como entorno de desarrollo de programas.Tema 4: Comunicación entre objetos. Algoritmos.
Se introducen las estructuras de control iterativas y que completan a las estructuras condicionales vistas en el tema anterior. Posteriormente, se presentan los conceptos propios de la “comunicación” entre objetos, la visibilidad de los objetos cómo determinarla y cómo modificarla, la referencia al propio objeto, el método main, etc. Se finalizará presentando los arrays, estructura de datos que permiten gestionar como una unidad datos interrelacionados, junto con los algoritmos más comunes que realizan operaciones típicas de ordenación y búsqueda sobre estas estructuras.Tema 5: Herencia y polimorfismo
En este tema se introducen conceptos propios de la programación orientada a objeto cómo la abstracción de datos, basada en la encapsulación y en la composición, la herencia, que permite establecer una jerarquía de objetos y determinar que información comparten y cual es propia de cada uno. Llegaremos al concepto de polimorfismo que consiste en permitir a cada objeto redefinir métodos heredados de forma diferenciada. Finalizaremos presentando ciertas superclases que nos proporcionarán utilidades por defecto como es la clase Object o bien la posibilidad de gestionar un número indefinido de datos, cómo es la clase ArrayList que permite el tratamiento de los vectores dinámicos.Tema 6: Diseño de clases
Tema esencial que justifica la necesidad de realizar un proceso de reflexión previo al desarrollo del código y posterior a él, se proporcionan criterios de calidad en los algoritmos como son el acoplamiento bajo, la cohesión alta, el diseño dirigido por responsabilidades y la refactorización.
Para finalizar el tema y el curso, se presentan los ficheros que como herramientas útiles en el almacenamiento permanente de la información, se hace necesario su conocimiento. Cuestiones como qué tipos de ficheros hay en Java, cómo se realiza la lectura y/o escritura sobre cada tipo de fichero, etc. son las que se tratarán antes de finalizar el curso.