Que estàs buscant?
Els materials podran proporcionar-se tant en català com en castellà o anglès.
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).
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
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ó: