En un mundo que rápidamente se está digitalizando, aprender a programar abre nuevas (y muchas veces mejores) oportunidades. Con este curso darás tus primeros pasos hacia el mundo de la programación. Empezaremos desde cero, enseñándote los fundamentos de JavaScript, el lenguaje de programación más popular de la Web.
Este curso está dirigido a personas sin conocimientos previos de programación que tienen el interés de aventurarse al mundo del código. Será tu primer paso en la ruta de aprendizaje.
El propósito de este curso es darte una idea de qué se trata el mundo del desarrollo de software, para que puedas determinar si es algo que te apasiona perseguir como profesión. Al terminar este curso sabrás si el código es lo tuyo y habrás sentado unas buenas bases para el desarrollo de tu carrera profesional en el mundo tech.
- Cómo funciona la Web: HTML, CSS, JavaScript, HTTP & URLs
- Conceptos básicos de programación como: variables, tipos datos, estructuras de datos, operadores, declaraciones condicionales, ciclos y funciones
- La sintaxis básica de JavaScript como lenguaje de programación
- A correr programas utilizando la interfaz de línea de comandos (CLI)
- A utilizar un sistema de control de versiones (Git)
- Total: 30 horas aprox.
- Modalidad: Self-paced (online)
Ningún conocimiento previo de programación es necesario para completar este curso. Está diseñado para principiantes.
En este curso pondrás en práctica los conceptos al desarrollar tres (3) productos digitales:
-
Cajero automático: crearás un programa que un cajero automático pueda utilizar para determinar el número mínimo de billetes a entregar dado un monto solicitado.
-
¿Es una tarjeta de crédito falsa?: crearás un programa que confirme si una tarjeta de crédito es válida según el algoritmo de Luhn.
-
Post encriptados en Facebook: aplicación web que publica mensajes codificados (encriptados) en Facebook, que tus amigos solo pueden decifrar a través de tu aplicación web.
Lección 01: Introducción
30min (self-paced)
Tu primer acercamiento al mundo de la tecnología. Después de una breve bienvenida, entraremos al por qué aprender a programar con JavaScript y crearás tu primera página web.
# | Tipo | Duración | Tópico |
---|---|---|---|
00 | lectura | Xmin | Bienvenida y orientación |
01 | lectura | Xmin | Growth Mindset |
02 | lectura | Xmin | ¿Qué es la programación y porqué aprender a programar? |
03 | lectura | Xmin | Tu primera página web |
04 | quiz | Xmin | Prueba tu conocimiento |
Lección 02: Variables y Tipos de Datos
30min (self-paced)
Aprende a utilizar variables para almacenar información que cambia durante el transcurso del programa y los diferentes tipo de datos de los valores en JavaScript.
# | Tipo | Duración | Tópico |
---|---|---|---|
01 | lectura | Xmin | Valores, tipos de datos y operadores |
02 | lectura | Xmin | Variables |
03 | lectura | Xmin | Manipulando strings y numbers |
04 | lectura | Xmin | Comentarios en JavaScript |
05 | video | Xmin | Practicando con ejercicios de variables y tipos de datos |
06 | quiz | Xmin | Prueba tu conocimiento |
Lección 08: Estructuras Condicionales
30min (self-paced)
Explora una de las formas más comunes de controlar el flujo de tu programa, y por lo tanto darle flexibilidad a lo que hace tu producto.
# | Tipo | Duración | Tópico |
---|---|---|---|
01 | video | Xmin | Repaso semana 1 |
02 | video | Xmin | Introducción a estructuras condicionales |
03 | video | Xmin | if… else & else if |
04 | reto | Xmin | Completa el siguiente código para que, de acuerdo a la edad, clasifique entre: baby, toddler, kid, teenager and adult. |
05 | video | Xmin | switch |
06 | quiz | Xmin | Prueba tu conocimiento |
Lección 09: Estructuras Repetitivas
40min (self-paced)
Aprende a optimizar tu código con el uso de ciclos y sigue el principio de DRY: Don't Repeat Yourself.
# | Tipo | Duración | Tópico |
---|---|---|---|
01 | video | Xmin | Código DRY |
02 | video | Xmin | Introducción a estructuras repetitivas |
03 | video | Xmin | while and do while loops |
04 | reto | Xmin | Imprime los números del 0-10 |
05 | video | Xmin | Saliendo de un loop |
06 | video | Xmin | for loops |
07 | reto | Xmin | Imprime los caracteres de un string |
08 | quiz | Xmin | Prueba tu conocimiento |
Lección 10: Creando código reusable con Funciones
50min (self-paced)
Funciones es un tema que todo desarrollador en JavaScript debe conocer a profundidad y, por lo tanto, retornarás a este concepto en muchas ocasiones. Con esta lección darás tu primer paso para entender el mundo de oportunidades que te ofrecen las funciones.
# | Tipo | Duración | Tópico |
---|---|---|---|
01 | video | Xmin | Introducción a funciones |
02 | reto | Xmin | Crea una función |
03 | video | Xmin | Las funciones también cambian el flujo del programa |
04 | video | Xmin | return statement |
05 | reto | Xmin | Crea una función con dos opciones de return |
06 | video | Xmin | Pasar información a una función |
07 | reto | Xmin | Crea una función que sume dos números. Si los argumentos no son números debe retornar mensaje de error. |
08 | video | Xmin | Entiende scope |
09 | video | Xmin | Clean code: indentación, cammelCase, semantica y comentarios |
10 | quiz | Xmin | Prueba tu conocimiento |
Lección 11: Ejercicios guiados
45min (self-paced)
Repasa y consolida los conceptos aprendidos con un ejercicios práctico guiado.
# | Tipo | Duración | Tópico |
---|---|---|---|
01 | video | Xmin | Revisar conceptos aprendidos |
02 | video | Xmin | Enunciado: crea dos funciones, add y multiply . Cada uno debe tomar dos argumentos. La función add debe sumar sus argumentos y devolver el resultado. La funcion multiply debe multiplicar sus argumentos. Usando solamente estas dos funciones, resuelva este simple problema matemático: 36325 * 9824 + 777 |
03 | video | Xmin | Solucionario |
04 | video | Xmin | Enunciado: crea una función que encripte los mensajes utilizando el Cifrado César |
05 | video | Xmin | Solucionario |
Lección 12: Problem Sets
3h (self-paced)
Resuelve los siguiente problemas en Repl.it
:
- getStringLength
- countSpaces
- countVowels
- capitalizeFirstLetter
- isPrime
- isEven
- isOdd
- isGreater
- isSpleeping
- areBothEven
- isOldEnoughToDrinkAndDrive
- determineBadge
- fizzBuzz
- chessBoard
- piramidConsole
Lección 13: Objects & Arrays
60min (self-paced)
Los numbers
y strings
son los ladrillos con los que se contruyen estructuras
de datos más complejas. Llegó la hora de conocer a los objects
y los arrays
.
¡Con ellos vas a poder crear programas más interesantes!
# | Tipo | Duración | Tópico |
---|---|---|---|
01 | video | Xmin | Intro a objetos y arreglos |
02 | video | Xmin | ¿Qué son arreglos y por qué son importantes ? |
03 | video | Xmin | Creando, accesando y modificando arreglos |
04 | video | Xmin | Propiedades y métodos comunes de arreglos: .length ; .push() ; .shift() ; .unshift() ; .pop() ; .concat() ; .indexOf() ; .join() ; .slice() ; .lastIndexOf() ; .trim() |
05 | quiz | Xmin | Prueba tu conocimiento |
06 | reto | Xmin | Varios retos pequeños de manipulación de arreglos |
07 | video | Xmin | ¿Qué son objetos en JS y por qué son importantes? |
08 | video | Xmin | Creando, accesando y modificando objetos |
09 | quiz | Xmin | Prueba tu conocimiento |
10 | reto | Xmin | Varios retos pequeños de manipulación de objetos |
11 | video | Xmin | Combinando arreglos con objetos |
12 | reto | Xmin | Manipula un arreglo de objetos que representan tus amigos |
Lección 14: Ejercicios guiados
45min (self-paced)
Repasa y consolida los conceptos aprendidos con algunos ejercicios prácticos guiados.
| # | Tipo | Duración | Tópico
| - | ---- | -----
| 01 | video | Xmin | Revisar conceptos aprendidos
| 02 | video | Xmin | Enunciado: Crea un programa que imprima la suma todos los números entre un rango, como: console.log(sum(range(start, end)))
| 03 | video | Xmin | Solucionario
| 04 | video | Xmin | Enunciado: Crea una función que invierta el orden de los elementos de un array
| 05 | video | Xmin | Solucionario
| 06 | video | Xmin | Enunciado: Crea una función arrayToList
y otra listToArray
| 07 | video | Xmin | Solucionario
| 08 | video | Xmin | Enunciado: Crea dos funciones que busquen un elemento en un array: linear search and binary search
| 09 | video | Xmin | Solucionario
| 10 | video | Xmin | Enunciado: escribe una función llamada areArraysSame
que toma dos arrays como argumentos. Debe devolver verdadero si los dos arrays son iguales (es decir, tienen los mismos números, en el mismo orden) y false si son diferentes.
| 11 | video | Xmin | Solucionario
Lección 15: Problem Sets
3h (self-paced)
Resuelve los siguiente problemas en Repl.it
:
- arrayToObject
- objectToArray
- personalGreeting
- addProperty
- removeProperty
- calculateFee
- removeElement
- removeDuplicates
- sortArray
- classAverage
- isEmployable
- calculateDropoutRate
- topStudents
- isHacker
- isUnicorn
Lección 16: Creating Cool Products
3h (presencial)
Ahora que ya dominas los conceptos base de la programación, es hora de ponerlos en práctica creando productos divertidos.
# | Tipo | Duración | Tópico |
---|---|---|---|
01 | video | Xmin | Tips sobre cómo crear tus productos |
02 | video | Xmin | Cómo enviar tu trabajo |
03 | video | Xmin | Cajero automático: crea un programa que un cajero automático pueda utilizar para determinar el número mínimo de billetes a entregar dado un monto solicitado. |
04 | video | Xmin | ¿Es una tarjeta de crédito falsa?: crea un programa que confirme si una tarjeta de crédito es válida según el algoritmo de Luhn. |
05 | video | Xmin | Post encriptados en Facebook: aplicación web que publica mensajes codificados (encriptados) en Facebook, que tus amigos solo pueden decifrar a través de tu aplicación web. |
06 | video | Xmin | Aprende a desplegar tus productos en la web con Heroku |
07 | video | Xmin | Cierre |
[BONUS] Lesson 17: Javascripting de Node
3h (self-paced)
Si quieres solidificar tus conocimientos y asegurarte de que dominas por completo los temas que acabas de aprender, te recomendamos completar el curso de javascripting de la comunidad de nodeschool.
# | Tipo | Duración | Tópico |
---|---|---|---|
01 | video | Xmin | Tutorial workshoppers javascripting |
02 | video | Xmin | Cómo enviar tu trabajo |
[BONUS] Lesson 18: Javascripting de Node
30min (self-paced)
- ¿Cómo funciona la web?
- HTTP & URLs
- Rodulfo Prieto (autor)
- Lupo Montero
- Iván Medina
- Eloquent JavaScript, Marijn Haverbeke, 2014
- JavaScript for kids, Nick Morgan, 2015