F.M.E.

Campus Digital de la FME

Fonaments d'Informàtica - FI

Diplomatura d'Estadística

1er quadrimestre, Curs 2008/2009





Professor Responsable:

KEMLG


Miquel Sànchez i Marrè
Knowledge Engineering & Machine Learning Group (KEMLG)
Dept. de Llenguatges i Sistemes Informàtics
Universitat Politècnica de Catalunya
Campus Nord-Edifici Omega, 1er pis, despatx 134
miquel@lsi.upc.edu


Full Informatiu:

Aquí podeu trobar el full informatiu de l'assignatura

Professorat:

Professor  Despatx  E-mail  Telèfon Consultes 
Miquel Sànchez i Marrè Edifici Omega,
1er pis, Despatx 134
Campus Nord 
miquel@lsi.upc.edu 93 413 78 41
Dimecres de 12 a 14
Dimarts i dijous de 17 a 18
Edifici Omega, despatx 134




Altres a concertar via e-mail
Javier Vázquez Salceda
Edifici Omega,
3er pis, Despatx 317
Campus Nord
jvazquez@lsi.upc.edu
93 413 79 03
A concertar via e-mail

Horari:

Dia Hora Aula Grup Professor
Dilluns 9-11 PC1 L
J. Vázquez
Dimarts 11:30-13:00 101
T/P
M. Sànchez
Divendres 12:30-14:00 101
T/P
M. Sànchez

Temari:

1. Introducció a la Informàtica
Conceptes generals, objectius. Història dels computadors i de la Informàtica. L'entorn del computador
Ús elemental del computador
Ús en xarxa del computador: introducció a Internet
Arquitectura dels computadors
2. Introducció a l'algorísmica
Nocions elementals: objectes, entorn, estats, accions, algorismes, assercions i programes
Estructures algorísmiques bàsiques
Tipus de dades simples
Instruccions d'entrada/sortida
3. Algorismes seqüencials i anàlisi descendent
Algorismes seqüencials de recorregut
Algorismes seqüencials de cerca
Anàlis descendent: subproblemes, procediments i funcions, paràmetres i tipus de paràmetres
4. Constructors de tipus i algorismes
Tipus simples definits per l'usuari
Els vectors i algorismes bàsics
Les taules
Les cadenes de caràcters
Implementacions en Java
5. Java, un llenguatge orientat als objectes i distribuït
Conceptes fonamentals. Estructura general d'un programa
Estructures de dades
Traducció de les estructures algorísmiques
Subprogrames
Introducció a les classes, els objectes i els mètodes

Canvis de dia de la setmana:

No n'hi ha cap.

Pràctiques

Es realitzarà 1 treball pràctic en equip consistent en el disseny i la implementació d'un programa informàtic en Java sobre tipus de dades simples i esquemes seqüencials. El seu propòsit és l'aplicació pràctica dels coneixements i les tècniques vistes a classe, així com fomentar el treball en equip per tal d'aconseguir el grau previst d'aprenentatge de la matèria.
Els grups seran de 3 persones exactament.

Tambés es realitzaran, tant en grup com individualment algunes activitats per a fomentar l'aprenentatge actiu.

Laboratori:

Les classes de Laboratori comencen el 29 de setembre de 2008

Calendari i contingut de les classes de laboratori:

Dia
CLASSE CONTINGUT
Dl 15/9 LAB 1 Presentació de l'assignatura
Dl 22/9 LAB 2 No hi ha classe
Dl 29/9 LAB 3 Activitat 1.1: Arquitectura bàsica dels computadors
Dl 6/10 LAB 4 Campus Digital de la FME i intranet docent (http://atenea.upc.edu)
Internet: correu electrònic (https://ek2.upc.edu/horde/imp/), i ftp
Dl 13/10 LAB 5 Activitat 1.2: Serveis recents d'internet
Dl 20/10 LAB 6 Sistemes Operatius Windows, DOS i UNIX/LINUX. Comandes, directoris i fitxers
Dl 27/10 LAB 7 Setmana no lectiva pels exàmens parcials. No hi ha classe
Dl 3/11 LAB 8 Activitat 2.1: Exercici sobre un algorisme amb tipus simples
Dl 10/11 LAB 9 Llenguatge de programació Java
Dl 17/11 LAB 10 JDK (Java Development Kit) i BlueJ (Entorn de programació Java).
Disseny dels primers programes en Java
Dl 24/11 LAB 11 Disseny de programes en Java
Dl 1/12 LAB 12 Disseny de programes en Java. Presentació PRAC
Dl 8/12 LAB 13 Dia festiu. No hi ha classe
Dl 15/12
LAB 14
Supervisió PRAC. Debugger amb Bluej
Dl 22/12 LAB 15 Supervisió PRAC
Examen

C. Ordinària: dimecres dia 14/1/2009, a les 9:00 hores
C. Extraordinària: entre el 29 de juny i el 7 de juliol de 2009
Tots els problemes de la col·lecció són interessants i útils per a consolidar els coneixements vistos a classe. Però de cara a l'examen, els següents problemes poden considerar-se com un subconjunt força representatiu:
 
2.3.17, 2.3.21, 2.3.23, 3.2.5, 3.2.16, 3.2.17, 4.2.47, 4.2.48

Avaluació

C. Ordinària
Nota = (Nota Pràctica * 0.3) + (Nota Examen * 0.65) + (Nota Activitats * 0.05), si la N. Examen >= 4
Nota = (Nota Pràctica * 0.15) + (Nota Examen * 0.8) + (Nota Activitats * 0.05), si la N. Examen < 4

C. Extraordinària
Nota = (Nota Pràctica * 0.3) + (Nota Examen * 0.7), si la N. Examen >= 4
Nota = (Nota Pràctica * 0.15) + (Nota Examen * 0.85), si la N. Examen < 4

Bibliografia

Referències Bàsiques

K. Arnold; J. Gosling: The Java Programmimg language (4a. edició). Prentice-Hall PTR, 2005.
Goldschlager, L.; Lister, A.: Computer Science. A modern introduction (2a edició). Ed. Prentice-Hall, 1987 (versió castellana Prentice-Hall Hispanoamericana, 1986).
W. Savitch et al.: Java. an introduction to computer science and programming. (3a edició), Prentice-Hall, 2003.
Scholl, P.C., Peyrin J.P.: Esquemas algorítmicos fundamentales. Secuencias e iteración. Ed. Masson, 1991.
N. Wirth: Algorithms and Data Structures. Prentice-Hall, 1986 (versió castellana Prentice-Hall Hispanoamericana, 1987).
D. J. Barnes and M. Kölling. Objects First with Java. A Practical Introduction using Bluej. 3rd edition. Prentice-Hall, 2006.

Referències Complementàries
.
J. Bishop: Java. Fundamentos de programación. 2a edició. Addison-Wesley, 1999.
Castro, J.; Cucker, F.; Messeguer, et alt.: Curs de Programació. Ed. McGraw-Hill, 1992.
K. Lambert; M. Osborne.: Java: a framework for programming and problem solving (2nd edition), Course Technology, 2001.
Lucas M. et alt.: Algorítmica y representación de datos. 1. Secuencias, autómatas de estados finitos. Ed. Masson, 1985.
Vancells, J.; Lòpez, E.: Programació: introducció a l'algorísmica. Ed. Eumo, Vic, 1992.
S.N. Kamin; Mickunas, D.: An introduction to computer science: Using Java. (2a edició revisada), McGraw-Hill, 2002.

Altres Referències

Sànchez, M.: Fonaments d'Informàtica: Problemes. FME (UPC), 2008.
Sànchez, M.: Fonaments d'Informàtica: Apunts. FME (UPC), 2008.
Sànchez, M.: Fonaments d'Informàtica: Exercicis resolts. FME (UPC), 2008.



Material docent

Programa - Temari detallat de l'assignatura

Apunts
Portada
Índex
Capítol 1 - Introducció a la Informàtica / Transparències
Capítol 2 - Arquitectura dels computadors
Capítol 3 - Introducció a l'algorísmica
Capítol 4 - Algorismes seqüencials i anàlisi descendent (no disponible)
Capítol 5 - Constructors de tipus i algorismes (no disponible)
Capítol 6 - Transparències sobre Java

Problemes
Col·lecció de problemes
Exercicis resolts (al Centre de publicacions)

Material divers
Com NO fer una pràctica de Programació. Agustín Cernuda del Río. Universidad de Oviedo, 2006.
Extended Guide to Internet (v3.21). Electronic Frontier Foundation's, December, 1996
Curs d'introducció i cerca d'informació a Internet. Laboratori de Càlcul del Dept. de Llenguatges i Sistemes Informàtics, 1998.
Aprenda Windows 95 como si estuviera en primero. J. García de Jalón de la Fuente et al., Universidad de Navarra, 1997.
Windows 98. Apunts Pràctics. Melcior Oliveras, 1998.
Aprenda Java como si estuviera en primero. J. García de Jalón de la Fuente et al., Universidad de Navarra, 2000.
Tutorial de Java. The Java Tutorial. Second edition. M. Campione & K. Walrath. Sun Microsystems-Addision-Wesley. May, 2000.
Tutorial de Java 1.2. Sun Microsystems.
BlueJ. The Interactive Java Environment.


Cronologia i informació sobre les Activitats

Activitat 1.1: Arquitectura bàsica dels computadors. Límit del lliurament de la documentació: 6/10/2008


Activitat 1.2: Serveis recents d'internet. Límit del lliurament de la documentació: 20/10/2008

Activitat 2.1: Algorisme bàsic. Límit del lliurament de la documentació: 7/11/2008




Cronologia i informació sobre la Pràctica

Límit del lliurament definitiu de la documentació i codi font de la pràctica: 14/1/2009.
Per a efectuar la entrada /sortida, podeu triar entre la entrada/sortida estàndar de Java o bé la utilització de la classe inout. Us recomanem que utilitzeu la classe inout.
    Ho teniu tot explicat a les transparències de Java.

Aquí teniu la forma de saber quina pràctica us toca: