Diferència entre revisions de la pàgina «Programació»
Salta a la navegació
Salta a la cerca
Línia 35: | Línia 35: | ||
** Bàsiques: nombre (sencer, flotant), caràcter, booleà | ** Bàsiques: nombre (sencer, flotant), caràcter, booleà | ||
** Avançades: vector, llista, matriu, cua (queue), pila (stack), hash table, arbres (binaris, multicamí), grafs | ** Avançades: vector, llista, matriu, cua (queue), pila (stack), hash table, arbres (binaris, multicamí), grafs | ||
− | * | + | * [[Iteradors]] i col·leccions: |
− | ** | + | ** [http://en.wikipedia.org/wiki/Iterator Wikipedia "Iterator"] |
+ | ** [http://docs.python.org/2/library/stdtypes.html#iterator-types Iteradors a python.org] | ||
+ | ** [http://docs.python.org/2/reference/expressions.html#yieldexpr Yield expressions] | ||
* Excepcions | * Excepcions | ||
* Templates | * Templates |
Revisió del 18:59, 1 gen 2013
En aquest curs treballarem amb les llenguatges C++ i Python.
- El llenguatge C/C++ continua sent la opció més generalitzada de programació de sistema i té la capacitat de poder treballar a molt baix nivell, mantenint així un rendiment molt alt.
- El llenguatge Python ha incrementat la seva quota de mercat progressivament, sobretot mercès l'impuls donat per Google amb el seu AppEngine. És un llenguatge orientat a objectes nadiu i de més alt nivell que el C++, el que permet una manipulació més elegant però amb menys rendiment.
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.
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
- Iteradors i col·leccions:
- Excepcions
- Templates
- 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)
GUI: Graphical User Interface
- PyGTK:
- Pàgina oficial: http://pygtk.org/pygtk2tutorial/index.html
- Tutorials una mica millors que a la pagina oficial:
- Drawing methods: http://pygtk.org/pygtk2tutorial/sec-DrawingMethods.html
- Més Drawing methods (bon exemple): http://learngtk.org/pygtk-tutorial/drawingarea.html
- Cairo: http://www.pygtk.org/articles/cairo-pygtk-widgets/cairo-pygtk-widgets.htm
- Timers: http://tuxion.com/2010/04/16/periodic-timers-in-pygtk.html
- ...
- GUI: Llibreria Qt (abans de Trolltech, ara de Nokia):
- Tutorials per començar a introduïr-se: http://zetcode.com/tutorials/pyqt4/
- Referències:
- Nokia (original llibreria C++): http://doc.qt.nokia.com/4.7/index.html
- PyQt (bindings per Python): http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/index.html
- Intro ràpida als SIGNALs i SLOTs per Python: http://techbase.kde.org/Development/Tutorials/Python_introduction_to_signals_and_slots
- Altres tutorials Python (i Ruby, etc.): http://techbase.kde.org/Development/Tutorials#Other_programming_languages
- Referències de les tecles en Qt: http://doc.qt.nokia.com/4.7/qt.html#Key-enum
- ...
UF6: POO. Introducció a la persistència en BD
- Per començar a utilitzar MySQL amb Python:
- ...