You are on page 1of 4

Pontificia

Universidad Javeriana
Departamento de Ingeniería de Sistemas
Pensamiento Algorítmico
Syllabus

Nombre de la Asignatura Pensamiento Algorítmico –
Id de la Asignatura 004206
Fecha de Actualización Julio de 2017
Horas semanales Horas Contacto Clase : 4 Horas Trabajo Independiente : 5
Créditos Académicos 3
Pre-Requisitos Ninguno
Vigencia 2017-30

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 5%
o Entrega Final y Sustentación 10%
• Quices y Talleres 15%

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. Bolt, Brian, Actividades matemáticas, Editorial Labor
6. Bolt, Brian, Divertimentos matemáticos, Editorial Labor
7. Bolt, Brian, Más actividades matemáticas, Editorial Labor
8. Bolt, Brian, Aún más actividades matemáticas, Editorial Labor
9. 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
1 1 Presentación del Curso
• Objetivos del curso
• Método para solución de problemas
• Fases en la solución de problemas (ciclo de vida)
2 Solución de problemas
Análisis y Diseño de Problemas.
Presentación de una plantilla guía para análisis y diseño.
2 3 Solución de problemas
Análisis y Diseño – Taller con los estudiantes
4 Solución de problemas utilizando algoritmos y Taller Sencillo Utilización de
Code::Blocks
• Introducción a los Algoritmos
Definición
Modelo Conceptual
Componentes
Características
• Formas de representar un algoritmo
Flujogramas /C++
• Tipos de Datos
entero / int
real / float
carácter /char
cadena / string
booleano /bool
• Variables, constantes
• Operadores aritméticos y lógicos
• Expresiones
Lenguaje de programación – Conceptos básicos
• Conceptos
• Sistemas Operativos
• Lenguajes de Programación
• Compilación
• Instrucciones de entrada / salida y asignación, Introducción a C++ y Code::Blocks
3 5 Operadores Lógicos
• Tipos de Datos
booleano /bool
• Operadores lógicos
• Expresiones

Sentencias Condicionales
• Alternativa sencilla (if)
• Alternativa doble (if/else))

Entrega del enunciado del Proyecto a los Estudiantes
6 Taller Condicionales Sencillos y Dobles
4 7 Sentencias Condicionales
• Condicionales Anidados
• Condicional Múltiple Excluyente (switch - case)
Introducción a Sentencias Repetitivas
• Mientras (while (condición) con número conocido de repeticiones
8 Taller Condicionales Anidados y repetición sencilla
• Condicionales Anidados – Múltiple Excluyente
5 9 Sentencias Repetitivas
• Mientras (while (condición))
• Repetir (do / while (condición))
• Para (for (valor inicial; valor final; incremento))
10 Taller Sentencias Repetitivas
6 11 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)
12 Taller Sentencias Repetitivas, relacionado con el proyecto
Primer Parcial Conjunto
7 13 Introducción a Funciones (Uso de metáfora)
• Definición
• Firma y Prototipo
14 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
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
• Conversión de tipos
Comentarios en el Lenguaje de Programación específicamente el uso del entorno
debbuger
16 Taller Funciones en grupos (integración de funciones)

9 17 Arreglos Unidimensionales - Vectores


• Declaración
• Subíndices
• Almacenamiento en memoria de los arreglos
Tamaño de los arreglos.
18 Taller Debugging con funciones y Arreglos Unidimensionales

10 19 Arreglos Unidimensionales – Vectores


• Algoritmo de Búsqueda
Algoritmos de Ordenación
20 Taller Vectores - Aplicación de Métodos de Ordenación y Búsqueda

11 21 Vectores y Funciones (Vectores como parámetros)


Ejercicios
22 Taller de Vectores y Funciones
Segundo Parcial Conjunto
12 23 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
24 Taller 2 de Vectores y Funciones relacionado con el proyecto. Se espera que utilicen
c++ para resolver una o dos opciones del proyecto donde se involucre sentencias
condicionales y repetitivas.
13 25 Entrega por parte de los estudiantes del documento primera entrega del proyecto
Arreglos en dos dimensiones – Matrices
Operaciones con matrices
26 Taller Arreglos en dos dimensiones - Matrices
14 27 Estructuras (Registros)
28 Revisión avance del proyecto (Retroalimentación). Paralelo taller con mínimo una
función del proyecto y uso de arreglos/matrices/estructuras
15 29 Arreglos de Estructuras
30 Taller de Estructuras
16 31 Estructuras y Arreglos (Ejercicios)
32 Taller Arreglo de Estructuras
Tercer Parcial Conjunto
17 y 18 Entrega del Proyecto

You might also like