FACULTAD DE CS. QUIMICAS, FISICAS Y MATEMATICAS I. DATOS GENERALES DEPARTAMENTO ACADEMICO DE INFORMATICA SILABO 1.1 Asignatura : PROGRAMACION DIGITAL 1.2 Categoría : FCB 1.3 Código : IF301AMI 1.4 Créditos : 2 1.5 Horas Teóricas : 2 1.6 Horas Prácticas : 0 1.7 Requisito : 1.8 Horario y Aula : T:MI 18-20 IM-204; L:LU 13-15 LAB-7; L:MA 13-15 LAB-7; L:MI 13-15 LAB-7; L:MA 15-17 LAB-206; 1.9 Semestre Académico : 2012-2 1.10 Carrera Profesional : ING. DE MINAS 1.11 Docente : DUEÑAS-BUSTINZA-DARIO FRANCISCO 1.12 Email Docente : daridu@hotmail.com II. SUMILLA Capacitar al estudiante de la carrera profesional de Matemáticas, en la adquisición de conocimientos, destrezas y actitudes para la eficiente conducción y manejo metodológico en el desarrollo y diseño de algoritmos que permitan resolver problemas, adecuadamente, codificarlos en un Lenguaje de Programación de Alto Nivel y ejecutarlos utilizando un Software de programación especifico en computadora. II.2 DESCRIPCION Y PERTENENCIA: La asignatura es uno de los ejes básicos del currículo de estudios de la carrera profesional de Matemática, que contribuye en la formación especializada del futuro Página 1
profesional en Matemáticas. Es de carácter teórico práctico, obligatorio (OE) de la especialidad, que permitirá al matemático nutrir sus saberes para un eficiente desempeño y de calidad en su especialidad. II.3 C0NTENIDO TEMÁTICO: La asignatura se presenta en 7 componentes fundamentales como contenidos curriculares divididos en unidades de aprendizaje, que se indica más adelante III OBJETIVOS GENERALES Al termino de la asignatura el estudiante estará en condiciones de : Seleccionar y manejar una metodología más adecuada en el desarrollo y diseño de algoritmos. Identificar, que la enseñanza aprendizaje por medio del computador no es una cuestión solo mecánica sino lógica que sigue un razonamiento humano. Conocer las diferentes estrategias para desarrollar algoritmos y utilizar las más adecuada Adoptar un estilo de programación racional que debe caracterizarse en el uso y aplicación de las diferentes fases metodológicas para lograr la solución de problemas. Codificar los algoritmos en un Lenguaje de Programación de Alto Nivel, ejecutarlos valiéndose de un Software especializado. IV.- OBJETIVOS ESPECIFICOS: (ver en cada unidad de aprendizaje) V.- COMPETENCIAS BASICAS 5.1 Analiza y aplica los conceptos teóricos y el algoritmo en la resolución de problemas 5.2 Analiza y maneja reflexivamente las estrategias de diseño algorítmico 5.3 Aplica estrategias, activa y fomenta la participación de los alumnos en la construcción, selección y orienta, en forma apropiada el desarrollo de estrategias de trabajo individual y grupal según naturaleza del aprendizaje 5.4 Organiza y desarrolla los procesos de aprendizajes considerando principalmente los diversos conceptos y metodologías de programación de largo, mediano y corto plazo. 5.5 Elabora y diseña los diferentes guías de sesiones de clase, aplicando estrategias adecuadas. Página 2
5.6 Elabora y valida los materiales educativos como recursos instrumentales de aprendizaje y de evaluación. 5.7 Aplica estrategias de evaluación formativa, auto evaluación continua, en relación con el desarrollo de los aprendizajes, la obtención de valores y cuyos resultados las interpreta convenientemente para tomar decisiones. VI.- CONTENIDOS BÁSICOS: UNIDAD I: INTRODUCCION A LA PROGRAMACION ( 6 horas) - Entender y diferenciar la información y informática, conocer los diferentes lenguajes de Programación, definir los algoritmos, y los elementos básicos de programación - Conocer la representación interna datos en la memoria del computador para el tratamiento automático de la información. - Entender que un programa se construye usando ciertos elementos básicos de programación siguiendo una metodología adecuada hasta alcanzar su resolución. Contenidos: 1.1. Conceptos básicos: información e informática.-tratamiento automático del procesamiento de la información.- software básico y software de aplicación 1.2. Computadora: funciones basitas y su organización (UCP) memoria principal y secundaria 1.2.1 Representación interna de datos en la memoria del computador (bits y bytes) 1.3. Programas: alfabeto, vocabulario y sintaxis 1.4. Lenguajes de programación 1.5. Algoritmos.-definición y características: diagrama de flujo pseudocódigo 1.6. Solución analítica y numérica de un problema 1.7. Bibliografía: ver [4], [7], [8] Página 3
UNIDAD II: METODOLOGIA E ESTRATEGIAS (4 hrs) - Conocer metodologías y estrategias para desarrollar algoritmos y elegir la más adecuada. - Conocer las etapas en el desarrollo del algoritmo como un buen estilo de programación. - Analizar los problemas antes de plantear la solución y decidir una alternativa de resolución - Desarrollar el algoritmo por etapas indicando la documentación correspondiente Contenido: 2.1. Metodología, ascendente y descendente 2.2. Programación convencional modular y estructurada 2.2. Estilos de buena programación ( reglas aserciones y pre y post condiciones ) 2.2. Etapas metodológicas en la resolución de problemas 2.3.-Concepto de recursión 2.4. Leer textos [1] [3] [8] [12] UNIDAD III: OBJETOS BASICOS DE PROGRAMCION (ELEMENTOS) (6 horas) Distinguir que el computador opera sobre ciertos objetos o electos y bajos instrucciones escritos como programa (algoritmos) 3.1. Objetos de un programa 3.1.1 Datos. tipos de datos 3.1.2 Identificadores, constantes y variables 3.2. Expresiones 3.3. Asignaciones Página 4
3.4. Operadores aritméticos y lógicos 3.5. Funciones internas como librería de lenguaje de programación 3.6. Ejercicios y Aplicaciones varios UNIDAD IV: ESTRUCTURAS ALGORITMICAS (20 horas) - Identificar cada una de las distintos tipos de estructuras algorítmicas como fundamento básico de todo lenguaje de programación - Seleccionar y aplicar adecuadamente para diseñar algoritmos y programas que permita resolver problemas específicos eficientemente 4.1. Instrucciones de entrada y salida 4.2. Diseño de algoritmos secuenciales: idealización de un problema 4.2. 1 Definición y significado: ejercicios y problemas varios 4.3. Algoritmos condicionales (decisión).- definición 4.3.1. Selección simple y doble.- esquemas de decisión 4.3.2. Problemas varios 4.4. Selección múltiple. Definición.- y esquemas de funcionamiento 4.4.1. Problemas de aplicación 4.5. Algoritmos de control repetitivo: tipos 4.5.1. Estructura Repeat- until: definición.- 4.5.1.1Esquemas de funcionamiento.- actualización del proceso 4.5.1.2concepto del contador y acumulador 4.5.1.3 Problemas varios 4.5.2. Estructura While Do: definición.- 4.5.2.1Esquemas de funcionamiento. Bucles variables 4.5.2.2 Problemas varios Página 5
4.5.3. Estructura FOR Do: definición.- 4.5.3.1Esquemas de funcionamiento. Bucles fijos 4.5.3.2 Problemas varios 4.5.4.Bucles anidados.- definición 4.5.4.1Esquemas de funcionamiento. 4.5.4.2 Problemas varios UNIDAD V: PROGRAMACION MODULAR (14 horas) -Identificar y dividir un problema en sub problemas o módulos e implementar cada modulo Independientemente. - Dar conocer que es posible diseñar grandes programas a base de módulos: aplicar el principio de Divide y vencerás (metodología top down ) 5.1. Introducción al proceso de modularización de un problema 5.2. Procedimientos: definición 5.2.1. Declaración de procedimientos sin parámetros y con parámetros 5.2.2. Variables locales y globales, ámbito de las variables 5.2.3. Llamada a un procedimiento.- problemas varios de aplicación 5.3. Funciones: Funciones definidas por el usuario 5.3.1. Declaración de funciones con parámetros 5.3.2.Ámbito de las variables 5.3.3. Llamada a una función.- 5.3.4. Problemas varios de aplicación UNIDAD VI : INTRODUCCION A LA ESTRUCTURA DE DATOS ( 12 horas) Página 6
- Distinguir datos simples y estructurados - Dar uso adecuado de los datos estructurados en la resolución de problemas 6.1. Introducción 6.1.1. Idea general de arreglos: registros, listas, pilas, árboles 6.2. Arreglos unidimensionales.- definición: vectores 6.2.1 Operaciones con vectores.- Problemas varios 6.3. Arreglos bidimensionales.- definición, concepto de matrices y tablas 6.3.1 Operaciones con matrices.- suma, resta y multiplicación 6.3.2 Determinante. Calculo de la inversa 6.3.3 Resolución de sistema de ecuaciones lineales 6.4 Problemas varios UNIDAD VII : RECURSIVIDAD ( 6 horas) -Entender que la recursividad e una estructura útil que ayuda resolver problemas de manera sencilla y efectiva 7.1. Introducción 7.2. Definición y clase de recursividad 7.3. Diseño de algoritmo recursivo 7.4. Estructura de una función recursiva 7.5 Problemas varios de aplicación VI.- EVALUACION Se tomarán 3 exámenes de proceso (E1, E2, E3) como mínimo de la parte teórica del curso Página 7
- Los laboratorios se imparten por medio de guías modulares y son calificadas según el siguiente criterio: -Trabajos preparatorios ( ), -Desempeño practico (), -Cuestionario () La nota de laboratorio es la sumatoria de los 3 criterios. Los promedios de los laboratorios se ajustaran según la formula: PL j = (suma( Li) mínimo (Li))/4 para i = 1, 2, 3, 4, y j = 1, 2,3 El promedio parcial se calcula según la fórmula: PP j = ( 2* E j + PL j)/3 para j = 1,2,3 para los 3 exámenes parciales El Promedio final aprobatorio es la suma aritmética de las dos parciales (PF)= (PP1+ PP2+PP3)/3 E j : j = 1, 2,3 evaluaciones de proceso L i : evaluaciones de laboratorios i: 1, 2, 3,... 12 PL j : Promedio parcial de laboratorios j = 1, 2 PP j : Promedios parcial, j = 1, 2,3 PF : Promedio final aprobatorio VII.- METODOLOGIA El desarrollo del curso es Teórico-práctico, las clases teóricas serán impartidas en aula (pizarra), según estrategias adecuadamente diseñadas y con participación activa de los alumnos, y las prácticas de Laboratorio en salas de maquina o de computo. VIII.- RECURSOS PARA EL APRENDIZAJE Parte teórica: Página 8
- Aula - Pizarra, Plumones - Textos, Internet y otros Parte practica de laboratorio:. Computadora - Software de aplicación - Guías de laboratorio IX.- BIBLIOGRAFIA [1] Metodología de programación: Eduardo Alcalde [2] Fundamentos de programación: Algoritmos y estructura da datos: Joyanes Aguilar [3] Introducción a la computadora y sistemas de información: Larry Long [4] Programación en turbo Pascal: Joyanes Aguilar [5] Metodología de programación: Por Cairo Guárdati [6] Programación estructurada, un enfoque algorítmico: Leobardo López [7] Turbo Pascal 7: por O brien Página 9