Cursos de informática y desarrollo de software
Aprende Python de cero a avanzado con ejercicios prácticos
Aprende a programar en C de cero a avanzado con prácticas
Aprende Java de cero a avanzado con ejercicios prácticos
Aprende diseño web de cero a expero con proyectos: HTML + CSS
Desarrollo web con un proyecto real: JAVA EE + BOOTSTRAP + JQUERY
Aprende a programar en jQuery a través de proyectos
Máster en desarrollo web con proyecto completo: JSP + JPA + MYSQL
Desarrollo web Full Stack: NODEJS + MONGODB + BOOTSTRAP + JQUERY
Desarrollo web Full Stack: FLASK + JAVASCRIPT + POSTGRESQL
Desarrollo web frontend en React JS con un proyecto completo
Programación en Linux: uso de comandos y shell scripting
Desarrollo web full stack: C# + ASP.NET + React + SqlServer
Soy licenciado en Ingeniería Informática y poseo un máster en desarrollo de aplicaciones web y móviles.
Tras bastantes años trabajando como desarrollador de software y analista técnico en empresas tecnológicas, obtuve mi plaza como profesor de ciclos formativos de la rama de Informática y Comunicaciones, profesión a la que me dedico actualmente.
Me apasiona aprender nuevas tecnologías y desarrollar proyectos en cualquier lenguaje de programación: Java, C#, Python, C,... Mi objetivo es compartir conocimiento y que todos mis cursos lleguen al mayor número de personas posible.
Python es, estadísticamente, uno de los lenguajes de programación que más ha crecido en los últimos años. Cada vez hay más personas interesadas en aprender a programar en Python. De hecho, hay quienes lo consideran el lenguaje de programación del futuro.
Además de las características de uso de Python y sus múltiples capacidades en varios campos de la informática, es uno de los lenguajes más elegidos por los programadores por su uso en Machine Learning y Data Science.
También es muy útil en otros ámbitos como el desarrollo web gracias a frameworks como Django, desarrollado en Python y que permite crear de forma rápida aplicaciones web.
Así pues, Python es uno de los lenguajes que más buscan tanto desarrolladores con experiencia profesional como personas que quieren aprender a programar en Python desde cero. Al tratarse de un lenguaje sencillo y de fácil lectura, pretende también ser un lenguaje de iniciación y la puerta de entrada a la programación a estudiantes que empiezan y buscan un lenguaje útil y con posibilidades de desarrollo y cuya curva de aprendizaje es moderada, y más comparada con otros lenguajes.
Con este curso aprenderás a programar en Python desde cero: comenzaremos con los aspectos básicos del lenguaje hasta los contenidos más avanzados, mediante la realización de ejercicios prácticos que reforzarán las explicaciones realizadas. Para terminar, podrás comprobar todo lo aprendido con un proyecto final donde se trabajarán todos los contenidos del curso. Los enunciados y soluciones de los ejercicios y la práctica final están accesibles en GitHub para todos los alumnos del curso.
El lenguaje de programación C fue desarrollado por Dennis Ritchie en los Laboratorios Bell entre 1968 y 1972. En la actualidad, C se ha convertido en uno de los idiomas más populares, gracias en gran medida por los siguientes factores:
Con este curso aprenderás a programar en C desde cero, desde los aspectos básicos del lenguaje hasta los contenidos más avanzados. La metodología que se utiliza combina la presentación de los contenidos teóricos con la realización de ejercicios prácticos que refuerzan las explicaciones realizadas.
Las clases se agrupan en bloques de dificultad creciente lo que facilita el seguimiento del curso. En cada clase existe un foro de discusión para que el alumnado pueda postear las dudas surgidas en su visualización.
Si te interesa el desarrollo y quieres desempeñarte profesionalmente en este ámbito de la ingeniería de software, entonces debes asegurarte de que tu formación incluya alguno de los principales lenguajes de programación. Por ello, te recomiendo hacer un curso de programación Java, para que puedas convertirte en el profesional que las empresas necesitan.
Aprender a programar en Java es fundamental, ya que es uno de los lenguajes más populares desde hace ya varios años. Cuenta además con una base importante de programadores que lo respaldan. Por esta razón, muchas empresas demandan profesionales con conocimiento en este lenguaje, por lo cual la mejor recomendación para perfeccionar su dominio es inscribirse en un curso de programación Java.
Con este curso aprenderás a programar en Java desde 0, desde los aspectos más básicos del lenguaje hasta contenidos avanzados, mediante la presentación de los contenidos teóricos complementados con la realización de ejercicios prácticos que reforzarán las explicaciones realizadas.
Tras finalizar el curso, el alumnado sabrá todo lo necesario para poder desarrollar sus propios programas en Java, y poder estudiar de forma autónoma otros contenidos que no se tratan en el curso.
Las clases se agrupan en bloques de dificultad creciente, lo que facilita el seguimiento del curso. En cada clase existe un foro de discusión para que el alumnado pueda postear las dudas surgidas en su visualización.
Al final del curso, te propongo además 3 prácticas muy completas para que puedas desarrollar código Java por tu cuenta y poner a prueba los conocimientos adquiridos en el curso. Además, pongo a tu disposición un foro de trabajo para que puedas postear tus dudas sobre cómo dar solución a las mismas.
El diseño de un sitio web es un elemento muy importante en el proceso de desarrollo. Esto se debe a que el usuario sentirá confianza al entrar a un sitio que luzca profesional, en el que pueda navegar de forma cómoda, rápida y segura, evitando cualquier problema que le impida ver el contenido por el que accedió.
Se ha comprobado que los diseños web que son originales, limpios y ordenados tienen más probabilidad de convertir a un visitante en un usuario. La página web se ve como la carta de presentación del negocio o la marca, así que es de suma importancia que se vea presentable y profesional. Así pues, el diseño del sitio web tiene un papel fundamental para conseguir el éxito de un proyecto web.
En este curso aprenderás las tecnologías más importantes el el mundo del diseño web, como son HTML y CSS. Cada concepto que se introduce en el curso es presentado con multitud de ejemplos para hacer más fácil la asimilación por parte del alumnado. Además, existe una gran cantidad de prácticas resueltas paso a paso para que compruebes cómo implementar usando HTML y CSS interfaces web a partir de un diseño preestablecido.
Por último, en el curso se proponen una serie de diseños para que el alumno pueda poner en práctica todo lo aprendido a lo largo de las diferentes clases, contando siempre con el apoyo del profesor, partiendo de un nivel básico hasta lograr un conocimiento a nivel experto en las diferentes tecnologías tratadas.
Al finalizar, serás capaz de crear tus propios diseños web usando las herramientas y los conocimientos aprendidos durante el curso.
Internet y la tecnología se han convertido en el centro de nuestras vidas, para bien o para mal. Todos los días accedemos a la red por trabajo, estudios, ocio o simplemente para saciar nuestra curiosidad. En este sentido el desarrollo web se ha convertido en una de las áreas profesionales más importantes de la actualidad.
El desarrollo de páginas y aplicaciones web no para de aumentar. Al igual que la información almacenada en la red. En muchas ocasiones estar en la red se ha convertido en una cuestión de supervivencia. Si una empresa, o incluso un individuo, no aparece en el buscador directamente no existe para el resto de los usuarios. Se pueden perder potenciales clientes. Así, el desarrollador web es una figura fundamental.
El desarrollo web es la creación de páginas web o el desarrollo de aplicaciones con tecnología web. Las aplicaciones digitales que usamos en nuestros dispositivos móviles también son parte de este campo de estudio.
En este curso veremos muchas de las herramientas necesarias para ser un desarrollador web profesional:
Con todas estas tecnologías, aprenderás a realizar un desarrollo web desde cero mediante la implementación de un proyecto web completo y funcional, realizado paso a paso y de forma guiada por el instructor.
Para ello, implementarás tanto la parte cliente usando HTML, CSS, BOOTSTRAP y JQUERY como la parte servidor empleando componentes de JAVA EE y conectando con servidor de base de datos MARIADB.Si alguna vez te has topado con un proyecto donde es necesario añadir una funcionalidad dinámica a un conjunto de elementos, te podrás haber dado cuenta que resulta bastante laborioso y frustrante. Con el tiempo, la manera de obtener y trabajar con dichos elementos se convierte en un patrón que vamos siguiendo en todos los demás proyectos, y al utilizar JavaScript puro esto puede resultar en decenas de líneas de código para cada tarea.
Si el patrón ya existe y la funcionalidad siempre será la misma, ¿Por qué no crear una librería que nos permita ahorrar líneas de código?, precisamente esto fue lo que motivo a los creadores de jQuery a desarrollar un complemento ligero y óptimo, que con el tiempo se ha convertido en gran aliado de una gran cantidad de desarrolladores.
Básicamente lo que se ha establecido con esta librería, son tareas comunes o triviales que usualmente son utilizadas por los desarrolladores al momento de estructurar proyectos de tipo dinámico. Para no tener necesidad de escribir tanto o de invertir tiempo ideando algo que ya existe jQuery nos simplifica nuestras tareas, recuerda que no siempre tenemos que redescubrir el hilo negro, si algo ya existe y funciona bien ¿Por qué no utilizarlo?.
Sin duda una de las mayores ventajas que presenta el uso de jQuery en nuestros proyectos es su simplicidad, sencillez y fácil redacción, una línea de código bien estructurada nos permitirá ahorrarnos varias más, lo que nos hará más fácil la vida al momento de leer el código y buscar propiedades. Las declaraciones con jQuery son sencillas, con una semántica muy entendible y de fácil estudio.
En este curso estudiaremos el núcleo de jQuery, las funciones más importantes de esta librería, mediante el uso de ejemplos de código. Una vez dominada la sintaxis y las funciones del lenguaje, los pondremos en práctica mediante la realización de 10 proyectos completos y funcionales donde se trabajaran aspectos tan importantes en el desarrollo web actual como son el uso de APIs externas, representación de datos dinámicos en tablas, gráficas, animaciones, mapas, imágenes, implementación de juegos, etc.
El desarrollo web consiste específicamente en el diseño, la construcción y el mantenimiento de plataformas en internet, a través de diferentes tecnologías que pueden actuar combinadas o no. Ahora bien, en un mundo en el que cobran cada vez mayor preponderancia las redes y la utilización de los dispositivos tecnológicos, la importancia del desarrollo web es absoluta.
A día de hoy, los puestos en desarrollo web se han multiplicado, y son más las empresas que buscan trabajadores especializados para llevar a cabo este tipo de tareas. Que un sitio web funcione correctamente y pueda adaptarse sin inconvenientes a los distintos dispositivos y al tráfico de usuarios, resulta indispensable para conservar una buena imagen y se traduce eventualmente en ventas. Es por eso que tanto para quienes desean trabajar en esto, como para las empresas que deseen formarse, aprender herramientas de desarrollo web es clave; así como también para incorporar las dinámicas de trabajo que imperan en un mercado digital aún en expansión.
Estudiar un curso sobre desarrollo web como este, sin dudas, es una puerta a un amplio abanico de posibilidades a la hora de lanzarse al mundo online, que cada vez ocupa más lugar en la vida cotidiana, debido a que combina de forma precisa la explicación de algunas de las tecnologías más demandadas en el desarrollo web con la realización práctica de un proyecto web completo y real basado en el modelo vista controlador MVC.
En este curso veremos muchas de las herramientas necesarias para ser un desarrollador web profesional:
Con todas estas tecnologías, aprenderás a realizar un desarrollo web desde cero mediante la implementación de un proyecto web completo y funcional que sigue el modelo vista controlador (MVC), realizado paso a paso y de forma guiada por el instructor.
Para ello, implementarás tanto la parte cliente usando HTML, JSP Y BOOTSTRAP como la parte servidor empleando JAVA SERVLETS y conectando con servidor de base de datos MYSQL.
En una industria como la tecnológica en la que todo evoluciona a un ritmo frenético, los roles y perfiles que demandan las empresas deben adaptarse a las nuevas circunstancias muy rápidamente. Por esto mismo, si bien algunos años atrás estaban claramente diferenciadas las tareas que debía acometer, por un lado, un front-end developer y, por el otro, un back-end developer, a medida que las necesidades de las compañías tecnológicas cambiaban y los desarrolladores tenían que adquirir nuevas destrezas y habilidades se ha extendido la figura del desarrollador full stack.
Pese a que se trata de un perfil que aún no está del todo definido, lo cierto es que cada vez está más demandado por la industria. Lo que le diferencia del resto de perfiles que existen en la industria tecnológica no es que sepa hacerlo todo, sino que sepa entenderlo todo, tanto lo que ocurre en la parte del cliente como en la parte del servidor.
Para llegar a adquirir las habilidades propias de este rol, aquellas que demanda el mercado, un desarrollador debe estudiar distintos lenguajes de programación, conocer distintos entornos, manejar ciertas tecnologías y frameworks tanto en el front-end como en back-end. Es ahí donde tiene valor un curso como este, con el que podrás aprender muchas de las tecnologías necesarias para desenvolverte como desarrollador full-stack.
En este curso construiremos una aplicación web completa y funcional, diferenciando claramente en el desarrollo dos bloques principales:
Por lo tanto, a lo largo del curso estudiaremos muchas de las tecnologías más empleadas en el desarrollo web:
Por último, desplegaremos la API Rest en la plataforma Heroku para que pueda ser accesible desde cualquier sitio. Asimismo, desplegaremos el cliente desarrollado haciendo uso del servicio de hosting que proporciona Firebase, para que la aplicación web completa pueda ser ejecutada simulando un entorno de producción real.
Aunque llegar a ser un desarrollador web no es una tarea reservada para eminencias de la informática, la cuestión es diferente, y mucho más compleja, cuando hablamos de un desarrollador Full Stack. Debido a su dominio de la lógica del Backend y el Frontend; el manejo de diferentes lenguajes de programación, servidores y bases de datos, este perfil requiere de un alto nivel de preparación y experiencia.
Es por ello que el desarrollador Full Stack se ha convertido en un perfil apetecido por las empresas del sector tecnológico, especialmente por aquellas pequeñas o medianas compañías en etapa inicial, las cuales cuentan con equipos pequeños y requieren personas con diferentes habilidades para optimizar sus recursos.
Pero, ¿en qué consiste este perfil y por qué es tan demandado? Y, si es tan interesante-y bien pagado-, ¿Cómo puedes convertirte en uno?
Un desarrollador con este perfil es alguien que puede trabajar tanto en el Frontend como en el Backend de una aplicación web, un software o un sitio web. Es decir, comprende la lógica que conecta la experiencia del usuario que interactúa con la app o la página con el manejo de las bases de datos y servidores que almacenan la información.
En este curso construiremos una aplicación web completa y funcional, diferenciando claramente en el desarrollo dos bloques principales:
Por lo tanto, a lo largo del curso estudiaremos muchas de las tecnologías más empleadas en el desarrollo web:
Aunque llegar a ser un desarrollador web no es una tarea reservada para eminencias de la informática, la cuestión es diferente, y mucho más compleja, cuando hablamos de un desarrollador Full Stack. Debido a su dominio de la lógica del Backend y el Frontend; el manejo de diferentes lenguajes de programación, servidores y bases de datos, este perfil requiere de un alto nivel de preparación y experiencia.
Es por ello que el desarrollador Full Stack se ha convertido en un perfil apetecido por las empresas del sector tecnológico, especialmente por aquellas pequeñas o medianas compañías en etapa inicial, las cuales cuentan con equipos pequeños y requieren personas con diferentes habilidades para optimizar sus recursos.
Pero, ¿en qué consiste este perfil y por qué es tan demandado? Y, si es tan interesante-y bien pagado-, ¿Cómo puedes convertirte en uno?
Un desarrollador con este perfil es alguien que puede trabajar tanto en el Frontend como en el Backend de una aplicación web, un software o un sitio web. Es decir, comprende la lógica que conecta la experiencia del usuario que interactúa con la app o la página con el manejo de las bases de datos y servidores que almacenan la información.
En este curso construiremos una aplicación web completa y funcional, diferenciando claramente en el desarrollo dos bloques principales:
Por lo tanto, a lo largo del curso estudiaremos muchas de las tecnologías más empleadas en el desarrollo web:
"Se busca desarrollador con conocimientos en React". Seguro que has visto esto en muchas ofertas de empleo y si has llegado hasta este curso es porque tienes la intención de aprender más sobre qué es React, sus principales características y qué ventajas ofrece. Pero antes una pequeña aclaración, muy al contrario de lo que suele pensar React JS no es un framework en sí mismo sino una librería de JavaScript . Su principal función es facilitar la creación de interfaces de usuario de una manera ágil y versátil.
React nos permite crear aplicaciones web SPA (de una sola página) e incluso aplicaciones para móviles. Esto se logra mediante el complejo ecosistemas de módulos y herramientas que se han ido creando para obtener todo el potencial de esta librería y nos permite un desarrollo flexible. Cuenta además con un muy amplio respaldo en la comunidad, debido a que cuenta con Facebook como su principal impulsor, pero además nombres como BBC, Airbnb, Netflix, Dropbox y un largo etcétera hacen uso intensivo de React JS. Esto nos da una idea de su alcance.
En este curso aprenderás React a través del desarrollo completo de una aplicación web sobre libros. Para la parte backend utilizaremos una API implementada por el sitio web OpenLibra, por lo que solo tendremos que realizar peticiones a dicha API para obtener los datos que serán mostrados en la parte frontend, mediante la generación de una serie de vistas o interfaces web a través de React JS.
Además, junto con React emplearemos una gran cantidad de librerías y herramientas que utilizados en conjunción nos permitirán desarrollar una aplicación web perfectamente funcional y que desplegaremos en producción. Entre ellas, me gustaría destacar las siguientes:
Se conoce como distribución de Linux a todo sistema operativo que utilizan Linux como núcleo para su funcionamiento. Una razón principal por la cual aprender Linux es que se utiliza en casi todas partes, Linux se utiliza en computadoras de escritorio y portátiles, teléfonos celulares (Android), tecnología en la nube (i.e., Google, Amazon, etc), Chromebooks y redes. Aunque nunca hayas utilizado un ordenador con Linux, es probable que esté utilizando otra tecnología que funciona con Linux, por ejemplo un teléfono móvil Android, una tableta o páginas web populares como Facebook, Twitter o Amazon. De hecho, se estima que más de la mitad de las páginas web en Internet se generan a partir de servidores Linux.
Al escuchar al hablar de Linux puede que piense que es algo difícil y que es utilizado por personas expertas en tecnología, programadores, desarrolladores y hackers. Aunque es un sistemas operativo muy utilizado por este tipo de personas, esto no significa que Linux sea demasiado difícil para aprender o que no sea útil para principiantes.
Entender Linux, en especial la línea de comandos, ayudará a entender mejor la informática y proporcionará conocimientos informáticos básicos que pueden ser aplicados en diferentes carreras.
La línea de comandos en Linux es una interfaz basada en texto que acepta comandos que se escriben en ella. Estos comandos hacen que una acción se ejecute en el sistema operativo del equipo. Es claro que las ventanas y los iconos son mas fáciles de usar pero la línea de comandos es lo más adecuado cuando hablamos de administración de sistemas y solución de problemas, ya que esta nos permite tener una visión clara de lo que esta pasando en el sistema todo momento.
Aprender Linux puede ayudarle a avanzar en el camino hacia la adquisición de estos conocimientos y capacidades. Los siguientes son ejemplos de algunas profesiones de TI que requieren conocimientos de Linux:
Hay una gran variedad de distribuciones disponibles para adaptarse a las necesidades y demandas de muchos sectores de TI. Por ejemplo, los profesionales de la ciberseguridad pueden usar Kali Linux, los programadores pueden usar Ubuntu, los usuarios habituales pueden usar Linux Mint y los servidores empresariales pueden funcionar con Red Hat Enterprise Linux.
Otras importantes razones para usar y aprender Linux incluyen que es gratis, fácil de instalar, de código abierto, y la presencia de una comunidad Linux activa y disponible para asistencia y apoyo. Esto permite que aquellos que desean empezar a adquirir competencias en TI puedan empezar a usar Linux de manera fácil.
Hay muchas razones para aprender y explorar Linux, y nada mejor que hacerlo con este curso, con el que además podrás poner en práctica todos los contenidos que vayas viendo a lo largo de las clases.
El desarrollo full stack se refiere a la capacidad de un desarrollador para trabajar en todas las capas de una aplicación, desde el frontend hasta el backend. En un panorama tecnológico en constante evolución, donde la demanda de aplicaciones web y móviles es cada vez mayor, los desarrolladores full stack se han convertido en piezas clave en el desarrollo de soluciones completas y eficientes. Al tener un conocimiento profundo de todas las etapas del proceso de desarrollo, pueden optimizar el rendimiento, garantizar la usabilidad y mejorar la experiencia del usuario.
Ser un desarrollador full stack ofrece numerosas ventajas. En primer lugar, la versatilidad que brinda esta habilidad permite a los profesionales adaptarse fácilmente a diferentes proyectos y tecnologías. Además, al tener conocimientos tanto en el frontend como en el backend, los desarrolladores full stack pueden comprender mejor las interacciones entre las diferentes capas de una aplicación, lo que facilita la identificación y solución de problemas. Esta capacidad también fomenta una mayor colaboración con otros equipos, como diseñadores, especialistas en bases de datos y administradores de sistemas.
Para ser un desarrollador full stack exitoso, es importante dominar una variedad de tecnologías y habilidades. En este curso construiremos paso a paso una aplicación full stack a través de la cual se aprenderán muchas de las tecnologías más utilizadas en el mercado actual: