Fundamentos de programación en Java. Bases de la informática

Guia completa para aprender Java, Programación Orientada a Objetos y los fundamentos de programación desde cero
4.5 (62 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
329 students enrolled
$19
$200
90% off
Take This Course
  • Lectures 107
  • Length 18.5 hours
  • Skill Level All Levels
  • Languages Spanish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 8/2016 Spanish

Course Description

En este curso introductorio de programación explicaremos los fundamentos necesarios para empezar a programar utilizando el lenguaje Java, uno de los primeros que se suele aprender en la universidad, y entre otros el necesario para hacer apps en Android

El curso está estructurado en torno a breves explicaciones con ejemplos sobre cada concepto e incluye pequeños ejercicios para hacer. ¡La mayoría de ejercicios están resueltos así que no conviene que te los saltes! La mejor manera de aprender a programar es... ¡programando! 

A lo largo del curso trataremos los siguientes temas: 

  • Cómo instalar y navegar por Netbeans 8, el entorno de desarrollo integrado en el que se suele llevar a cabo el desarrollo de programas en Java.
  • Veremos qué es un programa y crearemos un primer programa de ejemplo muy sencillo que nos permita probar que todo funcione correctamente.
  • Veremos cuales son los bloques básicos de construcción de un programa: las variables, los métodos y las funciones, por qué son tan importantes y cómo se utilizan correctamente.
  • Aprenderemos a hacer que nuestro programa tome decisiones y varíe su comportamiento mediante las sentencias de control if, else y switch.
  • Dedicaremos muchas muchas clases a la programación orientada a objetos, para llevar las ideas del mundo real a nuestros programas con proyectos como un garage de coches o un planetario.
  • Almacenaremos datos utilizando estructuras de datos como los arrays.
  • Aprenderemos a utilizar ficheros, para almacenar la información de forma permanente sin tener conocimientos de base de datos.
  • Veremos los algoritmos de ordenación clásicos, iterativos y recursivos para aprender a ordenar cualquier colección de objetos de manera rápida y eficiente, aprendiendo incluso a valorar el coste computacional de cada uno. 

Si estás estudiando una ingeniería, te gusta la informática o quieres un curso introductorio de Java antes de iniciarte en el mundo Android, este es sin duda tu curso. Además, los profesores del curso responderán todas tus dudas en el foro de la asignatura por si te atascas o podrás utilizarlo para compartir tus avances y tus logros. Si tenéis cualquier duda, sugerencia, pregunta... ¿a qué esperáis? 

Nos vemos en clase!

What are the requirements?

  • Un ordenador capaz de ejecutar NetBeans 8.0, vamos casi cualquiera del mercado: Mac, Windows o Linux, cualquier sistema operativo vale
  • Utilizaremos Java con Netbeans, pero te explicaremos en las primeras clases.
  • No necesitas conocer nada de programación pues todo empieza desde cero
  • Ganas de hacer y trabajar, ¡este curso no es sólo para mirar!

What am I going to get from this course?

  • Conocer la sintáxis básica de Java
  • Conocer los fundamentos de la programación como operadores de decisión e iteración
  • Entender los fundamentos de los programas y cómo funcionan
  • Conocer los conceptos de programación orientada a objetos
  • Conocer las clases y objetos básicos de Java
  • Conocer algunos algoritmos clásicos de búsquedas, recorridos...
  • Saber trabajar con ficheros para almacenar y recuperar datos con la clase File de Java

What is the target audience?

  • Estudiantes de ingenierías universitarias
  • Usuarios que quieran iniciarse en la programación
  • Cualquiera que necesite aprender programación desde cero y elija Java como lenguaje
  • Desarrolladores web o diseñadores que quieran iniciarse en el mundo del desarrollo
  • Gente que quiera aprender a hacer apps para Android y necesite de unas bases sólidas de programación y diseño lógico en Java antes de adentrarse en el mundo de las apps

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introducción y contenidos del curso
07:42

En esta clase se dará a conocer que es lo que se va a realizar a lo largo del curso y qué objetivos se habrán conseguido al acabar el curso.

02:11

En esta clase se comprueba si en el ordenador tenemos instalado Java, a actualizarlo si es necesario y a descargarlo si es necesario. Todo esto se hace de forma totalmente segura ayudándonos de páginas web

Instalar Netbeans
02:07
05:04

En esta clase aprenderemos que es un programa y para qué sirve la realización del programas.

Section 2: Conociendo el lenguaje Java
02:34

En esta clase aprenderemos la diferencia entre los diferentes tipos básicos de datos que usamos a continuación en las siguientes clases y con los que se pueden hacer muchísimas cosas.

02:19

En esta clase aprenderemos cuál es la estructura básica de un programa en Java para que el programa pueda empezar, realizar las instrucciones que pongamos y acabar.

11:14

Declaración y asignación de las variables de tipo String. Además de aprender a mostrar el contenido de estas variables por pantalla.

08:09

Declaración y asignación de las variables de tipo char (carácter). Además de aprender a mostrar el contenido de estas variables por pantalla.

07:00

Declaración y asignación de las variables de tipo int (números enteros). Además de aprender a mostrar el contenido de estas variables por pantalla.

Operaciones con variables enteras
21:34
08:52

Declaración y asignación de las variables de tipo decimal (double y float). Además de aprender a mostrar el contenido de estas variables por pantalla.

También se aprende a realizar operaciones como suma, resta, multiplicación y división obteniendo todo el resultado (no sólo la parte entera) con números decimales.

09:09

Ejercicio donde se aprende a resolver una ecuación de primer grado usando las variables adecuadas.

19:12

Ejercicio donde se aprende a resolver una ecuación de segundo grado (mucho más compleja que la de primer grado). Aquí veremos operaciones nuevas como la potencia y la raíz.

02:16

Con este video os intento animar de que valoréis mi curso con vuestras opiniones totalmente sinceras para saber si tenemos que mejorar y en qué habría que mejorar. Pero no solo lo malo, sino que también digáis lo que os gusta para mantenerlo y no perderlo.

5 questions

Cuestionario sobre los conceptos aprendidos en el tema 1

Section 3: Entrada y salida de datos
02:01

Explicación básica sobre la entrada y la salida de datos. También conoceremos cómo es posible que un ordenador tome decisiones por sí solo.

09:45

Explicaremos cómo implementar el BufferedReader en un programa en Java. El BufferedReader sirve para poder leer todo lo que queramos de un tirón.

03:36

En esta clase conoceremos qué es un boolean y cómo declarar, asignar un valor y operar con ellos.

13:25

Este es el primer paso para empezar a manejar operadores de decisión, como es el if. Los operadores de decisión serán la forma en la que empezaremos a ver que, el programa, por si solo, es capaz de tomar decisiones muy básicas.

12:41

Continuamos con los operadores de decisión y ampliamos el if a if y else. Donde el ordenador podrá decidir más cosas de forma más sencilla que si sólo tuviéramos el if.

12:09

En esta clase veremos cómo funcionaría un solo if pero como varias opciones de, si esto del if no se cumple pero se cumple esta otra condición entonces el programa hará esto. Esto lo aplicaremos a muchas opciones en un mismo if.

07:58

El switch también es un operador de decisión que puede ser bastante útil en muchos casos. Es similar a los operadores de decisión encadenados.

22:05

Este ejercicio consiste en mejorar el ejercicio de las ecuaciones que se realizó anteriormente. La mejora consiste que, en vez de introducir los valores conocidos de la ecuación mediante el código del programa, lo haremos introduciendo los valores por teclado.

05:29

Este ejercicio consiste en leer de teclado, determinar si la letra que acabamos de leer es una vocal. En el caso de que sea una vocal, imprimiremos una palabra que será diferente para cada vocal. Un ejercicio simple pero indicado para ser el primer ejercicio.

06:53

En este ejercicio leeremos números por teclado, como hemos hecho en el ejercicio anterior. Los números que leamos hay que saber si es par o impar además de imprimir una frase que indique si el número era par o impar.

Tema 2
4 questions
Section 4: Bucles: recorridos y búsquedas
02:07

Introducción teórica a los recorridos y búsquedas que veremos a lo largo de esta sección.

08:29

En esta clase aprenderemos a manejar y programar el operador de iteración for. También veremos para qué sirve y qué podemos hacer con él.

08:33

En esta clase aprenderemos a manejar y programar el operador de iteración while. También veremos para qué sirve y qué podemos hacer con él.

10:44

En esta clase conoceremos qué es un array, cómo se expresan en programación y cómo se les puede asignar valores.

06:28

En esta clase aprenderemos a realizar recorridos además de conocer en qué momentos es oportuno usar un recorrido.

07:42

En esta clase aprenderemos a realizar búsquedas además de conocer en qué momentos es oportuno usarlas.

14:16

Los arrays como ya hemos visto son de tamaño fijo, no pueden variar. En esta clase vamos a aprender a modificar el tamaño de cualquier array sin perder los datos que contenga.

07:57

Si los que tenemos que usar son array pero todo el rato necesitamos modificar su tamaño lo que podemos usar son Arrays de tamaño variable conocidos como ArrayList.

06:15

En este ejercicio utilizaremos el tipo de bucle adecuado para encontrar le máximo y el mínimo de un array de números.

09:03

Ejercicio de realizar un análisis básico de los valores que vamos leyendo usando un array de tamaño fijo.

02:51

Ejercicio de realizar un análisis básico de los valores que vamos leyendo usando un array de tamaño variable.

09:51

Ejercicio que consiste en contar el número de veces que se repite el carácter 'a' en lo que nos hayan introducido por teclado.

10:09

Ejercicio que consiste en contar el número de veces que nos han introducido la secuencia de caracteres 'la' mediante teclado.

Examen Tema 3
3 questions
02:16

Si antes no estabas convencido porque no habías visto suficiente, con todas estas nuevas clases, puedes volver a planteártelo. Valora el curso diciendo lo que te gusta y no te gusta para mejorar.

Section 5: Funciones o métodos en Java
05:48

Clase teórica sobre la visibilidad de cualquier cosa programable en Java.

03:49

Clase teórica sobre las funciones o métodos que se usan en Java.

07:44

En esta clase conoceremos cómo programar las funciones que no tienen parámetros de entrada ni de salida.

03:22

En esta clase aprenderemos a programar en Java funciones que tan solo tengan parámetros de entrada.

03:56

En esta clase aprenderemos a programar en Java funciones que tan solo tengan parámetros de salida.

10:38

En esta clase aprenderemos a programar funciones que tengan parámetros de entrada y de salida.

05:12

En esta clase repetiremos el ejercicio de contar el número de veces que se repite el carácter 'a' pero lo haremos usando funciones. Con esto podremos ver ejemplos más prácticos de usar las funciones.

06:47

Con este ejercicio, nos van a introducir una sentencia por teclado y nosotros contaremos cuántas palabras nos han introducido. Realizar este ejercicio sin funciones sería realmente denso, por eso está en esta sección, para ver lo fácil que puede ser usando funciones.

18:30

A partir del ejercicio anterior, ya sabremos cómo separar las palabras. Con este ejercicio determinaremos cada palabra para invertirlas. Por ejemplo, la palabra 'hola' quedará como 'olah'. Esto va a servir como ejemplo mucho más complicado para usar funciones, recorridos, búsquedas y arrays.

Examen Tema 4
2 questions
Section 6: Clases y objetos
08:54

En esta clase veremos de forma teórica una introducción a las clases y los objetos. Lo que es la programación orientada a objetos.

11:12

Como primer contacto con los objetos, hemos decidido que el mejor objeto para crear es uno que tenga piezas repetidas y otros datos no repetidos, como es un coche. Para que sea mucho más visual cómo se crean los objetos.

18:44

En esta clase aprenderemos a crear objetos coche y a imprimir los datos de cada uno de ellos por la consola.

07:46

En esta clase, aprenderemos a crear objetos, pero esta vez no será algo físico, no será un objeto que se pueda construir para empezar a expandir nuestra mente a los mundos de la programación donde a veces hay que crear cosas que físicamente no existen.

17:09

En esta clase aprenderemos a realizar operaciones entre objetos Punto 2D como calcular la distancia que hay entre dos puntos, el módulo de un punto, etc.

13:26

En esta clase teórica veremos para qué sirve la herencia en Java.

10:13

Para obtener un primer contacto con la herencia. Crearemos el Punto 3D a partir del Punto 2D que ya conocemos por lo que se nos hará más fácil entenderlo.

07:47

En esta clase aprenderemos a conocer los límites de las operaciones con objetos de diferentes tipos pero con partes que son iguales.

3 questions

Examen de los conceptos aprendidos en el tema 5 que son las clases y los objetos.

Section 7: Proyecto Mi Garaje
10:44

En esta clase crearemos un nuevo proyecto que va a consistir en el proyecto garaje. En un garaje se pueden almacenar vehículos de diferentes tipos. Buscaremos las características similares de estos vehículos para aplicar el concepto de herencia.

14:17

Creación de coches en el garaje.

15:12

Creación de motos en el garaje.

Section 8: Proyecto Sistema Solar
08:44

Creación del proyecto sistema solar y explicación de qué va a consistir.

19:35

Creación de un menú para seleccionar opciones en el proyecto.

07:03

En el menú un usuario si no introduce algo correcto todo empieza a fallas hasta que se estabiliza por lo que hay que corregir el menú para que no se pueda introducir ni aceptar nada incorrecto y saber cómo tratar lo incorrecto.

23:02

Creación del Sol del Sistema Solar.

06:27

En esta clase vamos a introducir los datos que tiene el Sistema Solar de forma que en el menú cuando pulsemos la opción "ver información sobre el Sistema Solar" vernos los datos introducidos.

06:21

Cómo podemos ver que podemos aplicar herencia en este proyecto del sistema solar donde el Sol es una Estrella y los Planetas no se parecen a las estrellas.

05:18

En esta clase crearemos la clase planeta buscando los atributos necesarios para un planeta.

14:59

En esta clase crearemos el primer planeta de todos los que debemos crear que será la Tierra.

16:59

En esta clase organizaremos información para mayor organización y crearemos los planetas de Mercurio y Venus.

15:53

En esta clase crearemos los planetas de Marte, Júpiter y Saturno.

09:54

Creación de los últimos planetas restantes que son Urano y Neptuno.

17:27

Con los planetas ya creados ahora debemos mostrar por el menú la información de los planetas para poder ver cada uno de los planetas. Necesitamos acceder a un nuevo menú donde podamos elegir qué planeta en concreto queremos ver.

17:42

Añadir los satélites más importantes a sus planetas correspondientes.

18:56

Continuación de la clase anterior.

14:32

Finalizar lo que falta para acabar con el proyecto.

Section 9: Algoritmos de ordenación
01:20

Explicación de los algoritmos de ordenación.

14:18

Explicación del algoritmo de la burbuja y programarlo para comprobar su resultado.

08:28

Realización del algoritmo anterior pero mejorado y explicando porqué creemos que será más rápido.

12:36

Explicación del algoritmo de ordenación por inserción y programarlo para comprobar su resultado.

09:11

Explicación del algoritmo de ordenación por selección y programarlo para comprobar su resultado.

15:25

Explicación del algoritmo de ordenación por mergesort y programarlo para comprobar su resultado.

08:35

Explicación del algoritmo de ordenación por quicksort y programarlo para comprobar su resultado.

20:30

Calcular cuánto tarda la ejecución de cada algoritmo para comprobar cuál es normalmente el más rápido. Así sabremos cuál debemos y cuál no debemos usar.

Section 10: Acceso a ficheros
02:16

Introducción al acceso a ficheros.

17:52

Lectura de fichero utilizando la forma de acceso File Reader

07:17

Escritura en fichero utilizando la forma de acceso File Writer

14:39

Ejercicio de leer un fichero y contar cuántos caracteres contiene.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

D. Juan Gabriel Gomila Salas, Licenciado en Matemáticas, Data Scientist & Game Designer

Juan Gabriel Gomila “Stay hungry, stay foolish“ - ¡Siempre he creído que el cielo es el límite en todos los aspectos!

Como Licenciado en Matemáticas, he estado en contacto con gran variedad de escenarios y casos atípicos, donde se plantea una situación y debe resolverse de una forma óptima y eficiente.


Mi CV:

Artículos y publicaciones:

Decenas de artículos y publicaciones relacionadas con el mundo de las matemáticas, el tratamiento de imágenes junto con la revista internacional IPOL, las lógica detrás de las máquinas tragaperras, el diseño lógico de videojuegos y el análisis de datos. Conoce más acerca de estos y otros temas en mi web personal o en la web de mi estudio Frogames.

Docencia Universitaria:

Desde 2015 soy profesor en dos asignaturas de matemáticas del Grado de Telemática impartido por la Universidad de las Islas Baleares y en el HND de Desarrollo de Videojuegos impartido por la Escuela de Diseño de las Islas Baleares. Así mismo, los cursos en Udemy me ayudan a mejorar para convertirme en un instructor no solamente presencial y en grupos reducidos de alumnos si no también haciendo uso de las nuevas tecnologías y a grupos más homogéneos de alumnos.

Desarrollo de Videojuegos en PlaySpace SL:

Desde 2012, trabajo en la empresa de desarrollo de videojuegos española PlaySpace SL, desarrollando juegos clásicos de mesa y social casino como el Parchís, Bingo, Juegos de Cartas o máquinas de Slots. Empecé llevando a cabo las funciones de Game Designer y Data Scientist, definiendo las nuevas funcionalidades a partir de los datos existentes y mejorando el contenido a cada etapa. Desde 2014 dirigiendo el producto como Product Manager y Game Producer coordinando las labores de lanzamiento de nuevos juegos y funcionalidades.

Desarrollo de Apps:

Cuento con experiencia laboral en crear y lanzar de 30 apps y videojuegos lanzados por mi estudio Frogames y en más de 5 proyectos con empresas reconocidas internacionalmente incluyendo Audición Plena, Medical Alert, Plaiout o Pillapartida entre otros. En este aspecto soy publisher de aplicaciones en diferentes países y mercados online incluidos los de Google Play, Amazon Store y Apple App Store. En la web corporativa de Frogames y en mi propio blog encontrarás mi portfolio de proyectos lanzados para que valores su calidad y estilo.

Online Marketing / SEO:

Tengo experiencia en la creación de KPIs y realización de predicciones a medio y largo plazo basada en los datos clave de un negocio. Así mismo, tengo experiencia en optimizar tanto el SEO como el ASO de los artículos y apps que elaboro para conseguir el mayor número de descargas orgánicas sin invertir dinero en marketing. Así mismo, he coordinado varias campañas de Google Adwords y Facebook Ads para acelerar las descargas y visitas de los productos que he lanzado, como estos mismos cursos en Udemy.

Si quieres más información gratuita sobre este tema, en el blog de mi página web tienes varios artículos acerca de esta y otras temáticas interesantes relacionadas con el mundo del marketing.

Desarrollo Web:

He elaborado las páginas webs de mi propio estudio y blog creando plantillas Wordpress en HTML 5 haciendo uso de Bootstrap 5.

Data Mining y Business Intelligence

Con la experiencia en el análisis de datos en PlaySpace, me he especializado en bases de datos relacionales con MySQL y los algoritmos de Slice & Dice para tratar y organizar los datos en dashboards con sentido y usables para sacar conclusiones acertadas en los proyectos que he trabajado. En el blog de mi web personal encontrarás más artículos relacionados con el Data Mining y Business Intelligence con el que he trabajado en el area de los videojuegos y apps móviles.



Instructor Biography

Srta. María del Mar Cardona Aranda, CEO de Frogames, estudiante de Ingeniería Informática

Soy estudiante de Ingeniería Informática en la universidad de las Islas Baleares. Tengo una completa formación en diversos lenguajes de programación como Java, C, Ensamblador, MySQL, Objective-C y Swift. Soy lo que podría llamarse, un poco friky ^^

Como proyecto personal, he arrancado junto a Juan Gabriel Gomila una empresa al frente de desarrollo de apps, videojuegos y formación online llamada Frogames. Durante los últimos años hemos llevado a cabo más de 40 apps al completo, como hobby y para terceros, así como una decena de cursos online para enseñar a la gente a programar sin tener experiencia previa. 

La verdad es que trabajar fuera de una oficina, en casa, en el sofa, en la cama, es todo un lujo. Uno no se lo cree hasta que lo hace! ¿Tu también quieres convertirte en un emprendedor y llevar a cabo proyectos desde casa? Pues apúntate a nuestros cursos online y empieza a ver cómo lo hacen el resto de estudiantes y nosotros mismos para aprender a programar y ganar dinero mientras disfrutas haciéndolo! Solamente tienes que mirar los comentarios del resto de estudiantes y ver qué fácil puede ser cuando te lo explican bien!

Nos vemos en clase!

Ready to start learning?
Take This Course