Curso de Programación con ChatGPT

Curso práctico de sesiones de programación usando ChatGPT para extraer el máximo de la IA en desarrollo de proyectos diversos.
Inscripciones abiertas
Intermedio
22 Clases 17 h (aprox.)
89€
65€
Precio en promoción

Inicio del curso

Jueves 17 de abril

Vídeo on-demand: "Selector de color básico"

Usar la IA para programar puede mejorar tu productividad y gracias a ello puede representar una ventaja competitiva con respecto a otros desarrolladores que trabajen sin ella. ¿Pero hasta dónde podemos llegar usando las herramientas Inteligencia Artificial como ChatGPT? ¿Qué tipo de trabajo podemos conseguir? ¿Tendrá la suficiente calidad el resultado de nuestro proyecto? 

Todas esas preguntas y muchas otras las vamos a responder en este curso, llegando a conclusiones mediante la práctica, por medio del desarrollo de proyectos apoyados por la IA que pretenden llegar a unos niveles de calidad similares a los que podríamos realizar por nosotros mismos, aunque en menos tiempo.

Por tanto, se trata de un curso bastante experimental y muy práctico en el que usaremos la IA, concretamente a ChatGPT, para sacar lo máximo posible de ella y resolver necesidades de proyectos diversos, con la intención de saber hasta dónde podemos llegar. 

Las conclusiones las iremos obteniendo a lo largo de las sesiones prácticas. No queremos adelantar detalles pero la idea es responder una pregunta que nos hacen habitualmente: ¿Realmente la IA está capacitada para sustituir a un programador? ¿Hasta qué punto puede estar en riesgo nuestra profesión?

Qué aprenderé en el Curso de Programación con ChatGPT

  • Desarrollar usando la IA
  • Herramientas de ChatGPT para gestión de las respuestas
  • Cómo preguntarle a ChatGPT y orientar las conversaciones para que nos responda de la manera que deseamos
  • Además, al desarrollar distintos tipos de proyectos podremos aprender tecnologías distintas como Javascript y Web Components, NodeJS, Laravel, desarrollo de APIs, proyectos frontend avanzados.
  • Conocer el flujo de desarrollo de proyectos de software de niveles básico a avanzado

Objetivos del curso

Usar la inteligencia artificial para mejorar la productividad como desarrolladores, concretamente ChatGPT y las herramientas que nos ofrece como asistente para programar. Analizar el desempeño de ChatGPT a lo largo de distintos tipos de proyectos, de diferentes calados y niveles de dificultad, con la intención de explicar cómo debemos usar la IA para sacarle mayor partido y obtener conclusiones sobre la calidad de sus respuestas y el grado de autonomía que podría tener a la hora de construir soluciones de software.

Por qué debes aprender Programación con ChatGPT

Muchas personas piensan que pueden confiar en la IA completamente para desarrollar sus proyectos, pero no siempre las respuestas están a la altura de lo deseable. Hay que ser más crítico con las aportaciones de ChatGPT y llevarlo a tu terreno. Este es un curso ideal para ver cómo puedes usar la herramienta para sacar el mejor provecho y a la vez beneficiarte de tus propios conocimientos como desarrollador, para asegurarte que las soluciones de software tengan la calidad necesaria.

Además, este puede ser un curso muy útil para estudiantes que quieran ver cómo se desarrollan proyectos aplicando buenas prácticas y de manera profesional, en el que podrás obtener una visión global sobre la experiencia de desarrollo con varias tecnologías como Javascript, NodeJS o Laravel.

Qué tengo que saber

En este curso vamos a trabajar con distintas tecnologías e intentaremos que los estudiantes sean capaces de entender los conceptos y el flujo de desarrollo, sea cual sea su particular base de conocimiento. Es por ello que sería ideal que el estudiante tenga un conocimiento al menos básico de lenguajes como Javascript y PHP, así como tecnologías como Web Components, Lit, NodeJS y Laravel.

Clases y contenidos

Construir un Web Component con ChatGPT

Vamos a hacer un proyecto de Web Component desarrollado con ChatGPT que podríamos usar en cualquier tipo de proyecto, en diversas etapas mejorando la modularización y la reutilización. Le pediremos además que nos ayude a publicarlo en npm para que esté disponible para que cualquiera lo pueda usar.

Selector de color básico

Vamos a pedirle a ChatGPT que construya un selector de color, una herramienta que nos permita seleccionar un color entre varias posibilidades. Veremos que las primeras soluciones son básicas y continuaremos solicitando cambios para mejorar su reutilización. Además luego le solicitaremos que lo convierta en un Custom Element del estándar de Web Components, para mejorar su modularización y encapsulación.

Añadir a Google Calendar
Selector de color y uso en formularios

El selector de color realizado en el proceso anterior tiene un problema y es que no se podrá enviar a través de un formulario, algo básico si lo queremos usar en una aplicación web que envíe datos por POST, por ejemplo a otra página desarrollada con PHP. Es por ello que vamos a implementar algunas mejoras con la ayuda de la IA.

Añadir a Google Calendar
Implementación del API Form Associated

ChatGPT no nos ofreció una solución optimizada en la anterior etapa. Por ello le vamos a solicitar que cambie su propuesta para usar Form Associated, un API reciente en el estándar Javascript que nos permite implementar campos nativos de formulario que funcionan encapsulados con shadow DOM.

Añadir a Google Calendar
Parametrizar los colores disponibles en el selector

Ahora vamos a ver cómo mejorar la reutilización del componente, pudiendo definir los colores que permite seleccionar, mediante un atributo. Esta parametrización nos permitirá usar este componente en otros proyectos de una manera cómoda.

Añadir a Google Calendar
Uso de variables CSS para personalización del estilo

Ahora realizaremos unas mejoras en el formulario para personalizar el aspecto del componente por medio de variables CSS (custom properties), lo que nos permitirá usar el selector de color en diseños con distinto look & feel.

Añadir a Google Calendar
Crear y publicar un package de npm del componente

Para que podamos reutilizar este componente en distintos proyectos, incluso para liberarlo como software libre y que otros desarrolladores lo puedan usar, vamos a pedirle a ChatGPT que nos ayude a publicarlo en npm, creando las páginas de documentación, demos del proyecto, el package.json y otra serie de cosas que necesitaremos.

Añadir a Google Calendar
Cómo usar el componente en otros proyectos

Para terminar este módulo vamos a ver cómo lo podríamos usar en otros proyectos, solicitando ayuda a ChatGPT para poder instalarlo y probarlo de diversas maneras.

Añadir a Google Calendar

Construir una herramienta de gestión de archivos con NodeJS

En esta clase vamos a crear una herramienta que nos permita ordenar en carpetas archivos que tenemos desordenados, clasificando esos archivos por temáticas, gestionando también los nombres de archivos y los duplicados.

Objetivos de nuestra herramienta de gestión de archivos con Node

En este vídeo hacemos el enunciado de esta práctica de desarrollo con ChatGPT. Es un organizador de archivos que nos puede ahorrar muchas horas al gestionar una biblioteca de archivos mp3. Además en este vídeo hacemos un script con el código necesario para generar carpetas con archivos .mp3 (fake) que luego podremos ordenar con nuestro gestor de archivos.

Añadir a Google Calendar
Primera organización de los archivos

Hacemos una primera versión de nuestro organizador de archivos. No hace todo lo que vamos a querer hacer pero ya nos permite comenzar a obtener resultados y vislumbrar algunos retos a los que nos vamos a enfrentar.

Añadir a Google Calendar
Mejoras en la organización de archivos

Ahora le pedimos a ChatGPT que nos haga algunos cambios en el script de organización de archivos en NodeJS para conseguir controlar un par de aspectos, como la gestión de archivos repetidos y que los archivos que ha conseguido organizar se muevan en lugar de copiarse.

Añadir a Google Calendar
Crear un comando de terminal autónomo y global con NodeJS

Ahora queremos que nuestro organizador de archivos funcione desde cualquier ruta de nuestro terminal, de modo que sea como cualquier otro comando de consola, como cp, mv, mkdir, etc. Para eso vamos a usar una librería de Node que se llama Commander que nos permite una mejor interfaz para el desarrollo de comandos y la lectura de parámetros de entrada.

Añadir a Google Calendar
Verificar funcionamiento con nombres de archivos conflictivos

En este vídeo simplemente probamos si nuestro sistema será capaz de interpretar y ordenar correctamente archivos que tienen nombres de artistas o canciones que a priori podrían plantear problemas de reconocimiento.

Añadir a Google Calendar
Ajustar la configuración del package.json

Detectamos y solucionamos algunos detalles menores en la definición del archivo package.json de este programa Node.

Añadir a Google Calendar
Usar flags de configuración para el administrador de archivos

Para sacar un poco más de provecho de la librería Commander que hemos implementado en este proyecto, vamos a ver cómo podríamos gestionar flags de configuración del comando, de modo que podamos personalizar su funcionamiento para diferentes necesidades de organización.

Añadir a Google Calendar

Construir un proyecto de API usando Laravel y ChatGPT

En esta clase vamos a desarrollar un servicio web, proyecto de API REST, basado en Laravel.

Construir un proyecto de API usando Laravel y ChatGPT

En esta clase vamos a desarrollar un servicio web, proyecto de API REST, basado en Laravel.

Añadir a Google Calendar

Funcionalidades Avanzadas de ChatGPT para gestión de proyectos

Conocemos la funcionalidad de proyectos de ChatGPT con la que podemos agrupar varios chats y definir información que permita a la IA guiar las conversaciones en torno a diferentes preferencias que tengamos para un trabajo en particular.

Funcionalidades Avanzadas de ChatGPT para gestión de proyectos

Conocemos la funcionalidad de proyectos de ChatGPT con la que podemos agrupar varios chats y definir información que permita a la IA guiar las conversaciones en torno a diferentes preferencias que tengamos para un trabajo en particular.

Añadir a Google Calendar

Crear un proyecto Laravel para desarrollar una API

Le pedimos a ChatGPT que nos ayude a crear un proyecto Laravel desde cero, aunque en este caso no nos ayuda demasiado porque sus soluciones no están suficientemente actualizadas, por lo que será más recomendable acudir a la documentación del framework.

Crear un proyecto Laravel para desarrollar una API

Le pedimos a ChatGPT que nos ayude a crear un proyecto Laravel desde cero, aunque en este caso no nos ayuda demasiado porque sus soluciones no están suficientemente actualizadas, por lo que será más recomendable acudir a la documentación del framework.

Añadir a Google Calendar

Crear controladores para autenticación basada en tokens de API

ChatGPT nos ayuda a crear los controladores para el sistema de autenticación basado en tokens de API.

Crear controladores para autenticación basada en tokens de API

ChatGPT nos ayuda a crear los controladores para el sistema de autenticación basado en tokens de API.

Añadir a Google Calendar

Crear los test funcionales para el proceso de registro de usuarios

Le pedimos a ChatGPT que cree los test para probar el controlador de registro de usuarios. Aunque el test que nos entrega está técnicamente correcto, veremos que tenemos que adaptar bastante el modo de trabajo de ChatGPT a nuestras preferencias

Crear los test funcionales para el proceso de registro de usuarios

Le pedimos a ChatGPT que cree los test para probar el controlador de registro de usuarios. Aunque el test que nos entrega está técnicamente correcto, veremos que tenemos que adaptar bastante el modo de trabajo de ChatGPT a nuestras preferencias

Añadir a Google Calendar

Cambiar los stubs de Artisan y crear otros test

En este vídeo veremos cómo solucionar nuestras necesidades de personalización del estilo preferido para nuestros test de features y cómo cambiar el scaffolding de Artisan para facilitar la tarea a lo largo del proyecto. Además veremos la realización de otros test para cubrir de pruebas el sistema de autenticación basado en tokens de API.

Cambiar los stubs de Artisan y crear otros test

En este vídeo veremos cómo solucionar nuestras necesidades de personalización del estilo preferido para nuestros test de features y cómo cambiar el scaffolding de Artisan para facilitar la tarea a lo largo del proyecto. Además veremos la realización de otros test para cubrir de pruebas el sistema de autenticación basado en tokens de API.

Añadir a Google Calendar

Personalización de las respuestas del API

Vamos a mejorar la salida de las respuestas JSON del API para conseguir dos objetivos distintos. Por un lado, ahorrar código cada vez que tengamos que enviar respuestas en el API. Por otro lado, asegurarnos de homogeneizar las respuestas, para que el API sea muy consistente y ayudar así a las personas que vayan a usarlo.

Personalización de las respuestas del API

Vamos a mejorar la salida de las respuestas JSON del API para conseguir dos objetivos distintos. Por un lado, ahorrar código cada vez que tengamos que enviar respuestas en el API. Por otro lado, asegurarnos de homogeneizar las respuestas, para que el API sea muy consistente y ayudar así a las personas que vayan a usarlo.

Añadir a Google Calendar

Crear el recurso timetables

Vamos a comenzar a crear el primer recurso de nuestro modelo de negocio. Vamos a partir de aquí a pedirle a ChatGPT que use el enfoque de TDD, entregando siempre primero los test y luego el código de la aplicación.

Crear el recurso timetables

Vamos a comenzar a crear el primer recurso de nuestro modelo de negocio. Vamos a partir de aquí a pedirle a ChatGPT que use el enfoque de TDD, entregando siempre primero los test y luego el código de la aplicación.

Añadir a Google Calendar
A medida que se vayan impartiendo las clases aparecerán en este espacio.
¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete