Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Pensamiento Algorítmico Syllabus Nombre de la Asignatura Id de la Asignatura Fecha de Actualización Horas semanales Créditos Académicos Pre-Requisitos Vigencia Pensamiento Algorítmico 004206 Julio de 2014 Horas Contacto Clase : 4 3 Ninguno 2015 Horas Trabajo Independiente : 5 Objetivos El objetivo principal es estimular su capacidad para enfrentar la solución de problemas y lograr que el estudiante desarrolle una nueva forma de pensar para que pueda emplear el computador como herramienta para la solución de problemas. El alumno al terminar el curso estará en capacidad de aplicar los tres paradigmas de pensamiento que constituyen la disciplina de la Informática: teoría, abstracción y diseño. Para lograr el objetivo se utilizan metodologías que ayudan a la definición y desarrollo de algoritmos. Igualmente en la segunda parte del curso, se utiliza una herramienta para la programación (lenguaje C/C++) para así implementar las soluciones algorítmicas en el computador. Habilidades que contribuye a Desarrollar Estimular la capacidad para entender el planteamiento de problemas. Definir varias alternativas para solucionar un problema y seleccionar la alternativa más viable. Estimular la destreza para solucionar problemas mediante algoritmos. Desarrollar los conocimientos de programación básica. Desarrollar la habilidad para implementar los algoritmos diseñados en un lenguaje de programación. Estrategias Pedagógicas 1. Aprendizaje Directivo Mediado (Clases magistrales) 2. Proyecto 3. Aprendizaje Colaborativo (Trabajo en grupo) 4. Talleres basados en problemas 5. Práctica: Interacción estudiante-profesor Apoyado por: Herramientas Tecnológicas de Interacción 6. Práctica: Revisión Bibliográfica Apoyado por: Herramientas Tecnológicas Biblioteca Evaluación Primer Parcial 20% Segundo Parcial 25% Tercer Parcial 25% Proyecto 15% o Primera Entrega o Entrega Final y Sustentación Quices y Talleres 15% 5% 10% Referencias Bibliográficas Solución de Problemas 1. Peña, Monica, El Problema 2. Polya, George, Como Plantear y Resolver Problemas, Editorial Trillas 3. Wod, Larry E, Estrategias de Pensamiento, Ejercicios de Agilidad Mental, Editorial Labor 4. Rueda Serrano, Jairo, Matemática divertida, Sistemas & Computadores 5. 6. 7. 8. 9. Bolt, Brian, Actividades matemáticas, Editorial Labor Bolt, Brian, Divertimentos matemáticos, Editorial Labor Bolt, Brian, Más actividades matemáticas, Editorial Labor Bolt, Brian, Aún más actividades matemáticas, Editorial Labor Mataix Lorda, Mariano, Fácil, menos fácil y difícil : 100 problemas de lógica y matemáticas, Editorial Marcombo 10. Castro Ch, Iván, El arte de razonar, Pontificia Universidad Javeriana 2003 Algoritmos 1. Cairó Osvaldo, Metodología de la programación, Segunda Edición, AlfaOmega , 2003 2. Joyanes Aguilar, Luis Fundamentos de Programación, Ed. McGraw Hill Joyanes Luis, Problemas de Metodología de la Programación, Mc Graw Hill 3. Becerra, César Algoritmos: Conceptos Básicos , 1995 Solución de problemas utilizando un Lenguaje de Programación Savitch Walter, Resolución de Problemas con C++, Ed. Pearson Deitel H.M., Como Programar en C/C++, Segunda Edición. Prentice Hall. 1995 Joyanes, Luis, Programación en C++, McGraw Hill. 2000 Mata Toledo, Ramón Introducción a la programación, McGraw Hill, 2001 Programa por semana y por clase Semana Clase Tema Presentación del Curso 1 1 1 2 2 3 2 4 3 5 3 4 6 7 4 8 Objetivos del curso Método para solución de problemas Fases en la solución de problemas (ciclo de vida) Solución de problemas Análisis y Diseño de Problemas. Presentación de una plantilla guía para análisis y diseño. Solución de problemas utilizando algoritmos Introducción a los Algoritmos Definición Modelo Conceptual Componentes Características Formas de representar un algoritmo Pseudocódigo /Flujogramas Tipos de Datos entero real caracter cadena (string) booleano Variables, constantes Operadores aritméticos y lógicos Expresiones Instrucciones de entrada / salida y asignación, Introducción a PsiCoder Taller Utilización de Psicoder Entrega del enunciado del Proyecto a los Estudiantes Sentencias Condicionales Alternativa sencilla (si - fin_si) Alternativa doble (si – sino – fin_si)) Taller Condicionales Sencillos y Dobles Sentencias Condicionales Condicionales Anidados (si – sino si … fin_si) Condicional Múltiple Excluyente (seleccionar) Condicionales Anidados – Múltiple Excluyente Taller Condicionales Anidados Sentencias Repetitivas Mientras (mientras (condición) hacer …. – fin_mientras) Repetir (hacer …. mientras(condición)) Para (para (valor inicial; valor final; incremento) …. fin_para 5 9 5 6 10 11 Taller Sentencias Repetitivas 6 12 Taller Sentencias Repetitivas 7 13 7 14 Sentencias Repetitivas Contadores Acumuladores Encontrar Mayor/Menor Terminación de ciclos o Con contador o Con respuesta de usuario o Con centinela o Bandera (variable booleana) Primer Parcial Conjunto Presentación en clase de la primera entrega del Proyecto El objetivo es verificar si los estudiantes comprendieron el enunciado del proyecto y se espera que utilicen psicoder para resolver una o dos opciones del proyecto donde se involucre sentencias condicionales y repetitivas. Lenguaje de programación Conceptos Sistemas Operativos Lenguajes de Programación Compilación Instrucciones Psicoder – Instrucciones Lenguaje C/C++ (Lo visto en clases anteriores al lenguaje de programación). Psicoder Lenguaje C/C++ Leer cin>> Imprimir cout<< si (condición) If (condición) entonces … else si_no ….. Mientras (condición) hacer …..Fin_Mientras Seleccionar (condición) entre … … While ( ) Switch (condición) …… ..... Taller Psicoder – Lenguaje de Programación 8 15 Lenguaje de programación Depuración de un programa Errores de sintaxis Errores Lógicos Mensajes de error Errores en tiempo de ejecución. Constantes declaradas const, #define Operadores de incremento y decremento (++, --) Conversión de tipos Sentencia break en los ciclos Comentarios en el Lenguaje de Programación 8 9 16 17 Taller Lenguaje de programación Funciones Definición Firma y Prototipo Terminación de funciones Retorno Parámetros (sólo por valor) Ámbito global y local de variables Concepto y Uso de Funciones de Biblioteca Funciones Numéricas Funciones matemáticas de carácter general Funciones Trigonométricas Funciones logarítmicas y exponenciales Funciones aleatorias Taller de Funciones Arreglos Unidimensionales - Vectores Declaración Subíndices Almacenamiento en memoria de los arreglos Tamaño de los arreglos. Taller Arreglos Unidimensionales 9 10 18 19 10 11 20 21 11 12 12 22 23 24 13 25 13 26 Arreglos en dos dimensiones - Matrices Conceptos Básicos Declarar una matriz Recorrer una Matriz por filas Recorrer una matriz por columnas Capturar e imprimir datos de una matriz 14 27 14 15 15 16 16 28 29 30 31 32 Arreglos en dos dimensiones – Matrices Operaciones con matrices Taller Arreglos en dos dimensiones - Matrices Estructuras (Registros) Taller de Estructuras Arreglos de Estructuras Taller Arreglo de Estructuras Tercer Parcial Conjunto Entrega del Proyecto 17 y 18 Arreglos Unidimensionales – Vectores Algoritmo de Búsqueda Algoritmos de Ordenación Taller Vectores - Aplicación de Métodos de Ordenación y Búsqueda Vectores y Funciones (Vectores como parámetros) Taller de Vectores y Funciones Segundo Parcial Conjunto Revisión avance del proyecto (Retroalimentación) proyecto y uso de arreglos Mínimo una función del
© Copyright 2024