Fonaments de programació Codi:  05.554    Crèdits:  6
Consulta de les dades generals   Descripció   L'assignatura en el conjunt del pla d'estudis   Camps professionals en què es projecta   Coneixements previs   Objectius i competències   Continguts   Consulta dels recursos d'aprenentatge de què disposa l'assignatura   Recursos d'aprenentatge i eines de suport   Bibliografia i fonts d'informació   Metodologia   Informació sobre l'avaluació a la UOC   Consulta del model d'avaluació   Avaluació continuada   Avaluació final   Feedback  
Aquest és el pla docent de l'assignatura. Us servirà per planificar la matrícula (consulteu si l'assignatura s'ofereix aquest semestre a l'espai del Campus Més UOC / La Universitat / Plans d'estudis). Un cop comenci la docència, heu de consultar-lo a l'aula. El pla docent pot estar subjecte a canvis.

Aquesta assignatura és el punt d'entrada a les tècniques de programació. Si us dediqueu al desenvolupament de programari, no cal dir que la pràctica professional girarà principalment a l'entorn de l'aprenentatge adquirit en una sèrie d'assignatures, la primera de les quals és aquesta. Així doncs, aquesta assignatura ocupa una posició central en els estudis i en moltes de les seves sortides professionals.

L'assignatura no pressuposa cap coneixement previ d'aquesta disciplina ni de cap altra assignatura d'aquests estudis. És convenient, però, tenir alguns coneixements elementals de matemàtiques.

L'aprofundiment de les tècniques de programació es farà cursant les assignatures que són la continuació directe d'aquesta en semestres successius: Pràctiques de Programació i Disseny i Programació Orientada a Objectes.

Els diversos conceptes que van apareixent en els mòduls 1 a 5 es formulen utilitzant una notació algorísmica que no es pot executar directament. Per tant, aquests cinc mòduls didàctics es complementen amb un Manual de llenguatge C que presenta un llenguatge de programació comercial (el C) i dóna les pautes de traducció de la notació algorísmica a C. Aquest manual introdueix un entorn i un llenguatge concret de programació que permetran anar posant en pràctica els coneixements que es vagin aprenent. El llenguatge C permet adquirir uns coneixements que després seran utilitzats en altres del grau.

Amunt

Aquesta assignatura és el punt d'inici de les tècniques de programació. L'aprofundiment es farà cursant les assignatures següents del pla d'estudis: Pràctiques de Programació i Disseny i Programació Orientada a Objectes.

La programació en llenguatge C permet adquirir uns coneixements pràctics imprescindibles a altres assignatures del grau.

Amunt

Si us dediqueu al desenvolupament de programari, no cal dir que la pràctica professional girarà principalment a l'entorn de l'aprenentatge adquirit en una sèrie d'assignatures, la primera de les quals és aquesta. Així doncs, aquesta assignatura ocupa una posició central en els estudis i en moltes de les seves sortides professionals.    

Amunt

L'assignatura no pressuposa cap coneixement previ de programació ni de cap altra assignatura d'aquests estudis. És convenient, però, tenir alguns coneixements fonamentals de matemàtiques.

Amunt

Competències dins del Grau

  • Capacitat de dissenyar i construir aplicacions informàtiques mitjançant tècniques de desenvolupament, integració i reutilització.
  • Coneixements bàsics sobre l'ús i la programació dels ordinadors, sistemes operatius, bases de dades i programes informàtics amb aplicació a l'enginyeria.

Objectius de l'assignatura

L'objectiu general de l'assignatura és aprendre a dissenyar algorismes i programes que compleixin uns criteris de qualitat.

Aquest objectiu general es concreta en els següents objectius concrets:

  1. Conèixer i assimilar els conceptes fonamentals de l'algorísmica mitjançant l'aprenentatge i comprensió de la sintaxi i semàntica d'una notació algorísmica.
  2. Conèixer i assimilar els conceptes, mètodes i tècniques per tal que, a partir de l'enunciat d'un problema, es pugui especificar el comportament precís que haurà de tenir la solució, dissenyar-la i implementar-ne el programa corresponent.
  3. Pel que fa als mètodes, es veurà l'aplicació d'esquemes com una tècnica eficaç per construir algorismes. També es veurà la modularitat com una forma idònia d'afrontar problemes complexos en dividir-los en un conjunt de subproblemes més senzills.
  4. Adquirir pràctica en l'aplicació dels conceptes anteriors en un entorn real de desenvolupament de programes. Així, l'estudiant adquirirà un coneixement no tan sols conceptual sinó també pràctic de com escriure un programa, compilar-lo, muntar-lo i executar-lo.

 

Amunt

S'estudiarà el llenguatge algorísmic o pseudocodi com a eina de disseny formal d'algoritmes, que posteriorment es poden traduir a qualsevol llenguatge de programaci (en el nostre cas el llenguatge de programació C).

Introducció a la programació
S'exposen els conceptes bàsics que es fan servir en programació.
 
Tipus de dades
Es descriuen els diferents tipus de dades, començant pels tipus bàsics, els estructurats i finalment els abstractes. En tots els casos es veurà la seva implicació pel que fa a la capacitat de representació, operacions i ús de memòria.

Estructures de control
Es presenten les composicions alternatives i les seqüencials, veient els esquemes bàsics de cerca i recorregut en una seqüència.
 
Modularitat
S'estudiran els diferents mecanismes de modularitat que podem utilitzar, tant els que fan referència al disseny dels algoritmes (accions i funcions) com aquells més relacionats a la organització del codi (fitxers i llibreries). 

Amunt

Material Suport
Màquina virtual Fonaments de programació / Máquina virtual fundamentos de programación Programari en línia
Materials de programació Web
FAQ Laboratori de Fonaments de programació PDF
FAQ Laboratory of Fundamentals of programming PDF

Amunt

Als recursos de l'aula hi trobareu l'accés a la xWiki que conté tots els recursos que necessiteu: unitats de contingut, guies de programari i llenguatge C i orientacions per a realitzar les diferents activitats. La xWiki té una explicació inicial sobre l'ús de cada recurs i també una guia d'aprenentatge on trobareu tots els materials agrupats segons la setmana en la que cal utilitzar-ho. També teniu accessible el contingut de la xWiki des de l'aula de laboratori.

Amunt

  1. Algoritmos y estructuras de datos. Wirth, Niklaus. Naucalpan de Juárez : Prentice-Hall Hispanoamericana, cop. 1987
  2. Fundamentos de algoritmia. Brassard, Gilles. Madrid [etc.] : Prentice Hall, cop. 1997
  3. El Lenguaje de programación C : diseño e implementación de programas. Madrid [etc.] : Prentice Hall, 2001. Félix García Carballeira
  4. Programación en C. Gottfried, Byron S. Madrid [etc.] : McGraw-Hill, cop. 1997
  5. Programación en C : metodología, algoritmos y estructuras de datos. Joyanes Aguilar, Luis. Madrid [etc.] : McGraw-Hill, cop. 2005
  6. Programación en lenguaje C. Quero Catalinas, Enrique. Madrid : Paraninfo, 1998
  7. Programación estructurada en C. Antonakos, James L. Madrid [etc.] : Prentice Hall, cop. 1997 

Amunt

Per poder assolir els objectius proposats, durant tot el semestre anirem combinant l'estudi de la teoria de l'algorísmica (disseny d'algorismes) amb la pràctica de programació en C (codificació de programes).

Des de la guia d'aprenentatge de la xWiki, s'indicarà cada setmana quina és l'activitat que s'està fent, hi tindreu els recursos per poder-la realitzar i contindrà breus explicacions teòriques dels conceptes clau i els mòduls teòrics que us caldran.

En aquesta assignatura, molt més que en d'altres, l'assimilació dels conceptes i mètodes que li són propis depèn en gran mesura de la realització continuada dels exercicis proposats i de practicar molt. Per aquest motiu, és molt important tant la realització dels exercicis de cada mòdul com practicar amb els aspectes concrets del llenguatge i de l'entorn de programació. 

L'aprenentatge de la programació és eminentment pràctic i necessita d'un procés continuat i incremental. És per això que l'avaluació continuada (les PAC i les PR) serveixen per a fer aquest aprenentatge incremental. Aquesta és sens dubte la via que garanteix millor el vostre assoliment dels objectius previstos.

Per desenvolupar la part pràctica de l'assignatura tindreu al vostre abast un Laboratori Virtual de C, accessible des del campus i atès per un consultor de laboratori que us ajudarà a resoldre qualsevol dubte que tingueu sobre la instal·lació del programari i la programació en C. El laboratori està pensat exclusivament per donar suport a la instal·lació del programari, el desenvolupament de la part pràctica pel que fa a la programació C i els exercicis de C de les PAC.

Quan s'han d'estudiar els continguts?

Als materials web trobareu la guia d'aprenentatge, que us mostrarà setmanalment un resum del que caldrà treballar aquella setmana, l'activitat que es desenvoluparà i els enllaços a les unitats que cal estudiar. També hi trobareu una estimació del temps de dedicació mínim. La guia d'aprenentatge s'anirà activant setmanal d'acord amb la progressió del semestre.

Amunt

La Normativa acadèmica de la UOC disposa que el procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat dels exercicis fets.

La manca d'originalitat en l'autoria o el mal ús de les condicions en què es fa l'avaluació de l'assignatura és una infracció que pot tenir conseqüències acadèmiques greus.

Es qualificarà l'estudiant amb un suspens (D/0) si es detecta manca d'originalitat en l'autoria d'alguna activitat avaluable (pràctica, prova d'avaluació contínua (PAC) o final (PAF), o la que es defineixi al pla docent), sigui perquè ha utilitzat material o dispositius no autoritzats, sigui perquè ha copiat textualment d'internet, o ha copiat d'apunts, de materials, de manuals o d'articles (sense la citació corresponent), d'altres estudiants, o per qualsevol altra conducta irregular.

La qualificació de suspens (D/0) en les qualificacions finals d'avaluació contínua pot comportar l'obligació de fer l'examen presencial per a superar l'assignatura (si hi ha examen i si superar-lo és suficient per a superar l'assignatura segons indiqui el pla docent).

Quan aquesta mala conducta es produeixi durant la realització de les proves d'avaluació finals presencials, l'estudiant pot ser expulsat de l'aula, i l'examinador farà constar tots els elements i la informació relatius al cas.

D'altra banda, aquesta conducta pot donar lloc a la incoació d'un procediment disciplinari i l'aplicació, si escau, de la sanció que correspongui.

La UOC habilitarà els mecanismes que consideri oportuns per a vetllar per la qualitat de les seves titulacions i garantir l'excel·lència i la qualitat del seu model educatiu.

Amunt

Aquesta assignatura es pot superar per una doble via:

- A partir de les activitats fetes al llarg del curs i la realització d'una prova de síntesi (PS):

La combinació de la nota final de les activitats d'avaluació contínua (AC) i la qualificació final de les activitats pràctiques (Pr) dóna com a resultat la qualificació final d'avaluació contínua (FC: AC + Pr).
Per a tenir dret a fer la PS, la qualificació final d'avaluació contínua (FC) ha de ser igual o superior a 5. La nota final de l'assignatura s'obtindrà posteriorment creuant la nota de la PS amb la FC.

- Mitjançant la realització d'un examen final (EX):

Per a fer l'EX no cal haver superat l'AC. Per aquesta via, la qualificació final de l'assignatura s'obté creuant la nota de l'EX amb la qualificació final de les activitats pràctiques (Pr).

En qualsevol de les dues vies és obligatori fer les activitats pràctiques (Pr).

La fórmula d'acreditació de l'assignatura és la següent: (AC + Pr) + PS o EX + Pr.


Ponderació de les qualificacions

Opció seguint i superant la FC: (AC + Pr) + PS

Final Continuada: (FC) = AC + Pr

AC = 40%

Pr = 60%

Notes mínimes:

· Pr = 5

· AC = 4

En cas de no assolir la nota mínima a la Pr, la nota obtinguda en la fórmula correspon a l'obtinguda a la Pr, o el que indiqui el model d'avaluació.


Nota final d'assignatura: FC + PS

FC = 70%

PS = 30%

Notes mínimes:

· PS = 3,5

Quan la nota obtinguda a la PS sigui inferior als mínims establerts per a cada fórmula, la qualificació final de l'assignatura serà la nota obtinguda a la PS.

Opció amb EX: (EX+Pr)+AC

Final d'Examen (FE) = EX + Pr

EX = 60 %

Pr = 40%

Notes mínimes:

· Pr = 5

En cas de no assolir la nota mínima a la Pr, la nota obtinguda en la fórmula correspon a l'obtinguda a la Pr, o el que indiqui el model d'avaluació.


Nota final d'assignatura: FE + AC

FE = 65%

AC = 35%

Notes mínimes:

· EX = 4

Aquesta fórmula de ponderació només s'aplicarà quan la nota resultant millori la nota obtinguda a l'EX. Quan la nota obtinguda a l'EX sigui inferior a 4 o la qualificació resultant de la fórmula de ponderació no permeti millorar la nota obtinguda a l'EX, la qualificació final de l'assignatura serà la nota obtinguda a l'EX.

En el cas d'assignatures amb pràctiques (Pr) que creuïn amb l'examen (EX), la fórmula de ponderació només s'aplicarà quan la nota resultant millori la nota obtinguda a FE (FE=EX+Pr). Quan la nota obtinguda a l'EX sigui inferior a 4, la qualificació resultant de l'assignatura serà la nota obtinguda a l'EX. Quan la qualificació resultant de la fórmula de ponderació no permeti millorar la nota obtinguda a FE, la qualificació final de l'assignatura serà la nota obtinguda a FE.

Amunt

L'avaluació continuada (AC) consisteix en una sèrie d'exercicis setmanals (10 en total) on posar en pràctica els continguts treballats. Totes les PAC tenen el mateix pes en el càcul de la nota final d'AC (un punt de la nota final de AC). 

Les proves d'avaluació continuada consistiran bàsicament en la resolució d'un exercici senzill de disseny d'un algorisme combinat amb un exercici de codificació en C.  Les PAC s'han de lliurar dins dels terminis establerts (trobareu les dates al calendari de l'aula). No s'acceptaran fora de termini.

Les PAC es corregiran agrupades en tres grups però s'han de lliurar cadascuna en el seu termini:

GRUP 1 PAC1 PAC2 PAC3 PAC4
GRUP 2 PAC5 PAC6 PAC7 PAC8
GRUP 3 PAC9 PAC10    

A més a més de les PAC també cal fer una pràctica dividida en tres parts (PR0, PR1 i PR2) cadascuna de les quals  té un pes específic en la nota final de Pràctica:  PR0 (0 punts), PR1 (8 punts) i PR2 (2 punts)

La PR0 consisteix en la preparació de l'entorn de programació, per això no té puntuació tot i que és imprescindible fer-la per poder continuar amb la resta de parts pràctiques.

El fet de lliurar qualsevol de les dues pràctiques (PR1 i PR2) implica que la vostra nota final de pràctiques serà diferent de No Presentat.

És imprescindible lliurar i obtenir 5 dels 8 punts de la PR1  per tal de poder aprovar l'assignatura independentment de la via d'avaluació que s'hagi escollit (això implica assolir una puntuació mínima de 6,25 sobre 10 a la nota de la  PR1 per poder optar a aprovar l'assignatura).

Si no es lliura la PR2, aquesta part computarà amb un 0 en el càlcul de la nota de final de pràctica.

La guia d'aprenentatge de la xWiki incorpora l'avaluació continua de manera que pugueu seguir un procés de aprenentatge  progressiu.

Frau o Plagi

És important tenir clar que el seguiment correcte de l'assignatura us compromet a realitzar les activitats proposades (PAC i Pràctiques) de manera individual i segons les indicacions que pauta aquest Pla Docent. En cas que no sigui així, les activitats s'avaluaran amb una D o un 0 segons correspongui. En concret, en cas d'extrema similitud entre algun exercici d'alguna PAC/Pràctica de dos o més estudiants que desacrediti el fet d'haver-la realitzat individualment, la nota final d'AC/Pràctica serà una D per a tots ells, d'acord amb la normativa UOC de plagi ja indicada anteriorment.

Amunt

Les proves finals presencials, depenent de la via d'avaluació escollida, consisteixen en una prova de síntesi o en un examen.

Els estudiants que hagin superat l'avaluació continuada (creuament entre la nota resultant de combinar les tres PAC i la nota final de combinar les PR) han de realitzar una prova de síntesi (PS).

Els que no hagin superat l'avaluació continuada (no hagin realitzat o no hagin superat la nota combinada de les PAC) però que hagin superat la nota final de pràctiques hauran de realitzar un examen final.

En qualsevol de les dues vies la superació de la part pràctica és imprescindible.

Amunt

De cadascuna de les activitats d'avaluació del curs (PAC i Pràctiques), a més de les solucions publicades a l'agenda de l'aula, els estudiants en el llindar de l'aprovat (C+/C-), rebran un feedback personal en què es comenten els errors comesos i es donen indicacions de millora.
Aquest feedback es rebrà mitjançant el mateix aplicatiu de lliurament i registre d'AC en la data de publicació de les qualificacions de cada activitat.

Amunt