Plan de Asignatura
PROBLEMA O NECESIDAD DE FORMACIÓN
La computación es una disciplina relativamente joven comparada con otras disciplinas. A pesar de esto, dependemos de los computadores; por ejemplo, los automóviles, los teléfonos celulares, la automatización de la industria, los hogares, entre otros. Todos estos dispositivos requieren de programas de computación para funcionar.
En todos los campos del saber, se requiere el uso del computador como herramienta para aumentar la productividad, por permitir el acceso a grandes volúmenes de información y con ella generar nuevo conocimiento. Este curso orienta a los estudiantes a adquirir las competencias básicas para resolver problemas con aplicaciones de software.
OBJETO DE ESTUDIO.
Estudiar técnicas de algoritmos son parte fundamental en el área de la formación en ingeniería Industrial, permiten a los estudiantes desarrollar su sentido lógico para enfrentarse a problemas en su quehacer cotidiano, que luego puedan utilizar la computadora como herramienta para representarlos.
En todos los aspectos de la programación se requiere comprender el funcionamiento de una computadora como herramienta básica para la ejecución de aplicaciones, saber cómo procesa grandes volúmenes de información sin error. Este curso estudia los conceptos básicos de la programación como manejo de campos, operadores (aritméticos, relacionales y lógicos), estructuras de decisión, estructuras repetitivas, programación orientada objetos, manejo de registros y manejo de archivos; logrando que los estudiantes puedan asimilar las a nivel software.
OBJETIVO
GENERAL
Experimentar los conceptos básicos para el desarrollo de algoritmos aplicables a cualquier disciplina, que permitan la generación de la capacidad analítica y creativa en la solución e implementación de problema propuestos.
OBJETIVOS ESPECÍFICOS
- Utilizar las herramientas básicas para la construcción de soluciones lógicas
- Aplicar las estructuras de decisión y repetitivas, fundamentales en la construcción de un buen algoritmo.
- Reconocer las estructuras de registros y archivos.
. UNIDADES DIDÁCTICAS
2.1 UNIDAD 1 INTRODUCCIÓN A LOS ALGORITMOS
2.1.1 Tema 1 Clarificar el problema mediante acciones algorítmicas
Se define un algoritmo como una secuencia ordenada de pasos que dan solución a un problema real, las técnicas algorítmicas posibilitan identificar la información que se requiere como datos de entrada, que proceso se debe realiza y que datos de salida se van a mostrar. Se exploran los siguientes elementos:
- Entender el problema
- Describir una solución por pasos que son acciones simples
- Escribir el algoritmo
- Representación de algoritmos
Además, se estudian los esquemas que permiten representar la escritura de un algoritmo: diagrama de flujo de datos, diagramación estructurada y representación en pseudo código.
2.1.2 tema 2 Componentes de un algoritmo
En este tema se conceptualizan los algoritmos desde un punto de vista más cercano a la máquina, incluye los conceptos de:
- Dato e Información
- Representación de datos por tipos (domino del dato: número, carácter, lógico)
- Variables y constantes
- Operadores (aritméticos, relacionales y lógicos)
- Funciones (parámetros de entrada y parámetros de salida)
- Tratamiento de cadenas de caracteres
- Conversión de tipo de datos (casting)
El almacenamiento en la memoria se representa con campos variables o contantes donde una puede cambiar en el momento de ejecución y la otra permanece intacta, la información almacenada está asociada con un tipo de datos que puede ser numérico o no numérico.
Las funciones permiten reutilizar código y permiten hacer llamados con parámetros distintos cuando se requiera desde un algoritmo principal o desde otra función.
2.1.3. Tema 3. Pruebas de escritorio
Las pruebas de escritorio son procesos de simulación con datos ficticios para identificar los posibles errores del algoritmo antes de codificar.
Se estudian diversas formas de hacer pruebas de escritorio, con el objetivo que el estudiante defina la forma en que verificará el algoritmo antes de construirlo con el lenguaje de programación.
2.1.4 Tema 4 Valores, asignaciones a variables
En el área de la lógica de programación el uso de las constantes juega un papel en el almacenamiento de información que no cambia en el momento de la ejecución, en cambio las variables permiten modificar su valor cuando son utilizadas en un proceso de actualización dentro de una solución lógica.
Los operadores aritméticos, relacionales y lógicos son de gran utilidad en las operaciones con los operandos (variables y constantes) permitiendo identificar el orden de prioridad para su ejecución, generando la información requerida por el algoritmo para obtener la salida.
2.2 UNIDAD 2 CONCEPTOS Y ESTRUCTURAS BÁSICAS DE ALGORITMOS
2.2.1 Tema 1 Estructuras condicionales e iterativas
Las estructuras condicionales realizan comparaciones entre uno o más objetos permitiendo ejecutar una orden según el resultado de la condición (puede ser verdadero o falso) en cambio, las estructuras repetitivas permiten ejecutar una instrucción o un bloque de acuerdo a un control de repetición.
Se experimentará a partir de ejemplos y talleres, la funcionalidad de las estructuras condicionales e iterativas para lograr diversas soluciones al problema.
2.2.2. Tema 2 Introducción a la programación orientada a objetos
La programación orientada a objetos presenta una abstracción de un sistema con la unión de partes de subsistemas. Los objetos representan características y definen acciones bajo un nombre o grupo, que llevan a la solución lógica de problemas asociados a ese sistema, permite la reutilización de código, la herencia y el polimorfismo, buscando mejorar la representación lógica del sistema.
2.3 UNIDAD 3 MANEJO DE REGISTROS y ARCHIVOS.
2.3.1 Tema 1 Definición de registros y operaciones
Un registro es un conjunto de valores que tienen una condición común en la que cada dato puede ser definido con un tipo de dato diferente de acuerdo a lo que almacena. Por ejemplo, el registro de un producto puede tener como campos definidos: El nombre del producto, el código, cantidad, precio y fecha de vencimiento.
Con el registro se manejan las operaciones básicas como recorrer, buscar, actualizar, insertar y borrar que permiten utilizar la información según lo que requieran los usuarios de ella. Un registro también puede ser representado por medio de un arreglo unidimensional.
2.3.2 Tema 2 Manejo de archivos de datos y operaciones
Los archivos representan un conjunto de registros del mismo tipo que se almacena de acuerdo a un puntero o descriptor de archivo y que permite guardar la información que se procesa en la memoria, pero además permite el almacenamiento en discos duros y otro tipo de unidades almacenamiento permanente.
Se estudiarán estrategias para las operaciones en archivos, como: operaciones para crear, ubicar el puntero, abrir, leer, escribir y cerrar, que van a permitir a un usuario manipular la creación o el uso de la información contenida en la estructura (normalmente el procesamiento de esta estructura se realiza por bloques del mismo archivo dentro de la memoria RAM).
Evaluación:
Primer parcial: 25%
Segundo Parcial: 25%
Seguimiento: 25% (debe discriminarse)
Final: 25%
Fuentes bibliográficas
Agilar, J. (2008). Fundamentos de programación. Madrid: MCGRAW-HILL.
Flórez, R. (2011). Algoritmia básica. Medellín: Imprenta Universidad de Antioquia.
Oviedo, E (2015). Lógica de Programación Orientada a Objetos. 1ª.ed. Bogotá: Ecoe Ediciones: Universidad de Antioquia.
Villalobos, J. (2006). Fundamentos de programación. Naucalpan de Juárez: Prentice Hall.
· Fuentes digitales o electrónicas
Foundation
, T. G. (2012). Estructuras de datos: listas enlazadas, pilas y colas. Obtenido de Listas enlazadas.: https://www.calcifer.org/documentos/librognome/glib-lists-queues.html
Alejandro, J. (s.f.). Resolución de Problemas y Algoritmos. Obtenido de 2015: https://cs.uns.edu.ar/~wmg/rpa15lz/downloads/Clases%20Teoricas/ale-2015-RPA11(Archivos-de-texto).pdf