Story Transcript
DISEÑO CURRICULAR ALGORITMOS, ESTRUCTURAS Y PROGRAMACIÓN I FACULTAD (ES) CARRERA (S)
CÓDIGO
122643 ELABORADO POR:
Ingeniería Computación y Sistemas
HORAS TEÓRICAS
02
HORAS PRÁCTICAS
02
REVISADO POR:
UNIDADES DE CRÉDITO
03
SEMESTRE
II FECHA:
PRE-REQUISITO
INTRODUCCIÓN El programa de Algoritmos, Estructuras y Programación I, está desarrollado para centrar en el conocimiento de las herramientas básicas
para la organización y manipulación de datos. Para ello se presentan las estructuras de datos fundamentales y los diversos algoritmos clásicos que actúan sobre ellas, con especial atención a los conceptos de abstracción y encapsulado. Mediante su estudio y análisis, además de conocer
los métodos más usuales y sus características, se adquiere la técnica necesaria para la comprensión y evaluación de algoritmos más complejos y la capacidad de razonar cuál es la solución más adecuada para unas especificaciones concretas.
OBJETIVO (S) GENERAL (ES) Al Finalizar el curso de Algoritmos, Estructuras y Programación I, el alumno tendrá la capacidad de conocer la filosofía de la
Programación básica y estructurada orientada a la utilización del lenguaje de programación C y C++.
UNIDAD I: introducción a la lógica de programación y diseño programas en lenguaje c OBJETIVO: Conocer los elementos principales de la lógica de programación y el diseño de un programa, utilizando una metodología propuesta y la implementación del lenguaje C. OBJETIVOS CONTENIDO ESPECÍFICOS Desarrollar habilidades en el análisis de algoritmos
Desarrollar programas bajo la Estructura General de un programa Describir las Estructuras de Control Estudiar Metodología General de Desarrollo de Programas
De f in ic i o ne s b ás ic a s A n á li s is de un pr o b le ma - - D i se ñ o d e A l g o r i t mo – C o n ce p t o - C a r a ct e r í st i ca s D es cr ip ci ón - H e r r a m i en t a d e pr o g r a ma ci ón Di a g r a ma de F lu jo P se u do có d ig o E st r u ct u r a Ge n e r a l d e u n P r og r a ma -Datos y tipos de datos - Tipos de datos Simples y estructurado - Constantes y variables Expresiones: aritméticas, lógicas, cadena, prioridad operadores Instrucciones: asignación, E/S, control Palabras reservadas - Identificadores Comentarios - Declaraciones E st r u ct u r a s de c o nt r o l Flujo de control de un programa Estructura: Secuencial - Selectiva Simple, doble, múltiple Repetitiva Repetir (bucle controlado por un contador) Mientras (bucle controlado por centinela) Desde Sentencia de salto M et od o l og í a d e P r og r a m a c ió n Proceso de Análisis de un Problema Solución de un Problema aplicando lógica de programación Actividades a realizar para el desarrollo de un programa Realización de diversos ejercicios de aplicación
ACTIVIDADES/ ESTRATEGIAS DE APRENDIZAJE Resolución de ejercicios que reafirmen los Conocimientos.
Prácticas en el laboratorio utilizando el lenguaje de C, C++
RECURSOS REQUERIDOS Video Beam
Guías de, Estudio
Grupos de internet, interactividad de guías digitales Bibliografía Recomendada
ACTIVIDADES/ ESTRATEGIAS DE EVALUACIÓN
PESO % EVALUACIÓN
Trabajos en Grupos Talleres
Prueba escrita
Prácticas en el laboratorio
20 %
UNIDAD II: Introducción a la programación modular y la estructura de datos lineales OBJETIVO: Diseñar programas utilizando procedimientos, funciones y estructuras de datos OBJETIVOS ESPECIFICOS Introducir la estructura de un programa procedimientos y funciones
Introducir a la estructura de datos lineales
Utilizar ordenación, búsqueda e intercalación interna de datos
CONTENIDO Programación Modula: Procedimientos y Funciones Introducción a la programación modular Criterios de descomposición modular Llamadas a los módulos - Tipos de subprogramas Funciones Funciones predefinidas - Declaración de funciones - Llamadas a las funciones Procedimientos Declaración de procedimientos Llamadas de procedimientos Visibilidad de las variables Intercambio de información paso de parámetros Programación con estructura de datos lineales. Arrays Arrays Unidimensionales: Vector Declarar variable tipo vector Referencia a los elementos de un vector Acceso secuencial al vector (recorrido) Declaración de tipos de datos Utilización de vectores Actualización de un vector Arrays dedos dimensiones Arrays multidimensional Registros Declaración de registros - Referencia a los componentes de un registro Arrays de registros Ordenación, Búsqueda e intercalación interna. Ordenación Interna Burbuja (Por intercambio directo) Por inserción directa y binaria Por selección directa Método de inserción por incremento decreciente (Shell) Búsqueda Secuencia - Binaria o dicotómica Transformación de claves (hash)
ACTIVIDADES/ ESTRATEGIAS DE APRENDIZAJE Resolución de ejercicios que reafirmen los Conocimientos.
Prácticas en el laboratorio utilizando el lenguaje de C, C++
RECURSOS REQUERIDOS
ACTIVIDADES / ESTRATEGIAS DE EVALUACION
Video Beam
Trabajos en Grupos
Grupos de internet, interactividad de guías digitales
Prueba escrita
Guías de, Estudio
Bibliografía Recomendada
PESO % EVALUACIÓN
Talleres
Prácticas en el laboratorio
20 %
UNIDAD III: Manejo de cadenas de caracteres y tipos abstractos de datos (TAD) OBJETIVO: Utilizar el manejo de cadena de caracteres y TAD OBJETIVOS ESPECIFICOS
CONTENIDO
Utilizar cadenas de caracteres en un programa
Cadena de Caracteres - Datos alfanuméricos - Cadenas de caracteres Variables de cadena - Operaciones con cadena - Operaciones de relación con cadenas - Concatenación Funciones de cadena Función de longitud() - Función deposición() - Función de subcadena() Otras (insertar, borrar, cambiar) Funciones de conversión Tipos Abstractos de Datos Qué son TAD - Tipos TAD TAD Lineales TAD Pila Modelo de pila - Especificación correctas Implementaciones Análisis de eficiencia - Aplicaciones TAD Cola Modelo de cola - Especificación correctas Implementaciones Análisis de eficiencia - Aplicaciones TAD Lista Operaciones - Clasificación Simples enlazadas - Circulares Doblemente enlazadas - Doblemente enlazadas circulares Especificación correctas – Implementaciones - Análisis de eficiencia Aplicaciones
Manipular los Tipos Abstractos de Datos(TAD) y Lograr una concepción general y un uso eficiente del TAD Pila, Cola, Lista
ACTIVIDADES/ ESTRATEGIAS DE APRENDIZAJE
Resolución de ejercicios que reafirmen los Conocimientos.
Prácticas en el laboratorio utilizando el lenguaje de C, C++
RECURSOS REQUERIDOS Video Beam
Guías de, Estudio
Grupos de internet, interactividad de guías digitales Bibliografía Recomendada
ACTIVIDADES/ ESTRATEGIAS DE EVALUACION
PESO % EVALUACIÓN
Trabajos en Grupos Talleres
Prueba escrita
Prácticas en el laboratorio
30 %
UNIDAD IV: Tipos abstractos de datos (TAD) no lineales OBJETIVO: Aplicar los tipos abstractos de datos (TDA) no lineales OBJETIVOS ESPECIFICOS
CONTENIDO
Manipular los Tipos Abstractos de Datos(TAD) no lineales
Tipos Abstractos de datos no lineales Árboles Descripción del TDA Árbol Especificación Características Implementación Ejemplos Descripción Árbol Binario Especificación Implementación Recorridos Búsquedas Ejemplos Árboles Binarios de Búsqueda Árboles parcialmente ordenados Tipos Abstractos de datos no lineales Grafos Descripción de los Grafos Especificación Clasificación Dirigido, No dirigido Búsqueda Recorrido
Lograr una concepción general y un uso eficiente del TAD Árboles
Lograr una concepción general y un uso eficiente del TAD Grafos
ACTIVIDADES/ ESTRATEGIAS DE APRENDIZAJE Resolución de ejercicios que reafirmen los Conocimientos.
Prácticas en el laboratorio utilizando el lenguaje de C, C++
RECURSOS REQUERIDOS
ACTIVIDADES/ ESTRATEGIAS DE EVALUACION
Video Beam
Trabajos en Grupos
Grupos de internet, interactividad de guías digitales
Prueba escrita
Guías de, Estudio
Bibliografía Recomendada
PESO % EVALUACIÓN
Talleres
Prácticas en el laboratorio
30 %
BIBLIOGRAFIA Arnold K., Gosling J., Holmes D. El lenguaje de programación Java. Addison Wesley. 2001 Arnold, K., Gosling, J., Holmes, P. (2001). "El lenguaje de programación Java" Pearson Educación. 3ª edición. Eckel B., Piensa en Java.. Prentice Hall, 2000. Hebert Schildt ( 2002 ) Fundamentos de la Programacion en Java. Mc Graw Hill Joyanes, Luis (2002 ) Programación en Java Mc Graw Hill Meyer, B., Construcción de software orientado a objetos, 2nd edición, Prentice-Hall, 1999 Weiss, Mark (2000). "Estructuras de datos en Java". Addison-Wesley. ISBN 84-7829-035-4 Witzenfeld, A. (2005). "Ingeniería de Software Orientado a Objetos con UML, Java e Internet ".
Contenido Programático de: ALGORITMOS, ESTRUCTURAS Y PROGRAMACIÓN I
Este programa es copia fiel y exacta del original que reposa en nuestros archivos. Vigente para el período ____________
Doy Fé en Maracaibo a los _______ días del mes de ___________ del año ________ Nombres: __________________________________________________________
Apellidos:___________________________________________________________ C.I.: _____________________ Carrera: INGENIERIA EN SISTEMAS Confrontado
Revisado SECRETARIA