Fundamentos de Informática Grados en Ingeniería Tutor: Antonio Serna UNED C.A. Illes Balears Sesión 01
Objetivos de aprendizaje Visión general de la Informática Comprender el funcionamiento para usar un entorno inf. Como herramienta Usar la OO (Java) para resolver problemas Diseñar de forma crítica y convertir diseños en programas 2/64
De qué me sirve en mi profesión? Concebir un programa = Diseñar un circuito o un mecanismo Mejora de la capacidad de comunicación en equipos multidisciplinares 3/64
Contenidos UNIDAD 1 Conceptos y fundamentos UNIDAD 2 Diseño y programación OO en Java Concentraremos el trabajo aquí Temas 4 a 10 4/64
Evaluación Prueba de evaluación contínua: Ejercicio práctico de POO en Java Calificado por el tutor Nota >=5 para poder ir a Examen 3 etapas: entregadas en plazo = +1pt Supone hasta un punto de la nota final Examen: Diseñado y evaludado por el E. Docente Test eliminatorio sobre UD 1 Diseño OO (Si test >=5) 5/64
Práctica Ejercicio propuesto por el E.D. 3 entregas acumulativas: 28 Marzo 25 Abril 14 Mayo (final obligatoria) Se valora con 1 pt (sobre 10) la entrega en plazo de las partes 1 y 2 Prepara para la 2ª parte del examen 6/64
Recomendaciones Seguir ALF, foros Grupo Tutoría Sólo tendremos tutorías on-line Actitud anticipativa. Preparar temas antes de las tutorías. Ver plan tutorial Llevar la asignatura al día, practicar, preguntar, interactuar Usar a fondo el libro de referencia Entender la práctica es esencial para superar el examen escrito 7/64
Ejercicio de autoevaluación UD1 Cuál es la misión del reloj interno de una computadora? 8/64
Reloj interno Sincroniza las operaciones de la CPU y la memoria principal. Típicamente en cada golpe de reloj se completa una operación de acceso a memoria. 9/64
Ejercicio de autoevaluación UD1 Qué funciones realizan los programas de control de trabajos de un sistema operativo? 10/64
Programas de control de trabajos de un S.Op. Planifican y asignan los recursos a los diferentes procesos. 11/64
Ejercicio de autoevaluación UD1 Qué tipo de instrucciones realiza la ALU? 12/64
ALU Arithmetic-Logic Unit 13/64
Ejercicio de autoevaluación UD1 Qué es un sistema operativo multitarea? 14/64
S. Op. Multitarea Un sistema operativo que permite la ejecución de varios programas a la vez 15/64
Ejercicio de autoevaluación UD1 Qué información contiene la BIOS? 16/64
BIOS La configuración de la máquina. Información que es necesaria mantener aunque la máquina esté apagada 17/64
Ejercicio de autoevaluación UD1 Un proceso en tiempo real es también un proceso en línea? y al revés? Dar un ejemplo de cada proceso para diferenciar el segundo caso. 18/64
Procesos en tiempo real y procesos en línea No / No En línea: conectados con un computador central. Proceso que descarga una página desde un servidor web. Tiempo real: interactúa con el mundo físico y respeta restricciones de tiempo, dando respuestas correctas. Proceso de monitorización de los sensores ABS en un coche 19/64
Ejercicio de autoevaluación UD1 Cuál es la diferencia entre memoria volátil y no volátil? 20/64
Memoria volátil / no volátil La volátil se pierde en el momento en que la máquina se apaga. Por ejemplo, la memoria principal es volátil. En cambio, el disco duro es una memoria no volátil 21/64
Ejercicio de autoevaluación UD1 Cuáles son los principales inconvenientes del sistema operativo DOS? 22/64
Microsoft DOS 1981-1999 Monousuario Monotarea Modelo propietario Sistema de archivos limitado... 23/64
Ejercicio de autoevaluación UD1 Cuántos bytes tiene una memoria RAM de 768 MB? 24/64
Unidades de información 768MB = 768 * 10 6 bytes 1PB = 10 15 bytes 1TB = 10 12 bytes 1GB = 10 9 bytes 1MB = 10 6 bytes 1KB = 1000 bytes 1byte = 8 bit 25/64
Ejercicio de autoevaluación UD1 Qué diferencia existe entre el lenguaje máquina y el lenguaje ensamblador? 26/64
Lenguaje máquina y lenguaje ensamblador El lenguaje máquina se basa en códigos binarios y son los únicos que entiende el procesador Los lenguajes ensamblador sustituyen los códigos binarios por instrucciones y las direcciones a memoria por códigos nemotécnicos 27/64
Ejercicio de autoevaluación UD1 Para qué se utiliza la memoria virtual? 28/64
Memoria virtual (tb swap o de intercambio) Para que varios procesos puedan emplear en suma una mayor cantidad de memoria principal de la que se dispone realmente La memoria virtual es un espacio reservado en el disco duro en donde el sistema operativo almacena la información de memoria principal que no está siendo usada 29/64
Ejercicio de autoevaluación UD1 El sistema binario. Convertir el número decimal 15 a binario. 30/64
Binario / Decimal 15 = 8+4+2+1 128, 64, 32, 16, 8, 4, 2, 1 0 0 0 0 1 1 1 1 31/64
Ejercicio de autoevaluación UD1 En que se distinguen la memoria caché, RAM y virtual? 32/64
Memorias caché, RAM y virtual La memoria cache es la información que se mantiene en memoria principal para evitar accesos al disco duro La memoria RAM es memoria volátil que emplean los procesos durante la ejecución La memoria virtual es memoria en el disco duro que se reserva como extensión de la memoria RAM. 33/64
Ejercicio de autoevaluación UD1 Indicar algunos paradigmas de programación 34/64
Paradigmas de programación Imperativo: BASIC, C Orientación a Objetos: Java, Smalltalk, C++ Declarativo: Algebraico: SQL Funcional: Lisp Lógico: Prolog 35/64
Ejercicio de autoevaluación UD1 Qué tipo de memoria se considera permanente? 36/64
Memorias permanentes Es sinónimo de memoria no-volátil Disco duro, SSD, SD, EEPROM 37/64
Ejercicio de autoevaluación UD1 Cuáles son las principales fases de un compilador? 38/64
Compilación 39/64
Ejercicio de autoevaluación UD1 Cómo está compuesto un disco duro? Explicar brevemente como es físicamente y como se divide para almacenar su información 40/64
Disco duro Pistas, Sectores y Grupos de Sectores 41/64
Ejercicio de autoevaluación UD1 Cuál es la diferencia entre un intérprete y un compilador? 42/64
Intérprete / Compilador Intérprete: traduce instrucciones secuencialmente a código máquina en tiempo de ejecución Compilador: crea un programa en código máquina para ser ejecutado posteriormente 43/64
Ejercicio de autoevaluación UD1 Qué caracteriza a los puertos USB? 44/64
Puertos USB Permiten conectar en serie periféricos sin necesidad de targetas especiales ni de reiniciar el sistema 45/64
Ejercicio de autoevaluación UD1 Cual es la diferencia entre interfaz IDE y ranuras PCI? 46/64
IDE / PCI El interfaz IDE es un dispositivo que conecta las unidades de almacenamiento internas (CD, disco duro, etc) Las ranuras PCI conectan periféricos (tarjeta de sonido, de red, gráfica...) 47/64
Fin de la primera parte -Pausa 10 minutos- 48/64
Java Será nuestro lenguaje para practicar la POO Lenguaje OO de propósito general 49/64
BlueJ Será nuestro entorno de desarrollo. Bueno para propósitos educativos Hay otros: Eclipse, Netbeans... Descargar desde www.bluej.org Descargar también jdk (Java Development Kit) 50/64
Ejemplo en Java No orientado a objetos 51/64
Código fuente Cada clase tiene asociado un código escrito en lenguaje Java que define sus detalles, atributos y métodos Escribir código fuente es la fase de construcción de un programa 52/64
53/64
54/64
Objetos y clases objetos Representan cosas del mundo real o del dominio de un problema / negocio (p.ej.: el coche rojo con matícula 0779 HGU ) clases Representan todos los objetos de un tipo (p.ej.: Coche ) 55/64
Métodos y parámetros Los objetos tienen operaciones que pueden ser invocadas (p.ej.: obtener el color -de un coche- añadir carburante -a un coche- Los métodos pueden requerir parámetros para aportarle información necesaria (Identificar parámetros posibles en los ej.) 56/64
Observaciones Se pueden crear muchas instancias (objetos) de una misma clase Un objeto almacena su estado en sus atributos (valores almacenados en campos) En la clase definimos los atributos de un objeto, pero cada objeto almacena su propio conjunto de valores 57/64
Estado de un objeto (circle1) de la clase Circle 58/64
Dos objetos de la clase Circle 59/64
Valores de retorno Los métodos, al ser invocados, pueden devolver información sobre el objeto o cálculos derivados a través de su valor de retorno 60/64
Tipos de datos Java es un lenguaje en el que cada atributo, parámetro y variable debe especificarse de antemano que tipo de información va a contener Tipos básicos: boolean, char, String, int, long, float, double Tipos objeto 61/64
Conceptos fundamentales de la POO clase objeto método tipo de datos parámetro 62/64
Recapitulando La asignatura, las tutorías y la evaluación Cuestiones de autoevaluación UD1 Introducción a Java y a la POO Conceptos fundamentales 63/64
Para preparar la próxima tutoría Revisar capítulos 2 y 3 Apéndices B, C, D y G del libro base Enunciado de la pŕactica: definir las primeras clases y los métodos y atributos pedidos 64/64