Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Adso Fernández Baena

Trimestre: Primer trimestre

Crèdits: 4

Professorat: 

Enric Sesa Nogueras

Competències


Competències específiques
  • E6. Desenvolupar videojocs en llenguatges de programació d'alt nivell en motors gràfics  a partir de les especificacions.

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

Descripció


Primera assignatura de l'àmbit de la programació. És la base de totes les assignatures de programació que s'encabeixen en la mateixa matèria a la qual pertany (Desenvolupament). Partint des de zero presenta els temes més elementals de la programació dins del paradigma imperatiu: variables i tipus, operacions elementals, control de flux i abstracció procedimental. Es treballen els aspectes teòrics, de manera expositiva,  i la seva posterior aplicació pràctica, adreçada a la resolució, sovint guiada, de problemes petits. Les sessions de classe combinen ambdós aspectes per tal d'aconseguir un bon equilibri entre ells. L'assignatura s'avalua a partir de la realització, asíncrona, de petits treballs pràctics semblants als treballats en les sessions síncrones i de proves escrites eminentment orientades a la resolució de problemes.

Aquesta assignatura disposa de recursos metodològics i digitals per a fer possible la seva continuïtat en modalitat no presencial en el cas de ser necessari per motius relacionats amb la Codid-19. D'aquesta forma s'assegurarà l'assoliment dels mateixos coneixements i competències que s'especifiquen en aquest pla docent. 

Resultats d'aprenentatge


En acabar l’assignatura els estudiants han de ser capaços de:

  • E6.1. Dissenyar l'arquitectura del software d'un videojoc d'acord amb unes especificacions
  • E6.2. Interpretar l'anàlisi del software per al seu posterior desenvolupament
  • E6.6. Desenvolupar videojocs 2D i 3D (o parts d'ells) en un llenguatge d'alt nivell sobre plataformes i motors destinats a tal efecte. 

 

Metodologia de treball


L'assignatura utilitza aquestes dues metodologies: la classe magistral i la resolució de problemes. 

Aquest curs, degut a la situació generada per la Covid-19, l'assignatura s'impartirà en modalitat de docència hibrida en les hores de teoria, i en modalitat de docència presencial en les hores de pràctica.

Continguts


Tema 1. Conceptes bàsics de la programació imperativa

1.1 Variables, tipus i assignació

1.2 Avaluació d'expressions

1.3 Lectura i escriptura

1.4 Formes d'execució i estructures de control: seqüencial, condicional/alternativa i iterativa

1.5 Esquemes iteratius bàsics: recorregut i cerca

 

Tema 2. Descomposició funcional i disseny descendent. Abstracció procedimental.

2.1 Descomposició de problemes en subproblemes

2.2 Funcions i procediments. Invocació

2.3 Parametrització

 

Tema 3. Taules

3.1 Taules unidimensionals

3.2 Taules multidimensionals

3.2 Esquemes iteratius aplicats a taules

Activitats d'aprenentatge


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. Examen de mig trimestre (evidència dels estadis primerencs dels resultat d’aprenentatge E6.1 i E6.6)

A2. Examen final trimestre (evidència dels estadis primerencs dels resultat d’aprenentatge E6.1 i E6.6)

Els resultats d'aquestes dues proves seran la base primordial per a determinar la qualificació final de l'assignatura. Versaran sobre els continguts exposats fins el moment de la seva realització, fortament centrats en l'estadi inicial de la competència general a la qual contribueix aquesta assignatura, cercant evidència de l'assoliment del resultat d'aprenentatge anteriorment especificat: "Codificar programes en un llenguatge de programació imperatiu d'alt nivell per a resoldre problemes simples". En la mesura del possible, cada prova constarà de dues parts, una realitzada sobre paper i una altra realitzada amb l'ajut d'una eina de desenvolupament de software (entorn integrat de desenvolupament).

A3. Pràctiques 1, 2, 3 i 4 (evidència dels estadis primerencs dels resultat d’aprenentatge E6.1, E6.2 i E6.6)

Aquestes quatre pràctiques seran relatives als temes que formen part dels continguts de l'assignatura. Aquestes pràctiques es realitzaran majoritàriament fora de l'aula (en el temps de treball personal de l'estudiant), de manera individual o en grups reduïts.


Criteris generals de les activitats

- Els professor presentarà un enunciat per a cada enunciat i els criteris d'avaluació i/o rúbriques

- El professor informarà de les dates i el format de lliurament de l'activitat

- Les activitats unipersonals pressuposen el compromís de l'estudiant de realitzar-les de manera individual i sense cap mena de col·laboració amb d’altres persones. Es consideraran suspeses (qualificació 0) totes aquelles activitats en què l'estudiant no s'ajusti a aquest compromís d’individualitat,  independentment del seu paper (emissor o receptor) i sense que això exclogui la possible aplicació d’altres sancions d’acord amb el Règim Disciplinari vigent.

- Igualment, les activitats que s'hagin de realitzar en grup pressuposen el compromís per part dels estudiants que l'integren de realitzar-les en el si del grup i sense cap mena de col·laboració amb d’altres grups o persones que en siguin alienes (individualitat grupal). Es consideraran suspeses (qualificació 0) totes aquelles activitats en què el grup no hagi respectat aquest compromís amb independència del seu paper (emissor o receptor) i sense que això exclogui la possible aplicació d’altres sancions d’acord amb el Règim Disciplinari vigent.

- En el cas particular de les pràctiques, quan en alguna d’elles no es respecti el compromís d’individualitat i/o s’utilitzin mitjans fraudulents en la seva realització, la qualificació de pràctiques (Pr) serà, per a tots els membres del grup, de 0 punts (Pr=0) amb independència de la qualificació de les altres pràctiques i sense que això exclogui la possible aplicació d’altres sancions d’acord amb el Règim Disciplinari vigent.

- Qualsevol activitat no lliurada es considerarà puntuada amb zero punts.

- És potestatiu dels docents acceptar o no lliuraments fora dels terminis que s'indiquin. En el cas que aquests lliuraments fora de termini s'acceptin, és potestatiu del docent decidir si aplica alguna penalització i la quantia d'aquesta.

Sistema d'avaluació


La nota de cada alumne es calcularà seguint els següents percentatges:

A1. Examen parcial: Examen de mig trimestre 25% 

A2. Examen final: Examen final trimestre 25%

A3. Pràctiques de laboratori: Pràctiques 1, 2, 3 i 4 50% (5% + 15% + 15% +15%)

Nota Final = MAX( (A1+A2)/2, A2)·0.5 + A3·0.5

Consideracions: 

- Cal que MAX( (A1+A2)/2, A2) >= 5 per a superar l'assignatura. Si aquesta qualificació no arriba a 5 llavors ella mateixa serà la nota final. 

- Una activitat no lliurada o lliurada amb retard i sense justificació (citació judicial o assumpte mèdic) compta com un 0.

- Per tenir una qualificació final diferent a "no presentat" cal haver realitzat l'examen A1 o l'examen A2 o haver justificat (citació judicial o assumpte mèdic) l'absència en ambdues proves.

- Es responsabilitat de l'alumne evitar el plagi en totes les seves formes. En el cas de detectar un plagi, independentment del seu abast, en alguna activitat, correspondrà a tenir una nota de 0. A més, el professor comunicarà a la Cap d'Estudis la situació per a que en prengui mesures  aplicables en matèria de règim sancionador. En el context d'aquesta assignatura, plagi també significa utilitzar i/o adaptar codi que no s'hagi desenvolupat de manera totalment individual (o en el si del grup en el cas d'activitats grupals). Facilitar el codi que dóna lloc al plagi és també una forma de plagi i serà tractat de la mateixa manera. De manera resumida podem dir que les activitats avaluatives s'han de resoldre de manera estrictament no col·laborativa (en el cas d'activitats en grup la col·laboració no pot transcendir el si del grup). 

Recuperació

- La part de pràctiques de l’assignatura (qualificació A3) NO és recuperable.

- La part de teoria de l’assignatura (qualificació MAX( (A1+A2)/2, A2)) sí que és recuperable. La recuperació es farà en la data i lloc que fixi la Direcció d’Estudis de l’Escola. Per als estudiants que assisteixin a l’examen de recuperació la seva qualificació A2 serà la obtinguda en aquesta prova i la seva qualificació final es calcularà amb les fórmules anteriorment detallades. Les qualificacions finals en l'interval [5, 7.5) seran arrodonides a 5. Les qualificacions finals en l'interval [7.5, 10] seran arrodonides a 7.

- Només podran fer l'examen de recuperació aquells estudiants que en l'avaluació ordinària hagin obtingut una qualificació diferent a "no presentat"

Bibliografia


Bàsic

Solis, D., & Schrotenboer, C. (2018). Illustrated C# 7: The C# Language Presented Clearly, Concisely, and Visually. Berkeley, CA, USA: Apress.

Perkins, B., Hammer, J. V., & Reid, J. D. (2018). Beginning c# 7 programming with visual studio. Indianapolis, IN, USA: John Wiley and Sons.

Michaelis, M., Lippert, E., & Torgersen, M. (2018). Essential C# 7.0. Boston, USA: Addison-Wesley.

Nakov, S. (2013). Fundamentials of computer programming with C#: The Bulgarian C# programming book. Sofia, Bulgaria: Svetlin Nakov &. Co.

https://www.introprogramming.info/wp-content/uploads/2013/07/Books/CSharpEn/Fundamentals-of-Computer-Programming-with-CSharp-Nakov-eBook-v2013.pdf

Complementary

Sesa i Nogueras. Fonaments de Programació: notes de classe i exercicis. Publicació interna del TCM. Es posarà a disposició dels estudiants a través de la plataforma eCampus