Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Videoconferencia 6_10_26 Programacion - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Videoconferencia 6_10_26 Programacion
¿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
y
00:10:51
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
de
00:11:04
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
y
00:19:19
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
un
01:04:43
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
01:06:18
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
y
01:18:03
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:
- 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