Programació Orientada a Objectes amb Smalltalk (POOS)

POOS és una assignatura de lliure elecció que es va impartir a la Facultat d'Informàtica de Barcelona (FIB) de la UPC i al Citilab.

De moment aquí teniu les imatges d'Squeak que fem servir per fer les classes (cal tenir instal·lat Squeak per fer-les servir). La gran majoria del material està traduït de les lliçons del curs open-source impartit pel professor Oscar Nierstrasz de l'Universitat de Berna, encara que hi ha afegits personals que, esperem, siguin cada cop més nombrosos.

El curs s'estructura en 14 sessions de dues hores cadascuna, la qual cosa omple un quatrimestre sencer si fem una sessió per setmana. Això ens permet fer el curs dos cops l'any: de setembre a desembre, i de febrer a juny. Finalment, s'espera a totes les sessions que cada estudiant disposi d'un ordinador. El llibre recomanat per fer l'assignatura és Squeak by Example.

Lliçó 1: Introducció
El curs comença amb una introducció a la història d'Smalltalk i als seus trets més característics. Barreja de lliçó i marketing, s'espera que l'estudiant surti amb la idea de que continuar assistint al curs no serà una pèrdua de temps.

Lliçó 2: Conceptes Bàsics
Introduïm els conceptes bàsics d'Smalltalk i construïm un primer exemple d'aplicació. Aprofitem també per introduir els tests i el lloc on es comparteix el codi Squeak: SqueakSource.

Lliçó 3: Classes Estàndard
Continuem amb conceptes bàsics estudiant una mica amb detall l'ús de les classes que l'entorn Smalltalk ens proporciona. Entre aquesta lliçó i l'anterior invertim tres sessions. Acabem amb l'exemple de l'endevinador de nombres.

Lliçó 4: Modismes
Conèixer el llenguatge no és suficient per programar en aquest llenguatge. En aquesta lliçó introduïm algunes de les maneres de fer típiques d'Smalltalk. I és que quan un llenguatge és orientat a objectes i dinàmic, sovint la nostra intuïció procedural ens enganya.

Lliçó 5: Exercici Xarxa
Prou de xerrar! Ja és hora de programar seriosament. Aquest exemple és d'una mida respectable, si tot just s'acaba d'aprendre Smalltalk. És un exercici guiat que acaba implementant una LAN de joguina. Aquesta lliçó acostuma a durar tres sessions senceres.

Lliçó 6: Seaside
Seaside és un framework per fer aplicacions web només utilitzant Smalltalk. En aquesta lliçó introduïm Seaside tot instal·lant-lo en una imatge neta d'Squeak. És molt senzill! Posem cert èmfasi en els aspectes del control dels components, un dels punts forts de Seaside.

Lliçó 7: Exemples Seaside
Per posar en pràctica el que hem après a la lliçó anterior, escrivim uns exemples petitons per ser executats en un browser. Altre cop, emfatitzem l'aspecte del control, deixant de banda altres coses també molt interessants de Seaside. Però tenim el temps que tenim...

Lliçó 8: Debugging
Catàleg més o menys exhaustiu d'errors típics en programes Smalltalk, i com solucionar-los.

Lliçó 9: Metaclasses
Les dues darreres lliçons (aquesta i la propera) expliquen amb detall les entranyes d'Smalltalk. Aquesta lliçó vol explicar com és que Smalltalk gaudeix d'una uniformitat tan radical en la qüestió dels objectes: Tot és un objecte! Fins i tot les classes! Aquí veurem com de llestos van ser la colla del Xerox PARC quan van pensar l'Smalltalk

Lliçó 10: Reflexió
Continuem amb un dels aspectes més desconeguts de Smalltalk. De fet, la reflexió és un dels trets diferencials de Smalltalk dins del zoo de llenguatges de programació. Podem utilitzar tècniques que són senzillament impensables en altres llenguatges, però de ben segur que ens les vendran com a grans novetats tecnològiques quan les incorporin! Nosaltres, com ja sabrem Smalltalk, somriurem amb certa suficiència...

Nota: Si heu instal.lat Squeak 4 per utilitzar les imatges del curs, haurieu d'afegir el fitxer SqueakV39.sources (aquí) dins del directori on està la màquina virtual d'Squeak.


Novetats

  • Reminder: ESUG16 - 13th Innovation Technology Awards
    17 August 20167:41:24 am by Jordi Delgado
    Reminder: Only a few days left to submit!! ESUG 2016, 13th Innovation Technology Awards Have you written innovative Smalltalk? The developers of any Smalltalk-based software can enter by submitting ...
  • ESUG 2016 Innovation Technology Awards
    25 June 201611:45:15 am by Jordi Delgado
    ESUG 2016, 13th Innovation Technology Awards Have you written innovative Smalltalk? The developers of any Smalltalk-based software can enter by submitting a 3-5min video of their software. Entrants d...
  • ESUG 2015 REMINDER: 12th Innovation Technology Awards
    3 July 20157:28:30 am by Jordi Delgado
    ESUG 2015, 12th Innovation Technology Awards Have you written innovative Smalltalk? The developers of any Smalltalk-based software can enter by submitting a 3-5min video of their software. Entrants d...
  • Submission problems fixed! - ESUG 2014 REMINDER: 11th Innovation Technology Awards
    10 August 20149:46:47 am by Jordi Delgado
    ESUG 2014, 11th Innovation Technology Awards Have you written innovative Smalltalk? The developers of any Smalltalk-based software can enter by submitting a 3-5min video of their software. Entrants d...