Ficha asignatura

Universidad de Alicante. Página principal
Ficha de la asignatura: PROGRAMACIÓN II
Saltar idiomas
Español | Valencià | English
Saltar iconos
  • PDF
  • Imprimir
  • Inicio
Saltar cabecera
Universidad de Alicante. Página principal
Ficha de la asignatura

GUÍA DOCENTE
33709 - PROGRAMACIÓN II (2017-18)

Código33709
Crdts. ECTS.6


Departamentos y Áreas
DepartamentosÁreaCréditos teóricos presencialesCréditos prácticos presencialesDpto. Respon.Respon. Acta
LENGUAJES Y SISTEMAS INFORMÁTICOSLENGUAJES Y SISTEMAS INFORMATICOS1,21,2
CIENCIA DE LA COMPUTACION E INTELIGENCIA ARTIFICIALCIENCIA DE LA COMPUTACION E INTELIGENCIA ARTIFICIAL00


Estudios en los que se imparte
GRADO EN INGENIERÍA ROBÓTICA


Contexto de la asignatura para el curso 2017-18
GUÍA DOCENTE CERRADA POR EL RESPONSABLE, PENDIENTE DE APROBACIÓN

Nos encontramos ante una asignatura de primer curso y del segundo semestre. Va precedida en el primer semestre por la asignatura "Programación-I" en la cual se estudian los fundamentos básicos de la programación y va seguido en tercer curso en el segundo semestre por la asignatura "Algoritmia" en la cual se enseña al alumno los conceptos de complejidad temporal y espacial asi como el concepto de esquema algorítmico.



Profesor/a responsable
CORBI BELLOT, ANTONIO MIGUEL


Profesores (2017-18)
Grupo Profesor/a
CLASE TEÓRICA DE 337091CORBI BELLOT, ANTONIO MIGUEL
PROFESOR/A TITULAR DE ESCUELA UNIVERSITARIA
PRÁCTICAS CON ORDENADOR DE 337091CORBI BELLOT, ANTONIO MIGUEL
PROFESOR/A TITULAR DE ESCUELA UNIVERSITARIA
 2CORBI BELLOT, ANTONIO MIGUEL
PROFESOR/A TITULAR DE ESCUELA UNIVERSITARIA
 3CORBI BELLOT, ANTONIO MIGUEL
PROFESOR/A TITULAR DE ESCUELA UNIVERSITARIA


Matriculados en grupos principales (2017-18)
Grupo (*)Número
1: CLASE TEÓRICA DE 33709 100
TOTAL 100


Grupos de matricula (2017-18)
Grupo (*)SemestreTurnoIdiomaDistribución
1  (CLASE TEÓRICA DE 33709) 2do. M CAS desde NIF - hasta NIF -
1  (PRÁCTICAS CON ORDENADOR DE 33709) 2do. M CAS desde NIF - hasta NIF -
2  (PRÁCTICAS CON ORDENADOR DE 33709) 2do. M CAS desde NIF - hasta NIF -
3  (PRÁCTICAS CON ORDENADOR DE 33709) 2do. M CAS desde NIF - hasta NIF -
(*) 1:1 - CAS
(*) 1:1 - CAS
(*) 2:2 - CAS
(*) 3:3 - CAS


Consulta Gráfica de Horario
   Más informaciónPincha aquí


Horario (2017-18)
ModoGrupo (*)Día inicioDía finDíaHora inicioHora finAula 
CLASE TEÓRICA 1 29/01/2018 23/05/2018 X 11:00 13:00 A2/0D12 
PRÁCTICAS CON ORDENADOR 1 29/01/2018 23/05/2018 M 13:00 15:00 0016P2002 
  2 29/01/2018 23/05/2018 L 09:00 11:00 0016P2002 
  3 29/01/2018 23/05/2018 X 13:00 15:00 0016P2002 
(*) CLASE TEÓRICA
 1: 1 - CAS
(*) PRÁCTICAS CON ORDENADOR
 1: 1 - CAS
 2: 2 - CAS
 3: 3 - CAS


Competencias de la asignatura (verificadas por ANECA en grados y másteres oficiales)

GRADO EN INGENIERÍA ROBÓTICA

Competencias específicas (CE)
  • CE5: Interpretar el funcionamiento del código fuente de un programa. Definir los tipos de datos necesarios para la representación de la información. Diseñar algoritmos y codificarlos con distintas técnicas de programación, especialmente en sistemas robóticos. Verificar el correcto funcionamiento de un programa.

Competencias Transversales
  • CT1: Capacidades informáticas e informacionales.
  • CT2: Ser capaz de comunicarse correctamente tanto de forma oral como escrita.
  • CT3: Capacidad de análisis y síntesis.
  • CT4: Capacidad de organización y planificación.


Resultados de aprendizaje (Objetivos formativos)
  • Estudiar detalladamente los requerimientos de un problema e identificar los objetivos y sus dependencias.
  • Diseñar programas de tamaño medio aplicando las técnicas y esquemas necesarios para la obtención de un algoritmo adecuado.
  • Desarrollar la capacidad de abstracción y de generalización para buscar soluciones alternativas en el diseño de un programa.
  • Identificar los tipos de datos necesarios para la resolución de un problema y dividir adecuadamente un programa en funciones.
  • Identificar las alternativas más eficientes para reducir el coste computacional.
  • Desarrollar programas con un estilo de programación adecuado, comprensible y eficiente.
  • Desarrollar capacidad crítica para la verificación del algoritmo con todos los casos posibles de entradas de datos.
  • Saber programar bajo el paradigma orientado a objetos en el desarrollo de aplicaciones, identificando posibles estrategias de solución a problemas con conceptos como la herencia, el polimorfismo o la genericidad.


Objetivos específicos aportados por el profesorado para el curso 2017-18
GUÍA DOCENTE CERRADA POR EL RESPONSABLE, PENDIENTE DE APROBACIÓN
  • Saber qué es un Tipo Abstracto de Dato (TAD)
  • Conocer los TAD básicos: listas, pilas, colas; así como TAD más complejos como Arboles y Grafos.
  • Conocer el paradigma orientado a objetos y saber aplicarlo en las aplicaciones desarrolladas.
  • Conocer y aplicar correctamente las relaciones entre objetos y entre clases.
  • Aprender a usar correctamente el enlace dinámico de métodos así como el uso de excepciones.
  • Aprender el concepto de patrón de diseño software. Aprender a usar el patrón RAII.
  • Estudiar el concepto de programación dirigida por eventos así como saber aplicarlo.
  • Aprender a comparar la implementación del paradigma orientado a objetos en diversos lenguajes de programación.
  • Aprender a usar el paradigma orientado a objetos con lenguajes no orientados a objetos.
  • Conocer y saber usar mecanismos de paso de tests.


Contenidos para el curso 2017-18
GUÍA DOCENTE CERRADA POR EL RESPONSABLE, PENDIENTE DE APROBACIÓN

Tema 1: Organización de la memoria. Tipos Abstractos de Datos


El lenguaje de programación C++ (C++98, C++11, C++14). Gestión y uso de memoria basada en la pila (stack), en almacenamiento global y en almacenamiento dinámico. Introducción a los Tipos Abstractos de Datos (TADs).


Tema 2: Tipos Abstractos de Datos: Listas (simples, dobles), Pilas, Colas


Definición. Operaciones básicas. Diferentes implementaciones.


Tema 3: Tipos Abstractos de Datos: Árboles, Grafos


Definición. Operaciones básicas. Diferentes implementaciones. Tipos de árboles. Tipos de grafos.


Tema 4: El paradigma orientado a objetos. Características básicas de los lenguajes orientados a objetos


Presentación y justificación del modelo de programación orientado a objetos. Requisitos para que un lenguaje se considere orientado a objetos. C++ como lenguaje orientado a objetos.


Tema 5: Clases y objetos. Espacios de nombres.


Definición del concepto de clase y del concepto de objeto. Diferentes tipos de clases (abstractas, metaclases, interfaces, etc…). Concepto de espacio de nombres. Agrupación de símbolos en espacios de nombres. Variables de clase, de instancia. Métodos de clase, de instancia.


Tema 6: Programación dirigida por eventos


¿Qué es un evento? ¿Cómo se producen?.
Cómo cambia nuestro estilo de programación.


Tema 7: Relaciones entre objetos. Herencia. Polimorfismo


Tipos de relaciones entre objetos en ausencia de herencia (uso, composición). Concepto de herencia entre clases. Herencia de implementación y herencia de interfaz. Relación ‘Es un’ entre objetos. Concepto de polimorfismo. Tipos de herencia (simple, múltiple).


Tema 8: Enlace dinámico


Implicaciones de la herencia entre clases y la relación ‘Es un’ entre objetos. Qué es el enlace dinámico. Ventajas e inconvenientes. Cómo influye en el diseño de lenguajes orientados a objetos (virtual, final).


Tema 9: Excepciones. Patrón RAII


Tratamiento de errores bajo el paradigma orientado a objetos. Qué es una excepción, Jerarquía de clases de excepciones. Cómo influye en el diseño de lenguajes orientados a objetos (try, throw, catch, finally). Patrón de diseño RAII y tratamiento de excepciones.


Tema 10: Estudio de diversos lenguajes de programación orientados a objetos


Cómo implementan diferentes lenguajes de programación las características explicadas hasta ahora. Java, C#, D, Python, etc...


Tema 11: POO con lenguajes no orientados a objetos


Usando sólo el lenguaje ‘C’ simularemos la herencia de clases, paso de mensajes, enlace dinámico y variables de clase.


Tema 12: Pruebas unitarias


Aprenderemos a pasar tests de forma sistemática a nuestro código. Automatización con el uso de CTest (CMake).



Instrumentos y Criterios de Evaluación 2017-18
GUÍA DOCENTE CERRADA POR EL RESPONSABLE, PENDIENTE DE APROBACIÓN

Primer periodo de evaluación: evaluación contínua

  1. Prácticas ordenador (I): Dos prácticas (p1 y p2). Con nota entre 0 y 10 puntos cada una. En la nota final la nota de cada práctica tendrá un peso del 10%. Parte Sí recuperable.
  2. Primera prueba conocimientos: Al inicio de la clase cuando se imparta el tema 7. Un examen tipo test (t1) que comprenderá los temas 1 a 6. El profesor deberá realizarla durante sus horas de clase. Tendrá una nota entre 0 y 10 puntos. Esta nota tendrá un peso del 30% en la formación de la nota final. No se podrá aprobar la asignatura si en dicho control no se obtiene al menos un 4, aunque la nota final del alumno sea superior a 5. Parte SÍ recuperable.
  3. Prácticas con ordenador (II): Dos prácticas (p3 y p4). Con nota entre 0 y 10 puntos cada una. En la nota final la nota de cada práctica tendrá un peso del 15%. Parte Sí recuperable.
  4. Segunda prueba de conocimientos: Se hará durante las tres semanas siguientes a la finalización de las clases, en la fecha oficial asignada por la escuela politécnica. Examen tipo test (t2) que comprenderá los temas 7 a 12. Con nota entre 0 y 10 puntos. Esta nota tendrá un peso del 20% en la nota final. No se podrá aprobar la asignatura si en dicho control no se obtiene al menos un 4, aunque la nota final del alumno sea superior a 5. Parte SÍ recuperable.
  5. No se podrá aprobar la asignatura si la nota final suma de la nota ponderada de las cuatro prácticas (p1+p2+p3+p4) es < 2.0.

- La asignatura se considera aprobada si la suma de las notas ponderadas p1, p2, p3, p4, t1 y t2 es >= 5.0.
- La asistencia a las sesiones prácticas es obligatoria, 4 o más faltas sin justificar supondrán un suspenso en prácticas.
- Si el alumno obtiene una nota final igual o superior a 5, pero o bien en uno de los tests su nota es < 4.0 o bien la suma de las cuatro notas ponderadas de prácticas es < 2.0, habrá suspendido el primer período de evaluación. La nota final será de 4,5.
- Si el alumno no ha obtenido calificación en ninguna de las actividades de evaluación, entonces el profesor calificará al alumno como "sin presencialidad".

Segundo período de evaluación

Si el alumno no supera el primer período de evaluación, podrá examinarse en julio de las partes recuperables, mediante un examen final. El alumno entonces sólo tendrá que realizar los tests de teoría cuya nota sea < 4.0 y caso de que la suma de las cuatro notas de prácticas ponderadas sea <2.0 también deberá realizar un único examen de prácticas en el laboratorio.

Sistema de evaluación que se aplicará en la convocatoria de diciembre

Un test que comprenderá la materia explicada en toda la asignatura (su peso de puntuación será el mismo que el de ambas pruebas de conocimientos descritas previamente) y un test que comprenderá los conocimientos adquiridos a lo largo de todas las prácticas con ordenador hechas durante toda la asignatura (su peso de puntuación será el mismo que el de las prácticas descritas previamente).

 

TipoCriterioDescripciónPonderación
ACTIVIDADES DE EVALUACIÓN DURANTE EL SEMESTRE

Dos prácticas. Con nota entre 0 y 10 puntos cada una. En la nota final la nota de cada práctica tendrá un peso del 15%. Parte Sí recuperable.

Prácticas con ordenador (II)30
ACTIVIDADES DE EVALUACIÓN DURANTE EL SEMESTRE

Dos prácticas. Con nota entre 0 y 10 puntos cada una. En la nota final la nota de cada práctica tendrá un peso del 10%. Parte Sí recuperable.

Prácticas ordenador (I)20
ACTIVIDADES DE EVALUACIÓN DURANTE EL SEMESTRE

Al inicio de la clase siguiente a la de finalización del tema 6. Un examen tipo test que comprenderá la materia explicada hasta ese momento (los seis primeros temas). El profesor deberá realizarla durante sus horas de clase. Tendrá una nota entre 0 y 10 puntos. Esta nota tendrá un peso del 30% en la formación de la nota final. No se podrá aprobar la asignatura si en dicho control no se obtiene al menos un 4, aunque la nota final del alumno sea superior a 5. Parte SÍ recuperable.

Primera prueba conocimientos30
ACTIVIDADES DE EVALUACIÓN DURANTE EL SEMESTRE

Se hará durante las tres semanas siguientes a la finalización de las clases, en la fecha oficial asignada por la escuela politécnica. Examen tipo test sobre la materia explicada en la segunda mitad del semestre. Con nota entre 0 y 10 puntos. Esta nota tendrá un peso del 20% en la nota final. No se podrá aprobar la asignatura si en dicho control no se obtiene al menos un 4, aunque la nota final del alumno sea superior a 5. Parte SÍ recuperable.

Segunda prueba de conocimientos20
TOTAL100


Fechas de exámenes oficiales para el curso 2017-18
ConvocatoriaGrupo (*)fechaHora inicioHora finAula(s) asignada(s)Observ:
Periodo ordinario para asignaturas de segundo semestre y anuales 13/06/2018   Teoría
Pruebas extraordinarias para asignaturas de grado y máster 12/07/2018   Examen de programación.. Examen de recuperación de prácticas.
** La franja horaria asociada al examen solo hace referencia a la reserva del aula y no a la duración del propio examen **
(*) 1:1 - CAS
(*) 1:1 - CAS
(*) 2:2 - CAS
(*) 3:3 - CAS


Enlaces relacionados
Sin Datos


Bibliografía

INTRODUCTION to Algorithms
Autor(es):CORMEN, T. [et al.]
Edición:Datos no disponibles.
ISBN:0070131511
Categoría:Básico (*3)
 [ Acceso al catálogo de la biblioteca universitaria

Programming: Principles and Practice Using C++ [En línea]
Autor(es):Bjarne Stroustrup
Edición:Datos no disponibles.
ISBN:9780133796759
Categoría:Básico (*3)
 [ Acceso al catálogo de la biblioteca universitaria

The algorithm design manual
Autor(es):SKIENA, Steven S.
Edición:New York : Springer, 2008.
ISBN:978-1-84800-069-8 (rúst.) - 978-1-84800-070-4 (Online)
Categoría:Básico (*3)
 [ Acceso al catálogo de la biblioteca universitaria ]  [ Acceso a las ediciones anteriores ]  [ Enlace al recurso bibliográfico

The Nature of Code
Autor(es):Daniel Shiffman
Edición:Datos no disponibles.
Notas:El campo Editorial esta bien, no es un error. Como el propio autor indica, el libro es auto-publicado.
ISBN:0985930802
Categoría:Complementario (*3)
 [ Acceso al catálogo de la biblioteca universitaria

A Tour of C++
Autor(es):STROUSTRUP, Bjarne
Edición:Datos no disponibles.
ISBN:9780133549041
Categoría:Básico (*3)
 [ Acceso al catálogo de la biblioteca universitaria ]  [ Enlace al recurso bibliográfico

Mastering Cmake
Autor(es):MARTIN, Ken ; HOFFMAN, Bill
Edición:New York : Kitware, 2013.
ISBN:978-1-930934-26-9
Categoría:Complementario (*3)
 [ Acceso al catálogo de la biblioteca universitaria

The C++ Programming Language [En línea]
Autor(es):Bjarne Stroustrup
Edición:Datos no disponibles.
ISBN:9780133522884
Categoría:Básico (*3)
 [ Acceso al catálogo de la biblioteca universitaria ]  [ Enlace al recurso bibliográfico

Touch of class : learning to program well with objects and contracts [En línea]
Autor(es):MEYER, Bertrand
Edición:Datos no disponibles.
ISBN:9783540921448
Categoría:Básico (*3)
 [ Acceso al catálogo de la biblioteca universitaria ]  [ Enlace al recurso bibliográfico
(*3) Estos apartados hacen referencia a la pertenencia de la obra para la asignatura, no a la calidad de la misma.
Este documento puede utilizarse como documentación de referencia de esta asignatura para la solicitud de reconocimiento de créditos en otros estudios.


Documento para la solicitud de reconocimiento de créditos en otros estudios. Es necesario que se firme en el departamento correspondiente.



Documento con toda la información de la Guía Docente



Versión impresa reducida


Saltar pie
Servicio de informática
Saltar estandares
Condiciones de uso - Accesibilidad - Info Legal - © Universidad de Alicante 1996-2009