FONAMENTS DE COMPUTADORS
Tipus d'assignatura: optativa
Crèdits: 7,5 (teòrics: 4,5; pràctics: 3)
Departament responsable: Electrònica
Semestre: 3r
OBJECTIUS DOCENTS
Amb aquesta assignatura es pretén donar a l'alumne una visió general de l'arquitectura d'un ordinador, i de la seva programació, des de diversos punts de vista: el del programador d'aplicacions i el del programador de sistemes. En acabar el curs, l'alumne ha de ser capaç de dissenyar algorismes que responguin a problemes concrets i ha de saber estructurar correctament els seus programes. Les classes pràctiques aniran adreçades a aconseguir aquests objectius mitjançant l'elaboració de programes en llenguatge d'assemblador i en C.
CONTINGUTS TEÒRICS
1. ESTRUCTURA BÀSICA DE L'ORDINADOR
Estructura i funcionament de l'ordinador. Descripció de les seves unitats. Representació de la informació. Memòries. Estructura i funcionament de l'ordinador personal: encaminament de memòria, interrupcions i perifèrics. Representació d'instruccions.
2. CAS PRÀCTIC. MICROPROCESSADOR 8086
Estructura interna. Model de programació. Conjunt d'instruccions.
3. PROGRAMACIÓ EN LLENGUATGE D'ASSEMBLADOR
Gestió de la memòria, dels perifèrics i de les interrupcions pel sistema operatiu DOS. Llenguatge màquina, repertori d'instruccions. Instruccions i directives. Estructura de programa. Declaracions d'identificadors. Control del flux. Crida i construcció de subprogrames.
4. TÈCNIQUES DE PROGRAMACIÓ ESTRUCTURADA I MODULAR
Conceptes bàsics de programació. Diagrames de flux i mapes de memòria. Pseudocodi i llenguatge C. Dades i tipus de dades. Estructures de control de flux: salts condicionals i incondicionals, bucles. Programació estructurada. Subprogrames. Vectors i matrius. Dades estructurades. Organització i tractament d'arxius. Bases de dades. Classes d'emmagatzematge d'objectes. Assignació dinàmica de memòria. Llistes lineals i enllaçades. Programació orientada a objectes i llenguatge C++.
5. TEORIA DE SISTEMES OPERATIUS
Arquitectura de sistemes operatius. Planificació de processos. Gestió de la memòria. Memòria virtual. Gestió d'arxius. Nocions de sistema operatiu UNIX.
6. INTRODUCCIÓ ALS COMPILADORS
Estructura de compiladors i d'intèrprets. Llenguatges i gramàtiques. Analitzadors lèxics. Analitzadors sintàctics. Gestió de la memòria. Subprogrames i pas de paràmetres.
CONTINGUTS PRÀCTICS
Estudi de programes senzills d'un sol mòdul en llenguatge d'assemblador.
Estudi d'un programa multimodular en llenguatge d'assemblador.
Programació en llenguatge d'assemblador.
Programació en C: estructures iteratives i condicionals.
Programació en C: estructures de control i punters (I).
Programació en C: estructures de control i punters (II).
Programació en C: entrada i sortida, arxius.
Programació en C: funcions gràfiques.
BIBLIOGRAFIA
1.
STALLINGS, W. Organización y arquitectura de computadoras. Principios de estructura y funcionamiento. Mèxic: Megabyte Noriega, 1995.
2.
JOYANES, L. Fundamentos de programación: algoritmos y estructura de datos. Madrid: McGraw-Hill, 1988.
3.
SILBERSCHATZ, A.; PETERSON, J. L.; GALVIN, P. B. Sistemas operativos. Conceptos fundamentales. 3a ed. Wilmington: Addison-Wesley Iberoamericana, 1994.
4.
AHO, A. V.; SETHI, R.; ULLMAN, J. D. Compiladores: principios, técnicas y herramientas. Argentina: Addison-Wesley Iberoamericana, 1990.
5.
KERNIGHAN, B. W.; RITCHIE, D. M. El lenguaje de programación C. 2a ed. Mèxic: Prentice-Hall Hispanoamericana, 1991.
AVALUACIÓ
Es farà un examen final de l'assignatura, on es valoraran els coneixements teòrics i l'aptitud com a programador en l'elaboració d'un programa o algorisme. En l'avaluació, es tindrà en compte la qualificació de les pràctiques.