Informació general


Tipus d'assignatura: Obligatòria

Coordinador: Juan José Pons López

Trimestre: Segon trimestre

Crèdits: 4

Professorat: 

Marco Antonio Rodríguez Fernàndez

Idiomes d'impartició


  • Català
  • Castellano

Alguns materials es proporcionaran en anglès.

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
  • G3. Reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes rellevants d'índole social, científica o ètica.

  • 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ó


L'assignatura Programació I suposa la primera aproximació al disseny d'algorismes utilitzant les bases de la programació orientada a objectes en el marc de la matèria de Desenvolupament. Es treballen problemes d'una certa complexitat, tant per dissenyar algorismes nous com per testejar i debugar adequadament algorismes implementats. L'assignatura consta de sessions teòriques i sessions de pràctica. Per assolir els coneixements de l'assignatura s'avalua per un costat tres pràctiques i per un altre els coneixements teòrics de manera individual.

 

Continguts


Tema 1: Descomposició funcional i disseny descendent

1.1. Descomposició de problemes en subproblemes

1.2. Diagrames de flux

1.3. Recorregut vs cerca

1.4. Pas de paràmetres: entrada, sortida, referència i valor

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

2.1. Què és la POO?

2.2. Programació estructurada vs POO

2.3. Perquè utilitzar la POO i els seus beneficis

2.4. Característiques de la POO

2.5. Definició d'objecte i classe

2.6. Elements d'una classe

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

3.1. Atributs objectuals, atributs de classe i constants

3.2. Constructors i instanciar objectes

3.3. Mètodes d'una classe i sobrecàrrega

3.4. Diagrames de llenguatge unificat de modelat (UML)

3.5. Paraula clau "this"

3.6. Classes vs classes estàtiques

3.7. Gestió d'excepcions i debug dins d'una classe

3.8. Operadors

Tema 4: Herència, interfaces i polimorfisme (jerarquia de classes)

4.1. Introducció, definició d'herència i exemples

4.2. Creació de classes base i derivades

4.3. Classes "sealed" i "abstract"

4.4. Interfaces

4.5. Polimorfisme

Tema 5: Estructures de dades

5.1. Arrays bidimensionals i multidimensionals

5.2. Diccionaris

Sistema d'avaluació


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

A1. Pràctiques de laboratori 1: Treballar amb matrius i anàlisi descendent 12%

A2. Pràctiques de laboratori 2: Implementar classes i treballar amb objectes 12%

A3. Pràctiques de laboratori 3: Conceptes d'herència 12%

A4. Exercicis a classe: Qüestionaris teòrics 5%

A5. Exercicis a casa: Exercicis pràctics curts 9%

A6. Examen pràctic final 50%

Nota final = A1 0,12 + A2 0,12 + A3 0,12 + A4 0,05 + A5 0,09 + A6 0.50

Consideracions:

  • Cal obtenir una nota superior o igual a 5 a l'examen final A6 per a aprovar l'assignatura.
  • Una activitat no entregada o lliurada amb retard i sense justificació compta com un 0.
  • És 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 es prenguin mesures aplicables en matèria de règim sancionador.

Recuperació:

  • Només es poden presentar a la recuperació els estudiants que es presentin a l'examen final que no superin la qualificació mínima (5) a la nota final i/o a l'examen.
  • Les activitats A1, A2, A3, A4 i A5 no es poden recuperar.
  • La nota de l'examen de recuperació substitueix només a la nota de l'activitat A6.

Bibliografia


Bàsic

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.

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

Complementary

Meyer Bertrand (1997) Object-Oriented Software Construction. Prentice Hall.