Que estàs buscant?
G1. Demostrar tenir i comprendre coneixements avançats de la seva àrea d'estudi que inclouen els aspectes teòrics, pràctics i metodològics, amb un nivell de profunditat que arriba fins a l'avantguarda del coneixement.
G2. Resoldre problemes complexos del seu àmbit laboral, mitjançant l'aplicació dels seus coneixements, l'elaboració d'arguments i procediments, i l'ús d'idees creatives i innovadores.
G5. Desenvolupar les habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia.
L’assignatura està pensada per perfils d’alumnes amb orientació tecnològica (perfil de desenvolupadors) que vulguin aprofundir en la programació de jocs i en els llenguatges més avançats. L’alumne aprendrà a programar amb el llenguatge C++ i a través d’aquest, comprendrà els conceptes de gestió de memòria i altres característiques pròpies de la programació orientada a objectes. Amb això, l’estudiant aprofundirà i consolidarà els conceptes de programació vistos al llarg de la carrera. Es crearan projectes directament sobre Visual Studio sense cap altre motor o engine intermig, donant així una visió del codi i de la seva organització a un més baix nivell.
Les sessions seran principalment teòriques on s'exposaran els conceptes amb exemples pràctics. Per assolir els coneixements de l’assignatura s’avaluaran per un costat diversos exercicis pràctics durant el curs, juntament amb una pràctica final individual i un exàmen teòric.
L’assignatura es contextualitza dins de la branca de desenvolupament de videojocs. Està relacionada amb les assignatures de desenvolupament de jocs, motors de jocs, programació amb llenguatges interpretats i programació gràfica avançada (optativa).
Aquesta assignatura disposa de recursos metodològics i digitals per fer possible la seva continuïtat en modalitat no presencial en el cas de ser necessari per motius relacionats amb la Covid-19. D’aquesta forma s’assegurarà l’assoliment dels mateixos coneixements i competències que s’especifiquen en aquest pla docent.
Al finalitzar l’assignatura, l’estudiant/a ha de ser capaç de:
L’assignatura utilitza les següents metodologies de treball:
Tema 1. Arquitectura de Computadors
1.1. Màquina de Turing
1.2. Arquitectura Von Newmann
1.3. Ensamblador x86
Tema 2. Introducció a C++
2.1. Introducció històrica
2.2. Baix vs alt nivell
2.3. Estructura d'un projecte
2.4. Microsoft Visual Studio
Tema 3. Bases de C++
3.1. Variables
3.2. Funcions
3.3. Punters
3.4. Arrays
3.5. Gestió de la memoria
3.6. Paraules clau
3.7. Strings
Tema 4. Orientació a Objectes
4.1. Clases
4.2. Herencia
4.3. Namespaces, àmbits i validesa
Tema 5. C++ Avançat
5.1. Smart Pointers
5.2. Punters a funcions
5.3 Lambdas
5.4. Castings
Tema 6. Projectes en C++
6.1. Precompiled headers
6.2. Estructures de dades
6.3. Fitxers
Tema 7. Bones Pràctiques
7.1. S.O.L.I.D. Principes
Tema 8. Pràctica
Amb l’objectiu de recollir evidència de l’assoliment dels resultats d’aprenentatge esperats es realitzaran les següents activitats de caràcter avaluatiu (relacionades amb totes les competències comunes):
A1. Exercici a classe: Màquina de Turing (Evidència del resultat d’aprenentatge E.6.1)
Realització d'un programa amb tarjetes perforades utilitçant la lògica de la màquina de Turing.
A2. Exercici a casa: Human Resource Machine (Evidència del resultat d’aprenentatge E.6.2)
Resolució de diversos problemes concrets del joc Human Resouce Machine amb la lògica del llenguatge ensamblador.
A3. Exercici a casa: Perfect Numbers (Evidència del resultat d’aprenentatge E.6.1)
Realització d'un primer programa sencill en C++.
A4. Exercici a casa: Pascal Triangle (Evidència del resultat d’aprenentatge E.6.1)
Realització d'un segon programa en C++ ampliant els coneixements a utilitzar.
A5. Exercici a casa: Raining Letters (Evidència del resultat d’aprenentatge E.6)
Realització d'un primer joc sencill en C++.
A6. Exercici a casa: Snake (Evidència del resultat d’aprenentatge E.6)
Realització d'un segon joc més complexe en C++.
A7. Pràctica Final (Evidència del resultat d’aprenentatge E.6 i E.15)
Realització d'un joc complert en C++.
A8. Examen Final (Evidència del resultat d’aprenentatge E.6.1)
Criteris generals de les activitats:
La nota de cada alumne es calcularà seguint els següents percentatges:
A1. Exercici a classe: Màquina de Turing - 5%
A2. Exercici a casa: Human Resource Machine - 5%
A3. Exercici a casa: Perfect Numbers - 2.5%
A4. Exercici a casa: Pascal Triangle - 2.5%
A5. Treball Individual: Raining Letters - 10%
A6. Treball 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
Consideracions:
Recuperació: