[música] Bueno, hasta aquí ya hemos instalado las herramientas necesarias para trabajar, como lo son Java, Eclipse y también hemos visto como importar y modificar un proyecto en Eclipse, esto lo vamos a hacer repetidamente a lo largo del curso, cuando trabajemos en los casos de estudio y con los ejercicios. El curso está dividido en cinco módulos, el primero es clases y objetos, sigue arreglos en una |y dos dimensiones el tercero es algoritmo de ordenamiento, sigue herencia y por ultimo construcción de interfaces gráficas, los módulos del uno al cuatro tienen la misma estructura que es la siguiente, arrancamos con una introducción, esta sección inicia con una breve motivación al tema que se tratará en el módulo, la cual es acompañada de una ilustración animada. Posteriormente encontrará uno o varios videos que hemos llamado video clases, los cuales introducen los conceptos teóricos que se verán en el módulo sin entrar en los detalles de programación, esta sección de introducción termina con una lectura del libro electrónico, le recomiendo fuertemente siempre hacer esta lectura previa del módulo como actividad de auto aprendizaje. Es importante enfrentarse a la teoría sin haber escuchado al profesor hablar para estar preparado a recibir las explicaciones de lo que no haya quedado claro en la lectura o reforzar los conceptos que se hayan aprendido por sí solo. La segunda sección del módulo corresponde al contenido teórico, se trata de una serie de presentaciones en las cuales explicarán todos los conceptos teóricos del módulo y su correspondiente implementación en Java. No hay derecho de unirse durante las presentaciones, pues le estaremos haciendo preguntas permanentemente, además, Álvaro, nuestro profesor ha hecho un gran esfuerzo por hacer estas clases teóricas lo más amenas posible. A la tercera sección la hemos llamado de la teoría a la práctica y literalmente va a ser así, aquí es donde vamos a empezar a aterrizar los conceptos teóricos vistos en la sección anterior en casos reales. En esa sección usted encontrará uno o varios video códigos de diferentes proyectos en Java. Y hasta aquí llega la teoría, a partir de este momento es su turno de poner a prueba los conocimientos que ha adquirido a lo largo del módulo a través de varios retos, hay dos tipos de retos en el curso, en uno de ellos se le presentará un caso de estudio y un proyecto de Java completo para que lo explore a profundidad, para esto le daremos una guía de trabajo que le ayudará en la tarea de exploración. Una vez estudiado el código de programación usted tendrá la oportunidad de poner a prueba sus habilidades a tres niveles, básico, intermedio y avanzado. Para realizar estas evaluaciones hemos desarrollado una herramienta llamada [inglés] copyexamenes, que es en palabras simples un programa que corrige y califica programas, miremos como funciona. Como lo mencioné anteriormente [inglés] copyexamenes es una herramienta que corrige v califica exámenes de programación en Java, para iniciar debemos hacer click en el botón empezar examen, aquí vemos el enunciado general del examen y el modelo UML del mundo sobre el cual se desarrollarán las preguntas del examen, hacemos click en el botón ver preguntas, la ventana de [inglés] copyexamenes está dividida en tres partes, a la izquierda aparece la lista de todas las preguntas del examen. En el centro se muestra el enunciado de la pregunta seleccionada y a la derecha se encuentra el espacio de respuesta en el cual usted deberá escribir el código de programación que responde a la pregunta seleccionada, veamos esto en un ejemplo pequeño, voy a escribir la instrucción y enviar a compilar. En este ejemplo he omitido a propósito el punto y coma al final de la instrucción para generar un error de compilación. Cuando el código presenta un error de compilación aparece un engranaje de color rojo, podemos corregir el código y volver a compilar, en este caso el engranaje aparece en color verde, es posible guardar el examen en cualquier momento así como marcar las preguntas para volver a ellas si es necesario, al finalizar el examen debe hacer click en el botón enviar, el examen es calificado por la herramienta y en la última ventana usted podrá ver la nota obtenida y la explicación de los errores cometidos. El segundo tipo de reto consiste en un nuevo problema de la vida real que debe ser resuelto mediante un programa a diferencia del primer reto aquí no le daremos la solución completa sino una parte, usted deberá completar esos huecos del proyecto Java para que la aplicación final funcione perfectamente, pero tranquilo, que no lo vamos a dejar solo en esa tarea tendrá nuevamente a su disposición una guía de trabajo que lo llevará paso a paso en la solución del problema. Ese trabajo será evaluado por sus compañeros del curso y usted también tendrá que hacer lo mismo con trabajos de otros estudiantes, es una excelente oportunidad para aprender de los demás y para mostrarle a sus compañeros lo que usted ha aprendido. Por ultimo tenemos la sección de cierre del módulo que es genial, aquí encontrará un vínculo para entrar a [inglés] copytips, esta es otra herramienta que hemos desarrollado para que usted pueda conocer los errores más comunes de programación y aprender a corregirlos, [inglés] copytips es un espacio en el que podrá encontrar una lista con los errores más comunes que se cometen al programar en Java. Aquí podrá ver la descripción de cada error y la manera adecuada de resolverlos, para iniciar escogemos el error que queremos explorar. La ventana de [inglés] copytips está dividida en tres partes, a la derecha encontramos un ejemplo correcto que podemos ejecutar para ver el resultado esperado, en el centro vemos el mismo ejemplo pero con el error típico que hemos escogido para explorar, podemos igualmente ejecutarlo para ver la explicación del error en la parte inferior de la ventana. Es posible corregir el error en el sitio indicado y volver a ejecutar para comparar con la versión correcta, a la derecha de la ventana encontramos la lista completa de errores para seleccionar los que deseamos explorar, después encontrará un conjunto de mapas mentales o conceptuales para reforzar algunos de los conceptos teóricos vistos en el módulo. Con todos los conceptos refrescados llegó el momento de enfrentarse a las evaluaciones del módulo, hay dos tipos de evaluaciones, una teórica, de selección múltiple y una práctica con escritura de código de programación en nuestra herramienta [inglés] copyexamenes. Las dos evaluaciones están relacionadas con el ultimo reto del módulo, son extensiones al mismo caso de estudio, es decir, nuevas funcionalidades del programa, pero, sobre el mismo problema real. Algo formidable que tiene este curso es que es ganifícado, yo no sé si esa palabra existe en español viene de [inglés] gamification en inglés, lo que quiere decir, que todo lo que usted haga curso, desde responder a las preguntas en video, pasando por los diferentes retos, hasta la solución de las evaluaciones finales le darán puntos como si estuviera en un juego de video, usted podrá ganar puntos de experiencia, puntos de competencia y puntos de habilidad con los cuales me dirá sus habilidades de abstracción y de programación. Esos puntos ganados se muestran en un tablero de logros. El quinto modulo tiene una estructura diferente, dado que, poca teoría y mucha práctica, en este módulo le enseñaremos a construir interfaces gráficas de usuario mediante explicaciones cortas de cómo hacerlo en Java seguidas de unos tutoriales que lo guiarán paso a paso para que usted mismo lo haga. Bueno, después de esta larga descripción del curso ahora si los dejo en compañía de Juan Pablo y Álvaro para descubrir el primer tema del curso que es la base del paradigma de programación orientada por objetos el tema de este primer módulo es justamente clases de objetos, no se debe atemorizar si esos conceptos no son entendidos de inmediato, son conceptos bastante abstractos y quisiera contarles mi experiencia personal al respecto. En mi primer curso de programación orientada a objetos, cuando yo era estudiante, hace mucho tiempo el profesor hablaba y hablaba de objetos, yo pensaba que eran objetos de verdad concretos, alcancé a pensar que eran algo así como los botones de las interfaces gráficas de los programas de computador. Me tomó buen tiempo entender que en realidad esos objetos eran entidades con vida propia, que guardaban información e interactuaban entre si y que los programas en este paradigma no son más que un conjunto de objetos que viven en la memoria del computador mientras el programa está en ejecución, que para crearlos se necesitan unas plantillas esas son justamente las clases. No me extiendo más, los dejo en manos de Juan Pablo y Álvaro, quienes de forma muy divertida le explicarán de qué se trata esto de las clases y los objetos, bienvenido entonces a este primer módulo del curso, aprovecha al máximo todos los materiales y recursos que hemos desarrollado para hacer que esta aventura de aprender a programar sea inolvidable [música].