
Fonaments de Programació
Codi: 102154 Crèdits: 6| Titulació | Tipus | Curs |
|---|---|---|
| Empresa i Tecnologia | FB | 1 |
Professor/a de contacte
- Nom:
- Roger Malet Munté
- Correu electrònic:
- roger.malet@uab.cat
Equip docent
- Marc Vallribera Ros
Idiomes dels grups
Podeu consultar aquesta informació al final del document.
Prerequisits
Per poder seguir correctament aquesta assignatura calen uns coneixements previs d'algorítmica i resolució de problemes. Aquests coneixements s'assoleixen a l'assignatura "Introducció a la Resolució de Problemes i Disseny d'Algorismes" (102151), que es dona al primer semestre i que dona els mecanismes necessaris per saber afrontar els problemes que s'hauran de resoldre mitjançant la programació en un llenguatge d'alt nivell.
Objectius
Els objectius d'aquesta assignatura són els d’introduir els conceptes bàsics de la programació d'aplicacions informàtiques per resoldre problemes que es poden donar en l'àmbit empresarial. La idea d'aquest curs és poder implementar algorismes en un llenguatge de programació per tal de poder generar solucions finals que resolguin problemes concrets i automatitzar certs processos informàtics que es donen a l'entorn de les empreses. A més, entendre el procés de generació d'aplicacions ha de permetre una major comprensió dels processos informàtics més complexes que es donen en aquest mateix àmbit.
Així, els objectius formatius de l'assignatura es poden resumir en:
- Entendre i utilitzar les estructures bàsiques de la programació estructurada
- Implementar algorismes en un llenguatge de programació d'alt nivell
• Objectiu:
• Introduir la forma en que els ordinadors processen la informació, el paper dels llenguatges de programació i el procés de desenvolupar aplicacions.
• Contingut:
1. Ordinadors i algorismes: Processament de la informació
2. Llenguatges de programació i programes
3. Desenvolupament de software amb l’ordinador
4. Emmagatzemament de la informació en l’ordinador
Tema 2: Iniciació a la programació en C
• Objectiu:
• Primer contacte amb un llenguatge de programació, el C, i les seves característiques principals.
• Contingut:
1. El meu primer programa en C
2. Elements de C
3. Les dades en C
4. Les variables
5. Operant amb dades
6. L’entrada/sortida
7. Exemples
Tema 3: Estructures de control
• Objectiu:
• Introducció a les estructures que permeten a un programa en C prendre decisions i aplicar algorismes bàsics.
• Contingut:
1. Estructura general d'un programa: estructures de control
2. Estructures seqüència
3. Estructures de selecció (if, else, switch)
4. Estructures d’iteració (while, do_while, for)
5. Les instruccions break i continue
6. Més sobrel’operador increment/decrement
7. Exemples
Tema 4: Programació estructurada
• Objectiu:
• Introducció a les estructures que permeten organitzar el codi en C per que les aplicacions siguin llegibles i escalables.
• Contingut:
1. Programació estructurada i modular
2. Procediments i funcions
3. Funcions
4. Procediments
5. Variables i pas de paràmetres
6. La recursivitat
7. Exemples
Tema 5: Vectors (arrays): Llistes i taules
• Objectiu:
• Estudi dels elements que permeten crear llistes i taules d’elements en el llenguatge C.
• Contingut:
1. Introducció
2. Vectors (llistes)
3. Cadenes (llistes) de caràcters
4. Matrius
5. Pas de paràmetres
6. Operant amb vectors (llistes)
7. Exemples
Tema 6: Estructures
• Objectiu:
• Introducció als tipus de dades definits pel programador, que ajuden a crear tipus més complexes que els que defineix el propi llenguatge C.
• Contingut:
1. Introducció a les estructures (registres)
2. Niació d’estructures
3. Pas d’estructures
4. Exemples
Tema 7: L’apuntador
• Objectiu:
• Estudi dels apuntadors, o variables que contenen la direcció de memòria d’una altra variable.
• Contingut:
1. Introducció a l'apuntador
2. L’apuntador en arrays
3. Arrays d’apuntadors
4. Apuntadors d’apuntadors
5. L’apuntador en el pas de paràmetres
6. L’apuntador en estructures
7. Aritmètica d’apuntadors
8. Exemples
Tema 8: Fitxers
• Objectiu:
• Introducció als mecanismes que permeten tractar fitxers en C.
• Contingut:
1. Introducció
2. Escriptura de fitxers
3. Lectura de fitxers
4. Funcions i opcions de lectura/escriptura
5. Fitxers d’accés aleatori
6. Pas d’arguments pel nom de programa
Tema 9: Introducció a la programació orientada a objectes (O.O.)
• Objectiu:
• Introducció al paradigma de programació que veu un programa com a una sèrie d’objectes o entitats que es relacionen entre ells.
• Contingut:
1. Què és la programació O.O.?
2. Característiques de la programació O.O.
3. Classe i instància
4. Com escriure una classe en C++
5. Exemples
Resultats d'aprenentatge
- CM28 (Competència) Utilitzar les estructures bàsiques de programació estructurada per resoldre problemes de lentorn empresarial.
- KM14 (Coneixement) Identificar les tècniques d'anàlisi d'algorismes i programes.
- SM26 (Habilitat) Codificar algorismes utilitzant les tècniques de programació estructurada.
Continguts
Tema 1: Introducció
• Objectiu:
Introduir la forma en que els ordinadors processen la informació, el paper dels llenguatges de programació i el procés de desenvolupar aplicacions.
• Contingut:
1.1. Ordinadors i algorismes: Processament de la informació
1.2. Llenguatges de programació i programes
1.3. Desenvolupament de software amb l’ordinador
1.4. Emmagatzemament de la informació en l’ordinador
Tema 2: Iniciació a la programació en Python
• Objectiu:
Primer contacte amb un llenguatge de programació, i les seves característiques principals.
• Contingut:
2.1. El meu primer programa
2.2. Elements del llenguatge de programació
2.3. Les dades el llenguatge de programació
2.4. Les variables
2.5. Operant amb dades
2.6. L’entrada/sortida
2.7. Exemples
Tema 3: Estructures de control
• Objectiu:
Introducció a les estructures que permeten a un programa prendre decisions i aplicar algorismes bàsics.
• Contingut:
3.1. Estructura general d'un programa: estructures de control
3.2. Estructures seqüència
3.3. Estructures de selecció
3.4. Estructures d’iteració
3.5. Més sobre l’operador increment/decrement
3.6. Exemples
Tema 4: Programació estructurada
• Objectiu:
Introducció a les estructures que permeten organitzar el codi per que les aplicacions siguin llegibles i escalables.
• Contingut:
4.1. Programació estructurada i modular
4.2. Procediments i funcions
4.3. Funcions / Procediments
4.4. Variables i pas de paràmetres
4.5. La recursivitat
4.6. Exemples
Tema 5: Vectors: Llistes i taules
• Objectiu:
Estudi dels elements que permeten crear llistes i taules d’elements en el llenguatge.
• Contingut:
5.1. Introducció
5.2. Vectors (llistes)
5.3. Cadenes (llistes) de caràcters
5.4. Matrius
5.5. Pas de paràmetres
5.6. Operant amb vectors (llistes)
5.7. Exemples
Tema 6: Estructures
• Objectiu:
Introducció als tipus de dades definits pel programador, que ajuden a crear tipus més complexes que els que defineix el propi llenguatge.
• Contingut:
6.1. Introducció a les estructures (registres)
6.2. Nidació d’estructures
6.3. Pas d’estructures
6.4. Exemples
Tema 7: Fitxers
• Objectiu:
Introducció als mecanismes que permeten tractar fitxers.
• Contingut:
7.1. Introducció
7.2. Escriptura de fitxers
7.3. Lectura de fitxers
7.4. Funcions i opcions de lectura/escriptura
7.5. Fitxers d’accés aleatori
7.6. Pas d’arguments pel nom de programa
Tema 8: Introducció a la programació orientada a objectes (O.O.)
• Objectiu:
Introducció al paradigma de programació que veu un programa com a una sèrie d’objectes o entitats que es relacionen entre ells.
• Contingut:
8.1. Què és la programació O.O.?
8.2. Característiques de la programació O.O.
8.3. Classe i instància
8.4. Exemples
Activitats formatives i Metodologia
| Títol | Hores | ECTS | Resultats d'aprenentatge |
|---|---|---|---|
| Tipus: Dirigides | |||
| Classes de problemes | 10 | 0,4 | KM14, SM26 |
| Classes teòriques | 29,5 | 1,18 | CM28, KM14 |
| Sessions presencials de laboratori | 10 | 0,4 | CM28, KM14, SM26 |
| Tipus: Supervisades | |||
| Tutories | 15 | 0,6 | |
| Tipus: Autònomes | |||
| Preparació i resolució d'exercicis i pràctiques | 81,5 | 3,26 | CM28, KM14, SM26 |
La metodologia docent estarà basada en tres tipus d'activitat:
- Activitat dirigida: classes teòriques, pràctiques i de anàlisi de problemes
- Activitat supervisada: assistència a tutories i realització d'execicis amb seguiment pautat
- Activitat autònoma: part d'estudi de l'alumne i resolució de casos, individualment o en grup
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 |
|---|---|---|---|---|
| Entregues de les sessions de pràctiques | 30% | 0 | 0 | CM28, KM14, SM26 |
| Examen Final | 35% | 2 | 0,08 | CM28, KM14, SM26 |
| Examen parcial | 25% | 2 | 0,08 | CM28, KM14, SM26 |
| Exercicis proposats a classe | 10% | 0 | 0 | KM14, SM26 |
Aquesta assignatura no preveu el sistema d'avaluació única.
L'avaluació del curs es farà de forma continuada, mitjançant exàmens, problemes relacionats amb les classes de teoria i treballs específics de les sessions de laboratori. El pes de cada un dels components serà:
- 30% pel conjunt de les notes de pràctiques,
- 10% els exercicis proposats a classe individualment o per grups,
- 25% l'examen parcial, que s’efectuarà cap a la meitat del semestre a la data fixada per la Facultat, i
- 35% l’examen final, que s’efectuarà a final de semestre, a la data fixada per la Facultat.
Se superarà l'assignatura si s'assoleix una nota mínima de 5,0 en la mitjana ponderada de les notes obtingudes a les activitats descrites anteriorment. Per poder fer la mitjana, s’hauran de complir les següents condicions:
- Caldrà haver entregat totes les pràctiques, i haver-hi obtingut una nota mínima de 5,0.
- La mitjana ponderada dels exàmens ha de superar el 3,5.
Si en l'avaluació final s'ha obtingut una nota superior al 3,5 però que no arribin al 5,0 tindran dret a una recuperació, en els termes que es descriuen més avall.
Es considerarà "no avaluable" a l'assignatura quan no hagi participat de cap de les activitats d'avaluació.
Calendari d’activitats d’avaluació
Les dates de les diferents activitats d'avaluació (exercicis, lliurament de treballs, ...) s'anunciaran amb suficient antelació durant els semestre.
Les dates de les proves parcial i final de l'assignatura estan programades en el calendari d'exàmens de la Facultat.
"La programació de les proves d’avaluació no es podrà modificar, tret que hi hagi un motiu excepcional i degudament justificat pel qual no es pugui realitzar un acte d’avaluació. En aquest cas, les persones responsables de les titulacions, prèvia consulta al professorat i a l’estudiant afectat, proposaran una nova programació dins del període lectiu corresponent." Apartat 1 de l'Article 115. Calendari de les activitats d’avaluació (Normativa Acadèmica UAB)
Els i les estudiants de la Facultat d'Economia i Empresa que, d'acord amb el paràgraf anterior, necessitin canviar una data d'avaluació han de presentar la petició omplint el document Sol·licitud reprogramació prova que trobaran a https://eformularis.uab.cat/group/deganat_feie/reprogramacio-proves
Procediment de revisió de les qualificacions
Coincidint amb l'examen final s'anunciarà el dia i el mitjà en que es publicaran les qualificacions finals. De la mateixa manera s'informarà del procediment, lloc, data i hora de la revisió de les mateixes d'acord amb la normativa de la Universitat.
Procés de Recuperació
“Per participar al procés de recuperació l'alumnat ha d'haver estat prèviament avaluat en un conjunt d'activitats que representi un mínim de dues terceres parts de la qualificació total de l'assignatura o mòdul.” Apartat 3 de l'Article 112 ter. La recuperació (Normativa Acadèmica UAB). Els i les estudiants han haver obtingut una qualificació mitjana de l’assignatura entre 3,5 i 4,9.
La data d’aquesta prova està programada en el calendari d'exàmens de la Facultat. L'estudiant que es presenti i la superi aprovarà l'assignatura amb una nota de 5. En cas contrari mantindrà la mateixa nota.
Irregularitats en actes d’avaluació
Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, "en cas que l’estudiant realitzi qualsevol irregularitat que pugui conduir a una variació significativa de la qualificació d’un acte d’avaluació, es qualificarà amb 0 aquest acte d’avaluació, amb independència del procés disciplinari que s’hi pugui instruir. En cas que es produeixin diverses irregularitats en els actes d’avaluació d’una mateixa assignatura, la qualificació final d’aquesta assignatura serà 0". Apartat 10 de l'Article 116. Resultats de l'avaluació. (Normativa Acadèmica UAB)
Nota addicional: L'avaluació proposada pot experimentar alguna modificació en funció de les restriccions a la presencialitat que imposin les autoritats sanitàries.
Bibliografia
El tutorial de Python — documentación de Python - 3.13.5
Python Tutorial - Tutorialspoint
A Beginners Guide To Python 3 Programming by John Hunt (zlib.pub)
Programari
- Python 3 (Welcome to Python.org)
- Visual Studio Code (Visual Studio Code - Code Editing. Redefined)
Grups i idiomes de l'assignatura
La informació proporcionada és provisional fins al 30 de novembre de 2025. A partir d'aquesta data, podreu consultar l'idioma de cada grup a través daquest enllaç. Per accedir a la informació, caldrà introduir el CODI de l'assignatura
| Nom | Grup | Idioma | Semestre | Torn |
|---|---|---|---|---|
| (PAUL) Pràctiques d'aula | 201 | Català | segon quadrimestre | matí-mixt |
| (PAUL) Pràctiques d'aula | 202 | Català | segon quadrimestre | matí-mixt |
| (PLAB) Pràctiques de laboratori | 201 | Català | segon quadrimestre | matí-mixt |
| (PLAB) Pràctiques de laboratori | 202 | Català | segon quadrimestre | matí-mixt |
| (PLAB) Pràctiques de laboratori | 203 | Català | segon quadrimestre | matí-mixt |
| (PLAB) Pràctiques de laboratori | 204 | Català | segon quadrimestre | matí-mixt |
| (TE) Teoria | 20 | Català | segon quadrimestre | matí-mixt |