
Fonaments de Programació II
Codi: 108256Crèdits: 9
| Titulació | Tipus | Curs |
|---|---|---|
| Intel·ligència Artificial / Bachelor in Artificial Intelligence | OB | 1 |
Professor/a de contacte
- Nom :
- Abraham De la Rosa Ibarra
- Correu electrònic :
- abraham.delarosa@uab.cat
Idiomes dels grups
Podeu consultar aquesta informació al final del document.
Prerequisits
The course has no official prerequisites. Nevertheless, it is recommended that students have a good knowledge of the basic concepts of programming and Python.
Objectius
Aquest curs és la continuació de Fonaments de Programació I, i els objectius generals són:
- Comprendre diferents estructures de dades, com piles, cues i llistes.
- Comprendre diferents estructures de dades més complexes, com taules hash, arbres i grafs.
- Comprendre la memòria dinàmica i els punters.
- Comprendre diferents algorismes per ordenar i cercar, i les limitacions d'aquests algoritmes.
- Ser capaç d'analitzar un problema complex, dissenyar una solució eficient, implementar-la, calcular-ne el cost i provar-la.
- Introduir el concepte de recursivitat i la seva aplicació, així com ser capaç d'analitzar la complexitat dels algorismes recursius.
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.
- CM02 (Organitzar les tasques per al desenvolupament d’un projecte de programari demostrant la capacitat de lideratge i cooperació necessàries per a l’èxit del projecte.) Organitzar les tasques per al desenvolupament d’un projecte de programari demostrant la capacitat de lideratge i cooperació necessàries per a l’èxit del projecte.
- KM07 (Descriure les metodologies i els procediments per a l’anàlisi, el disseny, la validació i la gestió de projectes de desenvolupament de programari.) Descriure les metodologies i els procediments per a l’anàlisi, el disseny, la validació i la gestió de projectes de desenvolupament de programari.
Continguts
Els continguts de l’assignatura son:
- Memòria dinàmica: Punters
- Estructures de dades dinàmiques (llistes, piles, cues)
- Algorismes d'ordenació i cerca
- Anàlisi de la complexitat dels algorismes
- Estructures de dades no lineals. Tècniques de hashing: Matrius hash i llistes hash
- Recursivitat
- Grafs
- Arbres
Programació avançada de diferents estructures de dades dinàmiques en llenguatge C.
Activitats formatives i Metodologia
| Títol | Hores | ECTS | Resultats d'aprenentatge |
|---|---|---|---|
| Estudi de la materia, preparació i realització de problemes i pràctiques. | 144 | 5,76 | CM01, CM02, KM07 |
| Problemes | 18 | 0,72 | CM01, CM02 |
| Teoria | 39 | 1,56 | KM07 |
| Pràctiques | 18 | 0,72 | CM01, CM02 |
Farem servir la plataforma moodle (Caronte o Campus Virtual) per compartir materials, lliurar projectes i altres activitats administratives. Al començament del curs es publicaran tots els detalls.
La metodologia docent se centrarà principalment en el treball pràctic. S'hi organitzaran sessions presencials per a la discussió dels continguts teòrics de l'assignatura, seguides d'exercicis i problemes de programació. Més concretament, els diferents tipus d'activitats docents són els següents:
- Classes teòriques: Explicació a pissarra de la part teòrica de cada tema del programa. L'estructura típica d'una classe serà la següent: en primer lloc, es realitzarà una introducció on s'exposaran breument els objectius de la classe i els continguts a tractar. A continuació, s'abordaran els continguts d'un tema, incloent-hi exposicions narratives, desenvolupaments formals que aportin fonaments teòrics i intercalant exemples pràctics que il·lustrin l'aplicació dels continguts exposats. Finalment, el professorat exposarà les conclusions dels continguts tractats. Les classes teòriques, tot i ser principalment una explicació per part del professorat, seran participatives per als/les alumnes donant-los l'oportunitat de preguntar aquells punts que no acaben d'entendre. Als/les alumnes se'ls plantejaran constantment preguntes i problemes per comprovar la bona comprensió del tema exposat. Hi haurà 2 exàmens per avaluar aquesta part de l'assignatura.
– Classes de resolució de problemes: Resolució conjunta de problemes. Tots els temes aniran acompanyats d'un conjunt de problemes que l'estudiant haurà d'intentar resoldre. En aquest sentit, i a mesura que l'estudiant progressi i aprofundeixi en els coneixements, aquests problemes seran progressivament més complexos. Les classes seran el fòrum natural en què es pugui discutir en comú el desenvolupament del treball pràctic, aportant els coneixements que falten a l'estudiant per tirar-lo endavant. Les classes de resolució de problemes tenen com a missió servir de pont entre les classes teòriques i les classes de laboratori, cosa que fomentarà la capacitat d'anàlisi i síntesi, el desenvolupament del raonament crític i que capacitarà a l'estudiant en la resolució de problemes.
- Projectes pràctics: els/les estudiants treballaran en parelles i recorreran els diferents passos del cicle de vida del desenvolupament de programari per implementar la solució a un problema. Aquests projectes pràctics completaran les assignatures teòriques on l'estudiant desenvoluparà diversos programes i haurà d'intentar resoldre un problema concret proposat. Aquests projectes hauran de ser lliurats a les dates indicades. Hi haurà 2 projectes pràctics.
Aquest enfocament de treball s'adreça a promoure l'aprenentatge actiu i desenvolupar competències d'organització i planificació, comunicació oral i escrita, treball en equip i raonament crític. Es valorarà especialment la qualitat dels exercicis realitzats, de la presentació i del funcionament.
Tots els detalls del funcionament, el calendari i les dates d'avaluació s'informaran al començament del curs i apareixeran a la plataforma de comunicació.
Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, perquè els alumnes completin 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 |
|---|---|---|---|---|
| Pràctiques | 30 | 2 | 0,08 | CM01, CM02, KM07 |
| Teoria/Problemes Control 1 | 35 | 2 | 0,08 | CM01, KM07 |
| Teoria/Problemes Control 2 | 35 | 2 | 0,08 | CM01, KM07 |
a) Activitats d’avaluació programades
Teoria/Problemes Control 1: 35% de la nota final;
Teoria/Problemes Control 2: 35% de la nota final;
Pràctiques: 30% de la nota final;
És imprescindible que la mitjana ponderada de les tres activitats d'avaluació sigui com a mínim un 5 per superar l'assignatura. A més, és necessari una nota mínima de 5 en la mitja dels dos controls i un nota mínima de 5 en les Pràctiques.
Nota important: El personal docent pot sol·licitar una entrevista o una prova de validació de les pràctiques (laboratori) presentades per l'estudiant, quan ho considerin necessari. El resultat de l'entrevista o de la prova de validació pot invalidar l’entrega, deixant un zero com a nota en aquella secció i, per tant, suspenent el curs.
Pel que fa referència als controls, reavaluacions i qualsevol activitat avaluable, no es permetrà l'entrada de cap alumne/a transcorreguts 5 minuts des del començament de la prova/activitat. A les proves avaluatives no es pot fer servir telèfons mòbils.
En cas de no superar l'assignatura, la nota numèrica de l'expedient serà el valor menor entre 4.5 i la mitjana ponderada de les notes.
b) Procés de Recuperació:
Aquells/es estudiants/es que, tot i fer l’avaluació continuada, no hagin assolit el mínim necessari per superar l'assignatura, tindran opció a una recuperar un o els dos controls de la part de Teoria/Problemes. La part de Pràctiques, atesa la seva naturalesa, no es pot recuperar. Les notes obtingudes en la o les recuperacions seran les definitives per fer mitja en la nota final del curs.
c) Programació d’activitats d’avaluació
La calendarització de les activitats d'avaluació es donarà el primer dia de l'assignatura i es farà pública a través del Campus Virtual. Aquestes dates poden estar subjectes a canvis de programació per motius d'adaptació a possibles incidències; sempre s'informarà a través del campus virtual sobre aquests canvis ja que s'entén que és el mecanisme habitual d'intercanvi d'informació entre el professorat i l'alumnat
d) Procediment de revisió de les qualificacions
Per a cada activitat d'avaluació, els alumnes que ho desitgin podran demanar data i hora per revisar aquesta avaluació amb el professorat corresponent. La sol·licitud de revisió haurà de ser feta en els dies que s'indiquin per a cada activitat, fora d'aquest temps no es podrà agendar la revisió.
e) Qualificacions
Matrícula d'Honor: Un/a estudiant podrà obtenir la qualificació de Matrícula d'Honor sempre i quan la nota final de l'assignatura sigui 9 o superior i tenint en compte el percentatge màxim de Matrícules d'Honor que es poden atorgar segons la normativa de la UAB.
Atès que la metodologia d’avaluació és continuada, el fet que es faci qualsevol lliurament d’alguna evidència avaluable (exercici de problemes, control, pràctiques...) s’interpreta com la voluntat expressa de presentar-se a l’assignatura i per tant de ser avaluat/da amb una nota diferent de No Avaluable (NA). Una qualificació de NA només es pot obtenir no lliurant cap evidència avaluable en tot el curs.
f) Irregularitats per part de l'alumnat, còpia i plagi
Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, les irregularitats comeses per un/a estudiant que puguin conduir a una variació de la qualificació en una activitat avaluable es qualificaran amb un zero (0). Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables. Si és necessari superar qualsevol d'aquestes activitats d'avaluació per aprovar l'assignatura, aquesta assignatura quedarà suspesa directament, sense oportunitat de recuperar-la 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 copiar;
- presentar un treball de grup no fet íntegrament pels membres del grup (aplicat a tots els membres, no solament als que no han treballat);
- ús no autoritzat de la IA (p. ex, Copilot, ChatGPT o equivalents) per a resoldre qualsevol activitat avaluable;
- presentar com a propis materials elaborats per un tercer, encara que siguin traduccions o adaptacions, i en general treballs amb elements no originals i exclusius de l'estudiant;
- tenir dispositius de comunicació (com telèfons mòbils, smart watches, bolígrafs amb càmera, etc.) accessibles durant les proves d'avaluació teòric-pràctiques individuals (exàmens);
- parlar amb companys durant les proves d'avaluació teòric-pràctiques individuals (exàmens);
- copiar o intentar copiar d'altres alumnes durantles proves d'avaluació teoricopràctiques (exàmens);
- usar o intentarusar escrits relacionats amb la matèria durant la realització de les proves d'avaluació teòric-pràctiques (exàmens), quan aquests no hagin estat explícitament permesos.
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ó, la correcció de textos o les traduccions. L'estudiant haurà d'identificar clarament quines parts han estat generades amb aquesta tecnologia, especificar les eines emprades i incloure una reflexió critica 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 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
En resum: copiar, deixar copiar o plagiar (o l'intent de) en qualsevol de les activitats d'avaluació equival a un SUSPENS, no compensable i sense convalidacions de parts de l’assignatura en cursos posteriors.
g) Avaluació única
Aquesta assignatura no preveu el sistema d’avaluació única
h) Reprogramació de proves d’avaluació
D’acord amb la normativa, l’estudiantat que no pugui assistir a un Control de Teoría/Problemes donat que suposa més d’un 20% de la nota final de l’assignatura, té dret a una prova o activitat alternativa avaluable en els casos següents:
- Situacions mèdiques sobrevingudes que incapaciten poder dur a terme l’activitat d’avaluació.
- Afers judicials amb citació oficial.
- Assistència a oposicions oficials.
- Defunció d’un familiar fins a segon grau el dia de l’examen o en els quatre dies anteriors a la data de l’examen.
- Assistència a reunions dels òrgans col·legiats de representació universitària o altres motius previstos en les normatives respectives.
- Participació en programes de mobilitat de la UAB.
Tal com s’indica a l'apartat 6 de la Normativa, la sol·licitud de reprogramació s’haurà de fer arribar a la Gestió Acadèmica i de Serveis de l’Escola d’Enginyeria, juntament amb tota la documentació necessària, dintre dels cinc dies naturals anteriors a data de la prova i fins a cinc dies naturals immediatament posteriors.
Bibliografia
- Mark Allen Weiss: Data Structures and Algorithm Analysis in C (2nd Edition). Pearson, 1996.
- Mark Allen Weiss: Data Structures and Algorithm Analysis in C++. 4 th edition. Pearson, 2014.
- Kernighan, Brian; Ritchie, Dennis M., The C Programming Language (2nd edition). Englewood Cliffs, NJ:
- Prentice Hall. 1988.
- K.N. King: C Programming: A Modern Approach. 2nd edition. W.W. Norton & Company. 2008
- http://www.cplusplus.com/ : The C++ Resources Network
Programari
Windows/Linux
Microsoft Visual Code
Linux or Windows compilers
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 | 1 | Anglès | segon quadrimestre | tarda |
| (PAUL) Pràctiques d'aula | 1 | Anglès | segon quadrimestre | tarda |
| (PLAB) Pràctiques de laboratori | 1 | Anglès | segon quadrimestre | tarda |
| (PLAB) Pràctiques de laboratori | 2 | Anglès | segon quadrimestre | tarda |