CENTRO UNIVERSITARIO DE TECNOLOGÍA Y ARTE DIGITAL PLANIFICACIÓN DE LA DOCENCIA UNIVERSITARIA GUÍA DOCENTE INTRODUCCIÓN A LA PROGRAMACIÓN 1. DATOS DE IDENTIFICACIÓN DE LA ASIGNATURA. Grado en Ingeniería en Desarrollo de Contenidos Digitales Centro Universitario de Tecnología y Arte Digital (U-tad) Título: Facultad: Departamento/Instituto: Materia: Fundamentos de Ingeniería de Software Denominación de la asignatura: Introducción a la Programación Código: 0048002 Curso: Primero Semestre: Primero Tipo de asignatura (básica, obligatoria u optativa): Básica Créditos ECTS: 12 Modalidad/es de enseñanza: Presencial Lengua vehicular: Profesor/a: Español Gonzalo Bailador, Carlos Grima, Leila S. Shafti Gonzalo Bailador, Carlos Grima, Leila S. Shafti Grupos: IDCD1 Despacho: Sala de profesores Equipo docente: Teléfono: 91 6402811 Ext. 113 E-mail: gonzalo.bailador@live.u-tad.com, carlos.grima@u-tad.com, leila.shafti@live.u-tad.com, Página web: http://u-tad.blackboard.com 1 2. REQUISITOS PREVIOS. Esenciales: Nivel de matemáticas de bachillerato Aconsejables: Cursar simultáneamente la asignatura “Matemáticas en la ingeniería: álgebra y cálculo (I)” 3. SENTIDO Y APORTACIONES DE LA ASIGNATURA AL PLAN DE ESTUDIOS. Campo de conocimiento al que pertenece la asignatura. Esta asignatura pertenece al Módulo de Fundamentos, a la Materia de Fundamentos de la Ingeniería del Software. Relación de interdisciplinariedad con otras asignaturas del currículum. Esta asignatura conforma, junto con Algoritmos y Estructuras de Datos, la enseñanza de programación en el primer curso del Grado, siendo la base de todos los conocimientos de programación que se continuarán construyendo dentro del mismo. Aportaciones al plan de estudios e interés profesional de la asignatura. Es una asignatura indispensable para sentar las bases de los conceptos de programación y abrir la mente a un pensamiento más abstracto que permita resolver problemas propuestos mediante algoritmos en el ordenador, por ello resulta clave dentro del plan de estudios. 2 4. RESULTADOS DE APRENDIZAJE EN RELACIÓN CON LAS COMPETENCIAS QUE DESARROLLA LA ASIGNATURA. RESULTADOS DE APRENDIZAJE RELACIONADOS CON LAS COMPETENCIAS ESPECÍFICAS CE4 - Tener conocimiento de la Comprender los elementos de lenguajes de estructura, arquitectura, organización, programación de distintos paradigmas. funcionamiento e interconexión de los sistemas informáticos y los Identificar las principales estructuras de fundamentos de su programación. datos y técnicas algorítmicas y sus CE6 - Poseer capacidad para diseñar, complejidades. desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, Adquirir conocimientos sólidos de un lenguaje asegurando su fiabilidad, seguridad y de bajo nivel como C y la gestión de memoria explícita. calidad. CE10 - Demostrar capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados COMPETENCIAS ESPECÍFICAS 3 5. CONTENIDOS DIDÁCTICAS / TEMARIO / UNIDADES 1. Introducción Introducción a los ordenadores y la programación Trabajar con el entorno de Visual Studio 2. Programación en C Tipos, operadores y expresiones Control de flujo Funciones y la estructura del programa Punteros y arrays Estructuras 3. C++ Programación orientada a objetos Introducción Objetos y clases Atributos y métodos Encapsulamiento Herencia Otros temas de orientación a objetos 6. CRONOGRAMA UNIDADES DIDÁCTICAS / TEMAS Módulo 1 Módulo 2 Módulo 3 PERÍODO TEMPORAL Semana 1 Semana 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 Semana 12, 13, 14, 15 4 7. MODALIDADES ORGANIZATIVAS Y MÉTODOS DE ENSEÑANZA MODALIDAD ORGANIZATIVA MÉTODO DE ENSEÑANZA Clases teóricas Lección magistral Estudio de casos Resolución de ejercicios y problemas Aprendizaje basado en problemas Aprendizaje orientado a proyectos Seminarios y talleres Clases prácticas Practicas externas Tutorías Actividades de evaluación Estudio y trabajo en grupo Estudio y trabajo autónomo, individual Aprendizaje orientado a proyectos Aprendizaje basado en problemas Aprendizaje cooperativo Estudio de casos Resolución de ejercicios y problemas Aprendizaje basado en problemas Aprendizaje orientado a proyectos COMPETENCIAS RELACIONADAS CE4, CE6, CE10 HORAS PRESENCIALES TRABAJO AUTÓNOMO TOTAL DE HORAS 43 2 45 0 0 0 45 0 45 0 0 0 15 0 15 15 0 15 2 43 45 0 135 135 CE4, CE6, CE10 CE4, CE6, CE10 CE4, CE6, CE10 CE4, CE6, CE10 CE4, CE6, CE10 Las clases teórico-prácticas seguirán el siguiente esquema: 1. 2. Presentación teórica del tema al que se dedica la clase si fuera necesario (unos 30-60 minutos), ilustrada mediante ejemplos y abierta a la participación del alumnado para preguntas, comentarios o aclaraciones. Desarrollo de varios ejercicios prácticos relacionados con el tema tratado y, en la medida de lo posible, relacionado con problemas reales. Las clases serán lo más interactivas posible, contando con elementos que despierten el interés de los alumnos y siempre abierta a la participación y resolución de inquietudes del alumnado en cualquier momento de la clase. Ya que es el primer contacto de muchos alumnos con la programación, los profesores también pondrán a su 5 disposición la experiencia profesional para resolver dudas sobre la aplicación de los conceptos aprendidos en clase dentro de ámbito profesional de las principales industrias digitales. 8. SISTEMA DE EVALUACIÓN ACTIVIDAD DE EVALUACIÓN Hojas de prácticas Examen parcial Examen final CRITERIOS DE EVALUACIÓN De 0 a 10 cada hoja. Es obligatorio realizar todas las prácticas y obtener al menos un 5 en la nota media de prácticas. De 0 a 10 cada uno. Es obligatorio obtener una nota superior a 5. De 0 a 10 cada uno. Es obligatorio obtener una nota superior a 5. VALORACIÓN RESPECTO A LA CALIFICACIÓN FINAL (%) 45% 20% 35% ) Consideraciones generales acerca de la evaluación: Cada clase teórica irá acompañada de una serie de ejercicios que se deberán entregar mediante el Campus Virtual. Se dará varias hojas de ejercicios. Estos ejercicios tienen como objetivo el pensar y dedicar tiempo por parte del alumno dentro y fuera de la clase para entregar programas correctos y eficientes. La nota final de prácticas se calcula como media ponderada de las notas de las hojas entregadas. El peso de cada nota de práctica es el número de días que se considera para realizar la práctica. Se evaluará el esfuerzo del alumno, la aplicación correcta de conceptos de programación, soluciones eficientes a los problemas dados, y la calidad de la programación. Es necesario realizar todas las prácticas en el plazo indicado y obtener al menos un 5 en la nota media de las prácticas. En el caso de evaluación continua, el plazo de entrega se indica por el profesor para cada hoja. En el caso de la evaluación no continua las prácticas se entregan antes de la fecha del examen. El porcentaje de presencialidad es del 80% de las clases. Para aprobar la asignatura es necesario obtener al menos un 5 en la nota final. Existen dos oportunidades para ello: la convocatoria ordinaria y la extraordinaria. La nota de los problemas/ejercicios sirve tanto para la convocatoria ordinaria como para la extraordinaria, en caso de necesitarse. La realización de los ejercicios es totalmente individual, por lo cual la asignatura COMPLETA estará suspensa si se descubre que un alumno ha copiado a otro (ambos estarán suspensos) o bien ha copiado de un libro o de Internet. Además, la universidad abrirá expedientes disciplinarios a ambos alumnos, pudiendo desembocar incluso en su expulsión. 6 Los programas en C/C++ que el alumno realice (tanto en los ejercicios como en los exámenes) deberán poseer las siguientes características: 1. Deben cumplir las especificaciones expuestas 2. Deben ser claros y bien organizados, no sólo es suficiente que den el resultado correcto. 3. Errores de sintaxis que no impliquen un error de concepto de programación no serán tenidos en cuenta en los exámenes escritos. 4. Los ejercicios deben compilar. Cualquier escrito que el alumno presente (problemas, exámenes, comentarios de los programas, etc.) deberá estar bien presentado, correctamente redactado (con las comas, puntos y puntos y aparte en su lugar adecuado) y sin faltas ortográficas. El profesor podrá bajar la nota por faltas de ortografía a razón de medio punto por falta hasta un máximo de 4 puntos ya que a un universitario se le exige calidad máxima en su expresión escrita. 7 9. BIBLIOGRAFÍA / WEBGRAFÍA Bibliografía general Bibliografía básica: Brian W. Kernighan, Dennis M. Ritchie, El lenguaje de Programación C. Prentice Hall, ISBN 978-9688802052 David Griffiths, Dawn Griffiths, Head First C, O'Reilly Media, ISBN: 978-1-44939991-7 Tony Gaddis, Starting Out with C++. Addison-Wesley. ISBN-13: 978-0132576253 Jesse Liberty, C++ (Programación). Anaya Multimedia. ISBN-13: 978-844159793 Bjarne Stroustrup, Programming: Principles and Practice Using C++. Addison-Wesley Professional. ISBN-13: 978-0321543721 Nell B. Dale, Programming and Problem Solving with C++: Comprehensive Edition. Jones & Bartlett Publishers. ISBN-13: 978-0763771560 Bjarne Stroustrup, El lenguaje de programación C++. Addison-Wesley. ISBN-13: 9788478290468 Luis Joyanes, Fundamentos de programación. McGraw-Hill Interamericana de España S.L. ISBN-13: 978-8448161118 Bibliografía de ampliación: Bruce Eckel, Thinking in C++. Prentice Hall. ISBN-13: 978-0139798092 Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley Professional. ISBN-13: 978-0201704310 Herb Sutter, More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions. Addison-Wesley Professional. ISBN-13: 978-0201704341 Scott Erich Gamma, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional. ISBN-13: 978-0201633610 Meyers, Effective C++: 55 Specific Ways to Improve Your Programs and Designs. Addison-Wesley Professional. ISBN-13: 978-0321334879 Bibliografía recomendada por temas Toda la bibliografía básica sirve para todos los temas. 10.- OBSERVACIONES Recursos necesarios para la docencia: Ordenador del profesor conectado a proyector. Software instalado: “Microsoft PowerPoint”, “Acrobat Reader”, “Microsoft Visual C++ 2013” Pizarra digital Pizarra blanca Un ordenador para cada alumno en el aula. Software instalado: “Microsoft Visual C++ 2013” y “Acrobat Reader”. 8 Recursos necesarios para el trabajo personal del alumno, fuera de clase: Ordenador de gama doméstica Conexión a internet Software “Microsoft Visual C++ 2013 Express for Desktop” Software “Acrobat Reader” 9