
1. DATOS INFORMATIVOS
DOMINIO:
CARRERA: Ingeniería en Ciberseguridad y Gestión de Tecnologías de la Información
Asignatura/Módulo: Programación I
Paralelo:
Plan de estudios:
Prerrequisitos: Pensamiento Computacional
Periodo académico:
Docenteo o Co-Docente 1:Grado académico y título profesional:
Damián Nicolalde
Máster en redes de comunicaciones, MBA
Breve reseña de la actividad académica y/o profesional:
Damián Anibal Nicolalde Rodríguez es profesor e investigador en la Facultad de Ingeniería de la Pontificia Universidad Católica del Ecuador (PUCE). Su trabajo se centra en áreas como redes inalámbricas, eficiencia energética, redes de sensores inalámbricos, redes neuronales y analítica de aprendizaje.
Ha participado en varios proyectos de investigación, incluyendo la evaluación del rendimiento del protocolo TCP/IP en redes satelitales de órbita baja y el desarrollo de prototipos de antenas reconfigurables para redes celulares. Además, su investigación contribuye a los Objetivos de Desarrollo Sostenible de las Naciones Unidas.
Indicación de horario de atención al estudiante:
Tutoría presencial:
Tutoría virtual:
2. DESCRIPCIÓN DE LA ASIGNATURA
La asignatura Programación 1 tiene como objetivo desarrollar en los estudiantes las habilidades necesarias para asociar fundamentales de la programación, tales como la sintaxis, el manejo de tipos de datos, variables, entrada/salida de estructuras de control básicas. A través de la aplicación práctica de estos conceptos, los estudiantes aprenderán a utilizar las estructuras básicas de un lenguaje de programación estructurado, aplicando su sintaxis para resolver problemas programación de mediana complejidad.
Además, se enfoca en que los estudiantes sean capaces de solucionar problemas mediante el uso de algoritmos matemáticos, descomponiéndolos en tareas más simples a través de técnicas de programación como el uso de funciones. Durante el curso, estudiantes implementarán estos conocimientos mediante ejercicios prácticos, desarrollando su capacidad para construir programáticas completas y eficientes, utilizando estructuras de control, funciones y manejo de datos.
3. DESCRIPCIÓN DE COMPETENCIAS Y RESULTADOS DE APRENDIZAJE
COMPETENCIAS TRANSVERSALES
COMPETENCIAS DISCIPLINARES DEL DOMINIO


N° horas
H. aprendizaje en contacto con el docente: 32
H. aprendizaje autónomo: 72
H. aprendizaje prácticoexperimental: 16
Co-Docente 2: Grado académico y título profesional:
Teléfono:
2991700 ext 1154
Correo electrónico: nombre@puce.edu.ec
estudiantes las habilidades necesarias para asociar los conceptos tipos de datos, variables, entrada/salida de datos y estos conceptos, los estudiantes aprenderán a reconocer y estructurado, aplicando su sintaxis para resolver problemas de
problemas mediante el uso de algoritmos matemáticos, programación como el uso de funciones. Durante el curso, los prácticos, desarrollando su capacidad para construir soluciones control, funciones y manejo de datos.
RESULTADOS DE APRENDIZAJE DE LA CARRERA
RESULTADOS DE APRENDIZAJE DE LA ASIGNATURA
Aplicar los principios de programación para el diseño e implementación de soluciones de software eficientes y escalables, cumpliendo con los estándares de calidad y seguridad.
Asociar los conceptos fundamentales de la programación: sintaxis, manejo de tipos de datos, variables, entrada/salida de datos y estructuras de control básicas, en un lenguaje estructurado.

Aplicar los principios de programación para el diseño e implementación de soluciones de software eficientes y escalables, cumpliendo con los estándares de calidad y seguridad.
Reconocer las estructuras básicas de un lenguaje de programación estructurado, su sintaxis y su utilidad en la solución de problemas de programación.
Implementar algoritmos y estructuras de datos para la resolución de problemas de complejidad media y alta en distintas áreas de la computación.
Solucionar problemas de programación de mediano nivel, mediante el uso de algoritmos basados en matemáticas, pudiendo descompoenerlos en tareas más simples por medio del uso de técnicas de programación como funciones.

Resultadodeaprendizaje
NOMBRE DEL ESTUDIANTE PROYECTODELNIVEL Retos
Reto 1: En este primer reto, los estudiantes deberán construir un programa simple que maneje variables, tipos de datos y operadores matemáticos básicos. El programa deberá ser capaz de recibir datos de entrada del usuario (números) y realizar operaciones simples como suma, resta, multiplicación y división. Los estudiantes también trabajarán con la entrada/salida de datos.
Este proyecto tiene como objetivo desarrollar una calculadora avanzada que pueda realizar operaciones matemáticas básicas (como suma, resta, multiplicación y división) y algunas avanzadas (como operaciones con matrices o cálculos de raíces cuadradas). Los estudiantes deben ir resolviendo el proyecto en etapas, cada una centrada en uno de los resultados de aprendizaje.
Reto 2: El segundo reto se centrará en el uso de estructuras de control condicionales (if-else) y bucles (for, while). Los estudiantes deberán implementar un menú en el programa que permita al usuario seleccionar la operación que desea realizar (suma, resta, multiplicación, división), y el cálculo deberá repetirse si el usuario lo desea.
Asociar los conceptos fundamentales de la programación: sintaxis, manejo de tipos de datos, variables, entrada/salida de datos y estructuras de control básicas, en un lenguaje estructurado. Reconocer las estructuras básicas de un lenguaje de programación estructurado, su sintaxis y su utilidad en la solución de problemas de programación.
Reto 3: El tercer reto se enfocará en la utilización de funciones para resolver problemas más complejos y el uso de estructuras de control en conjunto. Los estudiantes agregarán funcionalidades adicionales a la calculadora, como el cálculo de raíces cuadradas, potencia de números o el uso de matrices (si se considera apropiado). Además, deberán aprender a trabajar con funciones para descomponer el problema en tareas más simples.
Reto 4: En el último reto, los estudiantes deberán agregar la funcionalidad para guardar y cargar los resultados de las operaciones en un archivo de texto. Esto permitirá que la calculadora guarde un historial de las operaciones realizadas, y el usuario pueda revisar o continuar con operaciones anteriores. Finalmente, los estudiantes deberán integrar todas las partes del proyecto y realizar pruebas para asegurarse de que funcione correctamente.
Solucionar problemas de programación de mediano nivel, mediante el uso de algoritmos basados en matemáticas, pudiendo descompoenerlos en tareas más simples por medio del uso de técnicas de programación como funciones.
DefinicióndelcriteriodeevaluacióndelRdA Ponderacióncriterios
Observaciones(Alertasparatutoríasacadémicas)
Criterio 1: Comprende lo que son los tipos de datos y operadores, y cómo se utilizan en el desarrollo de un programa informático utilizando un lenguajde de programación estructurado. 50%
Criterio 2: Comprende lo que son las variables y entrada/salida de datos, y cómo se utilizan en el desarrollo de un programa informático utilizando un lenguajde de programación estructurado. 50%
Criterio 1: Comprende lo que son las estructuras de control selectivas para el flujo de información que sigue un programa informático utilizando un lenguaje de programación estructurado.
Criterio 2: Comprende lo que son las estructuras de control iterativas para el flujo de información que sigue un programa informático utilizando un lenguaje de programación estructurado.
Criterio 1: Aplica las herramientas disponibles en un lenguaje de programación para la implementación de algoritmos que soluciones problemas de bajo y medio nivel.
50%
Para el nivel pendiente de alcanzar (D) el estudiante deberá realizar más trabajos que le permitan reforzar conocimiento teóricopráctico.
Para el nivel pendiente de alcanzar (D) el estudiante deberá realizar más trabajos que le permitan reforzar conocimiento teóricopráctico.
Para el nivel pendiente de alcanzar (D) el estudiante deberá realizar más trabajos que le permitan reforzar conocimiento teóricopráctico.
Para el nivel pendiente de alcanzar (D) el estudiante deberá realizar más trabajos que le permitan reforzar conocimiento teóricopráctico.
Criterio 2: Comprende lo que son las funciones en un lenguaje de programación estructurado y las utiliza para dividir tareas. 50%
Para el nivel pendiente de alcanzar (D) el estudiante deberá realizar más trabajos que le permitan reforzar conocimiento teóricopráctico.

El curso se organiza en 4 retos: tres retos formativos que abordan los conceptos y habilidades clave de la programación (sintaxis, estructuras de control, funciones, manejo de datos) y un reto sumativo final, en el que los estudiantes integran todo lo aprendido para completar el proyecto. Cada reto está diseñado para desafiar a los estudiantes a resolver problemas específicos, promoviendo la resolución de problemas mediante el uso de algoritmos matemáticos y la descomposición en tareas más simples. Este enfoque fomenta la autonomía, el trabajo colaborativo y el desarrollo de habilidades prácticas esenciales para la programación, asegurando que los estudiantes sean capaces de enfrentar y resolver problemas de programación reales al finalizar el curso.
Reto 1: En este primer reto, los estudiantes deberán construir un programa simple que maneje variables, tipos de datos y operadores matemáticos básicos. El programa deberá ser capaz de recibir datos de entrada del usuario (números) y realizar operaciones simples como suma, resta, multiplicación y división. Los estudiantes también trabajarán con la entrada/salida de datos.
Asociar los conceptos fundamentales de la programación: sintaxis, manejo de tipos de datos, variables, entrada/salida de datos y estructuras de control básicas, en un lenguaje estructurado.
Reto 2: El segundo reto se centrará en el uso de estructuras de control condicionales (if-else) y bucles (for, while). Los estudiantes deberán implementar un menú en el programa que permita al usuario seleccionar la operación que desea realizar (suma, resta, multiplicación, división), y el cálculo deberá repetirse si el usuario lo desea.
Reconocer las estructuras básicas de un lenguaje de programación estructurado, su sintaxis y su utilidad en la solución de problemas de programación.
Este proyecto tiene como objetivo desarrollar una calculadora avanzada que pueda realizar operaciones matemáticas básicas (como suma, resta, multiplicación y división) y algunas avanzadas (como operaciones con matrices o cálculos de raíces cuadradas). Los estudiantes deben ir resolviendo el proyecto en etapas, cada una centrada en uno de los resultados de aprendizaje.
Reto 3: El tercer reto se enfocará en la utilización de funciones para resolver problemas más complejos y el uso de estructuras de control en conjunto. Los estudiantes agregarán funcionalidades adicionales a la calculadora, como el cálculo de raíces cuadradas, potencia de números o el uso de matrices (si se considera apropiado). Además, deberán aprender a trabajar con funciones para descomponer el problema en tareas más simples.
Solucionar problemas de programación de mediano nivel, mediante el uso de algoritmos basados en matemáticas, pudiendo descompoenerlos en tareas más simples por medio del uso de técnicas de programación como funciones.
Reto 4: En el último reto, los estudiantes deberán agregar la funcionalidad para guardar y cargar los resultados de las operaciones en un archivo de texto. Esto permitirá que la calculadora guarde un historial de las operaciones realizadas, y el usuario pueda revisar o continuar con operaciones anteriores. Finalmente, los estudiantes deberán integrar todas las partes del proyecto y realizar pruebas para asegurarse de que funcione correctamente.

8. BIBLIOGRAFÍA
a. BÁSICA / LIBROS
Bibliografía (basarse en normas APA)
https://elibro.puce.elogim.com/es/ereader/puce/230298
https://puce.odilo.us/info/enciclopedia-de-microsoft-visual-cinterfaces-graficas-y-aplicaciones-para-internet-con-windowsforms-y-aspnet-03127168
https://puce.odilo.us/info/c-5-y-visual-studio-2013-losfundamentos-del-lenguaje-03126174
https://puce.odilo.us/info/facil-aprendizaje-estructuras-dedatos-algoritmos-c-aprenda-facilmente-estructuras-de-datosgraficamente-03127232
https://puce.odilo.us/info/aprende-c-en-un-fin-de-semana03105596
Elaborado por:
DamiánNicolaldeR
Revisado y Aprobado por:
DamiánNicolaldeR
Coordinador de la carrera
Código Biblioteca PUCESI Nro. de ejemplares
Bibliotecavirtual NA
Bibliotecavirtual NA
Bibliotecavirtual NA
Bibliotecavirtual NA
Bibliotecavirtual NA
f) Docente