MACROPROCESO: DOCENCIA PROCESO: LINEAMIENTOS CURRICULARES PROCEDIMIENTO: APROBACIÓN Y REVISIÓN DEL PLAN ACADÉMICO EDUCATIVO CONTENIDOS PROGRAMATICOS Código: D-LC-P02-F01
Versión: 03
Pagina 1 de 7
Fecha: JUNIO de 2013 PROGRAMA ACADÉMICO: INGENIERIA DE SISTEMAS Y COMPUTACION SEMESTRE: PRIMERO ASIGNATURA: ALGORITMOS Y PROGRAMACION CÓDIGO:8107550 NÚMERO DE CRÉDITOS:4 PRESENTACIÓN Esta asignatura se orienta a la formación profesional del Ingeniero de Sistemas y Computación, teniendo como punto de partida los diferentes perfiles en los cuales se desempeña el profesional de Ingeniería y los diferentes campos de acción de la Ingeniería de Sistema para tener una idea precisa de los temas que se desarrollarán detalladamente durante la carrera y que hace parte fundamental de la formación del estudiante para aplicarlos en cada una de las asignaturas y de su mismo desempeño académico y laboral. Durante el desarrollo de la asignatura se debe conocer detalladamente la representación de la información en la computadora, para luego enfocarnos completamente en el aprendizaje de la normatividad lógica necesaria para aplicarla en la solución a un problema, se abordarán problemáticas reales para el modelamiento del problema y utilizar metodologías y herramientas que permita conceptualizar la lógica de la solución en algoritmos y poder aplicar las bases fundamentales de algoritmización y programación para su solución y tener presente que estas bases aplican para cualquier lenguaje de programación existente en el mundo empresarial. JUSTIFICACIÓN En el mundo laboral, se requieren profesionales capaces de afrontar situaciones reales y dinámicas que siempre estén focalizados en la gestión y desarrollo de las mejoras continuas, eso permite que esta materia aporte las bases fundamentales tanto del perfil de Ingeniero como de profesional abierto al cambio con innovaciones tanto tecnológicas como de pensamiento lógico para aplicar en cualquier herramienta de computación y construir verdaderamente una solución a los problemas presentados. En el contexto común resulta cotidiano emplear la palabra “lógica” para referenciar un hecho que debería abstraerse como consecuencia de un proceso bien estructurado. En el contexto informático se observa que la citada palabra es necesaria y se complementa con características como la eficiencia, la coherencia y el empleo de las buenas prácticas de producción cognitiva para la resolución de problemas, lo que se denomina “Algoritmia”, de tal manera que aquella descripción lógica que soluciona un problema específico es un “Algoritmo”. Ahora bien, cuando un algoritmo supera las pruebas de eficacia y es depurado, sólo resta implementarlo para que sea ejecutado por una máquina real, alcanzando un producto intangible denominado “software”. Es bien sabido que en la actualidad el software es un producto ampliamente comercializado en el mundo, que brinda la capacidad a las empresas de generar ventajas competitivas al permitirles
MACROPROCESO: DOCENCIA PROCESO: LINEAMIENTOS CURRICULARES PROCEDIMIENTO: APROBACIÓN Y REVISIÓN DEL PLAN ACADÉMICO EDUCATIVO CONTENIDOS PROGRAMATICOS Código: D-LC-P02-F01
Versión: 03
Pagina 2 de 7
captar, procesar y estructurar la información ágilmente. Éste curso es el punto de partida de profesionales capaces de brindar respuestas al mundo empresarial. COMPETENCIAS Adquirir una visión global de la Ingeniería de sistemas en el campo laboral y construir modelos de solución algorítmicas focalizadas en las bases de la lógica y la programación, con el fin de construir soluciones reales, viables y de eficaz implementación en un lenguaje de programación
• • • • • • • • • •
Introducir al estudiante en la Ingeniería de Sistemas Identificar los objetivos profesionales y campos de acción Conocer el desarrollo de la Ciencia y la Tecnología Transmitir la cultura de estar permanentemente bien informado de los avances tecnológicos Conocer la forma de representación de la información en el mundo informático Identificar las características particulares de la lógica de programación Desarrollo del pensamiento lógico espacial Desarrollo del pensamiento lateral Desarrollar algoritmos a partir de problemas que ameritan una solución informática Identificar y aplicar las estructuras de programación básicas para implementarlas en cualquier lenguaje de programación
METODOLOGÍA Esta asignatura será guiada dentro de los espacios presenciales asignados por la escuela, bajo la dirección del docente encargado de la asignatura, y actividades extra clase realizadas por los estudiantes y asesoradas por el docente. Los temas de la asignatura se desarrollaran bajo los siguientes lineamientos:
1. 2. 3. 4.
Consulta, investigación y preparación conceptual por parte del estudiante. Retroalimentación conceptual por parte del docente en las sesiones de clase. Desarrollo de actividades de refuerzo en sesiones autónomas. Aplicación de talleres y exposiciones 5. Proyectos 6. Evaluaciones teóricas y prácticas. Se considera que el estudiante debe adquirir habilidades para el trabajo autónomo, de tal manera que le permitan en todo momento estar a la vanguardia de los adelantos tecnológicos, los cuales será complementado por el trabajo desarrollado en las sesiones de clase.. INVESTIGACIÓN La asignatura por sus condiciones particulares, promueve en el estudiante la investigación formativa, de modo que sea posible obtener los fundamentos con los que podrá posteriormente
MACROPROCESO: DOCENCIA PROCESO: LINEAMIENTOS CURRICULARES PROCEDIMIENTO: APROBACIÓN Y REVISIÓN DEL PLAN ACADÉMICO EDUCATIVO CONTENIDOS PROGRAMATICOS Código: D-LC-P02-F01
Versión: 03
Pagina 3 de 7
vincularse en el tratamiento de áreas específicas de la disciplina Informática, por medio de los grupos y semilleros de investigación dinamizados al interior de la Escuela de Ingeniería de Sistemas y Computación. MEDIOS AUDIOVISUALES Ambiente Aula virtual moodle. Salas de Informática EVALUACIÓN RANGOS DE VALORACIÓN (%) El cálculo de la nota final se hará de la siguiente manera: PRIMER y SEGUNDO 50% • 70% Evaluaciones • 15% Talleres, exposiciones y participación en clase • 15% Proyectos CONTENIDOS TEMÁTICOS MÍNIMOS PRIMER 50%
1 Perfil del Ingeniero de Sistemas 1.1 Características deseables en el estudiante 1.2 Campo de Trabajo 1.3 Objeto de la actividad profesional 1.4 Principales trabajos y áreas de responsabilidad 1.5 1.6 1.7
Deberes Interacciones Habilidades 1.8 Medio Empresario 1.9 Debilidades del Ingeniero de Sistemas que debe superar
2 Campos de acción de la Ingeniería de Sistemas 1.1
1.2 1.3 1.4
1.5 1.6 1.7 1.8 1.9
Internet Ingeniería del Software Programación Orientada a Objetos Teleinformática Redes de Área Local Sistemas Operativos Sistemas Distribuidos Bases de Datos Distribuidas Bases de Datos Orientadas a Objetos
Duración
Observaciones
1 semana
Teórico
1 semana
Teórico
MACROPROCESO: DOCENCIA PROCESO: LINEAMIENTOS CURRICULARES PROCEDIMIENTO: APROBACIÓN Y REVISIÓN DEL PLAN ACADÉMICO EDUCATIVO CONTENIDOS PROGRAMATICOS Código: D-LC-P02-F01
Versión: 03
Pagina 4 de 7
1.10 Sistemas en Tiempo Real 1.11 Inteligencia Artificial 1.12
Robótica
1.13 Sistemas Expertos 1.14 Computación en Paralelo 1.15 Auditoría de Sistemas 1.16
Bioinformática
3 La información y su Representación 3.1 Sistemas de Numeración 3.1.1 Sistema Binario 3.1.2 Sistema Octal 3.1.3 Sistema Hexadecimal 3.1.4 Operaciones Aritméticas 3.2 Representación Interna de los Datos 3.2.1 Números enteros 3.2.2 Números reales
2 semanas
Teórico
4 Pensamiento Lógico 4.1 Pensamiento Formal 4.2 Pensamiento Lateral 4.3 Pensamiento Espacial 4.4 Estrategias de Solución 4.5 Desarrollo Lógico
2 semana
Teórico
5 Abstracción Mediante Objetos 5.1 Buenas practicas 5.2 Clases 5.3 Atributos 5.4 Métodos 5.5 Relaciones (cardinalidad) 5.6 Diagramas de Clases 5.7 Diagrama de actividades
2 semanas
Teórico práctico
2 semanas
Teórico-Práctico
3.2.3 3.2.4 3.2.5 3.2.6
Caracteres Imágenes Sonido Video
2 SEGUNDO 50%
6 Algoritmos 6.1 Algoritmos en Lenguaje Natural 6.2 Estructura de un Algoritmo
MACROPROCESO: DOCENCIA PROCESO: LINEAMIENTOS CURRICULARES PROCEDIMIENTO: APROBACIÓN Y REVISIÓN DEL PLAN ACADÉMICO EDUCATIVO CONTENIDOS PROGRAMATICOS Código: D-LC-P02-F01
Versión: 03
Pagina 5 de 7
6.3
Entradas y Salidas con clases nativas de java (InputStream) 6.4 Entradas y Salidas con otras clases (Scanner, inputBox()) 6.5 Proceso (pseudocódigo, diagramas de flujo y/o diagrama de actividades, pruebas de escritorio) 6.6 Salidas 6.7 Instalación y configuración de herramientas de programación 6.8 Proceso de compilación de un programa 6.9 Arquitectura 3 capas
7 Expresiones y Datos 7.1 Constantes y Variables 7.2 Tipos de Datos 7.3 Operadores 7.3.1 Aritméticos 7.3.2 Lógicos 7.3.3 Relacionales 7.4 OPERADORES DE BITS 7.4.1 Operadores bit a bit 7.4.2 Clase BitSet 7.5 Expresiones 8 Estructuras de Algoritmización 8.1 Secuencia o Lineal 8.2 Toma de Decisión 8.2.1 Simple 8.2.2 Anidada 8.2.3 Múltiple 8.3 Ciclos Repetitivos 8.3.1 Bucle n veces 8.3.2 Bucle condicional inicio 8.3.3 Bucle condicional final 8.3.4 Recursividad 8.4 Métodos 9 Estructuras de Datos 9.1 Simples 9.2 Arreglos Unidimensionales 9.3 Arreglos Bidimensionales
2 semanas
Teórico-Práctico
Teórico-Práctico 4 semanas
Se recomienda desarrollar simultáneamente los ítems 8 y 9
MACROPROCESO: DOCENCIA PROCESO: LINEAMIENTOS CURRICULARES PROCEDIMIENTO: APROBACIÓN Y REVISIÓN DEL PLAN ACADÉMICO EDUCATIVO CONTENIDOS PROGRAMATICOS Código: D-LC-P02-F01
Versión: 03
Pagina 6 de 7
LECTURAS MÍNIMAS Artículos y apartados bibliográficos de los diferentes temas a tratar, proporcionados por el Docente. Consulta permanente a los foros de las comunidades de desarrolladores. BIBLIOGRAFÍA
•
Internet en las organizaciones modernas (2002), Ruiz Valdivieso, Mauricio,
•
Hardware microinformático : viaje a las profundidades del PC (3a ed) (2004), Martín Martín-Posuelo, José María, ISBN: 9701509609 Sistemas operativos modernos (2a ed) (2003), Tanenbaum, Andrew S.;
• • • • • • • • • • • • • • • • • • •
ISBN: 9586823601
Escalona García, Roberto Luis, ISBN: 9702603153 Implementación de redes privadas, Brown, Editorial McGraw-Hill. Diccionario de Computadores, Chandor Antony. Glosario de Computación: Mucho más que un glosario, Freedman Alan. Nestor. Comunicaciones y redes de procesamiento de datos. Editorial McGraw-Hill, Gonzalez Sainz. Introducción a las computadoras y al procesamiento de información. Editorial Prentice hall, Larry Long. Introducción a la computación. Editorial McGrah-Hill, Norton. Ingeniería del software, Roger Pressman Curso básico de Informática aplicada. Editorial McGraw-Hill, Roa Mackenzie, Mauricio. Informática: Presente y futuro, Editorial McGraw-Hill, Donald H. Sanders. Información por Computadores, Roger Sisson. Fundamentos de informática. Editorial McGraw-Hill, Tucker. Metodología de Programación Orientada a Objetos. López, Leobardo. Alfaomega, 2008. Fundamentos de Programación, aprendizaje activo basado en casos. Villalobos, Jorge y Casallas, Rubby. Prentice Hall. 2006. Fundamentos de programación en Java 2, Patarroyo Puentes, Janeth, Schildt, Herbert (Autor), Osborne : McGraw-Hill, 2002 Programando en Java. Electrónica & computadores / Publicaciones Cekit: ProyectosTecnología-Aplicaciones prácticas-Teoria Vol. 3 No. 6 0 UML y patrones: Una introducción al análisis y diseño orientado a objetos y al proceso unificado. Larman, Craig, - 2a ed, Madrid : Pearson, 2003 Programación en java 2 : algoritmos, estructuras de datos y programación orientada a objetos 2002, Joyanes Aguilar, Luis, Zahonero Martínez, Ignacio, Fernández Madrid, Concepción, McGraw-Hill, 8448132904 Introducción a la programación orientada a objetos con Java (2001), Wu, C. Thomas, Carretero Pérez, Jesús, García Carballeira, Félix, McGraw-Hill Interamericana, 2001
MACROPROCESO: DOCENCIA PROCESO: LINEAMIENTOS CURRICULARES PROCEDIMIENTO: APROBACIÓN Y REVISIÓN DEL PLAN ACADÉMICO EDUCATIVO CONTENIDOS PROGRAMATICOS Código: D-LC-P02-F01
• • • •
Versión: 03
Pagina 7 de 7
Fundamentos de programación : algoritmos, estructuras de datos y objetos. - 3a ed (2003), Joyanes Aguilar, Luis Fernández Madrid, Concepción, McGraw-Hill Fundamentos de programación, aprendizaje activo basado en casos : un enfoque moderno usando java, UML, objetos y eclipse (2006), Villalobos S., Jorge A., Casallas G., Rubby, Castillo, María Fernanda, Algoritmos computacionales : introducción al análisis y diseño. - 3a ed(2002), Baase, Sara, Gelder, Allen Van, Escalona García, Roberto Luis,Torres, Saúl de la O., Trujano Mendoza, Guillermo, Pearson Educación Algoritmos y estructuras de datos : una perspectiva en C (2004), Joyanes Aguilar, Luis, Zahonero Martínez, Ignacio, McGraw-Hill