Diferència entre revisions de la pàgina «Programació»
		
		
		
		
		
		
		Salta a la navegació
		Salta a la cerca
		
				
		
		
		
		
		
		
		
	
| Línia 84: | Línia 84: | ||
=== Exercicis ===  | === Exercicis ===  | ||
| − | # [[  | + | # [[JsonXat]]: establirem uns serveis web per permetre xat des de dispositius mòbils i una app Android.  | 
# [[QtreGimp]]: crearem formes geomètriques i les enregistrarem en arxius amb ''shelve''.  | # [[QtreGimp]]: crearem formes geomètriques i les enregistrarem en arxius amb ''shelve''.  | ||
# [[Xat amb ZEO]]: programa de xat amb el servidor ZODB per xarxa.  | # [[Xat amb ZEO]]: programa de xat amb el servidor ZODB per xarxa.  | ||
Revisió del 18:36, 26 març 2014
En aquest curs treballarem amb el llenguatges Python.
- El llenguatge Python ha incrementat la seva quota de mercat progressivament, sobretot mercès l'impuls donat per Google amb el seu App Engine. És un llenguatge orientat a objectes nadiu i de més alt nivell que el C++, el que permet una manipulació més elegant amb un rendiment raonable.
 
Contingut
UF4: Programació Orientada a Objectes. Fonaments
Llenguatges compilats i interpretats. Diferències i implicacions.
Referències:
- Wikipèdia: http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
 - Wikibooks: http://en.wikibooks.org/wiki/Python_Programming/Object-oriented_programming
 
Llenguatge Python
- Python prompt: per millorar la consola Python amb autocompletion.
 - Python: introducció ràpida: per conexiedors del C. Exercicis inclosos al final.
 - Python: tipus bàsics de dades: nombres, strings (cadenes), llistes, tuples i diccionaris. Exercicis inclosos al final.
 - Python: keyworded arguments:
 
POO
- POO Introducció. Objectes i les característiques (herència, sobrecàrrega, polimorfisme).
 - POO Classes. Instanciació, mètodes i atributs, constructors i destructors.
 - POO Herència. Una de les principals característiques de la POO.
 - POO: Polimorfisme. Una altra característica principal de la POO. En Python no és tan rellevant degut als tipus dinàmics.
 - POO Sobrecàrrega: la sobrecàrrega s'aplica a mètodes i operadors. En Python no s'utilitza en favor dels keyworded arguments.
 - POO Operadors: operacions de comparació entre classes.
- POO operadors 2: més exemples d'operadors amb objectes (clients).
 
 - Python: variables estàtiques o de classe
 
Exercicis: POO Exercicis
UF5: POO. Llibreries de classes fonamentals
- Estructures de dades:
- Bàsiques: nombre (sencer, flotant), caràcter, booleà
 - Avançades: vector, llista, matriu, cua (queue), pila (stack), hash table, arbres (binaris, multicamí), grafs
 
 - Python: variables estàtiques o de classe
 - Excepcions (amb algun exemple):
- Wikipedia: http://es.wikipedia.org/wiki/Manejo_de_excepciones
 - Tutorial sobre excepcions a python.org
 - Llistat d'excepcions en Python: http://docs.python.org/2/library/exceptions.html
 
 - Python: GUI (referències). Tutorial:
- PyQt: introducció: Aplicació, layouts, signals/slots i widgets
 - PyQt: pintar dintre d'un widget
 - PyQt: Timers i pilotes rebotant
 - PyQt: joc del mur
 - PyQt4: utilitzant Qt Designer
 - PyQt4: utilitzant Qt Designer 2: diàlegs i ListWidget
 
 - PyQt: accés a:
 
Altres temes
Més coses:
- Templates
 - Col·leccions i iteradors
 - Concurrència: (llibreria threading) http://docs.python.org/2/library/threading.html
- Threads (fils d'execució)
 - Timers:
 - Signals
 - Mutex (locks) i semàfors
 
 - Fluxos (streams)
 
UF6: POO. Introducció a la persistència en BD
Treballant amb Java:
Persistència en Python:
- Pickle: és una eina de serialització de baix nivell. Serà complicat utilitzar-la.
 - Shelve: utilitza pickle com a base, però simplifica la utilització.
 - ZODB:
- Zope Object Database: versió data storage (1 fitxer)
 - ZEO (ZODB per socket, permet múltiples connexions simultànies)
 
 
Utilitzarem Shelve i ZODB en el curs. S'utilitzen de manera molt similar, disposem d'una arrel (root), que és un diccionari persistent, on poden enregistrar els nostres objectes. La diferència més important és que a ZODB cal fer un commit, i que té la possibilitat de multithreading mitjançant l'accés amb ZEO.
Exercicis
- JsonXat: establirem uns serveis web per permetre xat des de dispositius mòbils i una app Android.
 - QtreGimp: crearem formes geomètriques i les enregistrarem en arxius amb shelve.
 - Xat amb ZEO: programa de xat amb el servidor ZODB per xarxa.