Pràctiques de programació Codi:  05.555    :  6
Consulta de les dades generals   Descripció   L'assignatura en el conjunt del pla d'estudis   Camps professionals en què es projecta   Coneixements previs   Informació prèvia a la matrícula   Objectius i competències   Continguts   Consulta dels recursos d'aprenentatge de què disposa l'assignatura   Recursos d'aprenentatge i eines de suport   Informacions sobre l'avaluació a la UOC   Consulta del model d'avaluació  
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.)
En l'assignatura de Fonaments de Programació heu adquirit els conceptes bàsics de programació dins del paradigma clàssic o procedimental. En aquesta assignatura es busca ajudar a l'estudiant a acabar d'assimilar aquests conceptes bàsics de programació, aprofundint en alguns d'ells.
Fins a aquest moment, els problemes proposats es podien resoldre amb la utilització de les eines i conceptes teòrics explicats en els mòduls de teoria, seguint unes guies de bones pràctiques de programació. L'objectiu final de l'estudiant era l'obtenció d'un codi que resolgués el problema. En la resolució de problemes reals, però, l'obtenció de solucions informàtiques per resoldre problemes concrets és una tasca d'enginyeria, on la creativitat i perícia del programador pot ser la diferència entre arribar a una solució o que el projecte fracassi.
No existeixen receptes màgiques per a trobar solucions factibles a tots els problemes als que un programador es pot enfrontar al llarg de la seva vida professional. La única manera de que l'estudiant desenvolupi les capacitats d'abstracció de problemes i plantejament eficient de solucions, és mitjançant la creació dels seus propis mecanismes, cosa que només s'aconsegueix amb la pràctica. Per tant, aquesta serà una assignatura majoritàriament pràctica, on l'estudiant haurà d'afrontar problemes més complexes i tenir en compte aspectes d'optimització del codi per trobar solucions que no només funcionin, sinó que també siguin eficients en termes de velocitat i d'utilització de la memòria.
Seguint amb el que s'ha iniciat a l'assignatura de Fonaments de Programació, aquesta assignatura utilitzarà el llenguatge de programació C per tal de codificar les solucions als problemes proposats.

Amunt

Aquesta assignatura aprofundeix en els conceptes introduïts en l'assignatura Fonaments de Programació, i per tant es dona per assolit tot el seu temari. Donat que els conceptes introduïts en aquesta assignatura es recolzen en els conceptes bàsics de programació, si l'estudiant accedeix a aquesta assignatura sense haver assimilat els coneixements bàsics de Fonaments de Programació necessitarà molt més temps per a resoldre les tasques proposades, trobant-se amb una dificultat molt major per entendre els mòduls.
És important que al final de l'assignatura l'estudiant hagi assolit un alt nivell de programació dins el paradigma clàssic, donat que en successius semestres s'introduirà la programació dins el paradigma de la programació Orientada a Objecte, dins l'assignatura de Disseny i Programació Orientada a l'Objecte.

Amunt

L'assoliment d'un bon nivell d'algorísmica i programació és la base per a l'exercici professional dins de l'àmbit del desenvolupament d'aplicacions informàtiques, i en la majoria de les tasques que requereixen automatització de processos o simulació d'esdeveniments. A més a més, la capacitat d'abstracció a l'hora de resoldre un problema en la programació, resulta de gran utilitat en altres aspectes de la vida professional dels enginyers, creant bons hàbits de treball i una correcta estructuració i organització de les tasques.
A més a més, el llenguatge de programació C utilitzat en les pràctiques de l'assignatura és un llenguatge que s'utilitza àmpliament en tot tipus de problemes i àmbits, havent estat utilitzat com a font d'inspiració de molts altres llenguatges més moderns, el que us donarà la capacitat d'aprendre nous llenguatges de programació de forma senzilla.

Amunt

Els coneixements previs per a la realització de l'assignatura son els que s'especifiquen com a continguts a l'assignatura de Fonaments de Programació. En especial, cal tenir un bon coneixement en la formulació d'algoritmes i en les tècniques de programació estructurada. També és necessari tenir facilitat en la codificació d'algorismes en llenguatge C.

Amunt

Donat que aquesta assignatura és la continuació de Fonaments de Programació, es recomana tenir-la superada. En cas d'estudiants amb possibilitat de convalidar Fonaments de Programació, cal tenir en compte que per al correcte seguiment de Pràctiques de Programació cal disposar dels següents coneixements:

  • Conceptes bàsics de la programació estructurada
    • Flux d'un programa
    • Estructures de control condicional i iteratives
    • Modularitat: Definició i implementació d'accions i funcions
  • Tipus de dades
    • Tipus bàsics
    • Vectors i matrius
    • Tuples i taules
    • Tipus Abstractes de Dades bàsics (cues, piles i llistes)
    • Punters
  • Nocions de Recursivitat
  • Ús memòria dinàmica
  • Coneixement bàsic del llenguatge de programació C.

Com a estudiants de Pràctiques de Programació tindreu accés a tots els materials de Fonaments de Programació, però el temps de dedicació a l'assignatura i la seva dificultat será molt major en cas de no tenir nocions bàsiques d'aquests continguts.

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

La competència central d'aquesta assignatura és que l'estudiant assoleixi la capacitat de dissenyar i construir aplicacions informàtiques mitjançant tècniques de desenvolupament, integració i reutilització.
L'assoliment d'aquesta competència requereix treballar en les següents competències específiques:
1)       Saber escriure i implementar un algorisme que satisfaci uns requeriments preestablerts aplicant la metodologia més adient.
2)       Saber calcular la complexitat d'un algoritme i ser capaç de comparar les eficiències de les diverses solucions possibles per resoldre un problema donat.
3)       Conèixer en profunditat els llenguatges i eines de programació (IDE) més actuals i populars.
4)       Conèixer els diferents mecanismes per executar una aplicació (Compiladors, intèrprets, etc.).
5)       Conèixer profundament els recursos existents per a depurar un programa.
6)       Saber implementar (codificar) qualsevol disseny de programari.
7)       Saber escollir la estructura modular i de dades necessària per tal de construir una aplicació informàtica.
8)       Ser capaç d'entendre algoritmes i programes escrits (en un llenguatge de programació concret) per altres persones, així com conèixer els algoritmes i components de biblioteques més acceptats per a problemes concrets (ex. Manipulació de dades, etc.).
9)       Conèixer les bones pràctiques de programació (tabulació, comentaris, documentació, política de noms, etc.).

Amunt

En aquesta assignatura es treballa en els següents blocs temàtics:
1)       Disseny descendent.
2)       Formalització d'algoritmes.
3)    Tiipus Abstractes de Dades
4)       Recursivitat.
5)       Tècniques d'anàlisi d'algoritmes (complexitat algorítmica i eficiència).
6)       Algoritmes de cerca i classificació (cerca lineal, cerca binària, mètode de la bombolla, ordenació per inserció, ordenació per selecció, etc...).
A nivell pràctic es veu:
1)       Introducció a les eines de programació: Entorn de desenvolupament (IDE), compilador, intèrpret i depurador.
2)       El llenguatge de programació C.
3)       Gestió de la memòria.
4)       Entrada i Sortida.
5)       Implementació d'algoritmes complexes.

Amunt

Estructures de dades bàsiques PDF
Màquina virtual Fonaments de programació / Máquina virtual fundamentos de programación Programari en línia
Materials de programació Web
Pràctiques de programació Web

Amunt

Aquesta assignatura utilitzarà com a font de referència principal:
  1. Materials de Programació: Materials en format web que contenen les informacions teòriques i exemples pràctics necessàris per al seguiment de l'assignatura.
Per alguns temes del curs d'utilitzarà el llibre "Manual d'Algorítmica", escrit per Jesús Bisbal Riera, i que trobareu a la bibliografia de l'assignatura. En aquest llibre trobareu les explicacions teòriques i exemples.

Als recursos de l'aula de laboratori trobareu:

  • Manual del llenguatge C: Manual bàsic de programació en C.
  • Guia d'estil de programació en C.

 

Amunt

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 realitzats.

La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; l'intent fraudulent d'obtenir un resultat acadèmic millor; la col·laboració, l'encobriment o l'afavoriment de la còpia, o la utilització de material o dispositius no autoritzats durant l'avaluació, entre d'altres, són conductes irregulars que poden tenir conseqüències acadèmiques i disciplinàries greus.

D'una banda, si es detecta alguna d'aquestes conductes irregulars, pot comportar el suspens (D/0) en les activitats avaluables que es defineixin en el pla docent –incloses les proves finals– o en la qualificació final de l'assignatura, sigui perquè s'han utilitzat materials o dispositius no autoritzats durant les proves, com ara xarxes socials o cercadors d'informació a internet, perquè s'han copiat fragments de text d'una font externa (internet, apunts, llibres, articles, treballs o proves d'altres estudiants, etc.) sense la citació corresponent, o perquè s'ha practicat qualsevol altra conducta irregular.

De l'altra, i d'acord amb les normatives acadèmiques, les conductes irregulars en l'avaluació, a més de comportar el suspens de l'assignatura, poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció que correspongui.

Amunt

Aquesta assignatura només es pot superar 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.

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

 
 

Amunt