Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Escuela de matemática
mayo de 2018
Información General
Código y nombre del espacio de aprendizaje:(MM-314) Programación I
Inicio del periodo: 28 de mayo de 2018 Finalización del periodo: 26 de agosto de 2018
Facultad: Ciencias Escuela: Matemáticas y Ciencias de la Computación
Departamento responsable: Matemática aplicada
Carrera según grado: Licenciatura en matemática
Requisitos del espacio de aprendizaje:
Carrera Código Nombre Créditos
Ingeniería Mecánica MM211 Vectores y Matrices 3
Matemática MM211 Vectores y Matrices 3
Física MM211 Vectores y Matrices 3
Ingeniería Eléctrica MM211 Vectores y Matrices 3
Ingeniería en MM110 Matemática I 5
Sistemas IS110 Introducción a la ingeniería en sistemas 3
Ingeniería Civil MM202 Cálculo II 5
Modalidad en la que se presenta el proceso de aprendizaje:
1. Presencial ⊠
2. Herramienta de apoyo a la presencialidad ⊠
3. Distancia
4. e-learning
5. b-learning
Distribución de las actividades académicas del espacio de aprendizaje
Total Créditos: 3 Semanas: 12 Número de horas teóricas: 24
Teóricos: 2 Horas por semana Número de horas prácticas: 20
teóricas: 2
Prácticos: 1 Horas por semana Horas de trabajo independiente en la semana: 6
prácticas: 1 Horas de trabajo independiente en el periodo: 72
Descripción del espacio de aprendizaje(Naturaleza y propósito)
En este espacio de aprendizaje el estudiante desarrollará la habilidad de escribir programas computacionales
que resuelvan un problema dado en un computador digital usando el paradigma de la programación
estructurada. Básicamente, la creación de dicho programa involucrará los siguientes pasos:
• Etapa de desarrollo, donde para cada subproblema se diseña respectivamente un algoritmo que lo
resuelva.
• Etapa de codificación, donde cada algoritmo se escribe en un lenguaje de programación de alto nivel.
Los programas desarrollados este espacio de aprendizaje estarán orientados a la solución de problemas de
la ciencia, la ingeniería y otras situaciones de la vida real.
El propósito del espacio de aprendizaje es brindar al estudiante herramientas básicas en programación
para que este posteriormente pueda desempeñar se de manera satisfactoria en futuros proyectos de sus
respectivas carreras. Generalmente las investigaciones que se hacen en las carreras de ingeniería, física
y matemática consideran modelos que se ajustan a fenómenos de la vida real, estos modelos pueden ser
corroborados por medio de simulaciones de computadora, es aquí donde el alumno requiere las competencias
básicas de la programación estructurada.
Capacidades previas (conocimientos, habilidades, destrezas, valores adquiridos)
2
§ Primera unidad
Competencias genéricas
1. Tiene la capacidad de analizar y hacer síntesis de los problemas que se le proponen.
2. Trabaja con ética, calidad y pertinencia.
3. Expone sus inquietudes en todo momento respecto a los contenidos, diferenciándose de un actor pasivo.
4. Concuerda en hacer investigaciones fuera de la clase.
Competencias específicas
1. Reconoce que es un algoritmo.
2. Domina un lenguaje de programación de alto nivel apropiado para la solución de problemas en la ciencia
y la ingeniería.
3. Depura errores lógicos en implementaciones de algoritmos computacionales.
Sub Competencias
1.1 Reconoce las tautologías, contradicciones y proposiciones equivalentes.
1.2 Domina las operaciones elementales aritméticas, multiplicación, división, suma, resta.
1.3 Distingue que es un algoritmo de un conjunto de proposiciones cualesquiera.
1.4 Reconoce las estructuras básicas de la programación estructurada, secuencia, selección y repetición.
1.5 Desarrolla algoritmos para resolver una tarea específica.
2.1 Domina la sintaxis básica de un lenguaje de programación: declaración e inicialización de variables,
uso de operadores aritméticos, operaciones básicas de extracción y saluda de datos.
2.2 El alumno discrimina el tipo de dato adecuado para una variable en cada problema que se le presente.
2.3 Reconoce los operadores lógico; tales como la negación, equivalencia, menor que, mayor que, menor o
igual que, mayor o igual que, disyunción, conjunción.
2.4 Reconoce la sintaxis de las estructuras de selección: if, if else, if anidados, switch en un lenguaje de
programación de alto nivel.
2.5 Reconoce la sintaxis de las estructuras de repetición: for, while, do while en un lenguajes de progra-
mación de alto nivel.
2.6 Identifica las variables acumuladoras, multiplicadoras, centinelas y banderas.
3.1 Domina herramientas existentes para la depuración de errores lógicos en programa computacional.
3.2 Diseña experimentos para la validación del correcto funcionamiento de un programa computacional.
3.4 Documenta implementaciones de algoritmos computacionales.
3
§ Segunda unidad
Competencias genéricas
1. Tiene la capacidad de analizar y hacer síntesis de los problemas que se le proponen.
2. Trabaja con ética, calidad y pertinencia.
3. Expone sus inquietudes en todo momento respecto a los contenidos, diferenciándose de un actor pasivo.
4. Organiza su tiempo para realizar todas las tareas que se le asignan.
5. Valora el esfuerzo que requiere dominar las operaciones en arreglos.
Competencias específicas
1. Reconoce la definición de biblioteca o librería de un lenguaje de programación de alto nivel.
2. Distingue los diferentes prototipos de funciones que se pueden encontrar en un lenguaje de programación
de alto nivel.
3. Reconoce los arreglos.
Sub Competencias
1.1 Manipula funciones de biblioteca con el objetivo de usar variables psudoaleatorias.
1.2 Domina el uso de las bibliotecas del lenguaje de programación para la lectura y escritura de flujo de
datos con formato especial.
1.3 Demuestra que tiene el potencial para aprender el uso de una librería con el objeto de resolver un
problema particular.
2.1 Reconoce la sintaxis básica para escribir sus propias funciones.
2.2 Distingue los diferentes tipos de ámbitos de variables que el lenguaje de programación puede soportar.
2.3 Distingue que es un paso por referencia y que es un paso por valor.
2.4 Discrimina el prototipo de función necesaria para resolver distintos problemas que requieren de un
enfoque particular.
2.5 Conoce la sintaxis de una función recursiva dentro del lenguaje de programación.
2.6 Distingue una función secuencial de una recursiva.
2.7 Implementa programas recursivos para resolver problemas de naturaleza recursiva.
3.1 Identifica la estructura y comportamiento de las estructuras lineales llamadas arreglos.
3.2 Opera con maestría las operaciones de asignación, lectura y escritura de arreglos.
3.3 Diseña funciones que contienen arreglos en sus parámetros
4
§ Tercera unidad
Competencias genéricas
1. Tiene la capacidad de analizar y hacer síntesis de los problemas que se le proponen.
2. Trabaja con ética, calidad y pertinencia.
3. Coopera en las explicaciones que se hacen en clase por parte del profesor.
4. Organiza su tiempo para realizar todas las tareas que se le asignan.
5. Completa algunos programas parcialmente elaborados en la clase en el hogar.
Competencias específicas
1. Domina el concepto de puntero.
2. Domina las cadenas de caracteres.
Sub Competencias
1.1 Conoce la sintaxis básica para manipular punteros.
1.2 Realiza operaciones básicas de punteros.
1.3 Reconoce el concepto de puntero nulo.
1.4 Conoce el concepto de memoria dinámica.
2.1 Conoce la sintaxis básica para la manipulación cadenas.
2.2 Usa bibliotecas para la manipulación de cadenas.
2.3 Implementa funciones que requieren del uso de cadenas.
5
Áreas temáticas Áreas temáticas
6
§ Evaluación de los procesos de aprendizaje
7
§Referencias bibliográficas sugeridas
[1] Joyanes Aguilar, LuisSANCHEZ GARCIA, LUCASLuis Joyanes Aguilar, and Lucas Sánchez García.
Programación en C++: un enfoque práctico. McGraw-Hill„ 2006.
[3] Angel Andeiro Quezada Carlos Rossi Jimenez Cristobal Pareja Flores, Manuel Ojeda Aciego. Algorit-
mos y programación en pascal. 2xxx.
[4] Harvey M Deitel and Paul J Deitel. Como programar en C++. Pearson educación, 2014, Novena
edición.
[9] JM Valls Ferrán and D Camacho Fernández. Programación estructurada y algoritmos en Pascal.
Pearson Educación, 2004.