Logo

Fonaments de Programació I

Codi: 106553
Crèdits: 9
2026/2027
Titulació Tipus Curs
Intel·ligència Artificial / Bachelor in Artificial Intelligence FB 1

Professor/a de contacte

Nom :
Alicia Fornes Bisquerra
Correu electrònic :
alicia.fornes@uab.cat

Equip docent

Pau Torras Coloma

Idiomes dels grups

Podeu consultar aquesta informació al final del document.

Prerequisits

Cap

Objectius

Aquesta assignatura pretén oferir una introducció general a la programació. Els objectius generals són:

  • Comprensió del cicle de vida del programari: anàlisi del problema, disseny, implementació i prova.
  • Dissenyar algorismes per a la resolució de problemes, amb una rigorosa metodologia de programació estructurada.
  • Introduir un llenguatge de programació real, percebre la diferència entre una notació pseudo-algorítmica i la sintaxi d'un llenguatge de programació real. Inclou la comprensió dels aspectes lèxics (paraules vàlides de la llengua), sintàctics (regles per combinar-les) i semàntics (significat).
  • Comprendre i aplicar els conceptes bàsics de programació: estructures de control, estructures de dades i subprogrames.
  • Comprendre i aplicar els principis bàsics de la programació orientada a objectes: concepte de classe, objecte, encapsulació de dades, herència.
  • Familiaritzar-se amb els entorns de desenvolupament, seguint unes normes d'estil, i regles per a una millor comprensió del codi: comentaris, sagnat, etc.

Resultats d'aprenentatge

  • CM01 (Planificar i implementar projectes de programari en l’àmbit de la intel·ligència artificial que s’ajustin als requeriments de l’aplicació, abordant totes les fases de desenvolupament del projecte i seguint els principis i mètodes estàndards per a la gestió i el desenvolupament de projectes de programari.) Planificar i implementar projectes de programari en l’àmbit de la intel·ligència artificial que s’ajustin als requeriments de l’aplicació, abordant totes les fases de desenvolupament del projecte i seguint els principis i mètodes estàndards per a la gestió i el desenvolupament de projectes de programari.
  • KM05 (Identificar els conceptes bàsics de la programació estructurada i orientada a objectes i de la representació d’informació mitjançant estructures de dades.) Identificar els conceptes bàsics de la programació estructurada i orientada a objectes i de la representació d’informació mitjançant estructures de dades.
  • SM05 (Seleccionar les estructures algorítmiques i de representació de dades i les tècniques de programació apropiades per a la resolució eficient de problemes algorítmics.) Seleccionar les estructures algorítmiques i de representació de dades i les tècniques de programació apropiades per a la resolució eficient de problemes algorítmics.
  • SM06 (Desenvolupar el disseny, la codificació, la depuració i la prova de programes utilitzant les eines adequades per garantir la qualitat del programari.) Desenvolupar el disseny, la codificació, la depuració i la prova de programes utilitzant les eines adequades per garantir la qualitat del programari.

Continguts

  • Resolució de problemes: Introducció a l'algorisme i la programació
  • Conceptes bàsics i estructures de control
  • Estructures de dades.
  • Subprogrames
  • Fitxers
  • Prevenció i detecció d'errors
  • Introducció a la programació orientada a objectes

Activitats formatives i Metodologia

Títol Hores ECTS Resultats d'aprenentatge
Projectes de programació 50 2
Resolució de problemes 60 2,4
Treball individual 35 1,4
Sessions teòriques 25 1
Seminaris de resolució de problemes 50 2

La plataforma Caronte (http://caronte.uab.cat/) s'utilitzarà per compartir els materials, lliurar els treballs/projectes, consultar les notes de l'assignatura, comunicar-se amb el professorat, etc. Per matricular el curs cal inscriure's (amb nom, NIU i foto) i matricular-se de l'assignatura (el codi de l'assignatura es facilita el primer dia de classe).

La metodologia docent estarà centrada principalment en treballs pràctics. S'organitzaran sessions a l'aula per debatre els continguts teòrics de l'assignatura, seguits d'exercicis i problemes de programació. Concretament, els diferents tipus d'activitats docents són els següents:

  • Exposició de continguts. Les activitats de teoria estan orientades a consolidar els aspectes més teòrics de l'assignatura, des d'una perspectiva molt pràctica amb exemples. Alguns d'aquests continguts teòrics s'han d'haver preparat abans de la classe: lectura de textos, visualització de vídeos, recerca d'informació, etc.
  • Classes magistrals participatives: Resolució conjunta del conjunt de problemes proposats per consolidar els continguts teòrics. Tots els problemes estaran disponibles a la plataforma Caronte, i seran autoavaluables. Aquestes activitats permeten a l'estudiant aprofundir en la comprensió i obtenir un coneixement personalitzat. Són autoavaluables per permetre ajustar el ritme de consolidació i reflexionar sobre el nostre propi aprenentatge.
  • Projectes: Programació de breus projectes pràctics per aprofundir en els conceptes teòrics aplicats. Aquests projectes es resoldran en grups reduïts, on cada membre haurà de fer una part del treball i posar-lo en comú amb la resta del grup per tenir la solució definitiva.
  • Les sessions de tutoria seran de lliure disposició per als estudiants per resoldre dubtes relacionats amb el curs.

 

Dins l'horari marcat pel centre o titulació, es reservaran 15 minuts d'una classe perquè els estudiants avaluïn els seus professors i els seus cursos o mòduls mitjançant qüestionaris.

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, perquè l'alumnat completi les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura.

Avaluació

Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Projectes de programació 50 1 0,04 CM01, KM05, SM05, SM06
2on examen parcial 25 2 0,08 KM05, SM05, SM06
1er examen parcial 25 2 0,08 KM05, SM05, SM06

L'avaluació serà contínua, pel que no s'ofereix la possibilitat de fer avaluació única.

  • Exàmens (Par): Es faran dos exàmens escrits teòrico-pràctics individuals. El primer (Par1) es farà aproximadament a la meitat del semestre. La segona (Par2) tindrà lloc al final del quadrimestre i avaluarà els conceptes teòrics no avaluats a Par1.
  • Examen de recuperació: En cas que la nota de teoria no arribi a l'aprovat (5), els estudiants podran fer un examen de recuperació on entrarà tot el temari.

Nota dels projectes

  • Cada projecte s'avalua a través del lliurament, una presentació oral que els estudiants realitzaran a classe i un procés d'avaluació individual. La participació dels estudiants a les tres activitats (preparació del lliurable, presentació i avaluació individual) és necessària per obtenir la qualificació dels projectes. La qualificació es calcula de la manera següent: Nota del Projecte = 0.6 * Avaluació Lliurament + 0.3 * Avaluació Presentació + 0.1 * Avaluació individual
  • Si en fer el càlcul anterior s'obté >= 5 però l'estudiant no va participar en alguna de les activitats (lliurables, presentació, avaluació individual), aleshores s'atorgarà una qualificació final de 4 al projecte corresponent.
  • En cas que es presenti el lliurament, però la nota final del projecte no arribi al mínim de 5, hi haurà recuperació del projecte. En cas de no presentar el lliurament o considerar-lo copiat, no hi haurà recuperació i l'assignatura serà considerada suspesa. La nota màxima del projecte que es pot obtenir en cas de recuperació és de 7.

INDICADORS DE NOTA:

La nota final es calcula de la següent manera:

  • Examen parcial 1 = Par1
  • Examen parcial 2 = Par2
  • Nota de teoria = 0'5*Par1 +0'5*Par2
  • Nota del projecte = 0’5*Proj1 + 0’5*Proj2
  • NOTA FINAL DE CURS = 0'5 * Nota de teoria + 0'5 * Nota del projecte


CRITERIS D'AVALUACIÓ

  • Per consider la Nota de Teoria, cal obtenir una nota mínima de 4 en cada parcial per fer la mitjana.
  • Per considerar la Nota del Projecte, cal obtenir una nota mínima de 4 en cada lliurament per fer la mitjana.
  • Si l'estudiant no supera algun dels lliuraments del projecte, la puntuació màxima que es pot obtenir en la recuperació és de 7.
  • Per aprovar cada part (teoria i projecte) cal obtenir un mínim de 5.
  • L'assignatura s'aprovarà si la PUNTUACIÓ FINAL DE L'ASSIGNATURA és superior o igual a 5.
  • En cas de no assolir el mínim exigit en alguna de les activitats d'avaluació, la nota numèrica de l'expedient serà el valor inferior entre 4,5 i la mitjana ponderada de les qualificacions.


NO AVALUABLE: Si l'alumne no realitza cap activitat d'avaluació.

ALUMNES REPETIDORS: No es conserva/valida cap part aprovada per separat (teoria, projecte) d'un curs acadèmic a un altre.

MATRICULA D’HONOR (MH): L'atorgament d'una matricula d'honor és decisió del professorat responsable de l'assignatura. La normativa de la UAB indica que l'MH només es pot concedir als estudiants que hagin obtingut una nota final igual o superior a 9,00. Es pot atorgar fins a un 5% MH del nombre total d'estudiants matriculats.


CALENDARI D'AVALUACIÓ:

  • Exàmens parcials: segons el calendari acadèmic de l'Escola Tècnica Superior d'Enginyeria.
  • Examen de recuperació: segons el calendari acadèmic de l'Escola Tècnica Superior d'Enginyeria.
  • Lliuraments del projecte: data i hora fixades prèviament a Caronte.


Les dates de lliurament a Caronte poden estar subjectes a canvis de programa per motius d'adaptació a possibles incidències. Aquests canvis s'informaran sempre a Caronte, ja que és el mecanisme habitual d'intercanvi d'informació entre professors i alumnes.

Per a cada activitat d'avaluació s'indicarà un lloc, data i hora de revisió en què l'alumne podrà revisar l'activitat amb el professor. En aquest context, es podran fer reclamacions sobre la nota de l'activitat, que serà avaluada pel professorat responsable de l'assignatura. Si l'alumne no acudeix a aquesta revisió, l'activitat no es revisarà més endavant.


CÒPIES I PLAGI

Sense perjudici d'altres que es considerin oportuns i d'acord amb la normativa vigent de disciplina acadèmica, les irregularitats comeses per un estudiant que puguin donar lloc a una variació de la qualificació es valoraran amb una nota zero (0). Les activitats d'avaluació classificades d'aquesta manera i per aquest procediment no seran recuperables. Si és necessari superar alguna d'aquestes activitats d'avaluació per aprovar l'assignatura, aquest curs quedarà suspès directament, sense possibilitat de recuperar-lo en el mateix curs. Aquestes irregularitats inclouen, entre d'altres:

  • la còpia total o parcial d'una pràctica, informe o qualsevol altra activitat d'avaluació;
  • deixar que altres copiïn l’examen/treball;
  • presentar un treball en grup que no hagi estat fet completament pels membres del grup;
  • presentar com a propis aquells materials elaborats per un tercer, encara que siguin traduccions o adaptacions, i en general obres amb elements no originals i exclusius de l'estudiant;
  • disposar de dispositius de comunicació (com ara telèfons mòbils, rellotges intel·ligents, etc.) accessibles durant les proves d'avaluació teòrica - pràctiques individuals (exàmens).
  • En cas que l'estudiant hagi comès irregularitats en alguna part d'avaluació (i per tant no es podrà aprovar per compensació), la nota numèrica de l'assignatura serà el valor inferior entre 3,5 i la mitjana ponderada de les notes. En resum: copiar, deixar copiar el teutreball o plagiar en alguna de les activitats d'avaluació equival aun suspens amb una nota inferior a 3,5.

Ús de la IA (Intel·ligència Artificial)

Model 2 - Ús restringit: Per a aquesta assignatura, es permet l'ús de tecnologies d'Intel·ligència Artificial (IA) exclusivament en tasques de suport, com la cerca bibliogràfica o d’informació. L'estudiant haurà d'identificar clarament quines parts han estat generades amb aquesta tecnologia, especificar les eines emprades i incloure una reflexió crítica sobre com aquestes han influït en el procés i el resultat final de l’activitat. La no transparència de l’ús de la IA en aquesta activitat avaluable es considerarà falta d'honestedat acadèmica i pot comportar una penalització parcial o total en la nota de l'activitat, o sancions majors en casos de gravetat.

Bibliografia

  • J. Guttag. Introduction to Computation and Programming Using Python: With Application to Understanding Data. Second Edition. MIT Press. ISBN-10: 9780262529624.
  • S. Chazallet Python 3. Los fundamentos del lenguaje.  Eni, ISBN-10: 2409006140.
  • E. Matthes. Python Crash Course: A Hands-On, Project-Based Introduction to Programming. No Starch Press ISBN-10: 1593276036.
  • M. Myers. A Smarter Way to Learn Python: Learn it faster. Remember it longer. Createspace Independent Pub  ISBN-10: 1974431479.
  • D. Phillips, C. Giridhar, S. Kasampalis. Python: master the art of design patterns. Packt Publishing, 2016.
  • Steven F. Lott. Mastering object-oriented Python. Packt publishing, 2014.
  • Clean code: a handbook of agile software craftmanship. R.C. Martin. Prentice Hall, 2008.

Programari

Anaconda, que inclou Python i Spyder (https://www.anaconda.com/download)

Grups i idiomes de l'assignatura

La informació proporcionada és provisional fins al 30 de novembre. A partir d'aquesta data, podreu consultar l'idioma de cada grup a través d'aquest enllaç. Per accedir a la informació, caldrà introduir el CODI de l'assignatura

Tipus de docència Grup Idioma Semestre Torn
(TE) Teoria 71 Anglès primer quadrimestre tarda
(PAUL) Pràctiques d'aula 711 Anglès primer quadrimestre tarda
(PLAB) Pràctiques de laboratori 712 Anglès primer quadrimestre tarda
(PLAB) Pràctiques de laboratori 711 Anglès primer quadrimestre tarda