Ir al contenido
Tecnología · 1o de Preparatoria · Desarrollo de Software y Lenguajes de Programación · II Bimestre

Introducción a Lenguajes de Programación

Los estudiantes exploran la historia y evolución de los lenguajes de programación, entendiendo su propósito y tipos.

Aprendizajes Esperados SEPSEP EMS: Desarrollo de Software

Acerca de este tema

Las variables y los tipos de datos son los contenedores fundamentales de la información en cualquier sistema digital. En este tema, los estudiantes de primer año de preparatoria exploran cómo las computadoras clasifican y almacenan datos, desde números enteros y decimales hasta cadenas de texto y valores lógicos. Bajo el marco de la SEP, este conocimiento es crucial para entender la eficiencia en el uso de recursos tecnológicos y la integridad de la información.

Comprender que un nombre no puede sumarse a una edad parece obvio, pero en programación requiere una definición técnica estricta. Este tema permite a los alumnos reflexionar sobre cómo la tecnología representa la realidad mexicana, como el uso de caracteres especiales (ñ, acentos) en bases de datos. El aprendizaje activo, mediante la clasificación física de objetos y datos, ayuda a los estudiantes a internalizar estas categorías antes de enfrentarse a la sintaxis de un lenguaje de programación.

Preguntas Clave

  1. ¿Cómo ha influido la evolución de los lenguajes de programación en el desarrollo tecnológico?
  2. ¿Qué criterios utilizamos para seleccionar el lenguaje de programación adecuado para un proyecto?
  3. ¿De qué manera los lenguajes de alto nivel facilitan la creación de software?

Objetivos de Aprendizaje

  • Identificar las principales etapas en la evolución histórica de los lenguajes de programación, desde los de bajo nivel hasta los de alto nivel.
  • Comparar las características y aplicaciones de diferentes paradigmas de programación (imperativo, declarativo, orientado a objetos) para seleccionar el más adecuado.
  • Explicar la función y propósito de los lenguajes de programación en la creación de software y aplicaciones.
  • Analizar cómo la abstracción en los lenguajes de alto nivel facilita el desarrollo de software complejo.
  • Evaluar la importancia de la elección del lenguaje de programación en función de los requisitos de un proyecto tecnológico específico.

Antes de Empezar

Conceptos Básicos de Computación

Por qué: Los estudiantes deben tener una comprensión fundamental de qué es una computadora y cómo procesa información para entender el propósito de los lenguajes de programación.

Hardware y Software

Por qué: Es necesario distinguir entre los componentes físicos y los programas para comprender cómo los lenguajes de programación actúan como intermediarios entre ambos.

Vocabulario Clave

Lenguaje de programaciónConjunto de reglas, símbolos y palabras clave que permiten a los programadores escribir instrucciones que una computadora puede entender y ejecutar.
Lenguaje de bajo nivelLenguajes de programación que interactúan directamente con el hardware de la computadora, como el lenguaje ensamblador. Requieren un conocimiento profundo de la arquitectura de la máquina.
Lenguaje de alto nivelLenguajes de programación que utilizan una sintaxis más cercana al lenguaje humano y ofrecen un mayor nivel de abstracción del hardware, facilitando la escritura y lectura del código.
CompiladorPrograma que traduce el código fuente escrito en un lenguaje de alto nivel a lenguaje de máquina, permitiendo su ejecución por la computadora.
IntérpretePrograma que ejecuta el código fuente línea por línea, traduciendo y ejecutando cada instrucción de forma inmediata, sin necesidad de una compilación previa completa.
Paradigma de programaciónEstilo o forma de pensar sobre la programación y la estructura del código, como la programación imperativa, declarativa u orientada a objetos.

Cuidado con estas ideas erróneas

Idea errónea comúnUna variable puede guardar cualquier cosa al mismo tiempo.

Qué enseñar en su lugar

En la mayoría de los lenguajes, una variable tiene un tipo definido y solo guarda un valor a la vez. Usar analogías de contenedores físicos (una caja de zapatos no es para guardar agua) ayuda a clarificar este concepto mediante la discusión grupal.

Idea errónea comúnLos números en un texto se pueden usar para operaciones matemáticas.

Qué enseñar en su lugar

Si un número está guardado como 'String', la computadora lo trata como un símbolo, no como un valor. Los ejercicios de 'error de tipo' en clase muestran por qué '2' + '2' puede dar '22' en lugar de 4.

Ideas de aprendizaje activo

Ver todas las actividades

Conexiones con el Mundo Real

  • Los desarrolladores de videojuegos utilizan lenguajes como C++ para crear motores gráficos complejos y experiencias interactivas, aprovechando la eficiencia de los lenguajes de bajo nivel para el rendimiento y la abstracción de los de alto nivel para la productividad.
  • En el desarrollo de aplicaciones móviles, lenguajes como Swift (para iOS) y Kotlin (para Android) permiten a los ingenieros de software de empresas como Google y Apple crear interfaces intuitivas y funcionalidades avanzadas, abstraiéndose de las complejidades del hardware específico del dispositivo.
  • Científicos de datos en instituciones como el INEGI (Instituto Nacional de Estadística y Geografía) emplean lenguajes como Python o R para analizar grandes volúmenes de información, utilizando bibliotecas especializadas que facilitan tareas complejas de estadística y visualización de datos.

Ideas de Evaluación

Boleto de Salida

Entregar a cada estudiante una tarjeta con el nombre de un lenguaje de programación (ej. Python, Ensamblador, Java). Pedirles que escriban una oración explicando si es de alto o bajo nivel y una razón por la cual se podría elegir ese lenguaje para un proyecto específico.

Pregunta para Discusión

Plantear la siguiente pregunta al grupo: 'Si tuvieran que crear una aplicación muy sencilla para sumar dos números, ¿qué características buscarían en un lenguaje de programación y por qué?'. Guiar la discusión hacia la facilidad de uso, la legibilidad y la rapidez de desarrollo.

Verificación Rápida

Mostrar una lista de tareas de programación (ej. controlar un robot, crear una página web, analizar datos científicos). Pedir a los estudiantes que asocien cada tarea con el tipo de lenguaje (alto o bajo nivel) que sería más apropiado, justificando brevemente su elección.

Preguntas frecuentes

¿Por qué existen tantos tipos de datos numéricos?
Para optimizar el uso de la memoria. No es lo mismo guardar la edad de una persona (un número pequeño) que la distancia entre planetas. Elegir el tipo adecuado hace que los programas sean más rápidos y eficientes.
¿Qué es una variable constante?
Es un valor que no cambia durante la ejecución del programa, como el valor de PI o el IVA en México. Identificarlas ayuda a que el código sea más seguro y fácil de leer para otros programadores.
¿Cómo afectan los tipos de datos a la ciberseguridad?
Muchos ataques ocurren cuando un programa espera un tipo de dato (un número) y recibe otro (un código malicioso). Validar los tipos de datos es la primera línea de defensa en el desarrollo de software seguro.
¿Cómo beneficia el aprendizaje activo la enseñanza de variables?
Permite que los conceptos abstractos de memoria y almacenamiento se vuelvan tangibles. Al manipular objetos físicos o participar en juegos de clasificación, los estudiantes construyen un modelo mental sólido que les permite prever errores de compatibilidad de datos antes de que el compilador los señale.