Información general


Tipo de asignatura: optativa

Coordinador: Adso Fernández Baena

trimestre: Segundo trimestre

Créditos: 6

Profesorado: 

Rafael González Fernández

Idiomas de impartición


Los materiales podrán proporcionarse tanto en catalán como en español o inglés. 

Competencias


Competencias generales
  • G1. Demostrar tener y comprender conocimientos avanzados de su área de estudio que abarcan los aspectos teóricos, prácticos y metodológicos, con un nivel de profundidad que llega hasta la vanguardia del conocimiento.

  • G2. Resolver complejos problemas de su ámbito laboral, mediante la aplicación de sus conocimientos, la elaboración de argumentos y procedimientos, y el uso de ideas creativas e innovadoras.

  • G5. Desarrollar las habilidades de aprendizaje necesarias para acometer estudios posteriores con un alto grado de autonomía.

Descripción


La asignatura está pensada para perfiles de alumnos con orientación tecnológica (perfil de desarrolladores) que quieran profundizar en la programación de juegos y en los lenguajes más avanzados. El alumno aprenderá a programar con el lenguaje C ++ ya través de este, comprenderá los conceptos de gestión de memoria y otras características propias de la programación orientada a objetos. Con ello, el estudiante profundizará y consolidará los conceptos de programación vistos a lo largo de la carrera. Se crearán proyectos directamente sobre Visual Studio sin otro motor o engine intermedio, dando así una visión del código y de su organización a un más bajo nivel.

Las sesiones serán principalmente teóricas donde se expondrán los conceptos con ejemplos prácticos. Para alcanzar los conocimientos de la asignatura se evaluarán por un lado varios ejercicios prácticos durante el curso, junto con una práctica final individual y un examen teórico. 

La asignatura se contextualiza dentro de la rama de desarrollo de videojuegos. Está relacionada con las asignaturas de desarrollo de juegos, motores de juegos, programación con lenguajes interpretados y programación gráfica avanzada (optativa).

Esta asignatura dispone de recursos metodológicos y digitales para hacer posible su continuidad en modalidad no presencial en el caso de ser necesario por motivos relacionados con la Covidien-19. De esta forma se asegurará la consecución de los mismos conocimientos y competencias que se especifican en este plan docente.

El Tecnocampus pondrá al alcance del profesorado y el alumnado las herramientas digitales necesarias para poder llevar a cabo la asignatura, así como guías y recomendaciones que faciliten la adaptación a la modalidad no presencial.

Resultados de aprendizaje


Al finalizar la asignatura, el estudiante / a debe ser capaz de:

  • E6. Desarrollar videojuegos en lenguajes de programación de alto nivel en motoras gráficos, a partir de las especificaciones.
  • E6.1. Diseñar la arquitectura del software de un videojuego de ACUERDO a unas especificaciones.
  • E6.2. Interpretar el análisis del software para super posterior desenvolupament.
  • E15. Diseñar y planificar estrategias de aseguramiento de la calidad, testeo y análisis de datos de videojuegos y productos interactivos.

Metodología de trabajo


La asignatura utiliza las siguientes metodologías de trabajo:

  1. clase magistral
  2. aprendizaje colaborativo
  3. Resolución de problemas
  4. Aprendizaje basado en preguntas
  5. Tutorías no presenciales

Contenidos


Tema 1. Arquitectura de Computadores

1.1. Máquina de Turing

1.2. Arquitectura Von Newmann

1.3. ensamblador x86

Tema 2. Introducción a C ++

2.1. Introducción histórica

2.2. Bajo vs alto nivel

2.3. Estructura de un proyecto

2.4. Estudio visual de Microsoft

Tema 3. Bases de C ++

3.1. variables

3.2. funciones

3.3. punteros

3.4. Matrices

3.5. Gestión de la memoria

3.6. palabras clave

3.7. cuerdas

Tema 4. Orientación a Objetos

4.1. Clases

4.2. Herencia

4.3. Namespaces, ámbitos y validez

Tema 5. C ++ Avanzado

5.1. Punteros inteligentes

5.2. Punteros a funciones

5.3 Lambdas

5.4. castings

Tema 6. Proyectos en C ++

6.1. Precompiled headers

6.2. Estructuras de datos

6.3. archivos

Tema 7. Buenas Prácticas

7.1. SOLID Principes

Tema 8. Práctica

Actividades de aprendizaje


Con el objetivo de recoger evidencia del logro de los resultados de aprendizaje esperados se realizarán las siguientes actividades de carácter evaluativo (relacionadas con todas las competencias comunes):

  • A1. Ejercicio en clase: Máquina de Turing (Evidencia del resultado de aprendizaje E.6.1)

Realización de un programa con tarjetas perforadas utilizamos la lógica de la máquina de Turing.

  • A2. Ejercicio en casa: Human Resource Machine (Evidencia del resultado de aprendizaje E.6.2)

Resolución de diversos problemas concretos del juego Human resouce Machine con la lógica del lenguaje ensamblador.

  • A3. Ejercicio en casa: Perfect Numbers (Evidencia del resultado de aprendizaje E.6.1)

Realización de un primer programa sencillo en C ++.

  • A4. Ejercicio en casa: Pascal Triángulo (Evidencia del resultado de aprendizaje E.6.1)

Realización de un segundo programa en C ++ ampliando los conocimientos a utilizar.

  • A5. Ejercicio en casa: Raining Letters (Evidencia del resultado de aprendizaje E.6)

Realización de un primer juego sencillo en C ++.

  • A6. Ejercicio en casa: Snake (Evidencia del resultado de aprendizaje E.6)

Realización de un segundo juego más complejo en C ++.

  • A7. práctica Final (Evidencia del resultado de aprendizaje E.6 y E.15)

Realización de un juego completo en C ++.

  • A8. examen Final (Evidencia del resultado de aprendizaje E.6.1)

 

Criterios generales de las actividades:

  • El profesor presentará un enunciado para cada actividad y los criterios de evaluación y / o rúbricas.
  • El profesor informará de las fechas y formato de la entrega de la actividad.

Sistema de evaluación


La nota de cada alumno se calculará siguiendo los siguientes porcentajes:

A1. Ejercicio en clase: Máquina de Turing - 5%

A2. Ejercicio en casa: Human Resource Machine - 5%

A3. Ejercicio en casa: Perfect Numbers - 2.5%

A4. Ejercicio en casa: Pascal Triángulo - 2.5%

A5. Trabajo Individual: Raining Letters - 10% 

A6. Trabajo Individual: Snake - 10% 

A7. Práctica Final - 35%

A8. Examen Final - 30%

Nota final = A1 0,05 + A2 0,05 + A3 0,025 + A4 0,025 + A5 0,10 + A6 0,10 + A7 0,35 + A8 0,30

Consideraciones:

  • Hay que obtener una nota superior a 5 en el examen final para aprobar la asignatura.
  • Una actividad no entregada o entregada con retraso y sin justificación (citación judicial o asunto médico) cuenta como un 0.
  • Es responsabilidad del alumno evitar el plagio en todas sus formas. En el caso de detectar un plagio, independientemente de su alcance, en alguna actividad corresponderá a tener una nota de 0. Además, el profesor comunicará a la Jefe de estudios la situación para que se tomen medidas aplicables en materia de régimen sancionador .

recuperación:

  • Hay que obtener una nota superior a 5 en el examen final de recuperación para aprobar la asignatura.
  • La nota del examen de recuperación se aplicará sólo a la nota de la actividad A8.
  • En caso de superar la recuperación, la nota final máxima de la asignatura será de 5.