Descripció: 

L'assignatura parteix del coneixement que l'alumne té sobre la programació no estructurada i estructurada, i sobre aquest, li facilita eines orientades a assolir desenvolupaments de programari eficients i de qualitat.

Addicionalment, l'assignatura es comprèn de l'aprenentatge de la programació modular i de les eines de suport al desenvolupament associades a aquest tipus de programació. La programació modular és l’evolució natural de la programació estructurada, i el pas previ a la programació orientada a objectes.

L'objectiu de l'assignatura és aconseguir coneixements orientats a l'obtenció de programari de qualitat d'una manera eficient. 

Tipus assignatura
Primer - Obligatoria
Semestre
Segon
Curs
1
Crèdits
6.00

Professors Titulars

Coneixements previs: 

Fonaments de programació.

Objectius: 

L’assignatura té com a objectiu que l’estudiant adquireixi els coneixements i desenvolupi les habilitats necessàries per analitzar i resoldre problemes mitjançant la programació. Es pretén fomentar la capacitat de comprendre i abstraure problemes reals, dissenyar solucions correctes i eficients, i desenvolupar el pensament algorísmic.

Així mateix, s’introdueixen els fonaments de la programació estructurada i modular, l’ús de pseudocodi i d’un llenguatge imperatiu com el C, així com la capacitat d’interpretar i construir programes. Finalment, es promou l’adquisició d’hàbits de treball i estudi continuats.

Continguts: 

  1. Fitxers i programació modular
  2. Punters i memòria dinàmica
  3. Estructures de dades lineals
  4. Introducció a la recursivitat

Metodologia: 

La metodologia docent es basa en un enfocament actiu i teoricopràctic orientat a l’adquisició progressiva dels resultats d’aprenentatge de l’assignatura. El desenvolupament del curs combina classes magistrals, sessions pràctiques i treball autònom de l’estudiant, garantint una adequada integració entre teoria i pràctica.

Les classes magistrals se centren en la introducció dels conceptes fonamentals i en l’explicació dels principis bàsics de la programació. Aquestes es complementen amb classes pràctiques, en les quals l’estudiant aplica els coneixements adquirits mitjançant la resolució de problemes i el desenvolupament d’exercicis guiats.

De manera continuada, l’alumnat realitza exercicis setmanals que reforcen la comprensió dels continguts i afavoreixen el desenvolupament del pensament algorísmic. Així mateix, es plantegen pràctiques de major abast orientades al disseny i implementació de solucions completes, incloent una pràctica o projecte individual que permet consolidar els aprenentatges de manera autònoma.

La metodologia es completa amb activitats d’avaluació, com ara exàmens, i amb l’estudi personal de l’estudiant, que resulta fonamental per consolidar els coneixements i competències treballats a l’aula. En conjunt, es promou un aprenentatge progressiu que combina treball dirigit, pràctica aplicada i treball autònom, en coherència amb la càrrega de treball establerta.

Avaluació: 

Pràctiques: Avaluació altament significativa que garanteix que l'alumne apliqui els coneixements adquirits en forma de projecte.

Avaluació contínua: avaluació de caràcter moderadament significativa, realitzada mitjançant sessions de laboratori amb periodicitat regular que permeten posar en pràctica els continguts prèviament adquirits i mantenir laprenentatge al dia al llarg del curs.

Exàmens finals: avaluació altament significativa que assegura que lalumne integri i apliqui de forma global els coneixements desenvolupats durant el semestre.

Criteris avaluació: 

Es valorarà:

  • La capacitat d'aplicar el pensament computacional en la resolució d'exercicis
  • La comprensió i aplicació correcta dels conceptes d'algorísmia bàsica
  • El correcte ús del llenguatge C per la resolució dels problemes i exercicis
  • L'elaboració de documentació que expliqui de forma correcta i completa els programes desenvolupats
  • La capacitat de comprendre els requisits d'un problema i proposar una ssolució en forma d'algorisme

Bibliografia bàsica: 

  • Carmen, Thomas H.; Leiserson Charles E.; Rivest Ronald L; Stein Clifford. Introduction to Algorithms, The MIT Press, 2009.
  • García-Bermejo, J.R. Programación Estructurada en C, Pearson/Prentice-Hall, 2008.
  • Hanly, Jerry R.; Koffman, Elliot B.; Problem Solving and Program Design in C, Pearson Education, 2013.
  • Joyanes, L. Fundamentos de la programación. Algoritmos y Estructura de Datos, McGraw-Hill, 2008.
  • Kernighan, Brian W.; Ritchie, Dennis M. El lenguaje de programación C, Prentice-Hall Hispanoamericana, 1991.
  • Kruse, Robert Leroy; Tondon, Clovis L.; Leung, Bruce P. Data structures and program design in C, Prentice-Hall, 1997.
  • Weiss, Mark Allen. Estructuras de datos y algoritmos, Addison-Wesley Iberoamericana, 1995

Material complementari: 

No cal més que la bibliografia bàsica.