EPSEVG

Guia Docent EPSEVG
Curs 2006/07
FINF: FONAMENTS D'INFORMATICA

 DADES GENERALS
 PlaETIQI Codi14598 TipusOBT Crèdits6 Intensitat presencial
 Curs1 SiglaFINF Periocitat1,2 Depart723
 Idioma Clases     Català:        Espanyol:        Anglès:   Responsable   BERNARDINO CASAS FERNANDEZ

 Descripció [Català]

L’objectiu de l'assignatura és aprendre les tècniques bàsiques de disseny d’algorismes per a la resolució de problemes mitjançant l’ordinador, en els àmbits científic i tècnic.

És per això que s’analitzen els conceptes fonamentals utilitzats en el disseny algorísmic, les estructures algorísmiques bàsiques, els principals tipus de dades, i l’aplicació del disseny descendent a la resolució de problemes. El disseny algorísmic està adreçat al desenvolupament de programes mitjançant un llenguatge de programació estructurat i a la seva posterior execució a l’ordinador.

És indispensable la realització de les pràctiques amb l’ordinador per aplicar els conceptes apresos, i per resoldre els problemes plantejats. El llenguatge de programació que es fa servir en aquest curs és C/C++ .


 Descripció [Castellà]

El objetivo de la asignatura es aprender las técnicas básicas de diseño de algoritmos para la resolución de problemas mediante el ordenador, en los ámbitos científico y técnico.

Para ello se analizan los conceptos fundamentales utilizados en el diseño algorítmico las estructuras algorítmicas básicas, los principales tipos de datos y la aplicación del diseño descendente en la resolución de problemas. El diseño algorítmico está dirigido al desarrollo  de programas mediante un lenguaje de programación estructurado y su ejecución en un ordenador.

Es indispensable la realización de las prácticas con ordenador para aplicar los conceptos aprendidos y resolver los problemas planteados. Con esta finalidad, se utilizará el lenguaje de programación C/C++.


 Descripció [Anglès]
The goal of this subject is to learn the basics techniques of algorithm design for the problems resolution using the computer, in scientific and technical scope.

In this course it's analyzed:
  • the fundamental concepts in the algorithm design
  • the algorithm structures
  • the main data types
  • the top-down design application to problem resolution
The algoritm design are oriented to develope applications using a structured programming language and its corresponding execution in a computer.

It's indispensable the accomplishment of the practices using the computer to apply the learned concepts and solve the proposed problems. The programming language used in this course is C/C++.
 MÒDULS
OrdreDescripcióTipusHores
1Objectes, tipus de dades i lògica bàsicaTemes 14
Hores exposicions teòriques: 8       Hores treball pràctic:  2      
Hores treball grup: 0       Hores treball individual: 4
Objectius

Conèixer conceptes de la matèria i del disseny de programes.
Establir les bases de coneixement sobre els elements d'informació que es fan servir en el disseny algorísmic.

Continguts
  1. Definicions fonamentals
  2. Estructura funcional de l'ordinador
  3. La màquina algorísmica
  4. Accions primitives
  5. Objectes: Constants i variables
  6. Tipus de dades
  7. Declaració d'objectes
  8. Operadors
  9. Regles de precedència dels operadors
  10. Operadors booleans
  11. Expressions

Activitats, coneixements, habilitats, aptituds
Conèixer els conceptes bàsics en que es basa l'assignatura.
Conèixer els objectes que es fan servir en el disseny algorísmic (constants i variables), quins són els tipus de dades que es poden fer servir, i com es poden fer construir expressions correctes amb ells.
Planificació

Comentaris / Bibliografia

2Estructures algorísmiques elementalsTemes 10
Hores exposicions teòriques: 3       Hores treball pràctic:  3      
Hores treball grup: 0       Hores treball individual: 4
Objectius

Conèixer i aprendre a utilitzar les estructures algorísmiques bàsiques .

Continguts
  1. Estructura general d'un algorisme
  2. Estructures de control
    1. Estructura seqüencial
    2. Estructura condicional
    3. Estructura repetitiva bàsica
  3. Exemples d'aplicació d'estructures de control
Activitats, coneixements, habilitats, aptituds

Planificació

Comentaris / Bibliografia

3Taules i Esquemes iteratiusTemes 20
Hores exposicions teòriques: 4       Hores treball pràctic:  4      
Hores treball grup: 0       Hores treball individual: 12
Objectius
Conèixer el tipus de dades taula tant amb una (vector) com amb dues dimesions (matrius).
Mostrar els diferents esquemes iteratius (recorregut i cerca) i saber en quin cas aplicar cada esquema.
Continguts
  1. Tipus Taula
  2. Esquemes iteratius
    1. Reconeixement dels esquemes iteratius
    2. Enumeració
    3. Cerca
    4. Estructura for
  3. Taula d'una dimensió (vectors)
    1. Declaració
    2. Accés als elements
    3. Esquemes iteratius sobre vectors
    4. Exemples
  4. Taula de dues dimensions (matrius)
    1. Declaració
    2. Accés als elements
    3. Esquemes iteratius sobre matrius
    4. Exemples
Activitats, coneixements, habilitats, aptituds

Planificació

Comentaris / Bibliografia

4SeqüènciesTemes 8
Hores exposicions teòriques: 2       Hores treball pràctic:  2      
Hores treball grup: 0       Hores treball individual: 4
Objectius
Conèixer les seqüència i saber aplicar sobre elles els esquemes algorísmics bàsics (recorregut/enumeració i cerca).
Continguts
  1. Seqüències
  2. Esquemes iteratius sobre seqüències
    1. Enumeració
    2. Cerca
  3. Estructura do-while
Activitats, coneixements, habilitats, aptituds

Planificació

Comentaris / Bibliografia

5Accions i funcionsTemes 8
Hores exposicions teòriques: 2       Hores treball pràctic:  2      
Hores treball grup: 0       Hores treball individual: 4
Objectius
Aprendre els fonaments del disseny descendent usant accions i funcions.
Comprendre el diferents tipus de paràmetres (entrada, entrada/sortida i sortida) que tenen les accions i funcions.
Diferenciar entre declaració local i global.
Continguts
  1. Declaració d'accions i funcions
  2. Mòdul principal i mòduls subordinats
  3. Crida a accions i funcions
  4. Declaracions globals i locals
  5. Paràmetres d'entrada, sortida i entrada/sortida
  6. Valor retornat per la funció
  7. Estructura condicional switch-case
Activitats, coneixements, habilitats, aptituds

Planificació

Comentaris / Bibliografia

6Resolució de problemesTemes 25
Hores exposicions teòriques: 0       Hores treball pràctic:  10      
Hores treball grup: 0       Hores treball individual: 15
Objectius
Practicar els coneixements adquirits en els mòduls anteriors per tal de resoldre problemes més complexos.
Continguts
Disseny decendent: resolució de problemes
Activitats, coneixements, habilitats, aptituds

Planificació

Comentaris / Bibliografia

7Pràctiques de laboratori: SessionsPràctiques 30
Hores exposicions teòriques: 0       Hores treball pràctic:  10      
Hores treball grup: 15       Hores treball individual: 5
Objectius
Practicar les tècniques de disseny algorísmic per a la resolució de problemes parcials de la pràctica final proposada mitjançant el desenvolupament de programes d'ordinador fent servir el llenguatge C/C++.

Continguts
  1. Sistema operatiu, edició i compilació
  2. Introducció al llenguatge C/C++
  3. Disseny de programes en llenguatge C/C++: Problemes senzills
  4. Taules. Accions i Funcions
  5. Disseny descendent
Activitats, coneixements, habilitats, aptituds
Aprendre a realitzar petits programes d'ordinador per resoldre problemes de complexitat creixent.
Planificació
5 sessions de 2 hores. Sessions realitzades cada 2 setmanes.
Comentaris / Bibliografia
Des de la primera sessió es fa servir el "Manual de Pràctiques de Laboratori", que inclou el problemes a resoldre de la pràctica final.
8Pràctiques de laboratori: Pràctica finalPràctiques 16
Hores exposicions teòriques: 0       Hores treball pràctic:  4      
Hores treball grup: 12       Hores treball individual: 0
Objectius
Practicar les tècniques del disseny algorísmic per a la resolució de la pràctica final proposada, fent servir el llenguatge C/C++.
Continguts
  1. Aplicació del Disseny descendent per la realització de la pràctica final: Disseny del programa final.
  2. Depuració i proves d'execució.
    Elaboració de l'informe final.
Activitats, coneixements, habilitats, aptituds
Aprendre a realitzar un programa d'ordinador per resoldre l'enunciat que es descriu a la pràctica final, integrant tots els coneixements adquirits durant el curs.
Planificació
2 sessions de 2 hores. Sessions realitzades cada 2 setmanes.
Comentaris / Bibliografia
Resolució de problemes"Manual de Pràctiques de Laboratori", que inclou l'enunciat de la pràctica final.


Hores Exposicions Teòriques: [19]
Hores Treball Pràctic: [42]
Hores de Treball en Grup: [27]
Hores treball individual: [48]
Hores totals: [136]
Crèdits ECTS: [5,4]
 
 Dependència entre Mòduls

OrdreDescripcióTipus
1Objectes, tipus de dades i lògica bàsicaTemes
2Estructures algorísmiques elementalsTemes
3Taules i Esquemes iteratiusTemes
Seqüències
4SeqüènciesTemes
5Accions i funcionsTemes
6Resolució de problemesTemes
7Pràctiques de laboratori: SessionsPràctiques
Objectes, tipus de dades i lògica bàsica
Estructures algorísmiques elementals
Taules i Esquemes iteratius
8Pràctiques de laboratori: Pràctica finalPràctiques
Seqüències
Accions i funcions
 
 Mètode d'avaluació

Hores Avaluació: 5
Mòdul de la part teòrica de l'aplicació:
C1 = Control Parcial (Fins al Mòdul 4 - 7 o 8 setmana de curs) prova escrita individual (2 hores)
C2 = Control final (Fins al Mòdul 6 - 15 setmana de curs) prova escrita individual (3 hores)
CT = valor màxim (0,25*C1 + 0,75*C2, C2)

Mòdul de pràctiques de laboratori:
CP1 = Qualificació parcial de pràctiques lliurament de problemes parcials
CP2 = Qualificació de la pràctica final lliurament de la pràctica final (1 hora - 15 setmana de curs)
CP = (1/3)*CP1 + (2/3)*CP2 Qualificació final de pràctiques
La realització i presentació de la pràctica final (que recull el treball de pràctiques realizat durant el curs) serà condició necessària per a la superació de l'assignatura. En cas contrari, la qualificació final de l'assignatura serà de "No Presentat".

Qualificació final:
CF = 0,8*CT + 0,2*CP

 
 CRÈDITS ECTS: Detall dels crèdits totals, separats per tipus

Treball en curs Treball encarregat durant el curs, realitzat de forma individual, en un termini prefixat
Treball en grup Treball encarregat durant el curs, realitzat en grup, en un termini prefixat
Projecte individual Treball realitzat de forma individual, integrant diversos coneixements de la matèria, i diferent per a cada estudiant
Pràctiques (PC) Treball d'aplicació dels coneixements de la matèria en el cas pràctic real, realitzat de forma individual o en grup
Treball escrit (WW) Treball realitzat de forma individual i per escrit, en un termini prefixat
Exàmen escrit (WE) Prova individual realitzada per escrit en un temps fixat i en un lloc predeterminat i controlat
Ex. Teòric/pràctic (TP) Prova individual relacionada amb aspectes teòrics i pràctics de la matèria, realitzada en un temps fixat i en un lloc predeterminat i controlat
 
 Bibliografia Bàsica

Autor Títol EditorialAny
Diego R. Llanos Ferraris Curso de C bajo Unix Madrid : International Thomson 2001
Luis Joyanes Aguilar, Luis Rodríguez Baena, Matilde Fernández Azuela Fundamentos de programación : libro de problemas Madrid [etc.] : McGraw Hill 2003
Byron S. Gottfried Programación en C Madrid [etc.] : McGraw-Hill 1997
 
 Materials Complementaris

Autor Títol EditorialAny
Wirth, Niklaus Algoritmos + estructuras de datos = programas Ediciones del Castillo 1994
García Carballeria, Félix; Calderón Mateos, Alejandro; Carretero Pérez, Jesús; Fernández Muñoz, Javier; Pérez Menor, José Mª Problemas Resueltos de Programación en lenguaje C Thomson 2003
Luis Joyanes Aguilar Programación en C++ : algoritmos, estructuras de datos y objetos Madrid : McGraw-Hill 2000