Bootcamp con javascript avanzado

Bootcamp con javascript avanzado

Se puede aprender Javascript de muchas formas y en Skylab Coders escogemos llevar a los estudiantes a un nivel muy profundo. De un junior no se espera experiencia laboral, pero sí una comprensión de un lenguaje de programación. El testing se considera una práctica avanzada en el mercado, pero en nuestros cursos forma parte de las herramientas docentes básicas.

Una de las razones fundacionales de ISDI Coders es la de preparar a nuestros alumnos para una carrera larga en el sector del desarrollo web. Para conseguirlo, nos ceñimos al lema de la escuela: AD ASTRA PER ASPERA (a las estrellas a través de la dificultad). Decidimos diseñar un programa que llevara a nuestros estudiantes a un nivel muy sólido de Javascript. Hay muchas razones detrás de esta decisión, pero éstas son las dos principales:

Bootcamp con javascript avanzado

    • El salario de un programador suele ir acorde a su nivel.
    • Aparecen y desaparecen nuevas tecnologías. Es vital poder aprender de forma autónoma. Hacerlo es más fácil con una sólida base de programación.

Para destacar en las entrevistas de trabajo, poder resolver el mayor número posible de problemas y tener las bases para poder comprender nuevas herramientas y lenguajes, necesitamos llevar a nuestros alumnos a dominar conceptos avanzados de Javascript como:

    • Closures
    • Prototipos de una función
    • El valor de this
    • Asincronía

Una de las herramientas docentes que utilizamos para conseguirlo es el uso de unit testing (pruebas unitarias).

En programación, una prueba unitaria es una forma de comprobar el correcto funcionamiento de una unidad de código. Además de verificar que el código hace lo que tiene que hacer, verificamos que sea correcto el nombre, los nombres y tipos de los parámetros, el tipo de lo que se devuelve, que si el estado inicial es válido entonces el estado final es válido.

Testing como herramienta para comprender Javascript

El primer día de Javascript ya empezamos a hacer testing. Hace el proceso mucho más largo y difícil, pero conseguimos que tengamos que esforzarnos en entender a fondo el código.

Habitualmente, Javascript se aprende haciendo ejercicios en los que se practican cada una de las materias. Esta es una diferencia fundamental del programa de ISDI Coders Coders. No solo queremos enseñar a nuestros alumnos a usar el código sino a comprenderlo en profundidad. Así pues, cuando aprendemos los distintos métodos de arrays, lo hacemos testeándolos todos. En este caso vemos el test de la función splice que hizo Jaume los primeros días de la semana de Javascript:

'use strict';
describe('Array.prototype.splice', function () {
var elements; beforeEach(function () { elements = ['Jan', 'March', 'April', 'June']; });
it('should iterate and operate correctly', function() {
elements.splice(1,0,'February');
expect(elements.length).toBe(5);
expect(elements[0]).toEqual('Jan', 'Feb', 'March', 'April', 'June');
});
});

Necesitamos mantener el estandar de calidad que las empresas vienen a buscar en los alumnos de la escuela y este nivel de conocimiento es primordial.

Llegar a fondo en closures, prototipos, this y asincronía

El uso del concepto closure hace que los alumnos entiendan mejor el concepto de scope, es decir, desde donde son visibles las variables y llegar al concepto del contexto this. Estos elementos son básicos para dominar la gramática de Javascript y poder construir, entender y solucionar problemas de código mucho más complejos.

Bootcamp con javascript avanzado

El dominio de la asincronía nos permite gestionar mejorar el rendimiento de nuestra aplicación. La gestión de las promises nos abre la puerta a un nuevo nivel en la programación con Javascript. De este modo, podremos trabajar mejor con eventos que no se ejecutan de forma lineal en el tiempo cuando lleguemos a NodeJS, gestionemos archivos o peticiones a la base de datos. Los prototipos y la herencia son conceptos fundamentales que nos abren la puerta a realizar código bien modularizado y nos facilita la comprensión de los componentes que vemos más tarde en ReactJS.

Es importante entender estos aspectos antes de llegar a conceptos avanzados de patrones de diseño, ya que el scope y el contexto son una parte fundamental del Javascript moderno. Además acerca a los alumnos al mundo de desarrollo OOP (orientación a objetos), y les brinda una base para que luego ellos puedan aprender otros lenguajes avanzados, tipados como typescript, java, c#, kotlin, etc.

Si nuestro objetivo es preparar a nuestros alumnos para posiciones con Javascript, necesitamos que dominen el lenguaje y todo lo que esto implica.

¿Te ha parecido interesante? ¡Compártelo!
Seguro que a tus contactos le gusta leerlo.

Quizá te interese

We use our own and third-party cookies to improve our services by analyzing your browsing. If you continue browsing it will mean that you consent to its use. More information in our Cookies Policy more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close