Logo UAB

Fonaments de Programació

Codi: 102154 Crèdits: 6
2024/2025
Titulació Tipus Curs
2501232 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

 

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.    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

  1. CM14 (Competència) Utilitzar les estructures bàsiques de programació estructurada per resoldre problemes de l'entorn empresarial.
  2. KMU14 (Coneixement) Identificar les tècniques d'anàlisi d'algorismes i programes.
  3. SMU08 (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
Classes teòriques 29,5 1,18
Sessions presencials de laboratori 10 0,4
Tipus: Supervisades      
Tutories 15 0,6
Tipus: Autònomes      
Preparació i resolució d'exercicis i pràctiques 81,5 3,26

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ó, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.


Avaluació

Activitats d'avaluació continuada

Títol Pes Hores ECTS Resultats d'aprenentatge
Entregues de les sessions de pràctiques 30% 0 0 CM14, KMU14, SMU08
Examen Final 35% 2 0,08 CM14, KMU14, SMU08
Examen parcial 25% 2 0,08 CM14, KMU14
Exercicis proposats a classe 10% 0 0 CM14, KMU14, SMU08

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.



Programari


Llista d'idiomes

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