Actualizado en noviembre de 2017
En este curso de Fundamentos de Programación aprenderás de forma básica y muy completa las nociones más elementales sobre el desarrollo de software. Este curso dará un recorrido completo por todos los conceptos más básicos para aprender a programar, lo cual te permitirá entender cualquier lenguaje gracias a la visión global que adquirirás. De hecho a lo largo del curso aprenderás cámo aplicar cada idea en 9 lenguajes simultáneamente.
Aprenderás las bases de la programación en varias de las principales áreas de desarrollo de software:
- El desarrollo web
- El desarrollo de apps para dispositivos móviles
- El desarrollo de aplicaciones de escritorio
Te animo a que veas el temario y cualquiera de las clases que estén accesibles antes de comprar el curso y seguro que desearás ver el resto del curso.
Tabla de Contenidos
Los lenguajes que veremos en este curso son los siguientes:
- Python
- Ruby
- JavaScript
- PHP
- Java
- Go
- C
- C++
- C#
Además contarás con material didáctico descargable, ejercicios propuestos y ejemplos de uso en software de la vida real, para que entiendas cómo se han desarrollado tales programas y sepas tú también cómo hacerlo.
El curso está dividido en varios bloques:
-
Introducción a la programación
En esta sección entenderás qué es programar, qué son los lenguajes de programación, qué diferentes tipos de lenguajes hay, cómo interactuan con el procesador de la máquina, sabrás lo que se cuece realmente por dentro, qué áreas del desarrollo existen y en qué lenguajes se pueden llevar a cabo, así como las diferentes herramientas que puedes usar para programar en cada uno de los 9 lenguajes que se abordan en el curso.
-
Manejo de Datos
Aquí aprenderás los tipos de datos que hay, cómo se administran en cada lenguaje, cómo hacer operaciones con los valores y recursos avanzados como los arrays y las matrices de varias dimensiones para almacenar datos en masa.
-
Programación Estructurada
En este sección entenderás cómo funciona el flujo de ejecución de las instrucciones escritas en el código del programa, de eso modo aprenderás a tomar el control de la ejecución y decidir qué debe hacer tu programa en cada momento.
-
Programación Modular
Descubre las formás más básicas de agrupar el código en bloques independientes para tener todas las instrucciones mejor organizadas y de forma más optimizada. Eso te ayudará a mantener y visualizar mejor el proceso de ejecución.
-
Programación Orientada a Objetos (POO)
No sabes programar si no entiendes los Objetos, qué son, cómo funcionan, cómo crearlos y administrarlos, así como establecer Herencia entre Objetos y el uso de Polimorfismo. En esta sección te mostraré todos estos puntos con varios ejemplos prácticos.
Pero eso no es todo, hay más secciones que serán añadidas al curso de forma constante, como datos almacenados, estructuras de memoria dinámica, manejo de errores, buenas prácticas, etc. hasta abarcar todas las bases de este apasionante mundo.
Todos los conceptos se explican en detalle, paso a paso y entendiendo el por qué de cada cosa. Así podrás sentar las bases desde un principio en tu desarrollo profesional. Este curso te permitirá expandirte a cualquier área del desarrollo de software.
¿Verdad que es genial? Pues lo mejor de todo es que está a tu alcance.
Compra el curso y disfruta de todo lo que te está esperando.
Nos vemos!
José Javier Villena
Empezar aquí
Breve repaso del contenido que analizaremos en el curso
En este video te doy algunos consejos y avisos para que tengas en cuenta lo que se ofrece y ofrecera en este curso :)
Cómo funcionan los Lenguajes de Programación
En este video te explicaré qué es un programa para que entiendas en qué consiste el proceso de programar
En este video te explicaré en qué consisten los lenguajes de
programación y sus características para que sepas que medio se usa para
transmitir las instrucciones a la máquina
En este video te explicaré que tipos de lenguajes existen en función de como ejecutan el código, las ventajas e inconveniente de cada tipo. Esto servira de base para entender muchos de los conceptos futuros en el curso
En este video te explicaré las diferentes áreas de programación para que entiendas qué lenguajes pueden usarse en cada una de ellas, asi como diferentes Softwares creados con cada lenguaje para que sepas qué podrás hacer con cada uno
En este video te explicaré las diferentes herramientas de desarrollo de código que tienes para cada uno de los 9 lenguajes del curso
Datos
En este video te explicaré de forma profunda qué es una variable, como funciona internamente la reserva de memoria, los tipos de datos que hay y las constantes
En este video te explicaré qué operadores de calculo y asignacion abreviados puedes usar en cada lenguajes para operar con los datos
En este video haremos un ejemplo del concepto anterior para que lo comprendas de una forma práctica
En este video te explicaré qué son los arrays o arreglos, como crearlos y como administrarlos a través del índice
ADVERTENCIA: en el video veran el codigo en JavaScript que dice asi:
var contactos = new string(20);
les advierto de que hubo un error en la edición del video, el código correto es el siguiente
var contactos = new Array(20);
disculpen!
En este video te explicaré qué son las matrices, como crearlas, como asignarles las dimensiones que necesitemos y como administrar los datos internos
En este archivo pdf te propongo ejercicios para que los resuelvas en el lenguaje que prefieras. Recuerda compartir tus resultados con el resto!!
Programación Estructurada
En este video te explicaré la sentencia básica de contro de flujo if y else para hacer condiciones
En este video te explicaré la lógica booleana, los operadores lógicos, de comparacion y como usarlos para establecer condiciones
En este video te explicaré cómo usar los bucles do-while y un ejemplo real de su utilización hoy en dia
En este video te explicaré cómo son los bucles while y en qué casos pueden usarse
En este video te explicaré la estructura del clásico bucle for, como usarlo, las ventajas que presenta y ejemplos de aplicación
En este video te explicaré la sentencia de flujo switch, las ventajas que presenta, los factores a tener en cuenta y ejemplo de uso
En este video te explicaré sentencias avanzadas como break, continue, goto, etc. La lógica que usan y un ejemplo real
Aquí tienes disponible 12 ejercicios en el pdf donde repasar los contenidos de esta sección ejemplificados en apps reales y premiadas durante el ultimo año
Programación Modular
En este te enseñaré qué es el concepto de Programación modular y en qué consiste a traves del lema "divide y vencerás"
En este video te enseñaré la sintaxis para crear funciones en cada lenguaje asi como el concepto de parámetro, return, parametros por defecto y tipos de funciones
En este video te enseñaré qué es una variable global, qué ventajas tienes y que peligros presenta. Usaremos esta idea para avanzar en nuestro ejemplo de simulacion de un evento deportivo
En este video te enseñaré un tipo de datos especial: los punteros. Veremos en qué lenguajes puedes aprenderlos asi como el uso en el envio de parametros por referencia, y no por valor como hemos visto hasta ahora
En este video te enseñaré un tipo especial de función: las funciones recursivas. En qué consisten y ejemplos reales de su uso
Aquí tienes un ejemplo en el que te ayudo a resolver donde recrear el
proceso interno de una app para ejercicios de musculación a través del
uso de funciones
Programacion Orientada a Objetos
En este video te enseñaré qué es un objeto, qué ventajes tiene con respecto al resto de datos y en el uso que se le da hoy en dia
En este video te enseñaré la sintaxis de un objeto, como declararlo en cada lenguaje, y cómo crearlo. También veremos como añadirle propiedades o atributos y funcionalidades a través de los métodos. En aquellos lenguajes que aplique tambien veremos cómo especificar la accesibilidad de estas características
En este video te enseñaré el método principal de un objeto: el constructor. Veremos el papel que juega en la creación del objeto, cómo definirlo y cómo hacer variantes para crear el objeto con y sin parámetros de entrada. Tambien veremos un ejemplo real de este concepto en el desarrollo de videojuegos
En este video te enseñaré otros métodos estándar que debes conocer para administrar los valores de las propiedades de los objetos. También incluiremos esta idea en el ejemplo de videojuegos con el que estamos viendo la aplicación práctica de la programación orientada a objetos
En este video te enseñaré qué es la herencia y cómo se hace herencia entre objetos. Te mostraré cómo añadir propiedades además de las heredadas y cómo funcionan los constructores de objetos que reciben herencia. De nuevo extenderemos nuestro videojuego gracias al concepto de herencia
En este video te enseñaré algo elemental en la programación orientada a objetos: el polimorfismo. Gracias a este pilar podrás crear funciones donde uses varios tipos de objetos sin fallos de tipado si has creado un buen patrón de herencia entre los objetos
Te propongo en el archivo pdf un completo ejercicio sobre Objetos, Herencia y Polimorfismo