PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en Sistemas Computacionales General Algoritmos y programación Horas teóricas: 2 Horas prácticas: 4 Total de Horas: 6 Total de créditos: 8 Clave: F1201 Tipo : Asignatura Carácter de la Obligatoria asignatura Programa elaborado por: María Alejandrina Aguilar Almeida Gloria Guadalupe González Flores Rafael Mena de la Rosa Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización: Seriación explícita Asignatura antecedente Ninguna Si Asignatura Subsecuente Programación orientada a objetos Seriación implícita Conocimientos previos: Si Operaciones aritméticas básicas. F1201 Algoritmos y programación 1/10
Presentación Esta asignatura se ubica dentro del área de formación general. Es recomendable que se curse en el primer ciclo de la licenciatura. Los algoritmos son parte fundamental en la construcción del software, no se puede concebir la programación estructurada u otro tipo de programación sin las estructuras básicas: secuenciales, condicionales y repetitivas. Los conocimientos que se adquieran en esta asignatura se aplicarán en la solución de problemas a través de un lenguaje de programación, bajo el paradigma de programación estructurada. El entorno de desarrollo utilizado en esta asignatura servirá de base para el paradigma de programación orientado a objetos. Objetivo General Aplicar el modelado de algoritmos y su implementación en un lenguaje de programación para solucionar problemas de la vida real. Competencias que se desarrollaran en esta asignatura Elaboración de algoritmos representados en pseudocódigo y diagramas de flujo. Utilización de una herramienta de software para la elaboración de algoritmos en pseudocódigo y diagramas de flujo. Codificación de programas en algún lenguaje de programación Manejo de un entorno de desarrollo de software (edición, compilación, ejecución) Competencias del perfil de egreso que apoya esta asignatura Esta asignatura impacta en el perfil de egreso del estudiante en el análisis, diseño, construcción e implementación de software basados en computadoras, aplicando metodologías, paradigmas y lenguajes de programación acorde a las nuevas tecnologías de desarrollo de vanguardia con el fin de brindar soluciones eficientes en diversos entornos y F1201 Algoritmos y programación 2/10
situaciones considerando diferentes plataformas y dispositivos. Salón de clases, laboratorio de cómputo Escenario de aprendizaje Perfil sugerido del docente El perfil ideal del docente de la asignatura de algoritmos y programación es un profesional egresado de Licenciatura en Informática, Sistemas Computacionales o áreas afines con experiencia en desarrollo de software. Un perfil alternativo sería un docente que posea conocimientos, habilidades y experiencia en el área de programación y desarrollo de software. Son actitudes necesarias en el docente de esta asignatura: Que promueva el aprendizaje participativo basado en casos de uso. Que aplique las herramientas pertinentes en el desarrollo de sus actividades académicas y profesionales Contenido Temático I Conceptos básicos de algoritmos Identificar los elementos básicos de un algoritmo, diferenciando los datos de acuerdo con su clasificación, identificadores, constantes, variables, y los tipos de operadores, jerarquía y asociatividad. Hrs. Estimadas 12 F1201 Algoritmos y programación 3/10
1.1. Conceptos, características y tipos de algoritmos 1.2. Pasos para la resolución de un problema 1.3. Representación de algoritmos 1.4. Datos y clasificación de los tipos de datos 1.5. Identificadores, constantes y variables 1.6. Operadores, jerarquía y asociatividad 1.7 Expresiones Representación computacional a partir de expresiones algebraicas Expresiones en algoritmos que impliquen el uso de todos los operadores Algoritmos para la solución de problemas Trabajo de investigación sobre los elementos básicos de los algoritmos por parte del alumno en la bibliografía recomendada Exposición oral por parte del profesor Desarrollo de ejercicios (algoritmos y expresiones) por parte del profesor y el alumno Portafolio de evidencias de aprendizaje, el cual deberá de contener todos los ejercicios y soluciones a problemas propuestos. Evaluación escrita (Desarrollo de ejercicios y caso de usos) Hrs. Estimadas II Estructuras algorítmicas básicas Aplicar las estructuras algorítmicas secuenciales y selectivas en la solución de problemas 12 horas Diagramas de flujo de Exposición oral por parte del estructuras secuenciales y profesor selectivas 2.1 Herramientas básicas de software para la implementación de algoritmos y diagramas Planteamiento y solución de Portafolio de evidencias (Ejercicios realizados, diagramas de flujo, algoritmos en pseudocódigo) F1201 Algoritmos y programación 4/10
de flujo. 2.2 Estructuras secuenciales (pseudocódigo) 2.3 Estructuras selectivas (pseudocódigo) 2.3.1. Simples 2.3.2. Dobles 2.3.3. Múltiples 2.3.4. Anidadas 2.4 Diagramación estructurada. Algoritmos en pseudocódigo de estructuras secuenciales y selectivas Algoritmos de estructuras secuenciales y selectivas, realizados en algún software pertinente Diagramas de flujos de estructuras secuenciales y selectivas realizados con un software problemas. Usar el software PSEint para la implementación de algoritmos Usar el software DFD, para la implementación de diagramas de flujo Solución de un caso de uso aplicando las estructuras secuenciales a través del software PSEint y DFD III Estructuras repetitivas Aplicar las estructuras repetitivas en la solución de problemas Hrs. Estimadas 18 Diagramas de flujo que Exposición oral por parte del Portafolio de evidencias impliquen la utilización de las profesor (Ejercicios realizados, estructuras vistas en esta diagramas de flujo, unidad algoritmos en pseudocódigo) 3.1. Contadores, acumuladores e interruptores 3.2. Estructuras repetitivas 3.2.1 Mientras Planteamiento y solución de problemas F1201 Algoritmos y programación 5/10
3.2.2. Repetir 3.2.3. Hacer desde/hasta 3.2.4. Anidación Algoritmos en pseudocódigo, empleando las estructuras estudiadas en esta unidad Algoritmos que empleen estructuras repetitivas con algún software pertinente Diagramas de flujo que utilicen estructuras repetitivas, con algún software Utilización del software PSEint para la implementación de algoritmos Utilización del software DFD, para la implementación de diagramas de flujo Solución de un caso de uso aplicando las estructuras repetitivas a través del software PSEint y DFD IV Introducción a la programación Desarrollar programas utilizando diferentes entornos para su edición, compilación y ejecución. Hrs. Estimadas 10 Programas editados, Exposición oral por parte del Portafolio de evidencias compilados y ejecutados ya profesor (Entregar en un medio de sea desde la línea de almacenamiento los comando ó a través de un Prácticas en laboratorio de programas desarrollados) software con entorno de cómputo desarrollo integrado. 4.1. Entornos de desarrollo 4.2. Datos y clasificación de los tipos de datos 4.3. Identificadores, constantes y variables Operadores, jerarquía y asociatividad de los Planteamiento y solución de problemas Examen práctico a través de la solución de un caso de uso F1201 Algoritmos y programación 6/10
operadores 4.4. Estructura general de un programa 4.5. Entrada/salida estándar por consola Programas con estructura secuencial y empleo de sentencias de entrada y salida estándar. Uso de un software editor para la edición del programa fuente; el programa Javac para compilar y el intérprete Java para ejecutar el programa Uso del software Geany como entorno de programación para edición, compilación y ejecución del programa (utilizando Java como lenguaje de programación), V Programación de estructuras de control Emplear correctamente las estructuras selectivas y repetitivas en la solución de problemas de acuerdo con el lenguaje de programación usado. Hrs. Estimadas 15 5.1 Estructuras selectivas 5.1.1. Simples 5.1.2. Dobles 5.1.3. Múltiples Programas con estructuras selectivas y repetitivas, ya sea desde la línea de comando ó a través de un Exposición oral por parte del profesor Prácticas en laboratorio de cómputo Portafolio de evidencias (Entregar en un medio de almacenamiento los programas desarrollados) F1201 Algoritmos y programación 7/10
5.1.4. Anidadas 5.2. Estructuras repetitivas 5.2.1. While 5.2.2. Do while 5.2.3. For 5.2.4 Anidación software con entorno de desarrollo integrado. Uso de un software editor para la edición del programa fuente; el programa Javac para compilar y el intérprete Java para ejecutar el programa. Examen práctico a través de la solución de un caso de uso aplicando estructuras selectivas y repetitivas VI Arreglos Implementar programas para resolver casos de uso aplicando el tipo de arreglo más adecuado para la solución de los mismos. Hrs. Estimadas 14 Programas de los casos de Exposición oral por parte del uso donde se apliquen profesor arreglos unidimensionales. 6.1. Arreglos unidimensionales 6.1.1. Conceptos básicos 6.1.2. operaciones 6.1.3. Aplicaciones 6.2. Arreglos bidimensionales 6.2.1. Conceptos básicos 6.2.2. operaciones Programas de los casos de uso donde se apliquen arreglos bidimensionales. Programas de los casos de Prácticas en laboratorio de cómputo para resolver casos de uso Uso de un software editor para la edición del programa Portafolio de evidencias (Entregar en un medio de almacenamiento los programas desarrollados) Examen práctico a través de la solución de un caso de uso aplicando arreglos unidimensionales y F1201 Algoritmos y programación 8/10
6.2.3. Aplicaciones 6.3. Cadenas y funciones de cadenas. uso donde se apliquen cadenas. fuente; el programa Javac para compilar y el intérprete Java para ejecutar el programa. bidimensionales VII Programación modular Utilizar funciones aplicando paso de parámetros entre módulos para la implementación de programas en la solución de casos de uso. Hrs. Estimadas 15 Programas de casos de uso Exposición oral por parte del Portafolio de evidencias que impliquen el uso de profesor (Entregar en un medio de variables locales, globales, almacenamiento los paso de parámetros por programas desarrollados) valor y por referencia. 7.1. Concepto de función y programación modular. 7.2. Variables globales y locales 7.3. Creación de funciones aplicando variables globales y locales. 7.4. Parámetros 7.4.1.Parámetros por valor 7.4.2.Parámetros por referencia 7.5. Creación de funciones con paso de Módulos ó funciones que realicen una tarea específica. Programas de los casos de uso donde se apliquen funciones con paso de parámetros. Prácticas en laboratorio de cómputo para las solución de casos de uso Uso de un software editor para la edición del programa fuente; el programa Javac para compilar y el intérprete Java para ejecutar el programa. Examen práctico a través de la solución de un caso de uso aplicando funciones con paso de parámetros F1201 Algoritmos y programación 9/10
parámetros 7.6. Funciones estándar Bibliografía básica Deitel, H., Deitel, P. (2009). Java How to Program: Early Objects Version. USA: Prentice Hall. Eckel, B (2006). Thinking in Java. USA: Prentice Hall. Joyanes, L. (2008). Fundamentos de la programación. Madrid: McGraw-Hill/Interamericana de España S.A. Liguori, R., Finegan, E. (2010). Sun Certified Java Associate. USA: McGraw Hill. López,L. (2007). Metodología de Programación Orientada a Objetos. México: Alfaomega. Bibliografía complementaria Sierra, K., Bates, B. (2008). Sun Certified Programmer for Java 6. USA: McGraw Hill. Sierra, K., Bates, B. (2009). Head First Java. USA: O'Reilly Media. Sierra, A. (2007). Programador Java 2 Certificado: Curso práctico. México: Alfaomega. F1201 Algoritmos y programación 10/10