What you'll learn:
- Aprender programación desde cero
- Paradigma de programación estructurada
- Paradigma de programación modular
- Paradigma de programación orientada a objetos
- Patrones de diseño
- Algoritmos más demandados por el mercado
- Bases de C++ y Java
- Todos los paradigmas en lenguaje Pascal
- Todos los paradigmas en lenguaje JavaScript
- HTML5 completo
- Cascade Style Sheets (CSS)
- Modelado de sistemas
- Lenguaje de estructuración XML
- Creación de páginas Web dinámicas
- Plataforma NodeJS
- Librería jQuery
- Framework React
- Framework Electron
- Biblioteca Bootstrap
¿Alguna vez has intentado aprender a programar y no sabes ni por dónde empezar? Hay tantísimas opciones, una extenuante cantidad de opiniones en internet y un sinfín de actualizaciones que es normal quedarse estancado/a. Incluso cuando tienes claro tu objetivo, hay tantas tecnologías que sirven para ello que no sabrás cuál elegir, cuál es más fácil, más eficiente o cuál tiene mayor oportunidad laboral. Es así que te ofrecemos lo siguiente:
Crea tus propias aplicaciones
Trabaja como FREELANCER o emprendedor vendiendo tu software
Postúlate a un empleo en el mundo real
Saca el máximo provecho de este curso
Capitaliza este contenido con excelentes beneficios.
Este curso nace justamente como solución al problema de no saber por dónde comenzar ni qué ruta seguir: hemos trazado una hoja de ruta profesional que te dará las bases imprescindibles y necesarias para que entres al mundo de la programación, e incluso al mercado laboral, con un solo curso. Pero claro, no se trata de enseñar mil lenguajes en un solo lugar, eso sería un despropósito, sino que se trata de enseñar las tecnologías esenciales más usadas hoy día para que puedas convertirte en un/a programador/a FULLSTACK e inclusive de ESCRITORIO, comprendiendo a fondo todo lo necesario para saber luego por dónde especializarte en caso de que quieras hacerlo.
Pero lo más importante es que con lo que aprenderás aquí podrás postularte a empleos reales en el mundo laboral e incluso trabajar por tu cuenta como freelancer, vender tu software a clientes reales y trabajar en proyectos de mediano y gran porte. Empezarás sin saber nada y llegarás a conocer muchísimo más de lo que puedas imaginar, todo en un entrenamiento altamente intensivo y demandante, a través de teoría bien explicada y prácticas bien diseñadas.
Veamos en detalle los temas que verás. Cada una de las unidades siguientes abarcarán varios módulos completos, por lo que habrá más de una veintena (20) de módulos.
|| ===== UNIDAD 1: PROGRAMACIÓN ESTRUCTURADA EN 4 LENGUAJES ======||
Iniciarás la ruta trabajando con dos lenguajes principales (Pascal y JavaScript), y dos complementarios (C++ y Java). De este modo abarcarás el espectro de lo que es programar lenguajes compilados, semi-interpretados y puramente interpretados, con todas las variaciones que ello conlleva.
Pascal será el lenguaje base que usaremos para introducir y estudiar cada tema, ya que es muy potente, moderno (a pesar de lo que piensan varios) y poderoso para el aprendizaje; y JavaScript será la contraparte, la oveja negra, quién mostrará una cara de la programación muy diferente a lo que proponen lenguajes más estructurados como Pascal, Java o C++.
Los temas que veremos serán:
Entrada y salida estándar de datos
Variables, constantes y tipos primitivos
Programación secuencial
Selección mediante IF
Diagramas de flujo
Encadenación IF
Case y Switch
Iteración con FOR
Iteración condicional con WHILE y DO-WHILE (REPEAT)
Proyectos de aplicación y desarrollo de software
|| ===== UNIDAD 2: ARREGLOS ======||
A partir de aquí abandonaremos a C++ y Java, ya que has aprendido las estructuras esenciales de ellos así como de Pascal y JavaScript. El curso continuará con Pascal como lenguaje base y JavaScript como referente para el mundo Web, incluyendo un poco de HTML. En esta unidad trabajarás:
Arreglos lineales
Arreglos bidimensionales o matrices
Arreglos dinámicos
Arreglos como objetos en JavaScript
Algoritmos de búsqueda y ordenación
El Juego de la Vida de John Conway
|| ===== UNIDAD 3: PROGRAMACIÓN MODULAR ======||
A partir de este punto empezarás a crear programas más grandes y complejos, por lo que comenzarás a trabajar con subprogramas (procedimientos y funciones), y todo lo que ello conlleva. El entrenamiento se intensificará en este punto. Los temas concretos serán:
Funciones fuertemente tipadas
Funciones con tipos dinámicos
Procedimientos fuertemente tipados
Procedimientos dinámicos
Pasaje de parámetros por copia
Pasaje de parámetros por referencia
Las vicisitudes del pasaje de parámetros en JavaScript
Alcance de identificadores
Registros
Tipos de datos estructurados
Modularización de código
Encapsulamiento básico
Manipulación de archivos
Conceptos de Bases de Datos
Conceptos de diseño de software
Punteros y memoria dinámica
Listas encadenadas o simplemente enlazadas
Tipos Abstractos de Datos
Operaciones primitivas
Selectoras, asignadoras, predicados, constructores y destructores
Creación de módulos en JavaScript
Uso de varias páginas HTML
TADs LinkedList, Stack y Queue
Árbol Binario de Búsqueda
Algoritmos de búsqueda y recorrido
Recursión computacional
|| ===== UNIDAD 4: PROGRAMACIÓN ORIENTADA A OBJETOS ======||
Todo lo visto hasta el momento es como la preparación para poder desempeñar la orientación a objetos. Este tema aplica absolutamente, y en gran profundidad, todo lo visto anteriormente. Es uno de los conceptos más demandados en el mercado laboral y extremadamente necesario si quieres aprender luego a usar cualquier tecnología, lenguaje, framework, etc.
Los temas que veremos, esencialmente serán:
Definición y estructura de los objetos
Definición de clases
Modificadores de acceso
Encapsulamiento avanzado
Propiedades
Clases internas
Campos y operaciones estáticas
Patrón de diseño SINGLETON
Importación y exportación de componentes
Modelos de objetos en JavaScript
Prototype en JavaScript
Herencia
Polimorfismo
Casteo de tipos (down-cast y up-cast)
Interfaces
Clases abstractas
Genéricos
Captura y lanzamiento de excepciones
Promesas
JSON
Operaciones de resurrección
Bases de UML y diseño de software
Mantenimiento y escalabilidad de código
|| ===== UNIDAD 5: INTERFACES GRÁFICAS DE USUARIO ======||
En este módulo aplicaremos todo lo visto hasta el momento para crear interfaces gráficas modernas para aplicaciones de escritorio. Sin embargo, todo lo que verás y entrenarás aquí lo aplicarás luego, casi de forma idéntica, para la Web, ya que JavaScript utiliza un modelo de eventos y gestión de componentes similar al que usarás en Pascal.
1. Creación de ventanas
2. Campos y formularios complejos
3. Eventos e interacción del usuario
4. Manipulación de componentes
5. Validación de información de ingreso
6. Diálogos simples y modales
7. Botones y componentes de acción
8. Menús principales y menús contextales
9. Tablas y filtros
10. Pasaje de información entre ventanas y cuadros
11. Estructuración de información al usuario
12. Generación dinámica de componentes en tiempo real
13. Uso de acciones
14. Paneles con pestañas
15. Iconos y decoraciones
16. Barras de carga y splash-screen
17. Creación de GUIs complejas
|| ===== UNIDAD 6: HTML y JavaScript ======||
A partir de este punto tienes todas las bases de la programación para escritorio y un entrenamiento exhaustivo en el uso de una gran variedad de herramientas. Realmente ya eres todo/a un/a programador/a, pero aún estás lejos de llegar a lo que el mercado laboral demanda. El mundo Web es la pata que falta, y a partir de aquí lo completaremos, ya que eres todo/a un/a experto/a en JavaScript pero falta diseñar Webs dinámicas, vistosas y responsivas, así como utilizar APIS y programar del lado de servidor.
Lo que veremos, a grandes rasgos es:
1. Estructuras básicas de HTML5
2. Enlazamiento interno de páginas
3. Enlazamiento externo entre páginas
4. Barras de progreso
5. Tablas, filas, columnas, celdas y estructuración
6. Creación de formularios complejos
7. Gestión de formularios y eventos
8. Elementos META
9. Elementos de estructuración semántica de página
10. Imágenes
11. Favicon
12. Mapas
13. Picture
14. Figure y Figcaption
15. Eventos con JavaScript
16. Documentación oficial
17. Programación multihilo con Workers
18. Cuadros de diálogo
19. Uso de frames internas
20. Audio y video
21. Uso de acciones
22. Creación de GUIs complejas
23. Drag and Drop
24. HTML Canvas
25. Creación de juegos de ejemplo
|| ===== UNIDAD 7: CASCADE STYLE SHEETS (CSS) ======||
Una vez que sabes trabajar a fondo y al máximo con HTML es momento de trabajar la visualización, el adorno, la estilización de una página. CSS es extenso y tiene varias cosas que trabajar, ya que es capaz, además de gestionar cómo se en las cosas, de dotar a HTML de ciertas funcionalidades extra muy interesantes.
Lo que verás en este módulo, a grandes rasgos es:
1. Estilos incrustados básicos
2. Estilos importados
3. Listas de colores y color-picker
4. Selectores
5. Definición de clases de estilos
6. Fuentes básicas
7. Importación de fuentes externas y uso de íconos
8. Posicionamiento absoluto y z-index
9. Posicionamiento relativo y span
10. Fondos y colores alfa
11. Dimensiones y alineaciones
12. Modelo de cajas
13. Menús desplegables
14. Barras de navegación
15. Sombras de texto y cajas
16. Bordes y márgenes
17. Animaciones
18. Transiciones y transformaciones
19. Cajas flexibles
20. Diseño multicolumna
21. Consultas @media
22. ToolTips
23. Menú contextual
24. Panel con pestañas
25. Uso de variables CSS
26. Selectores de atributos
27. Pseudoclases
28. Pseudoelementos
29. Condiciones
30. CSS dinámico desde JavaScript
|| ===== UNIDAD 8: DOM Y BOM ======||
Este módulo regresará a JavaScript y te mostrará cómo gestionar dinámicamente todos los componentes HTML, pudiendo ahora realizar verdadera magia con una página Web. El uso del DOM será, a partir de ahora, la base principal que usarás para el resto de tecnologías que aprenderás.
|| ===== UNIDAD 9: XML ======||
Es un lenguaje, o más bien un formato, que te permitirá organizar la información y configuraciones de una manera más automatizada y profesional. Es importante que conozcas las bases, ya que aunque no lo usarás tanto manualmente, la amplia mayoría de tecnologías crean formatos XML para configurar las aplicaciones y proyectos, por lo que es vital que sepas comprender este formato.
|| ===== UNIDAD 10: JQUERY ======||
JQuery es una biblioteca de JavaScript rápida, pequeña y rica en funciones. Hace que cosas como el recorrido y la manipulación de documentos HTML (uso del DOM), el manejo de eventos, la animación y Ajax sean mucho más simples con una API fácil de usar que funciona en una multitud de navegadores. Con una combinación de versatilidad y extensibilidad, jQuery ha cambiado la forma en que millones de personas escriben JavaScript.
Hay quienes afirman que esta biblioteca está en declive, pero de momento no hemos visto tal cosa, siguen siendo muy demandada e incluso cuando buscas cómo solucionar cosas en JavaScript puro salen ejemplos con jQuery. El mercado laboral aún lo demanda y además te puede facilitar la vida en muchas cosas, por lo que aprenderás a usar esta biblioteca.
|| ===== UNIDAD 11: TYPESCRIPT ======||
TypeScript es un lenguaje de programación fuertemente tipado que se basa en JavaScript, lo que le brinda mejores herramientas a cualquier escala. Básicamente es una extensión de JavaScript transformándolo en un lenguaje fuertemente tipado, como Pascal, C++, Java y cualquier otro, dotándolo de todos los beneficios de diseño que implica tener tipos de datos explícitos, entre muchísimas otras cosas.
Este lenguaje, al extender el JavaScript nativo es ampliamente demandado, fácil de aprender y recomendable. El mercado laboral lo demanda, te facilita la vida y es extremadamente necesario que lo conozcas, sea cual sea el camino que vayas a tomar a futuro.
|| ===== UNIDAD 12: NODE.JS ======||
Esta tecnología permite crear aplicaciones con JavaScript fuera del navegador, en concreto, podrás crear aplicaciones de escritorio (sí, como con Pascal o C++), así como aplicaciones del lado de servidor (que es su uso más requerido hoy en día). Aprender a utilizar Node te brindará un salto cuántico en tus capacidades y en tu valoración al mercado, tanto laboral como si trabajas por tu cuenta. Además, es la herramienta que nos permitirá saltar hacia la creación de aplicaciones de servidor.
Los temas que verás serán los siguientes:
1. Entorno de ejecución Node
2. Creación de aplicaciones de consola con JavaScript
3. Manipulación de archivos
4. Acceso al sistema operativo
5. Empaquetado de aplicaciones para su distribución
6. Introducción a NodeGUI
7. Uso de Electron para crear aplicaciones gráficas
8. Empaquetado de aplicaciones gráficas con Electron Forge
9. Paquete HTTP y creación de servidores básicos
10. Métodos GET, POST, PUT y DELETE
11. Uso del paquete Express para creación de servidor
12. Creación de API Rest
13. Uso de sockets para comunicación cliente-servidor
|| ===== UNIDAD 13: BASES DE DATOS RELACIONALES SQL ======||
Como gran tema final es imprescindible que sepas usar bases de datos relacionales. Para ello usaremos MySQL y SQLite. Este módulo te enseñará lo indispensable que debes conocer para manipular bases de datos SQL, conectarlas a tus aplicaciones y usarlas como métodos de persistencia. También recibirás nociones básicas de diseño. De este modo luego podrás decidir si quieres profundizar con un curso completo de SQL o no, o bien, puedes incluso ver opciones NO-SQL, como MongoDB y otras.
Los temas que verás son:
1. Concepto de base de datos relacional
2. Creación de bases de datos y tablas
3. Carga de datos desde un archivo
4. Consultas básicas y compuestas
5. Ordenación y limitación de resultados.
6. Cálculos simples y Funciones de uso común: MAX, COUNT, AVG, MIN, SUM
7. Modificación y eliminación de registros
8. Eliminación de tablas y bases de datos
9. Modificación de la estructura de una tabla (ALTER)
10. Funciones y formato de fecha
11. Trabajando con dos tablas y consultas combinadas
12. Conectar Pascal a MySQL
13. Conectar NodeJS a MySQL
|| ===== UNIDAD 14: BOOTSTRAP ======||
Bootstrap es un marco de desarrollo (framework) front-end (de cara al cliente o páginas Web visibles en el navegador) gratuito y de código abierto para la creación de sitios y aplicaciones web. Diseñado para permitir el desarrollo receptivo de sitios web móviles, Bootstrap proporciona una colección de sintaxis para diseños de plantillas. Se basa más que nada en CSS permitiendo un diseño mucho más ágil y rápido. En este módulo conocerás las bases para dominar este framework.
|| ===== UNIDAD 15: React ======||
Para crear un sitio o aplicación web que ofrezca funcionalidades complejas es necesario contar con tecnología que posibilite el desarrollo de software óptimo y eficaz. Desde controlar el clic en un botón, hasta animar el logo de una empresa, los desarrolladores/as buscan constantemente mejores herramientas para construir interfaces altamente interactivas, y una de ellas es la librería React.
Es una librería de código abierto que se utiliza principalmente para construir interfaces; es decir, es una tecnología enfocada en la interactividad. Está orientada al front-end (parte del software que el usuarios utiliza) y su adopción ha ido aumentado en los últimos años.
En este módulo te presentaremos las bases de React para que puedas utilizarla y luego, si te interesa, profundizar al máximo, ya sea con cursos específicos o por tu propia cuenta de modo autodidacta.