Vicerrectorado de Docencia - Universidad de Salamanca Modelo de ficha esencial de planificación de las asignaturas en los planes de estudio de Grado y Máster PROGRAMACIÓN III (Curso de Adaptación) 1.- Datos de la Asignatura Código 101152 Carácter OBLIGATORIO Plan Curso Área Lenguajes y Sistemas Informáticos Departamento INFORMÁTICA Y AUTOMÁTICA Plataforma Virtual Plataforma: ECTS 2º 6 Periodicidad 1º SEMESTRE STUDIUM URL de Acceso: http://studium.usal.es Datos del profesorado Profesor Coordinador Juan Carlos Álvarez García Departamento INFORMATICA Y AUTOMATICA Área Lenguajes y Sistemas Informáticos Centro Facultad de Ciencias Despacho E4000 Horario de tutorías Consultar página de la asignatura URL Web http://diaweb.usal.es/diaweb/personas/jcag E-mail [email protected] Profesor Coordinador Juan Andrés Hernández Simón Departamento INFORMATICA Y AUTOMATICA Área Lenguajes y Sistemas Informáticos Centro Facultad de Ciencias Despacho D1514 Horario de tutorías Consultar página de la asignatura URL Web http://diaweb.usal.es/diaweb/personas/jahsimon E-mail [email protected] Teléfono Teléfono Grupo / s A 1513 Grupo / s 1309 A Vicerrectorado de Docencia - Universidad de Salamanca Modelo de ficha esencial de planificación de las asignaturas en los planes de estudio de Grado y Máster Repetir análogamente para otros profesores implicados en la docencia 2.- Sentido de la materia en el plan de estudios Bloque formativo al que pertenece la materia PROGRAMACIÓN Papel de la asignatura dentro del Bloque formativo y del Plan de Estudios. Programación III es la entrada del alumno al mundo de la programación orientada a objetos, en su aspecto teórico y práctico. Abarca aspectos fundamentales de la POO, y justifica las decisiones de diseño tomadas en la construcción de lenguajes de programación orientados a objetos. Perfil profesional. La orientación a objetos es un paradigma presente en la práctica totalidad de las disciplinas relacionadas con Informática, desde la construcción de interfaces gráficas de usuario hasta el diseño de bases de datos. Los lenguajes orientados a objetos forman parte esencial del currículo exigido en casi cualquier puesto de trabajo; un buen conocimiento práctico de estos lenguajes facilitará el aprendizaje posterior de otros basados en el mismo paradigma, y la asignatura se ocupa precisamente de aportar la formación necesaria para conseguir este objetivo. 3.- Recomendaciones previas Tener unos conocimientos básicos en programación. 4.- Objetivos de la asignatura Tomando como base el paradigma de Programación Estructurada, aportar al alumno los conocimientos teóricos asociados al Modelo de objetos en su sentido abstracto, poniendo de manifiesto el concepto de clase como unidad de construcción del software frente al mecanismo de programación estructurada, basado en funciones. Efectuar un estudio práctico de los lenguajes de programación orientados a objetos, tomando como base dos lenguajes orientados a objetos de amplia difusión. Las características teóricas mencionadas en la primera parte del programa se aplican directamente al caso concreto de los lenguajes estudiados. Aplicar de forma práctica los métodos y algoritmos que ofrecen las bibliotecas asociadas a los lenguajes de programación orientados a objetos, para así conocer de forma general sus posibilidades. De este modo se hace uso de clases maduras y se facilita la reutilización del código. Vicerrectorado de Docencia - Universidad de Salamanca Modelo de ficha esencial de planificación de las asignaturas en los planes de estudio de Grado y Máster 5.- Contenidos Contenidos Teóricos.• Introducción a la Orientación a Objetos. • Abstracción, Encapsulamiento. • Clases y objetos • Herencia y Polimorfismo. • Asociaciones, Interfaces y Módulos. • Excepciones • Genericidad • Persistencia • Concurrencia • Mecanismos de documentación Contenidos Prácticos.Los temas mencionados anteriormente se ejercitan directamente con el estudio de dos lenguajes de programación orientados a objetos: C++ y Java. Los contenidos que se abordan son: 1) Estudio práctico del lenguaje de POO C++ 2) Estudio práctico del lenguaje de POO Java 3) Construcción de programas en Java y C++, aplicando los principios de la orientación a objetos. 4) Construcción de Software Reutilizable (bibliotecas de clases) empleando ambos lenguajes. 6.- Competencias a adquirir Se deben relacionar las competencias que se describan con las competencias generales y específicas del título. Se recomienda codificar las competencias (CG xx1, CEyy2, CTzz2) para facilitar las referencias a ellas a lo largo de la guía. Básicas/Generales. CG3, CG4 Específicas. CE1, CE6, CE7, CE8, CE14, CETI3, CETI6, CECO5, CECO6 Transversales. CT1, CT3, CT8, CT9, CT12, CT16, CT21, CT22 7.- Metodologías docentes Las actividades formativas que se proponen para esta materia son las siguientes: Actividades presenciales: • Lección magistral: exposición de teoría y resolución de problemas o Realización de prácticas guiadas en laboratorio o Seminarios tutelados para grupos pequeños con exposición de trabajos o Sesiones de tutorías, seguimiento y evaluación, individuales o en grupo Vicerrectorado de Docencia - Universidad de Salamanca Modelo de ficha esencial de planificación de las asignaturas en los planes de estudio de Grado y Máster o Exposición de trabajos y pruebas de evaluación • Actividades no presenciales: o Estudio autónomo por parte del estudiante o Revisión bibliográfica y búsqueda de información o Realización de trabajos, prácticas libres, informes de prácticas… Para esta materia las actividades formativas presenciales, que implican una interacción profesor-estudiante, suponen el 20% de los créditos ECTS. En las asignaturas la distribución temporal asignada a cada actividad se corresponde con el modelo de tipo C (modelos presentados en el apartado 5.1 de la memoria del Grado). El contenido teórico de las materias presentado en las clases magistrales junto con su aplicación en las clases de problemas y las prácticas guiadas, facilitará la asimilación de las competencias anteriormente descritas. En las sesiones y seminarios tutelados se resolverán las dudas y el trabajo personal permitirá afianzar dichas competencias Vicerrectorado de Docencia - Universidad de Salamanca Modelo de ficha esencial de planificación de las asignaturas en los planes de estudio de Grado y Máster 8.- Previsión de distribución de las metodologías docentes Horas dirigidas por el profesor Horas Horas no presenciales. presenciales. Sesiones magistrales Horas de trabajo autónomo HORAS TOTALES 12 50 62 12 25 37 2 30 32 -­‐ En aula Prácticas -­‐ En el laboratorio -­‐ En aula de informática -­‐ De campo -­‐ De visualización (visu) Seminarios Exposiciones y debates Tutorías Actividades de seguimiento online Preparación de trabajos Otras actividades (detallar) Exámenes 2 TOTAL 2 30 2 15 120 17 150 9.- Recursos Libros de consulta para el alumno Español Construcción de Software Orientado a Objetos. Meyer, B. Prentice-Hall, ISBN 848322-040-7 Cómo programar en C++. Deytel y Deitel. Pearson Educación. 6ª Edición. ISBN 970261273X El Lenguaje de Programación C++. Stroustrup, B. Addison-Wesley Iberoamericana. ISBN 84-7829-046-X El Lenguaje de Programación Java. Arnold, K., Gosling, J., Holmes, J. Pearson Educación. ISBN 9788478290191 Inglés Object-oriented Software Construction. Meyer, B. 2nd. Ed. Prentice-Hall. ISBN 0136291554 C++ How to program. Deitel, P. and Deitel, H. 8th Ed. Prentice-Hall. ISBN 0132662361 The C++ Programming Language. Stroustrup, B. Addison Wesley. 3rd Ed. ISBN 0201889544 The C++ Programming Language. Arnold, K. Gosling, J. Holmes, 4th. Ed. PrenticeHall. ISBN 0321349806 Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso. Enlaces relativos a C++ http://www.cplusplus.com http://www.learncpp.com/ Vicerrectorado de Docencia - Universidad de Salamanca Modelo de ficha esencial de planificación de las asignaturas en los planes de estudio de Grado y Máster Enlaces relativos a Java http://www.java.com/es/ http://www.oracle.com/technetwork/java/index-jsp-142903.html 10.- Evaluación Las pruebas de evaluación que se diseñen deben evaluar si se han adquirido las competencias descritas, por ello, es recomendable que al describir las pruebas se indiquen las competencias y resultados de aprendizaje que se evalúan. Consideraciones Generales • Evaluación continua: 25% • Realización de exámenes de teoría o problemas: 60% • Realización y defensa de prácticas, trabajos o proyectos: 15% La nota final de las asignaturas se obtendrá de forma ponderada a través de las notas finales conseguidas en los apartados anteriores. Criterios de evaluación Evaluación continua: tendrá como objetivo facilitar un aprendizaje progresivo, evitando que el alumno aborde su aprendizaje de manera puntual, tanto en los aspectos teóricos como en los prácticos. Se llevará a cabo mediante entregas de ejercicios eminentemente prácticos que se propondrán a lo largo del curso, buscando escalonar la comprensión de la asignatura. La propuesta de estos ejercicios para evaluación continua se realizará tanto desde las clases de teoría como desde las clases de prácticas. Tendrá un peso del 25% respecto a la nota total. Los profesores de teoría y prácticas podrán considerar la posibilidad de no admitir a examen a los alumnos que no superen un 80% de asistencia a las clases de teoría y de prácticas. Realización de exámenes de teoría y problemas: tendrá como objetivo comprobar la correcta comprensión de los contenidos teóricos, y también la capacidad del alumno para aplicar esos conceptos en la construcción de programas. Tendrá un peso del 60% respecto a la calificación final, repartido por igual entre los aspectos teórico y práctico. Realización y defensa de prácticas, trabajos o proyectos: Se propondrá al alumno la realización de un trabajo final, que implemente un contenido teórico, destinado a comprobar la correcta comprensión de los conceptos estudiados a lo largo del curso. El trabajo podrá implementarse empleando cualquiera de los dos lenguajes de programación estudiados. Tendrá un peso del 15% respecto a la nota total. Para poder aprobar la asignatura se exigirá una nota mínima de 3 sobre 10 en cada una de las tres partes consideradas. Instrumentos de evaluación Evaluación continua: se llevará a cabo mediante la realización de ejercicios propuestos en las clases de teoría y práctica. Los ejercicios se realizarán y entregarán en clase, según las especificaciones que se publicarán en la plataforma Studium. Examen de teoría y problemas: se realizará por escrito, y estará formado por una Vicerrectorado de Docencia - Universidad de Salamanca Modelo de ficha esencial de planificación de las asignaturas en los planes de estudio de Grado y Máster colección de cuestiones teóricas y prácticas con pesos ponderales aproximadamente equivalentes. Las cuestiones abordarán los conceptos, técnicas y lenguajes de programación estudiados. Realización y defensa de prácticas, trabajos o proyectos: se evaluará con especial atención al rigor teórico de lo construido a lo largo de todo el curso completo. El profesor podrá proponer uno o más temas, y especificar el lenguaje o lenguajes utilizados en el trabajo. Recomendaciones para la evaluación. Evaluación continua: se prestará especial atención a un trabajo continuado por parte del alumno, que deberá respetar los plazos de entrega (distribuidos de tal modo que se vayan tratando todas las partes del curso a medida que éste avanza). Realización de exámenes de teoría y problemas: se prestará especial atención a comprobar la correcta comprensión de los temas estudiados a lo largo del curso. Realización y defensa de prácticas: Salvo indicación expresa del profesor, éstas se realizarán y calificarán de forma individual. La defensa es potestativa del profesor. Recomendaciones para la recuperación. Evaluación continua: no se contempla su recuperación. La nota obtenida se mantendrá a efectos de la segunda convocatoria. Realización de exámenes de teoría y de prácticas: se recomienda encarecidamente realizar los ejercicios solicitados en las clases prácticas y en el trabajo final, puesto que este tipo de ejercicio formará parte del examen final. Realización y defensa de prácticas, trabajos o proyectos: La nota obtenida, en caso de obtener una calificación de aprobado o superior, se mantendrá a efectos de la segunda convocatoria.