Subdirección Académica Instrumentación Didáctica para la Formación y Desarrollo de s Profesionales Periodo escolar: Agosto Diciembre 2017 Nombre de la asignatura: Fundamentos de Programación Plan de estudios: ISIC-2010-224 Clave de la asignatura: AED-1285 Horas teoría horas prácticas créditos: 2-3-5 1. Caracterización de la asignatura Esta asignatura aporta al perfil del egresado, la capacidad para desarrollar un pensamiento lógico a través del diseño de algoritmos Utilizando herramientas de programación para el desarrollo de aplicaciones computacionales que resuelvan problemas reales. Está diseñada para el logro de competencias específicas y genéricas dirigidas al aprendizaje de los conceptos básicos de la programación, siendo capaz de aplicar expresiones aritméticas y lógicas en un lenguaje de programación; así como el uso y funcionamiento de las estructuras secuenciales, selectivas y repetitivas, como también la organización de los datos, además de la declaración e implementación de funciones para construir y desarrollar aplicaciones de software que requieran dichas estructuras. Se relaciona con todas aquellas asignaturas en donde se apliquen metodologías de programación y desarrollo de software de las carreras de Ingeniería en Sistemas Computacionales e Ingeniería en Animación Digital y Efectos Visuales.
2. Intención didáctica La asignatura se organiza en cinco temas donde se abordan los conceptos esenciales del diseño algorítmico y de la programación, así como el uso de entornos de desarrollo. En el primer tema, se estudian los conceptos básicos para introducir al estudiante en la programación con la finalidad de obtener el fundamento conceptual para el análisis, diseño y desarrollo de algoritmos, así como los primeros pasos al mundo de la programación a través de ejercicios dirigidos. En este tema es fundamental propiciar el pensamiento lógico del estudiante. El segundo tema, tiene la finalidad de propiciar que el estudiante adquiera los conocimientos necesarios para diseñar e implementar soluciones en un lenguaje de programación y resolver problemas del contexto. El tercer tema, tiene como objetivo que se comprenda, seleccione e implemente la estructura de control adecuada para la resolución de un problema específico. El cuarto tema, se buscará propiciar la capacidad de aplicar e implementar los arreglos para proporcionar un medio eficaz en la organización de datos para la resolución de problemas reales. El quinto tema tiene como finalidad que el estudiante implemente el diseño de bloques de códigos reutilizables, que optimizan la funcionalidad y reducen la complejidad de los programas desarrollados. Para cada uno de los temas se sugiere que el docente promueva la práctica a través de herramientas computacionales que propicien la habilidad en el desarrollo de programas. 3. de la asignatura Aplica algoritmos y lenguajes de programación para diseñar e implementar soluciones a problemáticas del entorno.
4. Análisis por competencias específicas No.: 1 Descripción: Comprende y aplica los conceptos básicos, nomenclatura y herramientas para el diseño de algoritmos orientado a la resolución de problemas. Temas y subtemas para desarrollar la competencia específica Actividades de aprendizaje (que hace el alumno) Actividades de enseñanza (que hace el docente) Desarrollo de competencias genéricas Horas teórico práctica 1.0 Presentación. Participa en el establecimiento de acuerdos. 1.1 Conceptos básicos. Analiza y comprende los conceptos de algoritmo, constante, variable, diagrama de flujo, seudocódigo, orden de precedencia de operadores aritméticos, relacionales y lógicos; tipos de datos que se usan con frecuencia. Presenta el contenido del curso y describe el proceso a seguir para cada unidad. Explica y analiza en grupo los conceptos básicos sobre algoritmos, propiciando la comprensión e identificación de los mismos. Habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de fuentes diversas). Capacidad de análisis y síntesis. Capacidad de comunicación oral y escrita. 1 2 1.2 Representación de algoritmos: gráfica y pseudocódigo. 1.3 Diseño de algoritmos. Analiza y comprende las reglas y simbología que se usan en el diseño de Diagramas de Flujo y Pseudocódigo. Elabora diagramas de flujo y pseudocódigos que den Representa y explica la solución de un algoritmo en diagrama de flujo y pseudocódigo. Explica la metodología para resolver Capacidad de aplicar los conocimientos en la práctica. Habilidades en el uso de las tecnologías de la información y de la 2 10
solución a problemas planteados que impliquen entrada y salida de datos, declaración de variables, uso de expresiones aritméticas, precedencia de los operadores aritméticos, estructuras de control de flujo y funciones. Utiliza un programa sugerido por el docente para comprobar los resultados obtenidos. Entrega un problemario. problemas por computadora, dando solución a diversas problemáticas, utilizando diagrama de flujo, pseudocódigo y aplicando las diferentes estructuras de control. 1.4 Diseño de funciones. Muestra la solución de algoritmos por medio de funciones (procedimientos o módulos). comunicación. 5 Valor del indicador A. Se adapta a situaciones y contextos complejos. 35% B. Hace aportaciones a las actividades académicas desarrolladas. 10% C. Propone y/o explica soluciones o procedimientos no vistos en clase. 35% D. Introduce recursos y experiencias que promueven un pensamiento crítico. 10% E. Incorpora conocimientos y actividades interdisciplinarias en su aprendizaje. 5% F. Realiza su trabajo de manera autónoma y autorregulada. 5% 4.1 a Niveles de desempeño
Desempeño alcanzada no alcanzada Nivel de desempeño Valoración numérica Excelente Cumple con 5 indicadores de alcance. 95-100 Notable Cumple al menos 4 indicadores definidos en el desempeño 85-94 Bueno Cumple al menos 3 indicadores definidos en el desempeño 75-84 Suficiente Cumple al menos 2 indicadores definidos en el desempeño 70-74 Insuficiente No se cumple con el 100% de evidencias conceptuales, 69 o menos. procedimentales y actitudinales de los indicadores definidos en el desempeño 4.1 b Matriz de evaluación Evidencia de aprendizaje % Indicador de alcance Evaluación formativa de la A B C D E F competencia Examen 50% 25% 25% Porcentaje de la evaluación Problemario o ejercicios 50% 10% 10 5% 10 5% 10% Porcentaje de la evaluación Total 35% 10% 30% 10% 5% 10%
No.: 2 Descripción: Conoce y aplica un lenguaje de programación para la resolución de problemas. Temas y subtemas para desarrollar la competencia específica Actividades de aprendizaje (que hace el alumno) Actividades de enseñanza (que hace el docente) Desarrollo de competencias genéricas Horas teórico práctica 2.1 Conceptos básicos. Reafirma y comprende los conceptos básicos: programa, programación, lenguajes de programación y paradigmas de programación. 2.2 Características del lenguaje de programación. 2.3 Estructura básica de un programa. Gestiona información sobre los tipos de datos que se usan en el lenguaje de programación seleccionado y elabora un mapa conceptual o mental. Reconoce y analiza la estructura básica de un programa. Explica y analiza en grupo los conceptos básicos sobre programación, propiciando la comprensión e identificación de los mismos. Expone las características de los lenguajes de programación más usados. Muestra la estructura básica de un programa en un lenguaje de programación. Habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de fuentes diversas). Capacidad de análisis y síntesis. Capacidad de comunicación oral y escrita. Capacidad de aplicar los conocimientos en la práctica. 1 1 2 Explica el uso de palabras reservadas propias del lenguaje de programación. Habilidades en el uso de las tecnologías de la información y de la comunicación.
2.4 Elementos del lenguaje: tipos de datos, literales, constantes, variables, identificadores, parámetros, operadores y salida de datos. 2.5 Traducción de un programa: compilación, enlace, ejecución y errores. Identifica los tipos de datos, literales, constantes, variables, identificadores, operadores y salida de datos propios del lenguaje de programación. Diseña programas que manipulen diferentes tipos de datos, expresiones lógicas y algebraicas, por medio de la codificación, compilación, identificación de errores y ejecución. Elabora un reporte que incluya el código y los resultados de ejecución. Emplea los elementos del lenguaje de programación a través de la codificación de algoritmos que involucren expresiones algebraicas. Explica el proceso de compilación y ejecución de un programa, así como la detección y corrección de errores 6 4 Valor del indicador A. Se adapta a situaciones y contextos complejos. 35% B. Hace aportaciones a las actividades académicas desarrolladas. 10% C. Propone y/o explica soluciones o procedimientos no vistos en clase. 35% D. Introduce recursos y experiencias que promueven un pensamiento crítico. 10% E. Incorpora conocimientos y actividades interdisciplinarias en su aprendizaje. 5% F. Realiza su trabajo de manera autónoma y autorregulada. 5%
4.2a Niveles de desempeño Desempeño alcanzada no alcanzada Nivel de desempeño Valoración numérica Excelente Cumple con 5 indicadores de alcance. 95-100 Notable Cumple al menos 4 indicadores definidos en el desempeño 85-94 Bueno Cumple al menos 3 indicadores definidos en el desempeño 75-84 Suficiente Cumple al menos 2 indicadores definidos en el desempeño 70-74 Insuficiente No se cumple con el 100% de evidencias conceptuales, 69 o menos. procedimentales y actitudinales de los indicadores definidos en el desempeño 4.2b Matriz de evaluación Evidencia de aprendizaje % Indicador de alcance Evaluación formativa de la competencia A B C D E F Práctica 70% 35% 25% 5% 5% Porcentaje de la evaluación Mapa Conceptual o mental 30% 10% 5 5% 5 5% Rubrica de mapa Total 35% 10% 30% 10% 5% 10%
No.: 3 Descripción: Conoce y aplica las estructuras condicionales y repetitivas de un lenguaje de programación para resolver problemas reales. Temas y subtemas para desarrollar la competencia específica Actividades de aprendizaje (que hace el alumno) Actividades de enseñanza (que hace el docente) Desarrollo de competencias genéricas Horas teórico práctica 3.1 Estructuras secuenciales. 3.2 Estructuras selectivas: simple, doble y múltiple. 3.3 Estructuras iterativas: repetir mientras, hasta, desde. Distingue y examina la sintaxis, funcionamiento y aplicación de las estructuras secuencial, de selección y repetición, Codifica los algoritmos del problemario de la unidad 1, donde se utilizan las estructuras secuencial, de selección y repetición. Entrega reporte de práctica. Construye programas de menor a mayor grado de complejidad, para demostrar el uso de estructuras secuencial, selectiva e iterativa; codifica, ejecuta y corrige errores de sintaxis y lógicos. Plantea problemáticas a resolver y analiza con el grupo los resultados. Habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de fuentes diversas). Capacidad de análisis y síntesis. Capacidad de comunicación oral y escrita. 2 6 6 Capacidad de aplicar los conocimientos en la práctica. Habilidades en el uso de las tecnologías de la información y de la comunicación.
Valor del indicador A. Se adapta a situaciones y contextos complejos. 35% B. Hace aportaciones a las actividades académicas desarrolladas. 10% C. Propone y/o explica soluciones o procedimientos no vistos en clase. 35% D. Introduce recursos y experiencias que promueven un pensamiento crítico. 10% E. Incorpora conocimientos y actividades interdisciplinarias en su aprendizaje. 5% F. Realiza su trabajo de manera autónoma y autorregulada. 5% 4.3a Niveles de desempeño Desempeño alcanzada no alcanzada Nivel de desempeño Valoración numérica Excelente Cumple con 5 indicadores de alcance. 95-100 Notable Cumple al menos 4 indicadores definidos en el desempeño 85-94 Bueno Cumple al menos 3 indicadores definidos en el desempeño 75-84 Suficiente Cumple al menos 2 indicadores definidos en el desempeño 70-74 Insuficiente No se cumple con el 100% de evidencias conceptuales, 69 o menos. procedimentales y actitudinales de los indicadores definidos en el desempeño
4.3b Matriz de evaluación Evidencia de aprendizaje % Indicador de alcance Evaluación formativa de la A B C D E F competencia Examen 50% 25% 25% Porcentaje de la evaluación Práctica 50% 10% 10% 5% 10 5% 10% Porcentaje de la evaluación Total 35% 10% 30% 10% 5% 10%
No.: 4 Descripción: Conoce y aplica las estructuras de datos en un lenguaje de programación que permitan la organización de datos en la resolución de problemas reales. Temas y subtemas para desarrollar la competencia específica Actividades de aprendizaje (que hace el alumno) Actividades de enseñanza (que hace el docente) Desarrollo de competencias genéricas Horas teórico práctica 4.1 Arreglos Distingue y examina la sintaxis, funcionamiento y aplicación de arreglos unidimensionales y multidimensionales. Expone ejemplos del uso de arreglos, define el concepto, tipos y las operaciones fundamentales. Habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de fuentes diversas). 2 4.2 Unidimensionales: conceptos básicos, operaciones y aplicaciones. 4.3 Multidimensionales: conceptos básicos, operaciones y aplicaciones. 4.4 Estructuras o registros. Diseña programas, que implementen operaciones (almacenamiento y recuperación de datos) sobre arreglos (unidimensionales y multidimensionales). Entrega reporte de prácticas. Reconoce las estructuras de datos o registros y analiza su importancia en el almacenamiento y recuperación de datos. Diseña y explica algoritmos que den solución a problemas mediante arreglos unidimensionales y multidimensionales, codifica, compila y ejecuta. Explica el tema de registros o estructuras de datos con ejemplos. Capacidad de análisis y síntesis. Capacidad de comunicación oral y escrita. Capacidad de aplicar los conocimientos en la práctica. Habilidades en el uso de las tecnologías de la información y de la comunicación. 6 6
Valor del indicador Se adapta a situaciones y contextos complejos. 35% Hace aportaciones a las actividades académicas desarrolladas. 10% Propone y/o explica soluciones o procedimientos no vistos en clase. 35% Introduce recursos y experiencias que promueven un pensamiento crítico. 10% Incorpora conocimientos y actividades interdisciplinarias en su aprendizaje. 5% Realiza su trabajo de manera autónoma y autorregulada. 5% 4.4a Niveles de desempeño Desempeño alcanzada no alcanzada Nivel de desempeño Valoración numérica Excelente Cumple con 5 indicadores de alcance. 95-100 Notable Cumple al menos 4 indicadores definidos en el desempeño 85-94 Bueno Cumple al menos 3 indicadores definidos en el desempeño 75-84 Suficiente Cumple al menos 2 indicadores definidos en el desempeño 70-74 Insuficiente No se cumple con el 100% de evidencias conceptuales, 69 o menos. procedimentales y actitudinales de los indicadores definidos en el desempeño
4.4b Matriz de evaluación Evidencia de aprendizaje % Indicador de alcance Evaluación formativa de la A B C D E F competencia Examen 50% 25% 25% Porcentaje de la evaluación Práctica 50% 10% 10% 5% 10 5% 10% Porcentaje de la evaluación Total 35% 10% 30% 10% 5% 10%
No.: 5 Descripción: Conoce y aplica modularidad en el desarrollo de programas para la optimización de los mismos y reutilización de código. Temas y subtemas para desarrollar la competencia específica Actividades de aprendizaje (que hace el alumno) Actividades de enseñanza (que hace el docente) Desarrollo de competencias genéricas Horas teórico práctica 5.1 Declaración y uso de módulos. 5.2 Paso de parámetros o argumentos. Distingue y examina la sintaxis, funcionamiento y aplicación de la programación modular (métodos o funciones) Codifica los algoritmos del problemario de la unidad 1, usando funciones y paso de parámetros. Entrega reporte de práctica. 5.3 Implementación. Construye un proyecto final demostrando el desarrollo y alcance de las competencias de la asignatura, considerando las siguientes fases: Fundamentación, Planeación, Ejecución y Evaluación Emplea y expone algoritmos que implementen módulos con paso de parámetros o argumentos. Propone programas que hagan uso de módulos. Propone un proyecto final para dar solución a una problemática del entorno. Guía en las fases de fundamentación, planeación, ejecución y evaluación del proyecto. Habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de fuentes diversas). Capacidad de análisis y síntesis. Capacidad de comunicación oral y escrita. Capacidad de aplicar los conocimientos en la práctica. Habilidades en el uso de las tecnologías de la información y de la comunicación. 2 2 10
Valor del indicador Se adapta a situaciones y contextos complejos. 35% Hace aportaciones a las actividades académicas desarrolladas. 10% Propone y/o explica soluciones o procedimientos no vistos en clase. 35% Introduce recursos y experiencias que promueven un pensamiento crítico. 10% Incorpora conocimientos y actividades interdisciplinarias en su aprendizaje. 5% Realiza su trabajo de manera autónoma y autorregulada. 5% 4.5a Niveles de desempeño Desempeño alcanzada no alcanzada Nivel de desempeño Valoración numérica Excelente Cumple con 5 indicadores de alcance. 95-100 Notable Cumple al menos 4 indicadores definidos en el desempeño 85-94 Bueno Cumple al menos 3 indicadores definidos en el desempeño 75-84 Suficiente Cumple al menos 2 indicadores definidos en el desempeño 70-74 Insuficiente No se cumple con el 100% de evidencias conceptuales, 69 o menos. procedimentales y actitudinales de los indicadores definidos en el desempeño
4.5 b Matriz de evaluación Evidencia de aprendizaje % Indicador de alcance Evaluación formativa de la A B C D E F competencia Proyecto integrador 80% 30% 10% 25% 5% 5% 5% Rubrica de evaluación Práctica 20% 5% 5% 5% 5% Porcentaje de la evaluación Total 35% 10% 30% 10% 5% 10% 5. Fuentes de información y apoyos didácticos Fuentes de información: 1.- Programación en Java 6. Luis Joyanes Aguilar, Ignacio Zahonero. 2011. Ed McGraw Hill. 2.- Fundamentos de Programación. Luis Joyanes Aguilar. Ed. Prentice Hall. 3.- Programación en Java 2 Algoritmos, estructuras de datos y programación orientada a objetos. Luis Joyanes Aguilar. Ed. Prentice Hall. 4.- Introducción a la Ciencia de Las Computadoras. Jean-Paul Tremblay, Richar B. Bunt. Enfoque Algorítmico. McGraw Hill. 5.- Metodología de la programación orientada a objetos. Leobardo López Román. Ed. Alfaomega. 6.- Oswaldo Cairó. Metodología de la programación. Algoritmos, diagramas de flujo y programas. Tercera Edición. 2005. Ed. Alfaomega. 7.- Deitel y Deitel. Cómo programar en Java. Ed. Pearson Prentice Hall. Apoyos didácticos: Pizarrón blanco Video Proyector. Computadora. Sala de Computo Software de diseño de algoritmos (PseInt actual). Editor de texto (Sublime Text o Block de notas). Lenguaje de programación (java sdk actual). Apuntes o Libro de texto