Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Videoconferencia 6_10_26 Programacion - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 6 de octubre de 2026 por Francisco J. G.

5 visualizaciones

Videoconferencia 6_10_26 Programacion

Descargar la transcripción

¿Qué vamos a hacer? Primero vamos a ver un poquito el aula virtual, para los que no lo conozcan, vamos a ver la guía didáctica, la repasaré, os aconsejo que veáis tanto la guía didáctica como la programación, 00:00:01
y después hablaremos de varias cosas, una de un poco de qué va el módulo en conjunto 00:00:21
y luego podemos hablar de tanto de la instalación de NetBeans y de JDK 00:00:30
como también un poquito lo que es la unidad 1. 00:00:36
A ver, la unidad 1 es extensa, pero es verdad que es mucho de teoría. No nos metemos en harina hasta la unidad 2. Si habéis visto, hay 11 unidades, entonces los periodos de cada unidad son cortos. 00:00:42
entonces, como son cortos 00:01:01
para no saturar de tareas 00:01:04
quizás, y a lo mejor pues tampoco 00:01:05
es necesario, en esta primera 00:01:08
pues una tarea, pero a lo mejor en la segunda no pongo tarea 00:01:10
y en la tercera pongo una tarea sobre la segunda y la tercera 00:01:12
ya veréis lo que hago 00:01:14
pero para que no saturaros 00:01:15
y que lo vayáis viendo poco a poco 00:01:17
¿por qué? porque es que 00:01:20
son días hábiles 00:01:22
por unidad, pueden ser 15 días 00:01:24
contando fin de semana 00:01:26
pues a lo mejor son 20-23 días por unidad 00:01:28
entonces 00:01:30
porque son muchas y el temario lo exige, esas 11 unidades. 00:01:31
Entonces, podría haberlas agrupado, pero era muy complejo. 00:01:36
Entonces, a lo mejor lo que agrupo son las tareas, aunque tengáis luego diferentes unidades. 00:01:38
¿Vale? 00:01:42
Ya, si queréis, empezamos. 00:01:45
Me voy a meter, voy a compartir la pantalla y decirme alguno. 00:01:48
¿Veis el aula virtual, verdad? 00:02:09
Sí la veis, ¿verdad? 00:02:14
Sí, sí, sí. 00:02:17
Bien, repaso un poquito de la virtual, aquí tenéis los datos al comienzo, cuándo vais a tener las videoconferencias semanales, que son los martes y los jueves, los martes son dos horas y los jueves es una, ¿vale? 00:02:19
Aquí tenemos todas las unidades, se podrían, como digo, podríamos haber agrupado creación de primer programa con estructura de control o incluso pues utilización de objetos y de salida de clases, pero he querido separarlo porque así es como viene pues de nuestra educación, vienen así los varios y bueno, ¿qué puedo hacer? 00:02:30
En esta primera a lo mejor tenéis una tarea, pero a lo mejor para estas dos unidades, que sean la 2 y la 3, podemos agruparlo y generar una tarea en la tercera en la que os pida hacer algunos ejercicios en los que ya tenéis que incluir todos los elementos de lo que es un programa con las estructuras de control, por ejemplo. 00:02:49
y así, pues según vayamos avanzando, pues veré, pero a lo mejor no es necesario crear una tarea para que no se ature, 00:03:11
porque fijaos, es que el 21 de diciembre termina la primera unidad, ¿vale? 00:03:18
La verdad es que esta unidad en realidad es facilita, la segunda tampoco es muy difícil, 00:03:22
pero fijaos, están rondando pues al torno a los 24, 25 días, pero es que no hay más, 00:03:26
es que el 14 de mayo terminamos, entonces he tenido que estructurar estas 11 unidades, 00:03:33
repartirlas entre los días que hay 00:03:38
y me ha quedado así 00:03:40
con respecto 00:03:42
al aula, ya sabréis 00:03:44
un poco del aula de coordinación 00:03:46
como es, aquí tenéis la programación didáctica 00:03:48
os aconsejo que la leáis, tenéis también la guía 00:03:50
didáctica que ahora la vamos a repasar 00:03:52
aquí tenéis la etiqueta, la etiqueta no es nada más 00:03:53
que una 00:03:56
infografía que yo lo hago todos los años 00:03:56
para 00:03:59
aconsejar como 00:04:00
uno se maneja a la hora 00:04:03
de un entorno virtual en el que tiene que 00:04:06
meter correos, foros, etcétera, pues 00:04:08
cómo escribir, 00:04:09
cosas muy, muy 00:04:12
lindas. Luego 00:04:13
tenemos aquí, luego ya toda la 00:04:16
unidad, y si veis, 00:04:18
aquí abajo, bueno, tenéis la tarea, 00:04:19
y os he puesto cómo instalar 00:04:22
en NetBeans 31. He creído conveniente 00:04:24
utilizar la última versión de NetBeans, 00:04:25
¿vale? Aquí tenéis 00:04:27
los dos enlaces, tanto de Apache NetBeans 00:04:30
como de Temurin. ¿Por qué he utilizado 00:04:31
Temurin? Porque lo veremos, 00:04:34
sabéis que está el 00:04:36
el JDK y el JRE. Bueno, si no lo sabéis, necesitamos para compilar y ejecutar los programas 00:04:37
en Java. Entonces, el JRE tiene la máquina virtual, lo que nos genera es un bytecode 00:04:43
intermedio en el que luego ese bytecode, que es un punto class, pues se va a tener que 00:04:50
ejecutar en una máquina virtual. Esa máquina virtual la tiene el JRE y las herramientas 00:04:55
de compilación, depuración, etcétera, la tiene el JDK. Pues ahora han sacado, hay un 00:05:00
nuevo jdk en el que incluye la máquina virtual y entonces nos podemos ahorrar y evitar el jr que a 00:05:04
veces por distintas versiones pues daba problemas entonces tan sólo tenemos que instalar el jdk y 00:05:10
luego tenemos que a continuación cuando todo está en regla e instalar el apache en netflix aquí 00:05:15
tenéis un vídeo de cómo se hace y aquí tenéis la instalación que sería esta que luego si queréis la 00:05:21
repasamos. Aquí tenéis la instalación paso a paso de esta herramienta que la tendréis 00:05:27
que tener preparada para poder hacer los ejercicios, para ejecutar los programas en el Hub. 00:05:37
¿Qué más? En cuanto a la guía didáctica, sería esta de aquí. Bueno, no sé si me he dejado algo. 00:05:45
En cuanto a la guía didáctica, os la explico por encima, sin dar mucho en ella, o leerosla si queréis. Yo os lo aconsejaría que la leierais. ¿Qué nos dice la guía didáctica? ¿Qué tipo de formativo es? ¿Qué módulo es? ¿Qué sería el módulo de programación? 00:05:51
aquí están mis datos y aquí tenéis las horas de videoconferencias voluntarias 00:06:11
tanto hoy de 4 y 10 a 6 como los jueves de 5 y 5 a 6 00:06:17
con respecto, esto es lo nuevo que se ha introducido este año 00:06:23
que serían las llamadas tutorías colectivas 00:06:30
que serían estas tres, que serían tutorías en las que bien podemos resolver dudas 00:06:32
podemos hablar algo de la unidad 00:06:37
o incluso realizar ejercicios 00:06:41
en grandes estas horas. 00:06:44
Yo siempre las voy a grabar. 00:06:46
En cuanto a los contenidos, 00:06:49
serían los que hay aquí. 00:06:50
Aquí se me ha ido un poco en la tabla, 00:06:51
pero estos son los contenidos 00:06:53
de la Comunidad de Madrid 00:06:54
y esto es todo lo que vamos a ver 00:06:56
a lo largo del curso. 00:06:58
Ahora tengo una presentación 00:07:00
donde repasaremos del módulo, 00:07:03
donde repasaremos todo lo que se va a ver. 00:07:05
esta sería, uy, no sé 00:07:07
qué ha pasado con el PDF, lo miraré 00:07:09
porque aquí ha salido 00:07:12
mal, lo miraré 00:07:13
y lo resolveré, ¿vale? para que os salga bien 00:07:15
¿vale? esto realmente no es nada más que 00:07:17
esta tabla que aparece aquí 00:07:19
pero no sé 00:07:21
qué le ha pasado a esto 00:07:23
no es nada más que esta de aquí 00:07:25
es lo mismo 00:07:37
pero no sé si 00:07:38
el PDF está corrupto, lo repasaré 00:07:41
y lo volveré a colgar, ¿vale? ya bien 00:07:43
no me he dado cuenta 00:07:45
¿Qué tenemos que saber en cuanto a la vía didáctica? 00:07:47
Bueno, la metodología, bueno, es la de todos los años. 00:07:49
Esto es cómo se va a entregar la tarea, ¿vale? 00:07:51
Un formato para entregarla. 00:07:54
Las tareas van a ser, veis aquí, serán pues las fechas muy similares a aquí. 00:07:56
Aquí ya he puesto tareas para todas las unidades, pero veremos que a lo mejor elimino pues algunas, ¿vale? 00:08:02
Y esto sería en cuanto a la estimación de horas recomendadas para cada una, 00:08:07
cada una de las unidades, este es un módulo de 230 horas. 00:08:11
En cuanto al seguimiento, criterios de evaluación, que a lo mejor a lo que más se nos puede interesar, 00:08:16
cómo va a ser, pues, traer dos exámenes, uno que sale en la prueba ordinaria y otro en la prueba extraordinaria, 00:08:22
que son aquí presenciales, y que tenéis que sacar un 5, un mayor de 5, para aprobarlos. 00:08:29
Con respecto a las tareas, las tareas suponen un punto adicional a la nota que saquéis del examen. 00:08:34
Entonces, esas tareas suponen un punto. Si yo tengo 10 tareas, pues tenemos que cada tarea contribuirá de una manera. Dependerá eso de los RAs, que ahora veremos los porcentajes de los RAs o los RAs implicados. Aunque aquí he puesto todos los RAs por igual, en función de los RAs que copen cada tarea, pues se repartirá ese valor. 00:08:42
Imaginaos si tenéis 10 tareas y cada una podría valer, si todas las tareas son iguales, podría valer 0,1 puntos cada una de las tareas. Si sacáis un 10, en las 10 tendríais un punto que se añadiría a la nota del examen. 00:09:08
Eso sí, ese punto adicional que se añade a la nota del examen solo se añade si sacáis en el examen un 5 o mayor de 5. Si no sacáis un 5, o sea, no lo aprobáis, no se va a sumar esa nota. Solo cuando la suméis se sumará dicha nota y se incrementará. 00:09:22
Si tenéis un 0,5 en las tareas y habéis sacado un 0,5, pues al final tendréis un 6. 00:09:38
Aquí está cómo se redondea. Miradlo. Cuidado con el redondeo desde 4 a 4,99. 00:09:46
El redondeo siempre de 4 a 4,99 siempre va a ser de un valor de 4. 00:09:54
O sea, si tenéis un 4,65, vais a tener un 4. 00:09:59
¿Qué sucede en el resto de intervalos? 00:10:03
Fuera de ese intervalo, si los dos primeros decimales son mayores de 50, tendremos que se suma una unidad. 00:10:06
Si es menor de 50 o igual a 50, se resta una unidad. 00:10:16
Ejemplo, un 4,65 es un 4. 00:10:20
Un 5,65 sería un 6. 00:10:25
Y un 5,45 sería un 5. 00:10:30
Estos serían los RAs. 00:10:35
Aquí tenemos todos los RAs. 00:10:36
no sé qué ha pasado 00:10:38
tampoco aquí, miraré y lo repasaré 00:10:41
porque esto está mal 00:10:43
pero bueno, que sepáis que estos son los 6 R's 00:10:44
que íbamos a ver, que ahora lo veremos en la 00:10:47
presentación y que todos contribuyen por igual 00:10:49
esto se ve en cuanto a la guía didáctica 00:10:52
luego 00:10:54
la arreglo y os la cuelgo de nuevo 00:10:56
porque veo que hay algunos errores 00:10:58
con respecto 00:11:00
a la presentación 00:11:03
la presentación del módulo. Tengo aquí una presentación que sería esta. 00:11:05
Esta sería la presentación del módulo. 00:11:21
En esta presentación voy a hablar de los RAs y voy a hablar de todo lo que vamos a dar 00:11:25
a lo largo de todo el módulo, a lo largo de todo el curso. 00:11:29
La asignatura se llama programación y que sepamos que tenemos nueve resultados de aprendizaje 00:11:34
y esos nueve resultados de aprendizaje se van a repartir entre las unidades que tenemos 00:11:41
Vamos a tener 11 unidades de trabajo y este sería el mapa de los resultados de aprendizaje 00:11:45
En principio veremos las estructuras de un programa, eso cubrirá el RA1 00:11:52
Con respecto a las estructuras de control, aquí tenemos las estructuras de un programa y añadiríamos también los elementos del primer programa, que sería la unidad 2. 00:11:57
Entonces, esto cubriría la unidad 1 y la unidad 2. 00:12:09
Con respecto a la estructura de control, sería el RA3. 00:12:12
Luego pasaríamos a los fundamentos de aprobación de objetos con el RA2, las clases de objetos con el RA4, entrada y salida con el RA5, 00:12:15
los tipos avanzados y la programación orientada a objetos, estos serían los tipos de datos avanzados, 00:12:25
que son las colas, pilas, etcétera, que sería el R6, y el R7 sería la programación orientada a objetos avanzada. 00:12:32
Y luego ya pasaríamos a la base de datos y presencia de datos, que cubrirían los RAs tanto 8 y 9. 00:12:38
Aquí tenemos el itinerario del módulo, el itinerario tendríamos primero una de fundamentos, 00:12:46
en el que hablaríamos de la unidad 1 a la unidad 3. 00:12:50
Ya he dicho que unidad 1 es ver qué es un programa, qué es un algoritmo. Unidad 2, pasamos a nuestros primeros programas sencillos, viendo lo que es una variable, viendo lo que es una constante, viendo cuáles son los operadores, etc. 00:12:52
Y la unidad 3, que serían ya las estructuras de control. Por lo tanto, los bucles while, for, los condicionales, etc. 00:13:06
¿Veis todo esto? Con todo esto ya podríamos estar realizando programas, lo que es básicamente a nivel de una manera procedimental, sin tener en cuenta la programación orientada a objetos. 00:13:17
Con esto sería lo que serían los fundamentos de programación en cualquier lenguaje. No parece que aquí lo vamos a hacer en lenguaje Java. Luego pasaremos después a objetos. Ahora pasamos de algo procedimental, pasamos a entender el ámbito de este lenguaje de programación a través de los objetos. 00:13:28
Los objetos, hay muchos lenguajes de programación de una variedad de objetos y trata de visualizar el mundo como si fuera todo un objeto. 00:13:49
Eso que conlleva, conlleva y esos objetos provienen de una serie de clases. 00:14:00
Las clases de ellas mismas se pueden instanciar los objetos y esos objetos tendrán unas propiedades y unos atributos que les diferencian unas instanciar de otras. 00:14:05
Eso es la nueva metodología que surgió a raíz de vez más más, surgieron Smalltalk, que llevaron a otros lenguajes de programación también orientados a objetos, en el que se creó esa nueva visión y se olvidó la otra manera, que era la procedimental, a base de un montón de funciones y un programa en el que iba llamando a esas funciones. 00:14:13
Se pasó de todo eso a lo que era una programación orientada a objetos, en el que todo es un objeto, tenemos un montón de clases y contextualizamos todo como si fuera un medio lleno de objetos, con unas propiedades y unos atributos. 00:14:39
Después de entender lo que son los objetos, las clases, etc., pasaremos a datos en memoria, pasaremos a los tipos de datos, y los tipos de datos tanto estáticos como dinámicos. 00:14:56
Veremos las pilas, las colas, etc. 00:15:04
Y por último, hablaremos de la... 00:15:07
Aquí, intermedias, sí hablaremos un poco de interfaz de usuario. 00:15:08
Veremos con JavaFX crear botones, etc. 00:15:12
Y por último, pasaremos a la persistencia. 00:15:16
Ah, bueno, sí, tiene aquí interfaz. 00:15:18
La persistencia interfaz, que será, pues, 00:15:20
cómo podemos, a través de Java, acceder a la base de datos, 00:15:22
modificar datos, etc. 00:15:26
La unidad 1, ya lo he dicho antes, 00:15:30
tenemos datos a los primeros programas, 00:15:33
que sería la primera que vamos a ver, 00:15:34
que es un algoritmo, diferenciar de manera clave que es un algoritmo y que es un programa, porque un programa y un algoritmo no es lo mismo, que es un paradigma y los lenguajes de programación. 00:15:36
Y por último, el entorno y la calidad, que sería el qué. Tanto los errores de sintaxis, la calidad de un programa, cómo puede ser más claro, más legible, los IDs que tenemos para compilar y ejecutar los programas, etc. 00:15:48
Todo eso es lo que vamos a ver en la unidad 1 y en la que compete ahora. 00:16:09
Esta es la que vamos a tener hasta la fecha del 21 de octubre. 00:16:12
Pasamos a la unidad 2. ¿Qué vamos a ver en la unidad 2? 00:16:21
Pues elementos de un programa informático. 00:16:23
Aquí ya sí nos metemos en lo que sería ya el fundamento de programación. 00:16:25
Fundamento de programación, esto que podríamos dar aquí, lo vamos a ver con un idioma, 00:16:29
que es el idioma Java, pero que podría servir para cualquier lenguaje de programación. 00:16:35
¿Por qué? Porque son los fundamentos de programación, tanto esto como la estructura de control de la unidad de tres, que nos van a servir para hacer cualquier tipo de programa. 00:16:40
¿Qué se pretende con esto? Se pretende que tengáis un pensamiento computacional. ¿Qué es un pensamiento computacional? 00:16:47
Es cuando yo veo un problema, intento solucionarlo. ¿Y cómo lo soluciono? Pues diseño un algoritmo y con ello lo paso luego a un lenguaje de programación. 00:16:53
Y con ello obtengo un resultado o una solución a dicho problema. Eso es lo que quiero que aprendáis, a tener ese pensamiento computacional para realmente, para eso sirve un programa y un algoritmo, que sería para resolver problemas. 00:17:02
que vamos a ver aquí en la unidad 2 00:17:21
pues tanto identificadores, las palabras reservadas 00:17:24
que es una variable, las constantes 00:17:26
que es un literal 00:17:28
los tipos de datos que vamos a tener 00:17:30
enteros, de cadena, operadores, expresiones 00:17:32
las conversiones simplitas 00:17:34
y explícitas pues tanto 00:17:36
de un tipo de dato a otro 00:17:37
los casting, los comentarios 00:17:39
entradas y salidas estándar 00:17:41
como el 00:17:43
System.Au.Primer.En 00:17:44
aquí tenemos un programa sencillito 00:17:47
en Java, en el que, bueno, aquí 00:17:50
donde utiliza la clase Scanner, que ya veremos, etc. 00:17:52
Esto se ve en cuanto a la unidad 2 y se necesita complementar con la unidad 3 00:17:57
para 00:18:01
aunar lo que es los fundamentos de programación. Necesitamos, si queremos 00:18:02
hacer un programa, no podemos hacer un programa solo con esto. Necesitamos 00:18:09
hacer un programa, bueno, sí podríamos hacer programas, pero muy sencillos. Si queremos hacer un programa 00:18:13
un poco más complejos, necesitamos de todo esto que aparece aquí y nos aparecen las estructuras de control. 00:18:17
¿Qué vamos a ver en la estructura de control? Necesitamos de un condicional, necesitamos de una herramienta 00:18:22
que nos permita decidir en función de una condición si vamos en una dirección o vamos en otra. 00:18:26
¿Qué necesitamos también? Una repetición. Necesitamos, por ejemplo, imaginaos, quiero hacer una tabla de multiplicar, 00:18:31
necesitamos un bucle que nos vaya recorriendo, una variable que vaya aumentando y nos vaya generando 00:18:37
cada uno de los números por los que va a multiplicarse 00:18:44
por ejemplo, si queremos hacer 00:18:46
la tabla del 2, pues necesitamos 00:18:48
generar el 2x1, 2x2, 2x3 00:18:49
necesitamos un bucle que vaya recorriendo 00:18:52
una variable que vaya 00:18:53
sumando una unidad y vaya generando el segundo número 00:18:55
por el que va multiplicado al 2 00:18:58
necesitamos tener 00:18:59
bucles, tanto for, while, igual 00:19:02
y por último necesitamos también saltos 00:19:03
salto o salida del bucle cuando sea necesario 00:19:05
etcétera, pues con los break 00:19:07
o continuar 00:19:09
en el bucle sin que haga 00:19:11
lectura, pues en continuar a la siguiente iteración 00:19:13
pues con el continue 00:19:15
o con el retru para salir 00:19:17
ya digo, hasta aquí, hasta la unidad 00:19:21
3, habremos visto lo que son fundamentos 00:19:23
de programación, sabremos programar 00:19:25
cualquier programa y a lo mejor si sabemos 00:19:27
otro idioma, pues podemos programar en otro 00:19:29
idioma, en Python o en 00:19:31
lo que sea, pero 00:19:33
sabremos lo que es los fundamentos 00:19:35
de programación y el conocimiento 00:19:37
computacional para poder hacer cualquier 00:19:39
programa, programa sencillo 00:19:41
¿Qué pasamos a la unidad 4? Una vez que sabemos los fundamentos de programación, vamos a introducir lo que son los objetos. 00:19:44
Hablaremos de lo que es una clase, las estanciaciones de las clases que son los objetos, que esos objetos tendrán un comportamiento de una identidad determinada 00:19:55
y hablaremos de la encapsulación, cómo se ocultan los detalles internos de este objeto hacia el exterior. 00:20:07
Pasamos a la unidad 5, que es el desarrollo de clases y creación de objetos. 00:20:20
Sabemos lo que es un objeto, sabemos cómo instanciarlo de una clase, pero nos queda todavía saber cómo crear una clase. 00:20:24
Una clase es algo genérico, una estructura de algo genérico que va a tener una serie de propiedades y de métodos y de la cual podemos estanciar objetos, cada uno de ellos diferente, con un valor determinado para cada uno de sus atributos y una llamada o eventos a cada uno de sus métodos. 00:20:30
Necesitaremos hacer lo que es una clase. Esto es un ejemplo de una clase. Veremos la visibilidad de estas clases. Veremos lo que es un constructor. 00:20:52
veis aquí, son dos atributos de tipo cadena y de tipo doble, que además son privados, esto es lo que se llamaba la encasulación, ¿por qué? 00:21:05
son privados, alguien desde fuera no puede acceder a ellos directamente, lo tiene que hacer a través de sus métodos, la clase vemos que es pública, por lo tanto se puede acceder a la misma 00:21:18
tenemos un constructor, el constructor siempre es un método que tiene el mismo nombre que la clase 00:21:28
además es un constructor sobrecargado que está formado 00:21:33
por dos parámetros en su interior 00:21:36
estos dos parámetros sirven para inicializar los dos parámetros que tenemos aquí arriba 00:21:39
y luego tenemos un método que se llama el método total 00:21:44
veremos lo que es esto, en cuanto a la 6 haremos estructuras de almacenamiento 00:21:47
y vamos a ver tanto los arrays unidimensionales como los arrays bidimensionales 00:21:53
o lo que se llaman las matrices. También esto sería 00:21:56
parte de lo que son los fundamentos de programación, el uso 00:22:00
de Arrays y veremos también algoritmos, recorridos y 00:22:04
búsquedas y ordenaciones con respecto a estos, cómo podemos 00:22:08
ordenar un Array, cómo podemos hacer una búsqueda, etc. 00:22:11
Luego pasamos a la unidad 7, en la que hablaremos de clases avanzadas 00:22:16
y de excepciones. Aquí veremos lo que son las superclases, las subclases, 00:22:20
Veremos la herencia. Que sepáis que Java no tiene herencia múltiple. Por ejemplo, C++ tiene la propiedad de la herencia, pero tiene una herencia múltiple, mientras que Java solo puede ser de una clase o de otra. Veremos eso, veremos las relaciones de los constructores, veremos la sobreescritura de métodos, veremos lo que es el polimorfismo y veremos las excepciones, como capturar, propagar y lanzar excepciones. 00:22:24
En la unidad 8 pasamos a las colecciones de datos y aquí estamos hablando de colecciones de datos que serían estructuras de datos dinámicas y serían en este caso las listas, las pilas, tendremos las colas con la estructura FIFO, el first in first out, o sea el primero que entra es el primero que sale en la cola, 00:22:53
mientras que una pila es el LIF, o sea, el last year, first out, o sea, el último que entra es el primero que sale. 00:23:16
Veremos también los conjuntos y de aquí pasaremos a la lectura y escritura de información, 00:23:25
veremos qué son los streams, veremos cómo podemos utilizar la casa escáner, 00:23:31
cómo podemos hacer lectura de datos y luego la escritura en pantalla, etc. 00:23:36
Aquí nos meteremos con todo esto. 00:23:41
En la unidad 10 veremos las interfaces gráficas. 00:23:48
Ya he dicho que veremos con JavaFX y veremos un GUI simple en el que tengamos unos botones 00:23:50
y que podamos además hacer eventos, o sea, que utilizamos controladores para que en función de dar al botón 00:23:57
eso pueda generar una acción y desencadenar un error. 00:24:03
Y por último, terminaríamos la unidad 11 con las bases de datos relacionales y persistencia de órdenes. ¿Qué nos interesa de aquí? Nos interesa establecer una conexión con una base de datos, por ejemplo MySQL, establecer esa conexión a través de Java, poder abrir esa conexión, establecer modificaciones en la base de datos o incluso captura de datos, lectura de datos, etc. 00:24:09
Y con esto tendríamos todo lo que sería las 11 unidades y todo lo que vamos a ver a lo largo de todo el curso. 00:24:39
Aquí, bueno, he puesto cómo se relacionan las unidades con los RAs, lógica más objetos, RA2, RA3, todo esto lo tenéis en la guía didáctica y no voy a... 00:24:50
Aquí lo tenéis en resumen, es la temporalización de la misma. 00:25:03
Aquí tenéis la unidad 1, si veis la diferencia entre unidades, 00:25:07
pues son unidades con un tiempo relativo corto. 00:25:11
Hay algunas que coinciden con las navidades o coinciden con las semanas de santa en el que se alargan, 00:25:19
pero yo solo puedo contar los días lectivos. 00:25:24
Entonces, que sepáis que son muchas unidades y que, bueno, pues que vamos a ir, no es que vayamos rápido, es que hay que dar todo este temario, entonces hay que hacerlo en estas unidades. 00:25:28
En cuanto a cómo aprender programación, se genera aquí un esquema en el que lo importante primero es comprender, imaginaos si a vosotros os mandan resolver un problema, 00:25:43
lo primero que tenéis que hacer es comprender, imaginaos que ese problema lo dan en texto, lo primero que tenéis que hacer es leer ese problema y definir, comprenderlo. 00:25:55
Para poderlo solucionar, lo primero que tenéis que saber es qué es lo que se os pide, qué problema tenéis que resolver. 00:26:04
Por ello tenéis que leerlo, tenéis que definir sus restricciones, tenéis que definir sus datos. 00:26:11
Entonces, posteriormente, una vez que ya eso lo tienes claro, tienes claro realmente con lo que cuentas, con lo que realmente, qué es lo que realmente quieres, cuál es el problema y qué es lo que quieres solucionar, entonces aquí viene la creación del algoritmo. 00:26:15
¿Veis aquí la diferencia entre el algoritmo y el programa? Luego lo veremos. Entonces, creas el algoritmo y lo diseñas. Una vez diseñado, lo implementas, lo llevas a código. Aquí lo puedes saber escrito en un diagrama de flujo o con cualquier otra herramienta en donde hayas dibujado o diseñado la solución a ese problema, el algoritmo. 00:26:32
Ese diagrama de flujo después lo puedes pasar a implementarlo o escribirlo en un código claro y modular a ser posible y lo más legible y comentado posible. Una vez ya implementado, pues se prueba. Vamos a ver si el problema que querías solucionar realmente soluciona toda la cosoística que necesita ese problema. 00:26:54
Entonces, se le ponen valores límites, se le ponen errores, se le ponen para ver si con esas pruebas sí responde bien. 00:27:20
Una vez que ya ha sido probado, pues, lógicamente, uno aunque lo prueba, es verdad que no existe programa. 00:27:28
Normalmente, las pruebas pueden ser muy exhaustivas, pero eso no garantiza que no tenga ningún error. 00:27:37
Si puedes garantizar que tú has generado todas las pruebas que crees necesario, que debería tener, incluso podrías ser muy exhaustivo, pero eso no quita que el programa pueda tener un error, sino que para las pruebas que tú le has efectuado, que eran lo que te interesaba, el programa funciona de manera correcta. 00:27:42
De ahí viene luego después la depuración, si surge algún error, depurar, ver la causa, corregir y volver a rediseñar o incluso modificar aquí en la implementación del mercado. 00:28:03
Y esto sería el resultado final de esta presentación. ¿Hasta aquí alguna pregunta? 00:28:18
Por mi parte, no. 00:28:28
Vale, si queréis paso. Esto sería todo lo que vamos a ver a lo largo del curso. 00:28:31
Voy a pasar a poner la herramienta que vais a necesitar para ejecutar Java. 00:28:37
Primero, aquí tenéis dos enlaces. Uno es el enlace de NetBeans. 00:28:47
Yo he instalado, me lo he instalado además, también en mi ordenador, el NetBeans 31. 00:28:52
Es la última versión, aquí lo tenéis, lo descargáis y os saldrá una carpeta comprimida que luego tendréis que descomprimir. 00:28:57
Con respecto al otro link, es este que aparece aquí, que sería el enlace a Temurim JDK. 00:29:03
Este Temurim JDK que viene de Clipse y además este es OpenJDK, o sea que sería gratuito. 00:29:13
Este aparece, JDK25LTS, este es el que querría que lo descarguéis para Windows, que estaría aquí. 00:29:22
Lo descargáis y ya tendréis los dos ficheros que vais a necesitar. Aquí tenéis el repaso de la instalación y tenéis el vídeo donde yo lo he realizado también. 00:29:31
¿Qué tenemos que hacer? Aquí tenemos las versiones, el JDK. Fijaos aquí en lo del JRE. No instalar aparte. No vamos a olvidar el JRE, que siempre a veces da problemas. 00:29:50
quiero que sepáis la diferencia entre la jdk y la jr 00:30:01
jdk lo que va a tener es el java c 00:30:04
tenemos tanto el compilador, depurador, etc 00:30:07
pero el jr es el que tiene la máquina virtual de java 00:30:09
¿qué quiere decir eso? 00:30:12
que cuando yo compilo 00:30:14
lenguajes de programación como c o c++ 00:30:16
cuando el compilador actúa 00:30:19
lo convierte en código máquina 00:30:23
o sea, en código nativo 00:30:25
lo compila y ya está 00:30:27
Mientras que Java no, Java lo va a convertir en, Java C lo convierte a compilarlo en un bytecode, ese bytecode serían los ficheros .class. 00:30:29
Esos bytecodes, como un código intermedio, luego después, si yo tengo la máquina virtual de Java en cualquier ordenador, es portable. 00:30:40
Yo puedo llevar esos .class a cualquier ordenador donde tenga la máquina virtual de Java y allí pueden ser ejecutados con la máquina virtual de Java. 00:30:51
Si veis, hay como un espacio intermedio, o sea, hay como si dijéramos un punto intermedio, quería decir. ¿Por qué C y C++ es más rápido que Java? Pues, lógicamente, porque no necesita ese paso intermedio C o C++. 00:30:59
Y por eso, en pruebas de tiempo real, en programas para tiempo real o programas para sistemas operativos, se utiliza C++ y no se utiliza Java. 00:31:17
Entonces, que sepáis que, por tanto, necesitamos un JDK y un JR. 00:31:34
Pero el JR, ahora con la nueva versión de JDK, incluye lo que antes en la máquina virtual estaba JR, pues ahora la incluye el JDK. 00:31:37
De tal manera que nos podemos olvidar del JR y lo único que vamos a instalar es el JDK25LTS, que es el que tiene también, además de lo que tiene el compilador, pues va a tener también la máquina virtual. 00:31:47
Y ya viene todo en uno y nos olvidamos y mucho más sencillo de instalar y que no nos dé problemas con el JR porque versiones obsoletas o etc. 00:31:57
¿Qué hacemos? Pues lo primero que hacemos es jdk, incluye pues ya lo he dicho, las herramientas para compilar, ejecutar Java y también pues la descarga sería para 64 bits y bueno, está la distribución. 00:32:06
¿Qué hacemos? Pues le damos a instalar, ejecutamos y, bueno, pues, por ejemplo, nos la instalará, pues, lo más seguro que nos la instale, pues, en el archivo de programa, en java.java.rar y en el jdk.dn5. 00:32:25
Aquí hago hincapié en lo de incluye lo necesario para desarrollar y ejecutar aplicaciones Java sin necesidad de utilizar o ejecutar, ¿vale? 00:32:40
Una vez que lo tenemos instalado 00:32:49
Vamos a configurar 00:32:52
Tanto el javajón como el pad 00:32:54
Entonces, ¿qué hay que hacer? 00:32:55
Abrimos la variable del entorno 00:32:57
Si yo le doy a 00:33:00
Unr, pues aquí me aparece 00:33:01
Y yo lo que puedo ver aquí 00:33:05
Bueno, no me deja 00:33:07
Porque no tengo 00:33:16
O es que lo he puesto mal, no 00:33:18
Vale, me dice que no 00:33:21
Que no tengo 00:33:26
bueno, que sepáis 00:33:26
que, bueno, vuestro ordenador no va a ser 00:33:29
ningún problema, ahí os van a salir las variables 00:33:30
de entorno 00:33:32
cuando le dais avanzadas, dentro de una pantallita 00:33:33
que aparece, ahí salen las variables 00:33:36
de entorno y ahí 00:33:38
tenéis que configurar 00:33:40
y poner 00:33:42
en opciones avanzadas 00:33:43
en variables de entorno pues 00:33:46
añadir 00:33:48
el que, esta ruta 00:33:50
que va a ser la ruta donde está 00:33:52
el jdk 00:33:54
Además, tenéis que editar el path y añadir el javahome-bin. 00:33:55
Dentro del bin es donde está el compilador y donde se va a ejecutar el programa cuando ejecutemos nuestro archivo de Java. 00:34:00
Que sepáis que el primer archivo que se genera es un .java, ese es el que va a coger el compilador, lo compila y va a generar el bytecode, que será el .class. 00:34:12
Luego ese punto class es un código intermedio que lo que va a hacer es ejecutado por la máquina virtual de Java que está dentro del equipo. 00:34:22
Para estar dentro del equipo necesitamos tener listado el jdk. 00:34:32
Por eso tenemos que llamar a la carpeta bin para que pueda realizar todas esas adopciones. 00:34:38
Una vez que tenemos configurado esto, lo tenéis también en el vídeo, tenemos que comprobar si realmente lo hemos instalado bien o no. 00:34:43
Entonces nos iremos al CND y allí pondremos la Java version, tanto de la Java como de la compiladora, la Java C, y veremos que nos saldrá la versión 25. 00:34:49
Si yo doy aquí, vamos a ver si me deja, si yo pongo aquí, vamos a ver qué versión tienen aquí de Java. 00:35:05
vale, no tiene instalado 00:35:32
vale, bueno 00:35:36
pues 00:35:38
esto lo tendréis que hacer una vez que tengáis instalado 00:35:39
JDK y veréis la versión 00:35:42
os tiene que salir versión 25 00:35:44
como aparece a mí en el vídeo 00:35:46
una vez que ya tenemos solucionado esto 00:35:47
y esto ha salido correcto, tenemos que pasar a 00:35:50
instalar Apache NetBeans 31 00:35:52
que he instalado, que es la última versión 00:35:54
se descarga el NetBeans y luego 00:35:55
aquí 00:35:58
Y aquí tendréis al descargar, como veis, aparecen dos, ¿vale? 00:36:01
Uno es el zip y el binzip y en las fuentes. 00:36:35
Tienes que descargar este de arriba, ¿vale? 00:36:38
Este es el que tendríais que descargar. 00:36:41
Una vez descargado, pues lo descomprimís y luego pues dentro hay un fichero que se llama netbins64.exe 00:36:44
y es el que tenéis que ejecutar, ¿vale? 00:36:53
¿Dónde lo va a instalar? Lo más seguro que se lo va a instalar en un archivo del programa NetBeans 31. 00:36:54
Una vez que ya está instalado, pues ahora tiene que comprobar NetBeans que reconoce el Java 25, que reconoce ese JDK que hemos instalado. 00:37:01
Entonces nos vamos a Tools, en Java Plasma, Forks, pues veremos si realmente es instalado el JDK. 00:37:13
Si no, pues aquí tenéis la forma de cómo hacerlo. 00:37:21
Una vez que ya os funcione, o sea, que veáis que lo tiene instalado, pues abrís un proyecto, metéis, por ejemplo, una Java aplicación a través del Java with Maven y os hacéis un programita sencillo como es este, en el que creáis la clase main con su public static point main y con un sistema de output para imprimir cualquier cosa y lo probáis para ver si os lo resulta de manera correcta. 00:37:24
Si lo apuntáis de manera correcta, pues ya lo tenéis todo instalado, ¿vale? Aquí voy a mirar si aquí en este ordenador, que no es el mío, tienen instalado NetBeans, pero vamos, no lo creo. Si no, lo instalaré yo para las sesiones. Tiene instalado el NetBeans 25, ¿vale? Ah, no, aquí para descargar. Vale, lo actualizaré, ¿vale? 00:37:51
Y esto sería todo el resumen de lo que es la instalación, ¿vale? 00:38:20
Esto, solo hacer esto y captura de pantalla, eso es una parte de la tarea, ¿vale? 00:38:27
Pero vamos, lo explico aquí ya detalladamente de cómo hacerlo, ¿vale? 00:38:32
Pero quiero que lo hagáis. 00:38:36
¿Alguna duda sobre la instalación? 00:38:41
Vale. 00:38:49
¿Qué más vamos a hablar hoy? 00:38:51
He traído un resumen tanto de la unidad 1. A ver, a lo largo de las sesiones veremos lo que haremos. Habrá sesiones en las que no va a ser teoría, sino que nos iniciaremos cuando ya tenga instalado aquí NetBeans, nos iniciaremos en un programa sencillito, haremos un programa sencillo, veremos modificando por determinadas cosas del programa qué errores surgen y por qué y practicaremos haciendo ese tipo de cosas. 00:38:56
Cuando ya los programas sean más complejos y tal, pues sí, haremos ejercicios y lo haremos entre todos. Eso es lo que yo creo que vamos a hacer. Y luego, pues todas las dudas que vayan surgiendo a lo largo de todas las sesiones que vamos a tener. 00:39:24
Perfecto, ¿puedo hacerte una pregunta? 00:39:38
Sí, sí 00:39:41
Porque estoy de acuerdo con lo que ha escrito Victoria en el chat 00:39:42
Y a mí me pasa igual 00:39:45
Yo este es mi segundo año en programación 00:39:46
Que el año pasado me quedó con un 4,6 00:39:48
Yo tengo instalado 00:39:50
El NetBean 25-27 00:39:52
¿Vale? 00:39:55
¿Cuándo dices que lo hiciera el 31? 00:39:56
No, el que lo tenga ya instalado 00:39:58
Esto es para los que no lo tengan 00:40:00
El que lo tenga instalado 00:40:02
Utilice ese, no va a haber una gran diferencia 00:40:04
¿Vale? 00:40:06
La única diferencia es que instalar el 31 con el JDK, ya incluido con la máquina virtual, pues es más sencillo. 00:40:08
Por eso lo he querido hacer así. 00:40:16
Pero tú tienes el 25, pues el 25 y ya está. 00:40:17
O sea, y el problema es que... 00:40:20
Bueno, bueno, bueno, yo también. 00:40:22
No, no, no pasa, no te líes en actualizar, porque tampoco me... 00:40:24
Aunque he puesto el 31, pues porque si usaría, pero tú tienes el 25, utiliza el 25. 00:40:28
Y ya lo digo a todos los que estéis en la conferencia. 00:40:33
bueno, y queda aquí grabado, el que tenga 00:40:37
una versión anterior la puede utilizar 00:40:39
lo que sí me interesa es que 00:40:41
si ya la tiene instalada es porque ha sabido instalarla 00:40:42
con el JDK, etc. 00:40:45
pero no es necesario 00:40:47
a ver 00:40:49
lo que sucede es que la práctica 00:40:50
la tarea sí viene enfocada 00:40:53
a eso 00:40:55
seguramente que lo tendrás del año pasado 00:40:55
la primera tarea nuestra 00:40:59
fue un programa 00:41:02
de ecuación de segundo grado 00:41:04
o sea, no tiene nada que ver con lo que has puesto este año 00:41:07
otra cosa distinta 00:41:09
vale, pues 00:41:11
es verdad que la tarea, pero 00:41:11
no te compliques, porque tampoco 00:41:14
mi idea no es que 00:41:16
tengáis que utilizar un NetBeans 00:41:18
por narices, que sea la última versión 00:41:20
no esa es mi idea 00:41:23
el que no lo tenga, que lo haga así, ya que se pone 00:41:24
pues que coja la última versión, ¿vale? 00:41:27
el que tenga una 25, pues que coja la 25 00:41:28
es que no va a haber una gran diferencia 00:41:30
A ver, habrá diferencia en alguna parte, pero luego para ejecutar lo que queremos va a ser lo mismo. 00:41:31
Vale, y pasamos al resumen de la unidad 1, que sería introducción a la programación y qué es lo que vamos a ver en esta unidad. 00:41:38
En esta unidad, ¿dónde comenzamos? Pues comenzamos con definir qué es un problema, qué es un algoritmo, cómo lo pasamos al código y luego la ejecución. 00:41:56
¿Qué significa un programa? Un programa va a ser una serie de instrucciones que están escritas en un lenguaje y que además nosotros vamos a ejecutar en un ordenador. 00:42:12
Ese programa lo que va a hacer es automatizar una tarea. La programación es el proceso completo para generar ese programa, tanto la codificación, la compilación, probarla, mantenerla, etc. 00:42:25
Entonces, ¿la idea cuál es? Que programar no es empezar a escribir código. Primero, lo que he dicho antes, hay que comprender lo que queremos resolver y planificar y luego ponernos a programar. Uno no se puede poner a programar a lo loco, tendrá que saber qué problema quiere solucionar. 00:42:42
En función de qué problema quiere solucionar, establecer una solución y luego, una vez que tienes dicha solución a ese problema, pues pasarlo a código. 00:43:00
¿De un problema a una solución? Hay una serie de pasos. Primero tienes que ir mirando o definir o comprender el problema, lo que he dicho, que sería lo que llaman el análisis. 00:43:14
Después diseñar el algoritmo que va a resolver ese problema y por último pasarlo a codificación, pasarlo a programa que lo puedes pasarlo en cualquier lenguaje, en cualquier idioma. 00:43:23
tres ideas para reducir la complejidad 00:43:36
y además esas tres ideas están muy relacionadas con Java 00:43:43
que son la extracción, la encapsulación y la modularidad 00:43:47
Java es muy modular 00:43:49
entonces eso que permite el hecho de dividir el software en partes 00:43:51
habéis oído la frase de un problema complejo 00:43:55
se puede resolver dividiéndolo en problemas más sencillos 00:43:59
Hacer módulos independientes con tareas muy separadas hace que se reduzca la complejidad de un problema. Encapsular, ocultar los detalles internos hacia afuera, eso también hace que desde fuera no afecten a nuestro sistema y que no haya mucho acoplamiento. 00:44:04
Y, por último, la abstracción. Cuando hablamos de abstracción es establecer algo o descomponer un problema grande, lo que he dicho antes, en pequeños, pero lo que se trata es de buscar el problema en sí desde un punto de vista abstracto, o sea, desde un punto de vista ahorrándote todos los detalles. 00:44:30
Entonces, desde un punto de vista mucho más genérico. Entonces, claro, surge el algoritmo. La diferencia del programa es que son una serie de pasos que van a resolver un problema. Además, esos pasos siguen una secuencia, que una serie de pasos no son ambiguos y que conducen a una solución. 00:44:54
Entonces, un algoritmo siempre tiene que ser preciso, definido y finito. Finito, o sea, ¿qué quiere decir? Que tiene un número limitado de pasos, no puede variar, siempre es el mismo. Está definido, siempre definido quiere decir que yo le meto a ese algoritmo una entrada, un valor numérico, lo que sea, y siempre me tiene que, para la misma entrada, tiene que darme el mismo resultado. 00:45:14
Y por último, preciso, que hay un orden y ese orden es paso a paso, desde arriba hacia abajo. 00:45:37
¿Cómo puedo hacer ese algoritmo? 00:45:45
Como he dicho antes, cuando yo lo diseño lo puedo realizar en su código, lo puedo hacer con diagramas de flujo, con tablas de decisión, etc. 00:45:47
Luego, una vez que ya tenemos ese algoritmo bien hecho con un diagrama de flujo, con su código, lo pasamos a codificar, pasamos al lenguaje de programación que vayamos a utilizar. 00:45:56
¿Diferencia entre algoritmo y programa? 00:46:05
entonces el algoritmo 00:46:06
hemos dicho que era 00:46:09
el que describía una solución 00:46:11
en cambio el programa 00:46:14
es el algoritmo pero expresado 00:46:15
con las reglas de un lenguaje de programación 00:46:17
con lo cual aquí 00:46:19
diferenciamos lo que es un diseño lógico 00:46:22
que sería para resolver el algoritmo 00:46:24
de lo que es una implementación 00:46:26
también en la unidad 1 00:46:28
nos habla de los paradigmas de programación 00:46:31
un paradigma 00:46:33
es una filosofía, un modelo para diseñar o implementar 00:46:35
un programa. Entonces, es el modo en el que yo voy a codificar 00:46:39
ese... Tengo un algoritmo, tengo 00:46:43
un problema que resolver, diseño un algoritmo y a continuación 00:46:46
lo codifico en un programa. Ese programa o la filosofía 00:46:51
en la que está escrito o en la que tiene tanto el léxico 00:46:56
o la sintaxis y la semántica de un programa, pues puede tener 00:46:59
distinta filosofía. Podemos tener una filosofía orientada a objetos, como hemos dicho antes, 00:47:03
en el que todo el mundo, el mundo real, lo vas a tratar como objetos. La otra filosofía 00:47:07
podría ser una filosofía funcional, todo de base de funciones. Aquí tenemos un montón 00:47:14
de paradigmas, tanto declarativo, imperativo. El declarativo describe qué problema se quiere 00:47:22
resolver, más que nada de cómo lo va a resolver. Eso sería una programación declarativa. 00:47:30
Esto se utiliza, pues es un refugio declarativo, pues puede ser SQL. Una programación imperativa 00:47:35
es, describe a rajatabla cómo va a resolver el problema. Entonces, cómo, mediante unos 00:47:41
comandos que van modificando el estado del programa hasta alcanzar una solución. Esto 00:47:46
sería, pues, imperativo, pues serían programas, por lo tanto, pues Java y luego los lenguajes 00:47:51
de programación no solo tienen un paradigma, pueden tener varios paradigmas asociados. 00:47:57
Porque Java es una programación imperativa, pero también es una programación orientada 00:48:01
a objetos. Sucede también con CIMARMAS. Dentro de los paradigmas, dentro de la programación 00:48:06
imperativa, pues estarían, veis, la orientada a objetos, que sería el que modela todo como 00:48:11
si fueran objetos. Todo va a ser un objeto. Imaginaos un coche, yo lo puedo generar como 00:48:17
una clase, la clase coche, y esa clase 00:48:23
coche va a instanciar 00:48:25
coches. Y como tiene 00:48:27
distintos atributos, como puede ser color, 00:48:29
como puede ser... y distintos 00:48:31
métodos, como puede ser arrancar, parar, etc. 00:48:33
Pues todo eso 00:48:36
instanciará objetos coche 00:48:37
con distintos atributos y con distintos 00:48:39
métodos. 00:48:41
Y en eso se basa 00:48:43
la filosofía 00:48:44
o el paradigma orientado a las manos. 00:48:46
Luego la estructurada, que es la que hablaba yo 00:48:49
de cómo organiza un programa 00:48:51
con secuencia y selección y repetición, con el código claro y ordenado, eventos, 00:48:53
que sería el Visual Basic, en el que el programa responde a acciones, a clics, a teclas, a 00:49:03
mensajes, y luego la programación, el paradigma, dentro de la imperativa, a aspectos, en el 00:49:08
que separa las preocupaciones transversales como seguridad, registro de actividad o control de errores. 00:49:16
En cuanto a las fases de la programación que tenemos, primero, vamos a resolver un problema, 00:49:27
es lo mismo que hemos visto antes, análisis y diseño del algoritmo. 00:49:31
Segundo, implementación, lo vamos a codificar, lo vamos a traducir y lo vamos a hacer pruebas. 00:49:34
Y tercero, explotación y mantenimiento. Vamos a ver un uso real en el que ya el cliente lo está utilizando. 00:49:39
Vamos a ver si hay fallos, si se pueden hacer correcciones, si se pueden hacer mejoras, etc. Pero veis esas tres fases de la programación como están separadas. La resolución del problema, la implementación y la explotación y mantenimiento. 00:49:44
En cuanto a la resolución del problema, vamos a pasar primero por un análisis diseño, como lo he dicho. El análisis lo que va a hacer es establecer los requisitos del sistema. ¿Qué va a necesitar? Los requisitos que necesita para que ese problema tenga una solución. 00:50:00
Tenemos que especificar esos requisitos, comprender claramente el problema, recopilar información de los usuarios y de los clientes para ver qué es lo que desean en ese programa, en ese algoritmo que vamos a crear. 00:50:19
Esto se puede generar dependiendo de la manera en la que hagamos el análisis, con refinamientos. 00:50:31
Se empieza con el problema a grosso modo y se van haciendo refinamientos hasta que obtenemos todos los requisitos funcionales y no funcionales de lo que vamos a crear. 00:50:41
A continuación pasaríamos a convertir esos requisitos en una secuencia lógica. 00:50:53
y descomponer cada una de las operaciones, los módulos, construir el algoritmo, etc. 00:50:57
Una vez que ya hemos hecho el análisis y hemos hecho el diseño, a continuación tenemos que pasar a la implementación. 00:51:04
Y la implementación tiene esas tres fases, que serían, primero lo vamos a codificar, primero tendremos que elegir, 00:51:09
después, en función del problema que tengamos, podemos elegir qué paradigma podemos usar para resolver nuestro problema. 00:51:15
A ver, nosotros hemos diseñado, hemos hecho un análisis, un diseño de un algoritmo, pero a veces ese algoritmo o esa solución es mucho más fácil realizarla con un determinado paradigma de programación, con un determinado lenguaje, que con otro. 00:51:27
Entonces, aquí en esta fase también podríamos elegir qué lenguaje de programación usar. Tendremos que hacer todo el código fuente para traducir ese diseño que hemos hecho de algoritmo al lenguaje de programación que vamos a utilizar y a continuación establecer la traducción del mismo. 00:51:43
Una vez que lo hemos compilado y lo hemos interpretado, pues ya lo hemos ejecutado. Ya tenemos nuestro programa, lo tenemos ejecutado y ahora nos queda el que, la última fase sería probarlo. 00:52:05
Hay que probarlo, establecer diferentes tipos de pruebas, tanto de caja negra como de caja blanca, establecer una batería de pruebas exhaustiva para que nunca se pueda decir al 100% que un programa está ausente de errores, pero sí para establecer una seguridad muy alta que ese programa hace lo que nosotros queremos que haga. 00:52:19
Incluso hay algunos tipos de programación en el que primero se diseñan las pruebas y después se pasa a codificar el programa. 00:52:49
A continuación, este sería el compilador e intérprete. 00:53:02
Hay que ver qué tipo de funciones de lenguaje tengamos. 00:53:05
Unos utilizan un compilador y otros utilizan el intérprete. 00:53:09
¿Qué diferencia hay entre un compilador y qué diferencia hay entre intérprete? 00:53:13
Un compilador lo que hace es traducir el programa a un lenguaje. El lenguaje Java, el lenguaje T++, es un lenguaje que está en un lenguaje de alto nivel. 00:53:16
¿Eso qué significa? Un lenguaje de alto nivel es el que está más cercano al humano. El lenguaje Java está formado por palabras que somos capaces de reconocer 00:53:31
y que están más cercanos a lo que es el lenguaje humano, a lo que es el lenguaje natural. 00:53:40
Por eso se llaman lenguajes de nivel alto. 00:53:46
Entonces, el compilador lo que tiene que hacer es pasar ese lenguaje a un lenguaje que solo entiende el ordenador. 00:53:49
Y ese lenguaje que no entiende el ordenador es el lenguaje de 0 y 2. 00:53:55
Entonces, es necesario compilar y pasar al lenguaje, que sería lo que se llama un lenguaje de bajo nivel. 00:53:59
Bajo nivel es que está más cercano a la máquina, alto nivel más cercano al humano. 00:54:05
Tienes que compilarlo para que el ordenador lo sepa interpretar. 00:54:09
Hay una lengua de programación en la que lo que nos pasa directamente a esto, 00:54:14
como puede ser C, C++, a través de un compilador. 00:54:18
Luego tenemos el caso de Java, que lo haces a través de un compilador, 00:54:20
pero genera un código intermedio, un bytecode. 00:54:23
Y luego tenemos también la diferencia con lo que es un intérprete. 00:54:25
Un intérprete es el que analiza, traduce y ejecuta las instrucciones a medida que son necesarias. 00:54:29
hay muchos lenguajes interpretados 00:54:33
que 00:54:36
intuís en cuanto a la diferencia 00:54:38
entre un intérprete y un compilador, pues lógicamente 00:54:40
un compilador, como ya lo tenemos 00:54:42
compilado, el lenguaje 00:54:44
que entiende el propio ordenador 00:54:46
va a ser súper rápido, imaginaos 00:54:48
un intérprete, un intérprete lo tiene que ir 00:54:50
analizando conforme 00:54:52
lo va a gestar 00:54:54
que se recuerde 00:54:55
un lenguaje de traducción 00:54:57
con intérprete podría ser PHP 00:54:59
En el ciclo de vida del software hemos visto que necesitamos analizar los requisitos para establecer un diseño, luego codificarlo, luego realizar las pruebas, pasar la producción y por último el mantenimiento para ver si necesitamos ir hacia atrás, si necesitamos rediseñar y cambiar el código en función de algún error que surja o de alguna mejora que también se nos surja. 00:55:02
¿Veis? Esto sería una especie de ciclo. Por tanto, el ciclo de vida sería la subvisión de estados o fases por las que pasa el software a lo largo de su vida. 00:55:29
¿Lenguaje de programación? Un lenguaje de programación tiene una serie de reglas. Normalmente un compilador está formado por tres partes. 00:55:38
Un compilador está formado por un analizador léxico, un analizador sintáctico y un analizador semántico. 00:55:49
¿Eso qué significa? Significa que cuando tú creas un lenguaje de programación, 00:55:55
le creas una serie de palabras o léxico, lo que se llaman las palabras reservadas. 00:55:59
El compilador, cuando tú escribes un código, por ejemplo en Java, 00:56:05
lo primero que va a hacer es un escaneo léxico para ver si las palabras que aparecen ahí 00:56:10
están dentro de ese, se asegura que el léxico que tú utilizas es el que el lenguaje de programación tiene. 00:56:15
A continuación, realiza un análisis sintáctico. Esto serían palabras, por ejemplo, print, escáner, todas las palabras que aparecen como palabras, bueno, escáner no, pero serían por lo que sean las palabras reservadas, por ejemplo, class. 00:56:23
Y sería una serie de palabras que el propio if, while, todas esas palabras, sería el léxico que tiene ese lenguaje de programación y que va a acotejar y va a mirar cuando compila si realmente las palabras que tú escribes en el lenguaje de programación son las adecuadas o no. Están dentro del léxico creado para este lenguaje de programación. 00:56:42
La condición de hacer un análisis sintático es cuando ya juntamos varias palabras para formar una frase, que sería cualquier línea en un lenguaje de programación. Después del análisis sintático, tiene que ver si realmente la frase o lo que ha escrito tiene sentido, tiene un sentido semántico, ya que haría un análisis semántico. 00:57:03
Fijaos todas las partes por las que tiene que pasar un compilador para analizar ese código y ver si tiene algún error o no. 00:57:21
Después de hacer todo este análisis, cuando tú compilas, si te sale algún error es porque en uno de estos pasos ha visto que algo no estaba escrito correcto 00:57:28
o no tiene el sentido correcto o incluso hemos generado una frase, o sea, varias palabras unidas en el que no tienen la sintaxis adecuada. 00:57:36
En cuanto a la evolución de los lenguajes, veis, ha evolucionado a lo largo de estos años, hemos ido de un lenguaje de bajo nivel, que sería este, el lenguaje máquina, con ceros y unos, que realmente es lo que entiende el ordenador, el lenguaje del ordenador lo único que entiende es un cero o uno, hay tensión o no la hay, no entiende otra cosa el ordenador, ese sería el, hay un cero voltios o hay un voltaje, no entiende otra cosa. 00:57:47
pero este sería un lenguaje de bajo nivel 00:58:16
imaginaos si tuviéramos que programar 00:58:19
en lenguaje de máquina sería imposible 00:58:21
o sea con 0 y 1 00:58:23
posteriormente al lenguaje de máquina 00:58:24
surgió el lenguaje ensamblador 00:58:27
ya a través de reglas mnemotécnicas 00:58:29
o de palabras mnemotécnicas como eran estas de aquí 00:58:31
para dividir, para multiplicar 00:58:33
para mover 00:58:36
pues se lograban ya 00:58:37
pues que era 00:58:40
bastante complejo de programar 00:58:41
pero bueno pues era 00:58:44
mucho más cercano al humano y mucho más fácil de programar algo no demasiado complejo a través de ensamblador. 00:58:45
Después de ensamblador, empezaron los lenguajes de alto nivel. 00:58:55
Los lenguajes de alto nivel es porque están más cercanos al humano. 00:58:59
Si veis un lenguaje de programación cualquiera, PHP, Java, C++, todos tienen un léxico que es más parecido al humano. 00:59:03
A ver, todos están en inglés porque los que los han creado han sido de habla inglesa, pero si veis son palabras que ya son en un lenguaje nuestro, en un lenguaje más cercano al humano. 00:59:13
Aquí tenemos la diferencia entre compilado y lenguaje compilado e interpretado. Un compilado es un código fuente, se compila y ya está, ya tenemos el código objeto ejecutado. 00:59:27
Por eso es tan rápido, al caso de C++. Uno ha interpretado, pues el código fuente, y un intérprete va traduciendo y ejecutando conforme va leyendo lineal. 00:59:35
En cuanto a las características principales de Java, ¿cuáles serían? Pues tenemos que las principales características de Java, que es un lenguaje de programación orientado a objetos, 00:59:47
me he dicho que era para irme imperativo 00:59:59
orientado a objetos 01:00:01
los programas están formados por objetos 01:00:03
uno puede programar 01:00:05
sin crear ninguna clase 01:00:07
pero ya estaríamos trabajando 01:00:08
con un lenguaje imperativo 01:00:10
sin generar ninguna clase 01:00:12
ni ningún objeto 01:00:15
tendrías que trabajar con la clase main 01:00:16
para ejecutarlo a nivel de aplicación 01:00:19
es independiente de la plataforma 01:00:21
ya lo hemos dicho 01:00:25
el genera un bytecode 01:00:26
y ese bytecoder, que es un punto clash, lo puedes llevar a cualquier ordenador 01:00:27
que tenga la máquina virtual de Java, bien el JDK25 o bien el JRE antiguo 01:00:31
en el que teníamos que ir a donde estaba la máquina virtual y lo va a ejecutar. 01:00:37
O sea que en ese aspecto tenemos que es muy independiente de la plataforma. 01:00:42
En cuanto es muy robusto y seguro, evita accesos peligrosos, 01:00:47
que presentan otros lenguajes. 01:00:52
Además, es un lenguaje en el que no permite punteros, como pasaba con C++, y accesos directos a memoria, que era bastante peligroso el hecho a la hora de programar. Aquí vienen camuflados. Y, por último, bibliotecas y red. Tiene un amplio conjunto de bibliotecas y soporte de comunicaciones TPP. 01:00:53
En la programación ambiental de objetos tenemos que hablar de tres palabras que son fundamentales y que tenemos que entender. Una es la encapsulación, en lo que hace es que en una clase, en lo que hace es que encapsula el comportamiento de esa clase. Todos sus atributos o algunos métodos los deja como privados y encapsula toda esa información que para desde fuera no es necesario. 01:01:14
¿Eso qué significa? Que cuando alguien llame, por ejemplo, a la clase coche, no va a llamar directamente a sus atributos, color, forma, bueno, las que sean, sino que lo hará a través de sus métodos. 01:01:39
Eso que evita que desde fuera nosotros veamos sus detalles internos. No nos importan los detalles internos, lo que sí importa es que queremos instanciar una clase de coche y queremos hacer una determinada función con ella, pero no nos importan los datos internos de la misma. 01:01:54
Y con ello también, al ocultarlos, podemos evitar el error de modificarlos. 01:02:08
Es una apariencia privada y eso es lo que se llama casualidad. 01:02:15
En cuanto a herencia, que nos permite crear una clase hija a partir de una clase padre. 01:02:19
Ya hemos dicho que en Java no es herencia múltiple, sino que es una única herencia en la que hay una clase solidaria de otra clase. 01:02:25
Entonces esa clase puede aprovecharse de los métodos de la clase padre y de muchas otras formas 01:02:35
Y volvemos al polimorfismo, que esto ya veremos más adelante 01:02:47
Que permite que objetos relacionados se respondan de distintas formas 01:02:51
Lo veremos, y esto tiene que ver mucho con la herencia y lo veremos más adelante 01:02:57
¿Cómo se ejecuta el código Java? Con el Java C, que es el compilador, genera el bytecode. 01:03:04
Es el bytecode, tiene una extensión .class. El código de inicio, cuando tú creas un programa y lo escribes, te va a generar un .java. 01:03:12
Este .java, con el Java C, lo que no va a generar es un .class. 01:03:21
Y después, a través de la máquina virtual de Java, lo que va a hacer es que estará en cualquier equipo, 01:03:25
que es independiente de la plataforma 01:03:30
incluso del sistema operativo 01:03:33
que ahora 01:03:36
donde tengas la máquina virtual de Java 01:03:36
puedes ejecutar estos puntos 01:03:40
por eso le llaman el WriteOnce 01:03:41
RunEverywhere 01:03:44
que es que es independiente 01:03:45
del sistema 01:03:47
y lo único que importa es que tengas 01:03:50
la máquina virtual de Java 01:03:51
y aquí tenemos 01:03:53
el ejemplo básico 01:03:55
este sería el típico 01:03:57
el holabundo de todos los 01:03:59
lenguajes de programación, pero hecho 01:04:01
en Java. Si veis, esa es una 01:04:03
estructura en la que está definiendo 01:04:05
una clase. 01:04:07
El hecho de poner class nos está indicando 01:04:09
que esta es una clase 01:04:11
que va a ser pública, 01:04:13
o sea que se va a poder acceder a ella 01:04:16
y que además 01:04:17
se pone 01:04:20
primero la 01:04:21
restricción, luego se pone 01:04:23
el nombre 01:04:25
de clase y luego el nombre que va a tener 01:04:26
dicha clase. Esa sería la clase principal 01:04:29
y de donde va a albergar el 01:04:31
publicStaticOdemain, que este es el publicStaticOdemain 01:04:33
es un método estático 01:04:35
por eso viene aquí de static 01:04:37
ya veremos más adelante lo que es 01:04:39
que además incluye un parámetro que es 01:04:40
ARCS, que sería una cadena de strings 01:04:43
y que, bueno 01:04:47
siempre que ejecutemos una aplicación 01:04:51
va a llamar a este método main y se ejecutará 01:04:53
lo que haya dentro del método main. 01:04:55
Dentro del método main tenemos la clase system 01:04:58
a través del objeto out y primer n a través de su método 01:05:00
que es lo que hace que imprime una cadena y ya está. 01:05:05
No hace mucho más. 01:05:09
En cuanto al tono básico de desarrollo de Java, 01:05:12
lo hemos visto, tenemos que hablar de tres cosas. 01:05:15
Uno sería el JRE con la máquina virtual de Java, 01:05:17
pero nosotros lo hemos obviado porque tenemos el JDK25 LTS 01:05:20
en donde va a tener también la máquina virtual de Java. 01:05:24
porque el JR anteriormente tenía la máquina virtual de Java 01:05:26
y un entorno para ejecutar el bytecode 01:05:31
y el JDK lo que tenía eran las herramientas para crear y compilar 01:05:34
las aplicaciones de Java, o sea que como si dijéramos 01:05:38
este JDK nos generaba el punto class 01:05:42
y luego aquí tenemos todo el entorno 01:05:46
para ejecutar ese punto class a través de la máquina virtual de Java 01:05:50
con el JR. Ahora todo eso 01:05:54
pues lo tenemos dentro de ese JDK. 01:05:56
Y por último tenemos la API de Java 01:05:59
que es un conjunto de clases y bibliotecas que nos van 01:06:00
a proporcionar muchas funcionalidades. 01:06:02
Son un montón de 01:06:05
es inabarcable 01:06:05
de la cantidad de clases y bibliotecas que hay 01:06:07
en el que con distintos tipos de 01:06:10
de usos. 01:06:12
En todo esto 01:06:15
pues lo podemos hacer a través 01:06:16
de CMD pero también lo podemos 01:06:19
hacer con un entorno de desarrollo. 01:06:22
Dentro de desarrollo, ¿qué es? Es una especie de aplicación en el que va a incluir todas esas habilidades posibles para que facilitarnos el hecho de la programación, depuración, compilación, etc. 01:06:24
Y, bueno, ¿qué nos permite? Edición de código, compilación, evolución, depuración, gestión de proyectos, etc. 01:06:41
Aquí tenemos un montón y dentro de ellos tenemos que, a mí también Eclipse me gusta mucho, pero venía en el temario NetBeans, pues lo vamos a hacer con NetBeans. 01:06:47
Que veáis que aquí hay más Eclipse que NetBeans y Eclipse. 01:06:58
Luego tenemos NetBeans y el primer proyecto. 01:07:08
Bueno, si tuve aquí instalado NetBeans, pues veríais cómo creo un proyecto y cómo lo ejecuto. 01:07:11
pero bueno, espero que para la próxima ya lo tenga instalado y lo vemos. 01:07:16
El mapa final de la unidad, pues básicamente ¿qué teníamos? 01:07:22
Hemos dicho, tenemos un problema, queremos resolver ese problema 01:07:26
y lo primero que vamos a hacer es analizar dicho problema 01:07:31
y para qué, para obtener un algoritmo que nos resuelva dicho problema. 01:07:34
Una vez que ya tenemos diseñado el algoritmo, lo pasamos a código fuente. 01:07:39
un error muy común es ponerse a programar 01:07:43
sin haber establecido todo esto 01:07:47
entonces ahí es cuando surgen los problemas 01:07:50
aunque la idea la tengas muy clara 01:07:53
es importante el análisis y la generación del algoritmo 01:07:56
aunque sea en papel 01:08:02
y esto que conlleva luego la traducción, la ejecución, las pruebas y el mantenimiento 01:08:04
Y hasta aquí, esto sería un resumen, un resumido de la unidad, que la unidad es algo extensa, pero bueno, básicamente lo que he querido resumir de lo que ha aparecido. 01:08:11
A ver, realmente, aunque yo hago un resumen, como lo hago, no quiere decir que para mí esto es lo más importante, pero siempre que os quede claro que cuando os hago un resumen, lo que aparece en la unidad entra todo. 01:08:25
o sea, la primera palabra 01:08:44
la última palabra 01:08:46
entonces, pero el resumen lo hago 01:08:46
para que lo entendáis muchísimo mejor 01:08:49
pero que no solo fiaros en el resumen 01:08:51
porque no es así, o sea, todo entra 01:08:53
y no sé 01:08:55
alguna duda? 01:08:59
algo? 01:09:02
sí, el resumen lo abro 01:09:08
ahora lo abro, lo pongo 01:09:11
para que lo veáis 01:09:12
si lo tenemos instalado, lo tengo de la vez 01:09:13
no es necesario desinstalarlo 01:09:16
no se ve, solo vemos Chrome 01:09:18
¿no veis nada de lo que he contado? 01:09:20
No, sí, Francisco 01:09:24
esto era cuando estabas con la consola 01:09:25
viendo la versión de Java y eso 01:09:26
Ah, vale, creo que no lo he sacado 01:09:28
vale, vale, vale, porque he puesto 01:09:31
de pantalla, no de ventana, creo, o no sé 01:09:32
bueno, no lo sé, vale, vale 01:09:34
mucha información y demasiado rápido, la verdad, a ver 01:09:36
luego, como 01:09:41
iremos 01:09:43
como tenemos 01:09:43
varias horas 01:09:46
A lo largo de la semana iremos viéndolo. A ver, el tema, eso es un resumen a grosso modo del tema. A ver, yo lo que se trata es que os vayáis leyendo el tema. Yo os aconsejaría que lo leyerais un par de veces y busquéis, y vengáis a estas presentaciones, a estas videoconferencias ya con dudas, que podamos sacar algo útil y que podamos resolverlas. 01:09:47
El tema es extenso, pero si lo vemos, a ver, todo esto es lo que he hablado de cuáles son los pasos para la diferencia entre un algoritmo y un programa. 01:10:21
aunque es básicamente lo que he puesto 01:10:40
en el lenguaje de programación, veis como se define 01:10:45
un algoritmo, como diseñamos un algoritmo 01:10:47
lo he hablado también, hablamos de flujos, de código, de decisión 01:10:53
luego se mete con los paradigmas de programación 01:10:56
saber que hay declarativo e imperativo y saber 01:11:00
que diferencia hay entre declarativo e imperativo 01:11:03
Y luego, con cada uno de los paradigmas, como son el orientado a objetos, como lo hablaba anteriormente, que sepáis que un lenguaje de programación que pueda tener más de un paradigma, que Java qué paradigmas tiene, cosas que… 01:11:07
Y luego, fases de la programación. Estas serían las fases de la programación, la resolución de un problema, la implementación y la explotación de mantenimiento. Todo igual. 01:11:31
¿Cómo resolvemos un problema? Lo hemos visto. ¿Qué haces primero? Haces un análisis del problema. Vamos a ver, entender el problema. Si no entiendes el problema, ¿cómo querrás resolverlo? Imposible. 01:11:46
entonces tendréis que hacer un análisis del mismo 01:11:58
y luego 01:12:00
una vez que ya tienes claro 01:12:02
el problema que tienes 01:12:04
lo diseñas 01:12:06
haces un diseño del mismo para resolver 01:12:08
el problema, o sea, haces un algoritmo 01:12:10
una vez que está hecho 01:12:12
el algoritmo, pues lo implementas 01:12:14
y aquí entra toda la parte 01:12:16
de codificación, de compilador 01:12:18
de compilador, intérprete 01:12:20
cuál es la diferencia entre uno, otro y otro 01:12:22
¿veis? todo esto 01:12:24
una vez que 01:12:25
Y una vez que tenemos ya lo que hemos codificado y lo hemos ejecutado, pues se me han acordado las pruebas y la explotación. 01:12:27
La explotación es cuando ya se pone en práctica, alguien lo usa, un cliente lo usa y va viendo si hay errores, etc. 01:12:36
Pero aquí se mete con el ciclo de vida del software. 01:12:44
Y en ese ciclo de vida se está hablando de cada uno de sus pasos que hemos visto anteriormente. 01:12:47
análisis, diseño, codificación, pruebas, instalación y mantenimiento. 01:12:55
Todo siempre es igual. Aquí ya se mete en lenguaje de programación 01:12:59
para que hagáis una diferencia entre 01:13:03
los tipos de lenguaje de programación, de cómo actúa un compilador 01:13:06
a nivel léxico, sintáctico y semántico. Lo que haces es interpretar 01:13:11
eso que tú le has escrito y ver si realmente está bien 01:13:15
antes de pasarlo a código máquina. ¿Qué es el lenguaje de código máquina? 01:13:18
Aquí lo habla. Fijaos, esta es una operación del lenguaje de máquina para sumar. Imaginaos un programa con un montón de ceros y unos. Eso es inviable. No hay cerebro que pueda programar así. Por eso surgieron los lenguajes de alto nivel. 01:13:23
El lenguaje en sablador, que facilita un poquito la programación a través de estas reglas 01:13:40
neumatécnicas o palabras que se crearon para poder ser un poquito más sencillo, y luego 01:13:48
ya pasa a los de alto nivel, como los lenguajes compilados, como puede ser C, C++, estamos 01:13:53
hablando de un lenguaje en el que aquí tenemos la fase de cómo lo compila. 01:13:58
Después pasa a los lenguajes interpretados 01:14:02
En los lenguajes interpretados 01:14:07
Pues cojo PHP, Python 01:14:09
Son lenguajes en el que va leyendo línea a línea 01:14:11
No lo hace del todo 01:14:13
O sea, no coge todo el programa 01:14:15
Imaginaos un programa de 5000 líneas 01:14:16
En C++ lo que hace es que 01:14:18
Lo compila, lo genera 01:14:20
Y lo ejecuta en código máquina 01:14:22
Ese sería el 01:14:24
Claro, lógicamente es algo súper rápido 01:14:25
Por eso se utilizan aplicaciones de tiempo real 01:14:29
Porque necesitamos rapidez 01:14:31
En cambio, los lenguajes interpretados, como el PHP, por ejemplo, a nivel de un servidor, son lenguajes en los que va leyendo y traduciendo línea a línea. 01:14:32
Son lenguajes más lentos, pero sus formas de ser ejecutados son así. 01:14:43
Y luego ya nos metemos en Java. En Java nos vamos a hartar de ver Java. 01:14:49
Java es un lenguaje ya mucho imperativo y además también es imperativo y orientado a objetos. 01:14:54
Eso básicamente es lo que genera un código intermedio, que es el bytecode, y que necesitamos una máquina virtual para poder ejecutar ese bytecode, o sea, esos ficheros puntopilas. 01:15:00
Un poco de la vida, ya lo leéis, la vida previa de la historia sobre Java y sobre la programación adentrada de objetos, qué significa la programación adentrada de objetos y cómo se hace. 01:15:11
Lo veremos a lo largo de todo el año, cuando nos metamos en cómo crear clases, cómo crear objetos, 01:15:25
veremos y entenderemos lo que es la programación orientada a objetos. 01:15:35
Esa es la parte más difícil a la hora de programar. 01:15:38
Independencia de la plataforma, lo hemos dicho, por el bytecode, seguridad y simplicidad, 01:15:43
dos características muy importantes del lenguaje Java. 01:15:47
Java y los bytecodes 01:15:52
como establece 01:15:55
como se genera 01:15:57
aquí tenéis un esquema 01:15:58
de como 01:16:00
se va ejecutando y como se va generando 01:16:03
los bytecodes 01:16:05
lo que explicaba anteriormente 01:16:06
y luego ya pasamos a los programas de Java 01:16:08
la estructura de un programa de Java 01:16:12
que lo tenemos aquí 01:16:14
la estructura general de un programa de Java 01:16:15
sería esta 01:16:18
por un lado tenemos 01:16:19
una clase 01:16:22
en el que tendrá un nombre 01:16:23
que es este 01:16:25
y tendrá un nombre y la palabra 01:16:26
CLASSIC 01:16:29
este es el identificador 01:16:30
de acceso en el que nos va a permitir 01:16:33
si esta clase es 01:16:35
pública, privada o protect 01:16:37
que ya lo veremos lo que es 01:16:38
si podemos acceder a esta clase desde fuera 01:16:40
¿vale? 01:16:43
en el ZAR ser pública podemos acceder a esta clase 01:16:45
y estos serían comentarios 01:16:47
se ponen con dos barras inclinadas 01:16:49
salía en comentarios, está diciendo definición de atributos de la clase, definición de métodos 01:16:51
y definición de otras clases de usuario. Aquí podríamos ir metiendo cosas. 01:16:55
Esto sería declaración del método main porque no ha definido ningún atributo, no ha definido 01:16:59
ningún método y no ha definido ninguna clase de usuario. Solo ha definido un método 01:17:03
que le llama main. Y este método cada vez que en una aplicación, cada vez que se ejecuta 01:17:06
va a llamarse a ese método y va a ejecutar lo que tenga en su interior. 01:17:11
Este método main siempre se escribe igual. Es Pablo que este tipo de main 01:17:14
con un parámetro que sería ARCS 01:17:18
que es un array de cadenas 01:17:21
aquí se establecerán 01:17:23
declaraciones de variables del método 01:17:25
instrucciones que se quieren insertar aquí 01:17:27
etcétera 01:17:28
la próxima clase que tengamos 01:17:31
haremos nuestro primer programa Java 01:17:34
y lo ejecutaremos 01:17:36
a ver si tengo instalado 01:17:38
la NetBeans 01:17:39
y lo ejecutamos 01:17:42
¿qué más? 01:17:44
el entorno básico de desarrollo de Java 01:17:49
habla del JDK, del JRE 01:17:51
y aquí he introducido 01:17:54
el Tmuring, lo he actualizado 01:17:58
que es lo que vais a instalar 01:18:00
y que no tengo ya instalado 01:18:02
la API de Java 01:18:05
ya he dicho que la API de Java pues es 01:18:07
muy extensa 01:18:09
esta sería la información de la API de Java 01:18:11
si la abrimos, la veis 01:18:13
veis todo tipo de 01:18:15
clases 01:18:20
con distintos tipos de utilidades 01:18:20
¿vale? 01:18:23
veis, es muy muy muy extensa 01:18:25
la API 01:18:27
estos serían los módulos 01:18:28
y esto puedes ir metiendo dentro de ellos 01:18:31
y te va dando información, qué es lo que hace 01:18:33
de qué clase deriva, etc. 01:18:35
¿vale? 01:18:37
esto es para afinar la configuración, que lo veis que lo vais a hacer 01:18:42
con el FAT, etc. 01:18:44
codificación, compilación y evolución de aplicaciones 01:18:50
¿vale? 01:18:53
no voy a seguir 01:18:54
porque bueno, tenemos 01:18:55
muchas clases para ver todo esto 01:18:56
hasta que termine el día 21 01:18:59
esta unidad 01:19:01
entonces no voy a seguir con el 01:19:02
pero si veis 01:19:04
básicamente es lo que he metido 01:19:06
en la presentación 01:19:08
el próximo día si queréis sigo con todo esto 01:19:10
¿vale? 01:19:12
¿alguna duda más? 01:19:18
algo 01:19:20
si es conveniente 01:19:20
si eso se os lo pido 01:19:22
que os lo leáis antes de las clases 01:19:24
vengáis con ello leído 01:19:27
y podemos preguntar dudas, podemos ver cosas del temario, cosas que nos queden claras para que sean clases muy útiles. 01:19:28
Luego ya más adelante, cuando ya tengamos las herramientas aprendidas para poder empezar a hacer programas, 01:19:42
pues empezaremos a hacer programas, pues ya practicaremos, pero por ahora esto es muy teórico. 01:19:49
Entonces, es o leérselo o no leérselo. Esto es virtual, es algo que en mi trabajo lo tenéis que poner vosotros. Entonces, sí sería conveniente que lo leyeras y que vinierais con ello leído, por lo menos en parte, y surgieran las dudas, me dijerais qué dudas tenéis, en qué puedo hacer más hincapié, etc. 01:19:56
Vale, ya he dicho que la máquina virtual de Java es independiente de la plataforma, 01:20:20
o sea que se puede ejecutar en cualquier sistema operativo y en cualquier equipo. 01:20:40
Bueno, decirme vosotros alguna duda. 01:20:47
A ver, hasta que no nos metamos en harina, que será en el tema 2, en el que nos meteremos 01:20:55
en los operadores, nos meteremos en lo que es una variable, etcétera, no veremos programas, 01:21:46
pero sí en la siguiente clase me puedo meter y podemos hacer un programa sencillito para 01:21:52
que vayáis adelantando algunas cosas, ¿vale? A ver, el examen final todavía no sé cómo 01:21:57
lo voy a poner, pero a ver, habrá una parte tipo test que va a ser un 80% y un 20% que 01:22:37
será el tipo práctico, que será pues realizar algún ejercicio, ya veré cómo lo hago, 01:22:45
¿vale? ¿Qué es lo que me importa a mí? ¿Qué es lo que me importa a mí? Lo que me 01:22:50
Lo que importa es que, más que la teoría, que toda esta parte de este tema es pura teoría para que tengáis un background de lo que va a ser Java, a mí lo que me interesa es que acabéis sabiendo programar en Java y que sepáis acceder a una base de datos, programando en Java, que sepáis hacer, como ha dicho el compañero, hacer un programa como una ecuación de seguridad en Java, que podáis hacer varias clases, clases que hereden, todo eso. 01:22:57
que estacéis objetos, que sepáis que es una pila, una cola, pues todo eso, pues claro, aparecerá en el examen, más que la teoría, ¿vale? 01:23:24
Sí, sí, la he grabado, ¿vale? No sé si queda todo claro, pero vamos a ver, a lo largo de todo el curso no voy a dar a tiempo a todo. 01:23:37
Eso sí, vamos a ir un poquito... A ver, esta unidad la iba a acercar muy corta, pero como ha habido distintos grados de matribulación, he tenido que alargarla un poquito para que a todo el mundo le llegue y puedan realizar la tarea. 01:24:00
y por eso le he dejado ese, pero quizás es una unidad que a lo mejor no hubiera bastado pues por mucho, 10 días, ¿vale? 01:24:18
Pues, Pedro, a ver si este año la cogemos desde el principio y adelante. 01:24:30
Sí, cuando empecemos a practicar, cuando empecemos a hacer ejercicios, cuando empecemos a programar, a meternos en harina, ahí es cuando empezarán las dudas, ¿vale? 01:24:46
Pero intentaremos que estas clases, que ahora las tenéis, pues las utilicemos para hacer ejercicios, ejercicios, ejercicios, ejercicios, para que esa duda se disiple, ¿vale? 01:24:54
¿Cómo sabemos qué temas vas a tratar? 01:25:10
Mira, he puesto aquí 01:25:17
los temas que voy a tratar 01:25:18
y que es, mira, toda esta parte 01:25:23
introducción a programación, 01:25:26
creación de primer programa y uso 01:25:28
de estructura de control es como si fuera un curso 01:25:30
de fundamentos de programación. 01:25:32
¿Por qué? Porque vamos a 01:25:34
realmente aquí 01:25:36
lo que vamos a saber hacer es, pues como he dicho 01:25:37
compañero, hacer un programa que nos calcule 01:25:40
una ecuación de segundo grado, por ejemplo. 01:25:42
O hacer un programa que nos genera 01:25:44
una tabla de multiplicar 01:25:46
del 1 al 9, cosas así 01:25:47
o que nos resuelva un problema 01:25:49
pues eso es lo que vamos a aprender 01:25:52
con solo esto 01:25:53
¿qué os podéis ir mirando? 01:25:54
yo ya de por sí, y os lo voy a 01:25:57
liberar ahora mismo, aquí 01:25:59
y lo vemos el 01:26:01
siguiente día, tengo un resumen básico 01:26:03
de Java, ¿vale? para que 01:26:06
el que quiera adelantarse, pues se puede ir mirándolo 01:26:07
¿vale? una vez muy básico 01:26:16
entonces os lo muestro 01:26:17
y también tenéis un resumen de la unidad, ¿vale? 01:26:20
Y el de la presentación del módulo es el de la planta, ¿vale? 01:26:31
Pero aquí tengo un resumen básico de Java, a ver, es muy básico, 01:26:34
pero para que podamos empezar, que lo veremos el próximo día, 01:26:39
para poder empezar a hacer los primeros programas, ¿vale? 01:26:43
Todo esto lo estoy adelantando porque realmente esto está en la unidad 2, ¿vale? 01:26:46
está en la unidad 2, pero hasta que 01:26:52
lleguemos a la unidad 2, pues por menos 01:26:55
que vayamos adelantando 01:26:57
y luego, también hay 01:26:58
cosas de la unidad 3 01:27:01
ese resumen que le he añadido 01:27:02
es para estas tres 01:27:05
unidades, que lo vamos a ir viendo 01:27:06
de manera paloatina, después podemos ir empezando 01:27:08
a hacer algún programa, ¿vale? 01:27:10
Otra historia es ya cuando nos metamos 01:27:13
aquí, ¿vale? que ya estamos hablando de 01:27:15
esto sería el fundamento de programación 01:27:17
que puede servir para cualquier lenguaje de programación 01:27:19
y esto 01:27:21
ya empezaríamos con lo que es 01:27:23
programación orientadora 01:27:26
vale, pues 01:27:27
nos vemos el, si queréis ya el jueves 01:27:38
ese jueves, sí 01:27:41
el jueves y podemos hacer un primer programa 01:27:42
y quiero 01:27:44
que a ver si podéis leer en la unidad 01:27:47
y que cualquier duda que tengáis 01:27:48
pues me lo digáis y 01:27:50
la resolvemos, vale, leeroslo 01:27:52
por lo menos, vale 01:27:54
y el que quiera avanzar y quiera mirar ese resumen 01:27:55
de Java que he metido ahí, que es muy básico 01:28:01
pues lo podéis mirar también 01:28:03
y podemos hacer algún programa 01:28:04
e ir avanzando cosas de la unidad 2 01:28:07
y de la unidad 3 01:28:09
pues nada 01:28:10
nos vemos, leeroslo 01:28:15
miradlo de la instalación, a ver si tenéis 01:28:18
dudas y el jueves 01:28:20
nos vemos y resolvemos dudas 01:28:22
pero leeroslo 01:28:24
Idioma/s:
es
Materias:
Informática
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Autor/es:
Francisco José González Constanza
Subido por:
Francisco J. G.
Licencia:
Todos los derechos reservados
Visualizaciones:
5
Fecha:
6 de octubre de 2026 - 17:47
Visibilidad:
Público
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
1h′ 28′ 34″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
336.32 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid