# data[].attributes.body
Título del curso/unidad: FUNDAMENTOS DE PROGRAMACIÓN

Autor/Equipo de trabajo: Ing. FABER HUACA DIAZ

Objetivo/Competencia a desarrollar

Objetivo de aprendizaje: Desarrollar habilidades de pensamiento computacional en los estudiantes, así como también lograr que aprendan a resolver problemas matemáticos utilizando herramientas informáticas. Desempeño general: Comento con argumentos (evidencias, razonamiento lógico, experimentación) la selección y utilización de un producto natural o tecnológico para resolver una necesidad o problema. Saber Conocer: Conceptualiza los términos relacionados con la programación de computadores y pensamiento computacional: computadora; software, programas o aplicaciones; programación; variables y datos; algoritmo, diagrama de flujo y pseudocódigo, y; lenguajes de programación. Saber Hacer: Plantea y resuelve operaciones aritméticas y expresiones lógicas, teniendo en cuenta las normas establecidas, y construye algoritmos y los representa diagramas de flujo teniendo en cuenta secuencias lógicas para resolver los problemas planteados, haciendo uso de herramientas de programación. Saber ser: Asiste regularmente a clases, participa en las prácticas en la sala de sistemas, cumple con las actividades asignadas en el tiempo acordado y demuestra interés por superar sus dificultades.

Tiempo estimado para el desarrollo del curso/unidad: Para el desarrollo de la actividad se requieren 10 semanas, con una intensidad horaria semanal de 2 horas, para un total de 20 horas.

Conceptos clave

Unidad. Fundamentos de programación.
Tema 1: Pensamiento computacional. - Todos deberían aprender a programar. - Pensamiento computacional.
¿Qué es la programación?
Tema 2: Lenguajes de programación: concepto y clasificación. - Conceptualización de los lenguajes de programación.
Generaciones de los lenguajes de programación.
Tema 3: Desarrollo de software. - Qué es el software.
Características del software. -Clasificación del software. - El proceso de desarrollo del software: modelo en cascada, lineal secuencial o ciclo de vida clásico del software.
Tema 4: Algoritmos, pseudocódigo y diagrama de flujo.
Fundamentos y conceptualización de algoritmos. - Lectura recomendada. - Algoritmo: concepto y representación, diagrama de flujo y pseudocódigo. - Tipos y partes de un algoritmo. - Programación con PSeInt: pseudocódigo, diagrama de flujo y ejecución de programas para resolver problemas aritméticos. - Variables y datos. - Operadores: lógicos y aritméticos. - Construcción de algoritmos en pseudocódigo y diagrama de flujo. - Revisar y corregir errores en diagramas de flujo.
Tema 5: Programación con Python. - Fundamentos de programación con Python: variables, operadores aritméticos, operadores lógicos, condicionales y bucles. Ejercicios varios.

Enfoque pedagógico Constructivismo social o colaborativo.

Metodología del curso/unidad La unidad se desarrollará con una metodología híbrida o mixta, que se realizará usando los contenidos diseñados para el RED en el aula, y también se aplicará lo aprendido en el aula con herramientas especializadas. Lo anterior debido que la población escolar es rural dispersa y no cuentan con las herramientas tecnológicas para el desarrollo de contenidos y actividades de forma remota.

# data[].attributes.body
Fundamentos de programación con Python: variables, operadores aritméticos, operadores lógicos, condicionales y bucles. Ejercicios varios.

# data[].attributes.body
Fundamentos y conceptualización de algoritmos. Lectura recomendada.

Algoritmo: concepto y representación, diagrama de flujo y pseudocódigo. Tipos y partes de un algoritmo.

Programación con PSeInt: pseudocódigo, diagrama de flujo y ejecución de programas para resolver problemas aritméticos.

Variables y datos.

Operadores: lógicos y aritméticos.

Construcción de algoritmos en pseudocódigo y diagrama de flujo.

Revisar y corregir errores en diagramas de flujo.

# data[].attributes.body
Curso abierto de programació con Python, se propone a los estudiantes que deseen ir más allá en el conocimiento de este lenguaje.

# data[].attributes.headline
Subtema: Fundamentos de programación, algoritmos, pseudocódigo y diagrama de flujo, su conceptualización

# data[].attributes.subject
Subtema: Fundamentos de programación, algoritmos, pseudocódigo y diagrama de flujo, su conceptualización

# data[].attributes.body
Lectura recomendada de la parte I del libro Fundamentos de programación de Luis Joyanes Aguilar: https://cutt.ly/l6W3wHQ

# data[].attributes.body
Qué es el software.

Características del software.

Clasificación del software.

El proceso de desarrollo del software: modelo en cascada, lineal secuencial o ciclo de vida clásico del software.

# data[].attributes.headline
Subtema: Software, Ingeniería del Software y modelo de proceso en cascada

# data[].attributes.subject
Subtema: Software, Ingeniería del Software y modelo de proceso en cascada

# data[].attributes.body
Lectura recomendada de los capítulos I y II del libro: Ingeniería del Software: Un enfoque práctico, del autor Roger S. Pressman https://cutt.ly/26W9TQj

# data[].attributes.body
Todos deberían aprender a programar.

Pensamiento computacional.

¿Qué es la programación?

# data[].attributes.attachment_caption
Subtemas de los lenguajes de programación

# data[].attributes.body
Conceptualización de los lenguajes de programación.

Generaciones de los lenguajes de programación.

# data[].attributes.headline
Subtema: ¿Qué es un lenguaje de programación y cuáles son los más comunes?

# data[].attributes.subject
Subtema: ¿Qué es un lenguaje de programación y cuáles son los más comunes?

# data[].attributes.body
Video de micro aprendizaje que presenta conceptualización de lenguaje de programación y refiere los más comunes.

# data[].attributes.attachment_link.title
Microaprendizaje: ¿Qué son los lenguajes de programación y cuáles son los más comunes?

# data[].attributes.body
Actividad 10: el estudiante deberá entregar en su directorio personal en el PC asignado, todos los ejercicios realizados en clase, sobre programación con Python.

Actividad 11: por su cuenta, cada estudiante deberá desarrollar todos los problemas propuestos en la actividad 9, que fueron realizados como algoritmos, pero ahora en código Python. Deben ser entregados en una carpeta con sus nombres y apellidos.

# data[].attributes.headline
Subtema: Lenguaje de programación, concepto y tipos según su nivel de abstracción

# data[].attributes.subject
Subtema: Lenguaje de programación, concepto y tipos según su nivel de abstracción

# data[].attributes.body
Presentación interactiva en Prezzi que relata los tipos de lenguaje de programación según sus niveles de abstracción. https://cutt.ly/t6W1aE6

# data[].attributes.attachment_link.description
Lenguaje de programación: TIPOS DE LENGUAJES SEGUN NIVELES DE abstracción: DEFINICION: TIPOS DE LENGUAJES SEGUN LA FORMA DE ejecución:  Lenguajes de bajo nivel  Lenguajes de medio nivel  Lenguajes de alto nivel  Lenguajes compilados  Lenguajes interpretados Un lenguaje de

# data[].attributes.body
Actividad 7: se propone al estudiante un video quiz de Educaplay, recurso abierto https://cutt.ly/26W3kbI

Actividad 8: el estudiante resolverá una actividad propuesta en Quizizz sobre conceptos de algoritmos, diagramas de flujo y pseudo código.

Actividad 9: el estudiante realizará un informe en el que presente la solución a 20 ejercicios de algoritmos.

# data[].attributes.headline
Subtema: Clasificación de los lenguajes según su forma de ejecución

# data[].attributes.subject
Subtema: Clasificación de los lenguajes según su forma de ejecución

# data[].attributes.body
Presentación interactiva sobre la clasificación de los lenguajes por su forma de ejecición. https://cutt.ly/M6W1nk2

# data[].attributes.attachment_link.description
LENGUAJES COMPILADOS Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario). Al usar un lenguaje compilado (como lo son los lenguajes del popular VISUAL

# data[].attributes.body
Actividad 6: se propone la actividad en Quizizz sobre conceptos de ingeniería del software.

# data[].attributes.headline
Subtema: Generación de los lenguajes de programación

# data[].attributes.subject
Subtema: Generación de los lenguajes de programación

# data[].attributes.body
Línea de tiempo en la herramienta Time Toast que ilustra las generaciones de los lenguajes de programación.  https://cutt.ly/u6W1Nj2

# data[].attributes.attachment_link.readable_text
Los lenguajes de cuarta generación son entornos de desarrollo de aplicaciones constituidos por un conjunto de herramientas integradas entre las que se encuentran editores, compiladores, sistemas para el acceso a bases de datos, generadores de informes, generadores de pantallas (modo carácter, interfaces gráficas), etc. La cuarta generación de lenguajes de programación avanza en la sintaxis utilizada. Lenguajes 4GL se utilizan típicamente para acceder a bases de datos.

# data[].attributes.attachment_link.title
Generaciones de los Lenguajes de Programación timeline.

# data[].attributes.attachment_link.description
Los lenguajes de cuarta generación son entornos de desarrollo de aplicaciones constituidos por un conjunto de herramientas integradas entre las que se encuentran editores, compiladores, sistemas para el acceso a bases de datos, generadores de informes, generadores de pantallas (modo carácter, interfaces gráficas), etc. La cuarta generación de lenguajes de programación avanza en la sintaxis utilizada.

# data[].attributes.body
Actividad 3: se propone al estudiante crear una presentación de diapositivas que relacione los conceptos básicos de los lenguajes de programación. Deberá relacionar como mínimo tres conceptos.

Actividad grupal 4: elaborar un informe con algún procesador de texto de su preferencia mediante trabajo colaborativo, y desarrollar la clasificación de los lenguajes de programación.

Actividad 5: el estudiante deberá resolver una actividad propuesta en Quizizz. Para esto se permitirá a los estudiantes conectarse a través de sus dispositivos móviles, y también se permitirá participar de manera activa a quienes no cuenten con ellos, para gamificación.

# data[].attributes.headline
Subtema: Todos deberían aprender a programar

# data[].attributes.subject
Subtema: Todos deberían aprender a programar

# data[].attributes.body
Video: Todo mundo debería saber programar.

# data[].attributes.attachment_link.title
todo mundo debería saber programar (español)

# data[].attributes.body
Hola, recibe una cordial bienvenida al curso de Fundamentos de Programación, en el que aprenderas a desarrollar tu pensamiento computacional y resolver problemas matemáticos usando herramientas informáticas. Anímate y sumérgete en el fascinante mundo de la programación de computadoras...

Autores del contenido:
Ing. Faber Huaca Diaz

Universidad:
Universidad de Santander, CV-UDES
Estudio:
Especialización en Aplicación de TIC Para La Enseñanza

Modulo:
Diseño y Construcción de RED
Docente:
Esp. Tania Ximena Jure Arenas

# data[].attributes.body
Video de micro aprendizaje sobre el pensamiento computacional.

# data[].attributes.attachment_link.title
Microaprendizaje: ¿Qué es el pensamiento computacional?

# data[].attributes.body
Video de micro aprendizaje, que enseña sobre la programación y sus usos.

# data[].attributes.attachment_link.title
Microaprendizaje: ¿Qué es la programación y cuáles son sus usos?

# data[].attributes.body
Actividad 1: formulario de Google https://cutt.ly/Y6WMGTq

Actividad 2: elaborar mapa mental sobre programación de computadoras, basándose en la información ya compartida y por consulta propia en la web, usando una herramienta digital