Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Juan José Pons López

Trimestre: Segon trimestre

Crèdits: 4

Professorat: 

Oscar Garcia Subirana

Curs acadèmic: 2026

Curs d'impartició: 1

Llengües d'impartició


  • Català
  • Castellano

Les tutories i la comunicació a través del fòrum i del correu electrònic es duran a terme en català o castellà. Les diapositives i els materials de l'aula virtual es proporcionaran majoritàriament en anglès, tot i que també es podrà fer servir el català en algunes ocasions.

Competències / Resultats d'aprenentatge


Competències específiques
  • E2. Dissenyar les mecàniques, regles, estructura i narrativa de videojocs seguint els criteris de jugabilitat i balanceig per oferir la millor experiència de joc possible.

  • E5. Escriure les especificacions d'un joc i comunicar-les eficaçment a l'equip d'artistes i desenvolupadors i d'altres membres involucrats en la creació i desenvolupament del joc.

  • E6. Desenvolupar videojocs en llenguatges de programació d'alt nivell en motors gràfics  a partir de les especificacions.

Competències generals
  • 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.

Competències transversals
  • T1. Comunicar en un tercer idioma, que serà preferentment l'anglès, amb un nivell adequat de forma oral i per escrit i d'acord amb les necessitats que tindran els graduats i graduades.

  • T2. Treballar com a membre d'un equip interdisciplinari ja sigui com un membre més o realitzant tasques de direcció amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos i tenint en compte els recursos disponibles.

Presentació de l'assignatura


L'objectiu d'aquesta assignatura és introduir l'estudiant en els fonaments de la programació d'alt nivell aplicada al desenvolupament de videojocs. L'assignatura treballa la descomposició de problemes, el disseny descendent, l'ús d'estructures de dades bàsiques i la programació orientada a objectes.

L'estudiant haurà de ser capaç d'analitzar problemes, dividir-los en subproblemes més manejables, representar solucions mitjançant diagrames de flux i implementar-les amb codi estructurat, clar i verificable. També es treballaran els conceptes principals de la programació orientada a objectes, com ara classes, objectes, atributs, mètodes, constructors, herència i polimorfisme.

En tractar-se d'una assignatura en extinció sense docència reglada, l'aprenentatge es basarà en el treball autònom de l'estudiant a partir dels materials disponibles a l'aula virtual i de les tutories establertes pel professorat responsable. L'avaluació es durà a terme mitjançant una prova final única, d'acord amb la modalitat de dret a examen.

Espais segurs:

L'aula (física o virtual) és un espai segur, lliure d'actituds masclistes, racistes, homòfobes, trànsfobes i discriminatòries, ja sigui cap a l'alumnat o cap al professorat. Confiem que entre totes i tots puguem crear un espai segur on ens puguem equivocar i aprendre sense haver de patir prejudicis d'altres. 

Continguts


Unitat 1: Descomposició funcional i disseny descendent

  • Descomposició de problemes en subproblemes
  • Diagrames de flux
  • Recorregut vs cerca
  • Pas de paràmetres
  • Estructures de dades
  • Conceptes de programació

Unitat 2: Introducció i conceptes generals de la programació orientada a objectes (POO)

  • Què és la POO?
  • Programació estructurada vs POO
  • Motivació i beneficis de la POO
  • Característiques de la POO
  • Definició d'objecte i classe
  • Elements d'una classe: Atributs, mètodes, constructors, etc.

Unitat 3: Conceptes bàsics de la programació orientada a objectes

  • Atributs objectuals, atributs de classe i constants
  • Constructors i instanciació d’objectes
  • Mètodes d'una classe i sobrecàrrega
  • Diagrames de llenguatge unificat de modelatge (UML)
  • Paraula clau "this"
  • Classes vs classes estàtiques
  • Gestió d'excepcions i depuració dins d'una classe

Unitat 4: Herència i polimorfisme

  • Introducció, definició d'herència i exemples
  • Creació de classes base i derivades
  • Classes "sealed" i "abstract"
  • Polimorfisme

Activitats i sistema d'avaluació


La nota final de cada alumne es calcularà mitjançant una prova final única, d’acord amb la modalitat de dret a examen pròpia de les assignatures en extinció sense docència reglada.

A1. Prova final teòric-pràctica (100%).

La prova final estarà relacionada amb els continguts de la darrera impartició de l’assignatura i podrà incloure:

  • Preguntes de comprensió conceptual sobre descomposició funcional, disseny descendent, estructures de dades bàsiques i programació orientada a objectes.
  • Anàlisi de fragments de codi.
  • Detecció i correcció d’errors.
  • Resolució de problemes de programació.
  • Activitat o activitats pràctiques relacionades amb els continguts del curs.

En cas que la prova inclogui preguntes tipus test, aquestes no podran representar més d’un terç de la qualificació total de la prova.

Nota final = A1 x 1,00.

Consideracions:

  • El professorat responsable oferirà una tutoria inicial informativa a l’inici del període lectiu. En aquesta sessió s’explicarà el funcionament de l’assignatura en extinció, els continguts d’avaluació, els materials disponibles, el format de la prova final, els criteris d’avaluació i el calendari previst.
  • Es farà pública una franja de disponibilitat per a l’atenció de consultes. Les tutories podran ser col·lectives o individuals, segons el nombre d’estudiants matriculats i les necessitats detectades. Els estudiants hauran de sol·licitar prèviament l’assistència a la tutoria per correu electrònic amb antelació suficient.
  • Atesa la modalitat de dret a examen, les tutories de seguiment tenen una funció d’orientació i resolució de dubtes, però no formen part de la qualificació final.
  • Per aprovar l’assignatura, cal obtenir una nota igual o superior a 5 a la prova final.
  • La identificació de plagi es considera una circumstància greu que pot comportar una qualificació de suspens a una activitat. En cas de detecció de plagi s’informarà a la coordinació del grau per tal que es puguin prendre les mesures disciplinàries corresponents.
  • Qualsevol forma de frau acadèmic serà sancionada d’acord amb la normativa d’avaluació del centre. En cas que es detectin indicis de frau, inclòs l’ús indegut d’eines d’intel·ligència artificial generativa, el professorat de l’assignatura podrà convocar l’estudiant a una entrevista individual amb l’objectiu de verificar-ne l’autoria.

Recuperació:

  • Només es podran presentar a la recuperació els estudiants que s’hagin presentat a la prova final i no hagin superat l’assignatura.
  • La prova de recuperació substituirà la qualificació de la prova final. Per superar l’assignatura en recuperació caldrà obtenir una qualificació mínima de 5 sobre 10.

Bibliografia


Bàsic

Chaudhary, Harry (2014). C# Programming: Step By Step Beginner's To Experts Edition. Createspace LLC USA.

Clark, Dan (2011) Beginning C# Object-Oriented Programming. Apress.

Fagerberg, Jonas (2015)  C# for Beginners: The Tactical Guidebook: Learn Csharp by Coding. CreateSpace Independent Publishing Platform.

Complementària

LeetCode

Meyer, Bertrand (2000) Object-Oriented Software Construction (2nd ed). Prentice Hall.

Microsoft .NET Documentation

Stack Overflow