Aprobar sin aprender: el riesgo de delegar la programación a la inteligencia artificial

Imagen
Un estudiante recibe una tarea de programación, copia las instrucciones en una herramienta de inteligencia artificial y obtiene una solución en segundos. Ejecuta el programa, comprueba que produce el resultado esperado y lo entrega. La actividad está terminada, pero queda una pregunta que una calificación puede dejar sin respuesta: ¿qué aprendió? Esta situación plantea un desafío para la enseñanza de la programación. Una entrega puede contener código correcto, ordenado y acompañado de explicaciones, sin que quien lo presenta comprenda cómo funciona. Cuando la evaluación se concentra únicamente en el producto final, resulta difícil distinguir entre quien desarrolló una solución y quien consiguió que una herramienta la generara. La preocupación va más allá de la honestidad académica. Si un estudiante acredita materias sin adquirir las competencias que estas deberían desarrollar, puede avanzar hacia el mercado profesional con una preparación insuficiente. El problema que parecía resolvers...

Protocolos de red que todo desarrollador debe de conocer


En esta entrada del blog quiero compartir lo que a mi parecer, son los protocolos de red que todo programador o desarrollador debe de conocer, al menos, como funcionan y en que casos se utilizan. Veamos a continuación:

1. HTTP (Protocolo de transferencia de hipertexto): se utiliza en la comunicación web, permite la interacción navegador-servidor, adecuada para la transferencia de datos no segura (ya casi no se usa gracias a Google y su obligación de usar HTTPS.

2. HTTPS (Protocolo seguro de transferencia de hipertexto): se usa en la comunicación web segura, pues garantiza la confidencialidad a través del cifrado SSL/TLS. Gracias a Google, hoy en día todos los sitios web deben utilizarlo.

3. FTP (Protocolo de transferencia de archivos): este protocolo es básicamente para la transferencia de archivos, sencillamente nos facilita el intercambio de archivos entre computadoras, utilizando canales separados. Con este protocolo podemos subir fácilmente "n" cantidad de archivos a nuestros servidor, por ejemplo, si estamos subiendo nuestro sitio o aplicación web, al cual consta de muchos archivos, se puede hacer mediante un cliente FTP como FilleZilla.

4. TCP (Protocolo de control de transmisión): es para poder realizar una entrega de datos confiable, este protocolo nos garantiza una transferencia de datos ordenada y fiable con comprobación de errores.
5. IP (Protocolo de Internet): es un protocolo para la administración de paquetes de datos. Maneja el enrutamiento y el direccionamiento de paquetes de datos, asignando direcciones IP únicas.
6. UDP (Protocolo de datagramas de usuario): este protocolo se utiliza principalmente en la transferencia rápida de datos debido a que ofrece una transferencia de datos más rápida y sin conexión sin funciones de confiabilidad.
7. SMTP (Protocolo simple de transferencia de correo): utilizado para el envío de correo electrónico, administra el envío de correo electrónico entre servidores a través de una arquitectura cliente-servidor. Todos los que hemos desarrollado algún sitio o webApp lo hemos utilizado para configurar la cuenta de correo que nos da nuestro proveedor de hosting.
8. SSH (Secure Shell): este protocolo se utiliza en el acceso remoto seguro a dispositivos remotos, cifrando la comunicación cliente-servidor.
9. IMAP (Protocolo de acceso a mensajes de Internet): es para tener acceso al correo electrónico, permite el acceso y la recuperación de correos electrónicos desde un servidor, manteniendo los correos electrónicos en el servidor. También, se configura en un hosting comercial.

Es cuanto.

Si quieres citar este artículo en tu texto, documento, etc. puedes hacerlo de la siguiente forma:

Aguilar-Calderón, J. A. (01 de marzo de 2024). Protocolos de red que todo desarrollador debe de conocer. ANOVA LAB MX. https://anovalabmx.blogspot.com/2024/03/protocolos-de-red-que-todo.html

Comentarios

Mi foto
José Alfonso Aguilar
Mazatlán, Sinaloa, Mexico
Me gusta aprender y escribir sobre tecnología y desarrollo. Soy Ingeniero en Sistemas Computacionales, trabajo como Profesor-Investigador en la Facultad de Informática Mazatlán, de la Universidad Autónoma de Sinaloa. México. Me gusta combinar la docencia-investigación con el giro profesional del desarrollo de software y gestión de proyectos de innovación.

Entradas más populares de este blog

Stateful vs Stateless Design - ¿Cuál es la diferencia?

Conceptos Básicos de la Arquitectura REST (REpresentational State Transfer)

Todo lo que debes saber sobre el Model-View Controller (MVC) para Aplicaciones Web