Pràctiques de programació Codi:  11.578    :  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 la UOC per a l'assignatura   Informació addicional sobre els 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 per al primer semestre del curs 2024-2025. Podeu consultar 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

A la UOC, l'avaluació generalment és virtual. S'estructura entorn de l'avaluació contínua, que inclou diferents activitats o reptes; l'avaluació final, que es porta a terme mitjançant proves o exàmens, i el treball final de la titulació.

Les activitats o proves d'avaluació poden ser escrites i/o audiovisuals, amb preguntes aleatòries, proves orals síncrones o asíncrones, etc., d'acord amb el que decideixi cada equip docent. Els treballs finals representen el tancament d'un procés formatiu que implica la realització d'un treball original i tutoritzat que té com a objectiu demostrar l'adquisició competencial feta al llarg del programa.

Per verificar la identitat de l'estudiant i l'autoria de les proves d'avaluació, la UOC es reserva la potestat d'aplicar diferents sistemes de reconeixement de la identitat i de detecció del plagi. Amb aquest objectiu, la UOC pot dur a terme enregistrament audiovisual o fer servir mètodes o tècniques de supervisió durant l'execució de qualsevol activitat acadèmica.

Així mateix, la UOC pot exigir a l'estudiant l'ús de dispositius electrònics (micròfons, càmeres o altres eines) o programari específic durant l'avaluació. És responsabilitat de l'estudiant assegurar que aquests dispositius funcionen correctament.

El procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat de les activitats acadèmiques. Al web sobre integritat acadèmica i plagi de la UOC hi ha més informació respecte d'aquesta qüestió.

La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; la suplantació d'identitat; l'acceptació o l'obtenció de qualsevol activitat acadèmica a canvi d'una contraprestació o no; la col·laboració, l'encobriment o l'afavoriment de la còpia, o l'ús de material, programari o dispositius no autoritzats en el pla docent o l'enunciat de l'activitat acadèmica, inclosa la intel·ligència artificial i la traducció automàtica, entre altres, són conductes irregulars en l'avaluació que poden tenir conseqüències acadèmiques i disciplinàries greus.

Aquestes conductes irregulars poden 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, programari o dispositius no autoritzats durant les proves (com l'ús d'intel·ligència artificial no permesa, 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, per la compravenda d'activitats acadèmiques, o perquè s'ha dut a terme qualsevol altra conducta irregular.

Així mateix, i d'acord amb la normativa acadèmica, les conductes irregulars en l'avaluació també poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció que correspongui, de conformitat amb el que estableix la normativa de convivència de la UOC.

En el marc del procés d'avaluació, la UOC es reserva la potestat de:

  • Sol·licitar a l'estudiant que acrediti la seva identitat segons el que estableix la normativa acadèmica.
  • Sol·licitar a l'estudiant que acrediti l'autoria del seu treball al llarg de tot el procés d'avaluació, tant en l'avaluació contínua com en l'avaluació final, per mitjà d'una entrevista oral síncrona, que pot ser objecte d'enregistrament audiovisual, o pels mitjans que estableixi la Universitat. Aquests mitjans tenen l'objectiu de verificar els coneixements i les competències que garanteixin la identitat de l'estudiant. Si no és possible garantir que l'estudiant és l'autor de la prova, aquesta pot ser qualificada amb una D, en el cas de l'avaluació contínua, o amb un suspens, en el cas de l'avaluació final.

Intel·ligència artificial en el marc de l'avaluació

La UOC reconeix el valor i el potencial de la intel·ligència artificial (IA) en l'àmbit educatiu, alhora que posa de manifest els riscos que comporta si no s'utilitza de manera ètica, crítica i responsable. En aquest sentit, en cada activitat d'avaluació s'informarà l'estudiantat sobre les eines i els recursos d'IA que es poden utilitzar i en quines condicions. Per la seva banda, l'estudiantat es compromet a seguir les indicacions de la UOC a l'hora de dur a terme les activitats d'avaluació i de citar les eines utilitzades i, concretament, a identificar els textos o les imatges generats per sistemes d'IA, els quals no podrà presentar com si fossin propis.

Amb relació a fer servir o no la IA per resoldre una activitat, l'enunciat de les activitats d'avaluació indica les limitacions en l'ús d'aquestes eines. Cal tenir en compte que fer-les servir de manera inadequada, com ara en activitats en què no estan permeses o no citar-les en les activitats en què sí que ho estan, es pot considerar una conducta irregular en l'avaluació. En cas de dubte, es recomana que, abans de lliurar l'activitat, es faci arribar una consulta al professorat col·laborador de l'aula.

Amunt

Per aprovar l'assignatura has de superar l'avaluació contínua (AC) i fer una prova de síntesi (PS).

La qualificació final (QF) de l'assignatura es calcula d'acord amb el següent:

  • Si superes l'AC i a la prova de síntesi obtens la nota mínima necessària, la nota final es ponderarà d'acord amb els valors establerts en el pla docent.
  • Si superes l'AC però no obtens la nota mínima necessària a la prova de síntesi, la nota final serà la qualificació numèrica obtinguda a la PS.
  • Si superes l'AC i no et presentes a la prova de síntesi, la nota final serà un No presentat.
  • Si no superes l'AC, la nota final serà la nota de l'AC.
  • Si no et presentes a l'AC, la nota final serà un No presentat.

 

Amunt