ESCUELA DE ARQUITECTURA Y POLITÉCNICA Grado en Ingeniería Informática Programa de la asignatura 9925001101 - FUNDAMENTOS DE INFORMÁTICA Y PROGRAMACIÓN CÓDIGO 9925001101 TÍTULO Fundamentos de Programación 6 BA/UC ESP DESCRIPCIÓN DEL CURSO Análisis y diseño de soluciones algorítmicas para problemas sencillos. Conceptos sobre lenguajes de programación. Diseño y codificación de programas en lenguajes imperativos. CARÁCTER Básica CRÉDITOS ECTS 6 CONTEXTUALIZACIÓN Valor de la asignatura dentro del plan de estudios. Las seis materias que componen el módulo de programación se imparten a lo largo de tres cursos, en seis asignaturas básicas u obligatorias: Primer curso: o Fundamentos de programación (básica) o Laboratorio de programación (obligatoria) o Programación con estructuras lineales (obligatoria) Segundo curso: o Programación orientada a objetos (obligatoria) o Programación Web (obligatoria) o Técnicas de programación avanzadas (obligatoria) La materia Fundamentos de programación establecerá las bases teóricas y prácticas para el desarrollo de programas adecuados para la resolución de problemas sencillos. Valor del módulo de programación en la profesión. Para un profesional de las Tecnologías de la Información, ser capaz de comprender desde el punto de vista más técnico como construir soluciones basadas en el desarrollo de software es fundamental y tener la capacidad de ir actualizándose, a partir de los conocimientos básicos, a las nuevas tecnologías y lenguajes resulta imprescindible. MODALIDADES EN LAS QUE SE IMPARTE Presencial COMPETENCIAS Competencias transversales: Comprometerse con el cumplimiento de las tareas encomendadas (Responsabilidad) Trabajar con los demás de manera eficaz y cooperativa, estableciendo buenas relaciones e intercambiando información (Trabajo en equipo) Decidir con anticipación lo que hay que hacer, quién tiene que hacerlo, y cómo deberá hacerse (Planificación) Competencias específicas: El objetivo docente fundamental es sentar en el alumnado las bases teóricas y prácticas suficientes sobre la programación de computadoras. - Saber seleccionar y utilizar las estructuras de datos más adecuadas para la modelización de los elementos que intervienen en un sistema sencillo. - Conocer y utilizar las metodologías básicas de resolución de problemas utilizando un lenguaje de programación. - Aplicar la sintaxis básica de un lenguaje de programación (C++) y las construcciones elementales de la programación estructurada, seleccionando aquellas más adecuadas para la resolución de algoritmos sencillos. TEMARIO Diseño elemental de programas y mecanismos de abstracción. Tipos básicos de datos y estructuras de datos sencillas. Construcciones básicas. Programación estructurada: modularidad. Documentación y prueba de programas. ACTIVIDADES FORMATIVAS Actividades formativas en modalidad presencial: 1. Clases magistrales, lectura de temas principales y materiales complementarios, realización de actividades aplicativas individuales y colaborativas (incluye la participación en foros de aprendizaje colaborativo). 2. Trabajo en grupo de carácter integrador, que consiste en la participación en debates y seminarios, y la realización en grupo de actividades aplicativas de carácter integrador, fundamentalmente en el aula. 3. Trabajo autónomo 4. Tutorías, seguimiento académico y evaluación, tanto en el aula como a través del Campus Virtual. Actividades formativas en modalidad virtual 3. Trabajo autónomo 6. Lectura individual de temas y materiales complementarios y realización de actividades aplicativas individuales. Posteriormente debate grupal asíncrono vía foro en el Campus Virtual, y seminario virtual con las herramientas de elearning síncrono del Campus Virtual. 7. Trabajo en grupo de carácter integrador, que consiste en la participación en debates y seminarios, y la realización en grupo de actividades aplicativas de carácter integrador. Realizadas con el soporte del Campus Virtual (los debates son vía foros, los seminarios son virtuales). Además, cada grupo dispone de herramientas de comunicación asíncrona para preparar el trabajo en grupo (fundamentalmente foros), así como herramientas de comunicación síncrona (fundamentalmente herramientas de reuniones virtuales). 8. Tutorías, seguimiento académico y evaluación, a través del Campus Virtual. Algunas pruebas de evaluación que lo requieran (e.g. exámenes) podrán realizarse de manera presencial. EVALUACIÓN Para la modalidad presencial: 1. Exámenes y test: 30% 2. Elaboración de artículos, informes o memorias de diseños: entre 15% - 30% 3. Técnicas de evaluación alternativas como mapas mentales, diario, debate, portafolios, evaluación entre compañeros etc….: entre 15% - 30% 4. Las experiencias de campo, conferencias, visitas a empresas e instituciones se evaluarán sobre las bases de las intervenciones en un foro de discusión: 10% 6 Para la evaluación de las competencias básicas y generales correspondientes a la materia, se utilizarán ejercicios, problemas, casos prácticos, diseños, simulaciones e investigación: 15% Para la modalidad virtual: 8. Pruebas de conocimiento, exámenes, test: 30% 9 Elaboración de artículos, informes o memorias de diseños: entre 15% - 30% 10 Técnicas de evaluación alternativas como mapas mentales, diario, debate, portafolios, evaluación entre compañeros etc.: entre15% - 30% 11 Las conferencias se evaluarán sobre las bases de las intervenciones en un foro de discusión: 10% 12 Para la evaluación de las competencias básicas y generales correspondientes a la materia, se utilizarán ejercicios, problemas, casos prácticos, diseños, simulaciones e investigación con su correspondiente defensa en prueba oral o escrita: 15% NORMATIVA ESPECÍFICA Idiomas: En cada grupo se indicará si esta asignatura se imparte en español o en inglés. Bibliografía: Algunos libros recomendados: J.J.GARCIA et al. Una introducción a la programación. Un enfoque algorítmico. Apuntes de cátedra. A.B. TUCKER et al. Fundamentos de informática: Lógica, resolución de problemas, programas y computadoras. Madrid, McGraw-Hill / Interamericana, 1994. A. PRIETO et al. Introducción a la Informática. Madrid, McGraw-Hill / Interamericana, 2002. Cómo programar en C++ 4a. ed. , Deitel, Harvey M. Aprenda C++ , Liberty, Jesse Resolución de problemas con C++ 5a. ed, Savitch, Walter J. El lenguaje de programación C++ Ed. Especial, Stroustrup, Bjarne Microsoft visual C++ 6.0 : manual del programador, Zaratian, Beck Enciclopedia del lenguaje C++ , Ceballos Sierra, Francisco Javier Lenguaje C++ , Guérin, Brice-Arnaud Programación en C++ : algoritmos, estructuras de datos y objetos , Joyanes Aguilar, Luis The complete reference 3rd ed. , Schildt, Herbert Programación en C++ para ingenieros , Xhafa, Fatos Introducción a la programación : con ejemplos en Visual Basic, C, C++ y Java, Mata-Toledo, Ramón A. METODOLOGIA 1. Encuesta de objetivos e intereses. 2. Clase magistral, temas de estudio y seminarios 3. Prácticas de laboratorio 4. a) Investigación por grupos (jigsaw) y/o b) resolución de problemas por grupos. 5. Diseños. 8. Experiencias de campo, conferencias, visitas a empresas e instituciones. FECHA DE ÚLTIMA ACTUALIZACIÓN 31- Enero 2014