
Fonaments de Programació
Codi: 102154Crè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
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 (Utilitzar les estructures bàsiques de programació estructurada per resoldre problemes de lentorn empresarial.) Utilitzar les estructures bàsiques de programació estructurada per resoldre problemes de lentorn empresarial.
- KM14 (Identificar les tècniques d’anàlisi d’algorismes i programes.) Identificar les tècniques d’anàlisi d’algorismes i programes.
- SM26 (Codificar algorismes utilitzant les tècniques de programació estructurada.) 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 |
|---|---|---|---|
| Sessions presencials de laboratori | 10 | 0,4 | CM28, KM14, SM26 |
| Tutories | 15 | 0,6 | |
| Classes teòriques | 29,5 | 1,18 | CM28, KM14 |
| Preparació i resolució d'exercicis i pràctiques | 81,5 | 3,26 | CM28, KM14, SM26 |
| Classes de problemes | 10 | 0,4 | 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
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 parcial | 25% | 2 | 0,08 | CM28, KM14, SM26 |
| Exercicis proposats a classe | 10% | 0 | 0 | KM14, SM26 |
| Examen Final | 35% | 2 | 0,08 | CM28, 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ó
La realització de les activitats d’avaluació està subjecta al que estableix aquesta guia docent, així com a la "Política de la Facultat d’Economia i Empresa davant la detecció d’irregularitats durant la realització d’activitats avaluatives", que regula les condicions de desenvolupament de les proves d’avaluació i els procediments aplicables en cas de detectar-se irregularitats. Es recomana a l’estudiantat consultar-ne el contingut.
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.
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. 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 | 20 | Català | segon quadrimestre | matí-mixt |
| (TE) Teoria | 21 | Català | segon quadrimestre | matí-mixt |
| (PAUL) Pràctiques d'aula | 201 | Català | segon quadrimestre | matí-mixt |
| (PLAB) Pràctiques de laboratori | 202 | Català | segon quadrimestre | matí-mixt |
| (PLAB) Pràctiques de laboratori | 204 | Català | segon quadrimestre | matí-mixt |
| (PLAB) Pràctiques de laboratori | 201 | Català | segon quadrimestre | matí-mixt |
| (PAUL) Pràctiques d'aula | 202 | Català | segon quadrimestre | matí-mixt |
| (PLAB) Pràctiques de laboratori | 203 | Català | segon quadrimestre | matí-mixt |