Saltar al contingut Saltar a navegacio
Mapa
  • Inici
  • Informació
  • Contacte
  • Mapa

Projectes de Programació ( PROP )

Crèdits ECTS Departament Tipus Requisits Idiomes Impartició
6.0 LSI
  • Obligatòria
Pre-correquisit BD
Pre-requisit EDA
Correquisit IES
  • Català   
  • Castellà   
Centre on s'imparteix l'assignatura: Facultat d'Informàtica de Barcelona (FIB) - Universitat Politècnica de Catalunya - BarcelonaTECH

Descripció

Fer un projecte de programació associat al cicle de vida d'una aplicació informàtica, amb èmfasi en la fase d'implementació.

Professors

Responsable:   Enrique Romero Merino (eromero@lsi.upc.edu)
Altres: Alicia Maria Ageno Pulido (ageno@lsi.upc.edu)
Emma Rollón Rico (erollon@lsi.upc.edu)
Horacio Rodríguez Hontoria (horacio@lsi.upc.edu)
Jorge Turmo Borrás (turmo@lsi.upc.edu)
M. Angela Nebot Castells (angela@lsi.upc.edu)
Miquel Sanchez Marre (miquel@lsi.upc.edu)
Rosa Maria Jiménez Gómez (jimenez@lsi.upc.edu)
Xavier Carreras Pérez (carreras@lsi.upc.edu)
Dedicació en hores setmanals T : 2.0 P : 0.0 L : 2.0 AA : 5.75 AD : 0.25

Competències Genèriques

Competències Transversals

  • EMPRENEDORIA I INNOVACIÓ

  • G1 - Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; capacitat de comprendre les regles laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici. Desenvolupar la creativitat, l'esperit emprenedor i la tendència a la innovació.
  • G1.2 - Tenir iniciatives que generin oportunitats, nous objectes o solucions noves, amb una visió d'implementació de procés i de mercat, i que impliqui i faci participar als altres en projectes que s'han de desenvolupar (capacitat d'actuar de manera autònoma).
  • TREBALL EN EQUIP

  • G5 - Ser capaç de treballar com a membre d'un equip, ja sigui com a un membre més, ja sigui realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes d'una manera pragmàtica i amb sentit de la responsabilitat; assumir compromisos tenint en compte els recursos disponibles.
  • G5.2 - Planificar i acordar els objectius, les regles de funcionament, les responsabilitats, l'agenda i el procediment de revisió de la feina. Identificar conflictes, negociar-los i resoldre-los de forma efectiva. Adaptar-se a diferents tipus de grups (gran/petit, tècnic/mixt, presencial /a distància). Interactuar amb eficàcia i promoure la participació de tots els membres del grup.


Competències Tècniques

  • COMPETÈNCIES TÈCNIQUES COMUNES

  • CT2 - Utilitzar d'una manera apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
  • CT2.3 - Dissenyar, desenvolupar, seleccionar i avaluar aplicacions, sistemes i serveis informàtics i, al mateix temps, assegurar-ne la fiabilitat, la seguretat i la qualitat en funció de principis ètics i de la legislació i la normativa vigents.
  • CT2.4 - Demostrar coneixement i capacitat per a aplicar les eines necessàries a l'emmagatzematge, el processament i l'accés als sistemes d'informació, fins i tot els que es basen en la web.
  • CT2.5 - Dissenyar i avaluar interfícies persona-computador que garanteixin l'accessibilitat i la usabilitat als sistemes, als serveis i a les aplicacions informàtiques.
  • CT3 - Demostrar coneixement i comprensió del context organitzatiu, econòmic i legal en el qual es desenvolupa la seva feina (coneixement adequat del concepte d'empresa, del marc institucional i jurídic de l'empresa, d'organització i gestió de les empreses).
  • CT3.6 - Demostrar coneixement de la dimensió ètica a l'empresa: la responsabilitat social i corporativa en general i, en particular, les responsabilitats civils i professionals de l'enginyer en informàtica.
  • CT4 - Demostrar coneixement i capacitat d'aplicació dels procediments algorísmics bàsics de les tecnologies informàtiques per a dissenyar solucions a problemes, analitzant la idoneïtat i la complexitat dels algorismes
  • CT4.1 - Identificar les solucions algorísmiques més adequades per a resoldre problemes de dificultat mitjana.
  • CT4.2 - Raonar sobre la correcció i l'eficiència d'una solució algorísmica.
  • CT4.3 - Demostrar coneixement i capacitat d'aplicació dels principis fonamentals i de les tècniques bàsiques dels sistemes intel·ligents i de la seva aplicació pràctica.
  • CT5 - Analitzar, dissenyar, construir i mantenir aplicacions de forma robusta, segura i eficient, triant el paradigma i els llenguatges de programació més adequats.
  • CT5.1 - Triar, combinar i explotar diferents paradigmes de programació, en el moment de construir software, tenint en compte criteris com la facilitat de desenvolupament, l'eficiència, la portabilitat i la mantenibilitat.
  • CT5.2 - Conèixer, dissenyar i utilitzar de forma eficient els tipus i les estructures de dades més adients per a la resolució d'un problema.
  • CT5.3 - Dissenyar, escriure, provar, depurar, documentar i mantenir codi en un llenguatge d'alt nivell per a resoldre problemes de programació aplicant esquemes algorísmics i utilitzant estructures de dades.
  • CT5.4 - Dissenyar l'arquitectura dels programes utilitzant tècniques d'orientació a objectes, de modularització i d'especificació i implementació de tipus abstractes de dades.
  • CT5.5 - Usar les eines d'un entorn de desenvolupament de software per a crear i desenvolupar aplicacions.
  • CT5.6 - Demostrar coneixement i capacitat d'aplicació dels principis fonamentals i de les tècniques bàsiques de la programació paral·lela, concurrent, distribuïda i en temps real.
  • CT6 - Demostrar coneixement i comprensió del funcionament intern d'un computador i del funcionament de les comunicacions entre ordinadors.
  • CT6.1 - Demostrar coneixement i tenir capacitat per a administrar i mantenir sistemes, serveis i aplicacions informàtiques.
  • CT8 - Planificar, concebre, desplegar i dirigir projectes, serveis i sistemes informàtics en tots els àmbits, liderar-ne la posada en marxa, la millora contínua i valorar-ne l'impacte econòmic i social.
  • CT8.6 - Demostrar comprensió de la importància de la negociació, dels hàbits de treball efectius, del lideratge i de les habilitats de comunicació en tots els entorns de desenvolupament de software.
  • CT8.7 - Controlar versions i configuracions del projecte.

Objectius Específics

  1. Invocar els coneixements de programació adquirits en assignatures anteriors durant el desenvolupament d'un projecte de programació de mida mitjana, triant algorismes i estructures de dades adequades per a construir un programa correcte i eficient.

    Competències relacionades
  2. Organitzar la feina de disseny i programació d'un grup de persones de mida mitjana (de tres a deu), d'acord amb a una planificació temporal preestablerta. Aquesta organització inclou tant el compliment de la planificació donada com al repartiment de tasques entre els membres del grup.

    Competències relacionades
  3. Identificar parts susceptibles de ser factoritzades en l'especificació, disseny i implementació d'un programa, per tal de resoldre-les un sol cop. Usar de manera efectiva els mecanismes de l'orientació a objectes per fer la factorització.

    Competències relacionades
  4. Conèixer els principis del disseny i la programació orientades a objectes, la seva justificació, i els avantatges i inconvenients d'adoptar aquest paradigma en un projecte de programació.

    Competències relacionades
  5. Usar el mecanisme de classes i herència per evitar la redundància i per capturar abstraccions d'especificació, disseny i implementació. Entendre els avantatges d'aquest ús de la orientació a objectes pel que fa a fiabilitat, modificabilitat, portabilitat, reusabilitat i productivitat.

    Competències relacionades
  6. Tractar correctament les situacions anòmales dins del programa, usant, si és convenient, el mecanisme d'excepcions ofert pel llenguatge de programació.

    Competències relacionades
  7. Dissenyar una interfície d'usuari raonablement còmoda i eficaç per al programa, usant una llibreria GUI.

    Competències relacionades
  8. Desenvolupar un projecte de programació de mida mitjana, en grup, d'acord amb un pla de desenvolupament i una arquitectura proporcionades d'avantmà.

    Competències relacionades

Continguts

1. Conceptes d'OO.

Especificació, disseny i programació orientades a objectes (OO). Classes, objectes, atributs, mètodes i relacions. Encapsulament i ocultació, abstracció i classificació, herència. Polimorfisme, "binding" estàtic i dinàmic. Altres relacions: associació, agregació, dependència. Relació de l'OO amb els criteris de qualitat del software. UML: Nomenclatura de classes, atributs i operacions, classes abstractes, genèriques i herència. Nomenclatura dels diferents tipus de relacions.

2. Especificació: diagrames de classes i casos d'ús.

Cicles de vida. Definició del projecte. Requeriments. Especificació funcional. Modelar primer el domini. UML: diagrama de classes (domini). Diagrama de casos d'ús. Explicacions textuals. Estudi d'un cas.

3. Disseny: arquitectura en 3 capes

Descripció del paradigma de disseny d'arquitectura en 3 capes.

4. El llenguatge de programació Java

Implementació dels conceptes d'OO en Java. Herència, polimorfisme i genericitat com a eines de programació. Mecanismes d'execució. Creació i destrucció d'objectes. Crides a mètodes i pas de paràmetres. "Binding" estàtic i dinàmic. "Garbage collection". Implementació de l'arquitectura en 3 capes en Java. Implementació d'interfícies en Java. Conceptes addicionals: fitxers, serialitzacions, bases de dades.

5. Depuració de programes

Verificació. Program Testing: prova i depuració. Prova de components. Estatègies de prova i integració. Planificació de proves. "Bastimentada" i tests de regressió. Eines d'ajuda a la prova. Tractament de errors i excepcions.

6. Documentació

Documentació tècnica i d'usuari. Estàndards de documentació. Eines d'ajut a a la documentació (Doxygen).

7. Conceptes bàsics de disseny d'interfícies

Tipus d'entrada i sortida. Principis de comunicació amb interlocutors humans. Presentació d'informació, entrada i validació de dades, navegació, nivels d'ajut, models d'usuari.

Activitats

Llegenda

ActivitatActivitat de tipus Acte avaluatiu T P L AA AD
Activitat Activitat de tipus Acte avaluatiu Hores de Teoria Hores de Problemes Hores de Laboratori Hores d'Aprenentatge Autònom Hores d'Aprenentatge Dirigit

Descripció del projecte i formació de grups T      P      L      AA    AD    Total 
1.0 0.0 2.0 0.0 0.0 3.0

Alumne: Descripció de les entregues del projecte. Formació dels grups de pràctiques.

Objectius:
Conceptes bàsics d'OO T      P      L      AA    AD    Total 
3.0 0.0 0.0 3.0 0.0 6.0

Alumne: Desenvolupament del tema 1 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
Ampliació conceptes d'OO T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 1 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
Especificació: conceptes bàsics T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 2 de l'assignatura. Aplicació dels conceptes introduïts al projecte.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 4. Especificació: diagrames de classes i casos d'ús.
Exemple d'un cas pràctic T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament d'un cas pràctic, amb els conceptes dels temes 1 i 2 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 4. Especificació: diagrames de classes i casos d'ús.
Java: implementació dels conceptes d'OO T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 4 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 7. El llenguatge de programació Java
Disseny: arquitectura en tres capes T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 3 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 4. Especificació: diagrames de classes i casos d'ús.
  • 6. Disseny: arquitectura en 3 capes
Primera entrega del projecte T      P      L      AA    AD    Total 
- - - 0.0 0.0 0.0

Especificació i anàlisi. Es lliurarà una descripció detallada de les funcionalitats a desenvolupar, els casos d'us i un model del domini del problema.

Setmana 5 (Fora l'horari de classe)
Tipus Examen: Control de teoria

Objectius:
Java: implementació de l'arquitectura en tres capes T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 4 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 6. Disseny: arquitectura en 3 capes
  • 7. El llenguatge de programació Java
Documentació T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 6 de l'assignatura.

Objectius:

Continguts
  • 4. Especificació: diagrames de classes i casos d'ús.
  • 11. Documentació
Depuració de programes T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 5 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 7. El llenguatge de programació Java
  • 9. Depuració de programes
Especificació de les clases compartides T      P      L      AA    AD    Total 
- - - 0.0 0.0 0.0

Especificació de les clases compartides

Setmana 8 (Fora l'horari de classe)
Tipus Examen: Entrevista/Entrega pràctiques

Objectius:
Java: implementació d'interfícies T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 4 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 6. Disseny: arquitectura en 3 capes
  • 7. El llenguatge de programació Java
Conceptes bàsics de disseny d'interfícies T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 7 de l'assignatura.

Objectius:

Continguts
  • 6. Disseny: arquitectura en 3 capes
  • 12. Conceptes bàsics de disseny d'interfícies
Java: conceptes addicionals T      P      L      AA    AD    Total 
2.0 0.0 0.0 2.0 0.0 4.0

Alumne: Desenvolupament del tema 4 de l'assignatura.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 6. Disseny: arquitectura en 3 capes
  • 7. El llenguatge de programació Java
Segona entrega del projecte T      P      L      AA    AD    Total 
- - - 0.0 0.0 0.0

Disseny i principi de la implementació. Aquest lliurament inclou el disseny de la possible part compartida entre els grups del mateix "cluster" i la seva implementació. Es detallarà el repartiment de responsabilitats entre els grups. Respecte al treball propi del grup, s'ha d'implementar completament el model del domini i el nucli bàsic algorítmic del projecte, proporcionant els jocs de proves de la part implementada i un disseny preliminar de les pantalles que configuren la interfície de l'aplicació.

Setmana 11 (Fora l'horari de classe)
Tipus Examen: Control de teoria

Objectius:
Conceptes relacionats amb el projecte T      P      L      AA    AD    Total 
4.0 0.0 2.0 0.0 0.0 6.0

Alumne: Conceptes relacionats amb el projecte

Examen Teoria T      P      L      AA    AD    Total 
- - - 0.0 0.0 0.0

Aquest examen avaluarà els continguts introduïts a les classes de teoria.

Setmana 12 (Fora l'horari de classe)
Tipus Examen: Examen final

Objectius:
Tercera entrega del projecte T      P      L      AA    AD    Total 
- - - 0.0 0.0 0.0

Lliurament final. La documentació a presentar ha d'incloure el diagrama de classes complet (UML) i la implementació completa del projecte, així com els jocs de prova (si s'escau) i el manual d'usuari. A més del lliurament de la documentació, cada grup haurà de fer una presentació del seu projecte.

Setmana 15-18 (Fora l'horari de classe)
Tipus Examen: Control de teoria

Objectius:
Supervisió primera entrega T      P      L      AA    AD    Total 
0.0 0.0 4.0 9.5 0.0 13.5

Alumne: Classes de laboratori relacionades amb la primera entrega.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 4. Especificació: diagrames de classes i casos d'ús.
  • 6. Disseny: arquitectura en 3 capes
Supervisió segona entrega T      P      L      AA    AD    Total 
0.0 0.0 10.0 20.0 0.0 30.0

Alumne: Classes de laboratori relacionades amb la segona entrega.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 4. Especificació: diagrames de classes i casos d'ús.
  • 6. Disseny: arquitectura en 3 capes
  • 7. El llenguatge de programació Java
  • 9. Depuració de programes
  • 11. Documentació
Supervisió tercera entrega T      P      L      AA    AD    Total 
0.0 0.0 12.0 28.0 0.0 40.0

Alumne: Classes de laboratori relacionades amb la tercera entrega.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 4. Especificació: diagrames de classes i casos d'ús.
  • 6. Disseny: arquitectura en 3 capes
  • 7. El llenguatge de programació Java
  • 9. Depuració de programes
  • 11. Documentació
  • 12. Conceptes bàsics de disseny d'interfícies
Presentació tercera entrega T      P      L      AA    AD    Total 
0.0 0.0 0.0 0.0 7.5 7.5

Alumne: Presentació i entrevista presencial de la tercera entrega.

Objectius:

Continguts
  • 1. Conceptes d'OO.
  • 4. Especificació: diagrames de classes i casos d'ús.
  • 6. Disseny: arquitectura en 3 capes
  • 7. El llenguatge de programació Java
  • 9. Depuració de programes
  • 11. Documentació
  • 12. Conceptes bàsics de disseny d'interfícies
Total per tipus T      P      L      AA    AD    Total 
30.0 0.0 30.0 82.5 7.5 150.0

Metodologia docent

El temari s'exposa de forma molt pràctica, a través de la presentació de molts exemples.

Les classes de teoria introdueixen tot els coneixements, les tècniques i els conceptes necessaris per a la realització del projecte de l'assignatura.
Algunes de les classes de laboratori, normalment cap a principi de curs, serveixen perquè el professor presenti breument les notacions, llenguatges, llibreries i eines a utilitzar. En la majoria de classes de laboratori, però, no és el professor qui porta la iniciativa. Són unes hores que cada grup de projecte pot fer servir per treballar en comú, o bé per consultar dubtes amb el professor i rebre'n els seus comentaris.

Les dues hores de classes de teoria i les dues de laboratori es fan setmanalment, excepte les dues primeres setmanes que només es fa teoria i les dues darreres que només es fa laboratori.

La realització del projecte és la part principal de la feina a realitzar dins de l'assignatura. Aquest projecte tindrà un fort component algorísmic i d'estructures de dades.

Per implementar aquest projecte, el sistema de treball serà el segent:
- Els estudiants s'organitzen en grups de 4 persones, i els grups s'estructuren en macrogrups de 3 grups (els "clusters") de 12 persones.
- Cada "cluster" tindrà un professor tutor assignat.
- Hi haurà 3 enunciats diferents cada quadrimestre que hauran de ser resolts tots ells per cada un dels "clusters" (un enunciat per a cada grup). Encara que els enunciats són diferents, presentaran suficients semblances com perquè tingui sentit identificar parts comunes que puguin ser desenvolupades una sola vegada i reutilitzades per tot el "cluster".
- Dins de cada grup, un estudiant i tan sols un és responsable de programar i provar cada classe.

El curs utilitza el llenguatge de programació Java.

Mètode d'avaluació

Tipus d'avaluació

Assignatura que s'avalua en període d'examens

Nota Final: 0.20 * Nota_Examen_Teoria + 0.80 * Nota_Projecte

Nota_Projecte: (0.10 * Entrega1 + 0.30 * Entrega2 + 0.60 * Entrega3) * FT

Donat que el projecte és un treball en equip en el que han de participar tots i només els membres del grup, la nota final del projecte està ponderada per FT. Aquest Factor de Treball (FT) és una ponderació (0<=FT<=1) individual que valora el grau de treball de cada membre del grup. Es farà públic juntament amb les notes de la tercera entrega, i es determinarà a partir del repartiment de tasques dintre del grup (entregat a la Entrega3) i de les presentacions finals del
grup amb el seu tutor.


Competència transversal "Treball en equip": S'avalua usant una rúbrica simple en que el tutor de cada grup puntua els diferents aspectes associats a la competència de cada membre dels grups.

Competència transversal "Empreneduria i innovació": S'avalua usant una rúbrica simple en que el tutor de cada grup puntua els diferents aspectes associats a la competència de cada membre dels grups.

Pes de les competències transversals en l'avaluació de la part específica de l'assignatura

  • 0.0 % - Tenir iniciatives que generin oportunitats, nous objectes o solucions noves, amb una visió d'implementació de procés i de mercat, i que impliqui i faci participar als altres en projectes que s'han de desenvolupar (capacitat d'actuar de manera autònoma).
  • 0.0 % - Planificar i acordar els objectius, les regles de funcionament, les responsabilitats, l'agenda i el procediment de revisió de la feina. Identificar conflictes, negociar-los i resoldre-los de forma efectiva. Adaptar-se a diferents tipus de grups (gran/petit, tècnic/mixt, presencial /a distància). Interactuar amb eficàcia i promoure la participació de tots els membres del grup.

Bibliografía bàsica

  • Meyer, Bertrand , Construcción de software orientado a objetos , Prentice Hall , 1998 .


  • Budd, Timothy , An Introduction to object-oriented programming , Addison-Wesley , 2002 .


  • Binder, Robert V. , Testing object-oriented systems : models, patterns and tools , Addison-Wesley , 1999 .


  • Arnold, Ken; Gosling, James; Holmes, David , The Java programming language , Addison-Wesley , 2000 .


  • Peralta, Allen J.; Rodríguez, Horacio , Enginyeria del software : programació orientada a objectes , Edicions UPC , 1994 .


Bibliografía complementària

  • Meyer, Bertrand , Object-oriented software construction , Prentice Hall , 1997 .


  • Booch, Grady; Rumbaugh, James; Jacobson, Ivar , The Unified modeling language user guide. Second edition , Addison-Wesley , 2005 .


  • Booch, Grady; Rumbaugh, James; Jacobson, Ivar , El Lenguaje unificado de modelado. Segunda edición , Addison-Wesley , 2006 .


  • Rumbaugh, James; Jacobson, Ivar; Booch, Grady , The Unified modeling language reference manual. Second edition , Addison-Wesley , 2006 .


  • Rumbaugh, James; Jacobson, Ivar; Booch, Grady , El Lenguaje unificado de modelado : manual de referencia. Segunda edición , Addison-Wesley , 2007 .


  • Lee, Richard C.; Tepfenhart, William M. , UML and C++ : a practical guide to object-oriented development , Prentice Hall , 1997 .


  • Pressman, Roger S. , Software engineering : a practitioner's approach , McGraw Hill , 2005 .


  • Jeffries, Ron; Anderson, Ann; Hendrickson, Chet , Extreme programming installed , Addison-Wesley , 2001 .


  • Cooper, Alan; Reimann, Robert , About face 2.0 : the essentials of interaction design , Wiley , 2003 .


Enllaços web

  1. Obrir nova finestra http://java.sun.com/
    Pàgina de Java, el llenguatge de programació usat a l'assignatura. L'última versió disponible de la Java Platform es pot descarregar lliurement d'aquesta web.
  2. Obrir nova finestra http://mat21.etsii.upm.es/ayudainf/aprendainf/programacion.htm
    Apunts bàsics de Java, en castellà, que es poden baixar gratuïtament.
  3. Obrir nova finestra http://www-306.ibm.com/software/rational/
    Pàgina de Rational Rose Modeller, l'eina CASE utilitzada a l'assignatura.
  4. Obrir nova finestra http://argouml.tigris.org/
    Pàgina de ArgoUML, eina CASE alternativa de lliure distribució.

Capacitats prèvies

- Capacitat de resoldre problemes algorísmics de dificultat mitjana a partir d'una especificació clara, i d'implementar les solucions en un llenguatge de programació imperatiu.

- Coneixement dels mecanismes bàsics d'estructuració de programes (modularització, encapsulació, tipus abstractes de dades, classes) i capacitat per aplicar-los a problemes petits-mitjans (uns pocs mòduls)

- Coneixement dels elements de programació orientada a objectes (classes, objectes, mecanismes d'execució).

- Familiaritat amb un llenguatge imperatiu orientat a objectes.

- Capacitat d'usar i programar estructures de dades en aquest llenguatge.

- Capacitat d'usar llibreries en aquest llenguatge.

- Domini d'estratègies bàsiques per trobar i corregir errors en mòduls senzills.

Compartir

 
logo FIB © Facultat d'Informàtica de Barcelona - Contacte - RSS