Fonaments d'Informàtica

Anuncio
ENGINYERIA INDUSTRIAL
FONAMENTS
D’INFORMÀTICA
Guia de l’assignatura
ENGINYERIA INDUSTRIAL
25004 Fonaments d’informàtica. Guia de l’assignatura
Aprovada en C.A.A de data 8/06/05
Modificada en CAA de data 27/06/08
1
Crèdits: 6 ( 3 teoria + 3 pràctiques)
Crèdits ECTS: 4,8
Tipus Troncal
Coordinador: Fatos Xhafa ([email protected])
Altres Professors: Marta Gatius i Vila ([email protected]), Josefina López ([email protected]),
Alfons Valverde ([email protected]), Oscar Romero ([email protected]), Ivan Bruque
([email protected]), Àngela Martín ([email protected])
Departament: Llenguatges i Sistemes Informàtics
Presentació
Coneixements previs
Coneixements bàsics de matemàtiques corresponents al nivell exigit a les proves d’accés a la
universitat.
Camps professionals
Relació amb altres assignatures
En aquesta assignatura es presenten mètodes bàsics de disseny d’algoritmes i fonaments de la
programació necessaris per a moltes d’altres assignatures del Pla d’Estudis, com ara: Automàtica i
control, Càlcul d’estructures: mètode dels elements finits, Projecte final de carrera, Sistemes elèctrics
y electrònics, Sistemes de navegació y Tecnologia aerospacial.
Objectius generals
L’objectiu d’aquesta assignatura és presentar una introducció al disseny d’algoritmes i a la
programació. En la part teòrica de l’assignatura s’introdueix un llenguatge algorísmic a través del qual
es tracta de desenvolupar la capacitat d’entendre i construir algorismes. Aquest llenguatge algorísmic
s’utilitza també per presentar conceptes bàsics de programació, com tipus de dades, expressions,
instruccions, així com tècniques bàsiques d’abstracció de procediments i dades. Tots aquests
conceptes s’il·lustren a través d’exemples d’algorismes senzills de busca, recorregut, ordenació, filtrat
i càlcul numèric.
En la part pràctica de l’assignatura s’apliquen els continguts de programació estudiats en la part de
teoria a exercicis concrets de programació en el llenguatge C. S’introdueixen els fonaments de la
programació en aquest llenguatge, i es presenten algunes tècniques importants d’abstracció que
faciliten la comprensió, utilització i construcció de programes de mitjana envergadura.
ENGINYERIA INDUSTRIAL
25004 Fonaments d’informàtica. Guia de l’assignatura
Aprovada en C.A.A de data 8/06/05
Modificada en CAA de data 27/06/08
2
En aquesta assignatura és considera important que els estudiants apliquin els conceptes de
reutilització i minimització del consum de recursos en els seus projectes informàtics, contribuint
d’aquesta manera al desenvolupament sostenible
Temari
Mòdul 1. Conceptes bàsics
Tema 1. Introducció
(1 hora)
Tema 2. Tipus de dades bàsics, variables, constants y expressions
(4 hores)
Tema 3. Instruccions bàsiques: assignació, entrada, sortida i control
(7 hores)
Mòdul 2. Abstracció de procediments
Tema 1. Accions i funcions: definició, paràmetres i crida
(8 hores)
Tema 2. Seqüències: cerca i recorregut
(8 hores)
Tema 3. Disseny descendent
(8 hores)
Mòdul 3. Abstracció de dades
Tema 1. Vectors i matrius: definició i operacions associades
(8 hores)
Tema 2. Algorismes d'ordenació
(8 hores)
Tema 3. Estructures: definició i exemples
(8 hores)
Objectius específics dels mòduls
„
Mòdul 1
L'objectiu d'aquest mòdul és presentar els conceptes bàsics de la programació. En primer lloc es
descriuen les eines bàsiques que ofereixen els llenguatges de programació per a la representació de
la informació: els tipus de dades bàsiques, i els conceptes de variable, constant i expressió. A
continuació s'introdueixen les instruccions bàsiques que ofereixen els llenguatges de programació per
obtenir, manipular i presentar l'usuari la dita informació: instruccions d'entrada i sortida, instrucció
d'assignació i instruccions de control. Així mateix es pretén que l'alumne sigui capaç d'utilitzar tots
aquests conceptes construint algorismes i programes senzills en el llenguatge de programació C.
„
Mòdul 2
L'objectiu d'aquest mòdul és la introducció de tècniques bàsiques d'abstracció de procediments. El
coneixement de tècniques d'abstracció és fonamental en la programació perquè permet controlar la
complexitat dels programes estructurant-los en mòduls relativament senzills que es relacionen entre
si. En aquest mòdul es presenten els conceptes d'acció i funció, que permeten referir-se mitjançant un
sol nombre a seqüències d'instruccions. Es defineix el concepte de paràmetre i la seva tipologia, i
ENGINYERIA INDUSTRIAL
25004 Fonaments d’informàtica. Guia de l’assignatura
Aprovada en C.A.A de data 8/06/05
Modificada en CAA de data 27/06/08
3
s'expliquen els mecanismes de crida i pas de paràmetres. Es descriu així mateix el concepte de
seqüència, de gran utilitat pràctica en el processament de dades, i les operacions bàsiques
associades al processament de seqüències: cerca i recorregut. Finalment s'introdueix la tècnica de
disseny i descomposició de programes coneguda com a disseny descendent i s'il·lustra la seva
utilització amb abundants exemples d'algorismes i programes en el llenguatge de programació C.
„
Mòdul 3
L'objectiu d'aquest mòdul és la presentació i utilització de tècniques bàsiques d'abstracció de dades
de la programació. Això es realitza mitjançant la introducció del concepte d'estructura de dades i
l'estudi de dos tipus fonamentals d'estructures de dades: matrius i estructures. Les matrius es
caracteritzen per agrupar conjunts de dades homogènies i perquè l'accés als seus components es
realitza indicant la seva posició. La seva presentació es realitza començant amb la definició de les
matrius unidimensionals (i.e., vectors) i de les principals operacions d'accés i modificació associades
a aquest tipus d'estructura de dades, i continuant amb la definició de matrius multi-dimensionals. A
continuació es descriuen diversos algorismes d'ordenació, i s'il·lustra la seva aplicació amb abundants
exemples d'algorismes i programes C. La presentació d'aquests algorismes és important no sols per
la seva utilitat pràctica, sinó també perquè ofereixen a l'alumne l'ocasió d'estudiar alguns algorismes
de mitjana complexitat al llarg del curs. Finalment s'introdueix el concepte d'estructura, que es
caracteritza per agrupar conjunts de dades heterogènies i perquè l'accés als seus components es
realitza indicant el nom de la component en comptes de la seva posició. Es descriuen els principals
operadors de definició, accés i modificació de les estructures, i es presenten exemples d'estructures
de dades que combinen matrius i estructures per a la representació d'informació de complexitat
creixent. La descripció d'aquests conceptes va acompanyada d'abundants exemples i exercicis de
disseny d'algorismes que realitzen càlculs amb matrius i estructures; i de construcció de programes C
que il·lustren la definició de matrius i estructures en aquest llenguatge de programació, i la utilització
dels seus respectius operadors d'accés i modificació.
Metodologia de treball
Sessions teoria, problemes
Les classes que es realitzaran a l'aula consistiran en classes de teoria pròpiament dites, on es
presentaran conceptes, eines i tècniques de programació, i en classes de problemes, on es
realitzaran exercicis de disseny d'algorismes que ajudin a comprendre i aplicar els conceptes i
tècniques de programació introduïts a les classes de teoria.
Pràctiques, laboratoris
Les classes de pràctiques, que es realitzaran al laboratori, consistiran en la realització d'una sèrie
d'exercicis de programació per part dels alumnes. S'elaborarà un guió de pràctiques per a cada
sessió en què hi haurà informació sobre la representació en el llenguatge C dels conceptes a
estudiar, exemples de programes C que utilitzin els dits conceptes i exercicis per realitzar durant la
sessió de pràctiques. S'utilitzarà el compilador de C/C++ de distribució gratuïta Dev C++.
ENGINYERIA INDUSTRIAL
25004 Fonaments d’informàtica. Guia de l’assignatura
Aprovada en C.A.A de data 8/06/05
Modificada en CAA de data 27/06/08
4
Organització en mòduls i temps de dedicació de l’estudiant
Mòdul
Mòdul 1: Conceptes bàsics
Mòdul 2: Abstracció de procediments
Mòdul 3: Abstracció de dades
Total Hores
Temps de
Classe
12 hores
24 hores
24 hores
60 hores
Temps
d’estudi
12 hores
24 hores
24 hores
60 hores
Temps
total
24 hores
48 hores
48 hores
120 hores
Importància i dificultat dels mòduls
El mòdul 1, Conceptes bàsics, és clau per a la comprensió de l'assignatura, ja que la resta dels
mòduls pressuposen i requereixen el coneixement dels conceptes bàsics introduïts en aquest mòdul.
Es tracta d'un mòdul relativament senzill. Requereix la comprensió dels conceptes bàsics, i
fonamentalment la realització d'abundants exercicis de disseny d'algorismes i construcció de
programes.
El mòdul 2, Abstracció de procediments, és molt important per al seguiment de curs, ja que la major
part dels algorismes i programes que es presenten al mòdul següent utilitzen accions i funcions. La
definició d'accions i funcions, i la seva utilització correcta (crida) en els programes és fonamental per
al seguiment de l'assignatura. El concepte de seqüència i de les operacions utilitzades
fonamentalment per al procés de seqüències té importància pràctica i resulta útil per comprendre
molts dels exemples i exercicis que es proposen més endavant. Aquest mòdul requereix una major
capacitat d'abstracció per part de l'alumne, que ha de comprendre i utilitzar correctament els
conceptes d'acció i funció.
El mòdul 3, Abstracció de dades, és molt important també perquè presenta conceptes necessaris per
al processament de grans volums de dades complexes. Els alumnes estan familiaritzats normalment
amb el concepte de matriu, de manera que en principi no presenta més dificultat. El concepte
d'estructura és senzill, però la seva novetat pot requerir una mica més d'estudi. La més dificultat
d'aquest mòdul consisteix en la combinació d'ambdós elements, que pot suposar l'establiment de
diversos nivells d'abstracció de dades. Els algorismes d'ordenació tenen gran importància teòrica i
pràctica al camp de la programació. La seva comprensió pot requerir un estudi detingut per part de
l'alumne.
Materials
Bibliografia bàsica
B.W. Kernighan y D.M. Ritchie, El lenguaje de programación C, Pearson Educación (1991).
A. Prieto, A. Lloris y J.C. Torres, Introducción a la informática, McGraw Hill (1997).
M.A. Peña y J.M. Cela, Introducción a la programación en C, Edicions UPC (2000).
J. Vancells y E. López, Programació: Introducció a l'algorísmica, Eumo Editorial (1992).
ENGINYERIA INDUSTRIAL
25004 Fonaments d’informàtica. Guia de l’assignatura
Aprovada en C.A.A de data 8/06/05
Modificada en CAA de data 27/06/08
5
Bibliografia complementària
H. Abelson, G.J. Sussman y J. Sussman, Structure and interpretation of computer programs (2nd
edition), MIT Press (1996).
J.L. Balcazar, Programación metódica, McGraw Hill (1993).
J. Castro, F. Cucker, X. Messeguer, A. Rubio, L. Solano y B. Valles, Curso de programación, McGraw
Hill (1993).
X. Franch, J. Marco, X. Molinero, J. Petit y F. Xhafa, Informática básica, Edicions UPC (2001).
M. Gatius, Complementos de informática. Recopilación de problemas, Unicopi (2001).
A. Sierra y M. Alfonseca, Programación en C/C++, Anaya Multimedia (2002).
B. Stroustrup, El lenguaje de programación C++ (tercera edición), Addison Wesley
(1998).
Avaluació
Es realitzaran dos exàmens: un examen parcial i un examen final. Aquests exàmens tindran caràcter
teòric-pràctic, això és, contindran igual percentatge de preguntes de pràctiques que de teoria.
Els alumnes realitzaran també una sèrie d'exercicis pràctics de programació que es lliuraran i
avaluaran al llarg del curs.
L'avaluació de l'assignatura doncs compren tres parts:
Primera avaluació (Examen Parcial): 20% de la nota final.
Segona Avaluació (Examen Final): 50% de la nota final
Nota de Laboratori: La nota de laboratori es calcularà en base de:
• Nota de les sessions lliurades: Durant el curs es farà entrega de les sessions de laboratori
desenvolupades durant les sessions. En acabar una sessi_o de laboratori es far_a lliurament
dels programes demanats. Les sessions de laboratori seran avaluades pel professor. Les
sessions de laboratori avaluaran el 15% de la nota final (NSL nota sesssions laboratori).
Aquesta avaluació es fa en concepte de l'avaluació continuada.
• Projecte de programació: Al final del curs s'haurà de presentar un projecte de programació
que avalua el 15% de la nota final. El projecte consisteix a dissenyar i implementar un petit
projecte informàtic que es realitzar_a en grups de dues persones. La qualificació del projecte
es determinarà per la mitjana geométrica entre la nota del projecte lliurat (NP) i de la nota
d'una pregunta de l'examen final (NPE) que versarà sobre el projecte, és a dir la nota de
projecte laboratori (NPL) será avaluada:
NPL = NPE * NP
Nota Fina: La nota final, NF, es calcularà en base de la nota de l'examen parcial (NEP), la nota de
l'examen final (NEF), la nota de les sessions laboratori lliurades (NSL) i la nota de projecte de
laboratori (NPL) segons la fórmula:
ENGINYERIA INDUSTRIAL
25004 Fonaments d’informàtica. Guia de l’assignatura
Aprovada en C.A.A de data 8/06/05
Modificada en CAA de data 27/06/08
Ng =0,2* Nep + 0,5* Nef + 0,15* Npl + 0,15* Npg
Ng = 0.5 Nef + 0.35 Nep + 0.15 Npg
Ng :nota evaluación global
Nef : nota examen final
Nep : nota examen parcial
Npl : nota de pràctiques de laboratori
Npg : nota de projecte de programació
6
Descargar