Difference between revisions of "Ro/Haskell/Fundamentele Programarii"

From HaskellWiki
Jump to navigation Jump to search
(Adding course syllabus (various versions including Haskell and Rodin))
(Fixing broken links cused by the movement of site to other server - not my fault)
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:
   
 
'''2 dec 2008''' Am continuat cursul cu studentii sectiei de Matematica. Cele doua ore de curs de azi au prezentat relatia dintre teoremele utilizate intr-o teorie formala si programele care fac demonstratii in acel cadru axiomatic.
 
'''2 dec 2008''' Am continuat cursul cu studentii sectiei de Matematica. Cele doua ore de curs de azi au prezentat relatia dintre teoremele utilizate intr-o teorie formala si programele care fac demonstratii in acel cadru axiomatic.
* Exemplu: Din Algebra Translatoarelor - Un studiu de caz despre demonstrarea existentei unor translatoare obtinute prin traduceri de alte translatoare, pe o ierarhie de limbaje. [http://www.haskell.org/sitewiki/images/8/8a/Prolog.pdf Download Prolog.pfd - o lucrare din 2003 - Lucrarea in format PDF.] Programele au fost in Prolog dar se pot face asemenea programe si in Haskell, sistemul de tipuri din Haskell fiind capabil cam ca si Prologul sa faca deductii, inferente.
+
* Exemplu: Din Algebra Translatoarelor - Un studiu de caz despre demonstrarea existentei unor translatoare obtinute prin traduceri de alte translatoare, pe o ierarhie de limbaje. [http://www.haskell.org/wikiupload/8/8a/Prolog.pdf Download Prolog.pfd - o lucrare din 2003 - Lucrarea in format PDF.] Programele au fost in Prolog dar se pot face asemenea programe si in Haskell, sistemul de tipuri din Haskell fiind capabil cam ca si Prologul sa faca deductii, inferente.
 
Lectura suplimentara: Incercati:
 
Lectura suplimentara: Incercati:
 
* [http://www.cs.cmu.edu/~kw/pubs/conway.pdf Proving Conway's Lost Cosmological Theorem with Haskell]
 
* [http://www.cs.cmu.edu/~kw/pubs/conway.pdf Proving Conway's Lost Cosmological Theorem with Haskell]
Line 29: Line 29:
 
4. [[Laboratorul de Limbaje]] - pentru cateva informatii despre alte paradigme, limbajul Prolog (pentru Programare Logica) si Limbajul Scheme - urmas al batranului Lisp - (programare mixta, oarecum functionala si imperativa)
 
4. [[Laboratorul de Limbaje]] - pentru cateva informatii despre alte paradigme, limbajul Prolog (pentru Programare Logica) si Limbajul Scheme - urmas al batranului Lisp - (programare mixta, oarecum functionala si imperativa)
   
[http://www.haskell.org/sitewiki/images/8/8a/Prolog.pdf Download Prolog.pfd - o lucrare din 2003 - Prolog si Matematica.]
+
[http://www.haskell.org/wikiupload/8/8a/Prolog.pdf Download Prolog.pfd - o lucrare din 2003 - Prolog si Matematica.]
   
 
5. Tehnici de programare si algoritmi - deocamdata dati click pe [[Quicksort]] un exemplu bun de recursie.
 
5. Tehnici de programare si algoritmi - deocamdata dati click pe [[Quicksort]] un exemplu bun de recursie.
Line 57: Line 57:
 
... iar copia ei ....este aici ... [http://74.125.77.132/search?q=cache:N7pMNw_08jwJ:cursfs.ub.ro/programe_analitice/fundamentele_programarii5.pdf+Rodin+cursfs.ub.ro+.pdf&cd=1&hl=ro&ct=clnk&gl=ro&client=firefox-a]
 
... iar copia ei ....este aici ... [http://74.125.77.132/search?q=cache:N7pMNw_08jwJ:cursfs.ub.ro/programe_analitice/fundamentele_programarii5.pdf+Rodin+cursfs.ub.ro+.pdf&cd=1&hl=ro&ct=clnk&gl=ro&client=firefox-a]
   
...iar .pdf -ul cu versiunea revizuita din 21.nov.2008 [http://www.haskell.org/sitewiki/images/9/97/Fundamentele_programarii5.pdf] este aici.
+
...iar .pdf -ul cu versiunea revizuita din 21.nov.2008 [http://www.haskell.org/wikiupload/9/97/Fundamentele_programarii5.pdf] este aici.
   
 
----
 
----
Variante succesive ale programei cursului Fundamentele Programarii, predatate la date care se succed, in urma cerintelor de (re)scriere succesive. (Cu toate ca anuntare initiala a modului de examinare este un contract nescris cu studentii nostri !).
+
Variante succesive ale programei cursului Fundamentele Programarii, predatate la date care se succed, in urma cerintelor de (re)scriere succesive. (Cu toate ca anuntarea initiala a modului de examinare ''este un contract nescris'' cu studentii nostri care trebuie respectat !).
   
[http://www.haskell.org/sitewiki/images/8/82/F_84-1-Programa_analitica.pdf]
+
[http://www.haskell.org/wikiupload/8/82/F_84-1-Programa_analitica.pdf]
   
[http://www.haskell.org/sitewiki/images/c/c3/F_84-1-Programa_analitica_Peste_o_luna.pdf]
+
[http://www.haskell.org/wikiupload/c/c3/F_84-1-Programa_analitica_Peste_o_luna.pdf]
   
 
Nota: Variantele au o minuscula greseala de tipar, Ed.1 trebuia citit Ed.2.
 
Nota: Variantele au o minuscula greseala de tipar, Ed.1 trebuia citit Ed.2.

Latest revision as of 08:12, 22 May 2011

Haskell -Fundamentele Programarii

Stiri: Fundamentele Programarii

2 dec 2008 Am continuat cursul cu studentii sectiei de Matematica. Cele doua ore de curs de azi au prezentat relatia dintre teoremele utilizate intr-o teorie formala si programele care fac demonstratii in acel cadru axiomatic.

  • Exemplu: Din Algebra Translatoarelor - Un studiu de caz despre demonstrarea existentei unor translatoare obtinute prin traduceri de alte translatoare, pe o ierarhie de limbaje. Download Prolog.pfd - o lucrare din 2003 - Lucrarea in format PDF. Programele au fost in Prolog dar se pot face asemenea programe si in Haskell, sistemul de tipuri din Haskell fiind capabil cam ca si Prologul sa faca deductii, inferente.

Lectura suplimentara: Incercati:

28 oct 2008 Am inceput al doilea modul din cursul Fundamentele Programarii. Fiecare student care a primit notite tiparite de curs este rugat sa faca doua copii pentru alti doi colegi (si sa le tina minte numele). Cei care au lipsit la curs sunt invitati (invitati inviti, vorba latinului) sa citeasca pe cont propriu capitolul al II-lea din Volumul semnat de Mike Gordon, Introduction to Functional Programming(Introduction-to-Functional-Programming) din bibliografia de la Programare functionala. Capitolul se refera la reprezentarile diverselor structuri algebrice (de la logica si aritmetica precum si perechi si n-uple) in universul functiilor scrise ca lambda expresii.

2.Gordon Mike, Introduction to Functional Programming care ar trebui sa fie disponibila in format pdf [http://www.cl.cam.ac.uk/users/mjcg undeva pe aici - link extern] Sau mai bine incercati aici: Introduction-to-Functional-Programming Atentie ca e cam mare fisierul, cititi-l cu o versiune de Acrobat cu toate patch-urile de securitate.


Programa de curs (pe scurt) la Fundamentele Programarii

Daca sunteti interesati de cursul de Fundamentele Programarii dati click pe ... Ro/Haskell/Fundamentele Programarii iar pentru diferitele sale aspecte dati clic pe urmatoarele capitole mari.

1. Rodin - pentru Limbajul Pseudocod Rodin si notiuni fundamentale de programare Imperativa

2. Programare functionala - Pentru notiuni fundamentale de programare functionala Programare functionala

3. Clase si instante de clase in diverse limbaje. Vedeti la User:Ha$kell - acolo sau pe dRaftul personal veti gasi un draft al unui volum despre Programarea Orientata Obiect in Oberon. Comparati notiunea de obiecte din limbajele obiectuale clasice (Oberon, C++) cu cea de la Clase de tipuri din Haskell.

4. Laboratorul de Limbaje - pentru cateva informatii despre alte paradigme, limbajul Prolog (pentru Programare Logica) si Limbajul Scheme - urmas al batranului Lisp - (programare mixta, oarecum functionala si imperativa)

Download Prolog.pfd - o lucrare din 2003 - Prolog si Matematica.

5. Tehnici de programare si algoritmi - deocamdata dati click pe Quicksort un exemplu bun de recursie.

6. Pentru Notiuni de matematica reprezentate in Haskell dati click pe Capitole de manual si va raman dator ... cu lista capitoleleor de interes imediat pentru dumneavoastra. Cautati si la Biblioteca (pe aceasta pagina Ro/Haskell/Mini-biblioteca-de-Haskell ) - The Haskell Road to Logic, Maths and Programming de Kees Doets si Jan van Eijck.

7. Pentru notiuni avansate (dar fundamentale) de Teoria Categoriilor (legate de Constructia limbajelor de programare) cautati Lucrarile lui E.Moggi si cartile de Teoria Categoriilor de la Biblioteca de aici Ro/Haskell/Mini-biblioteca-de-Haskell.


Programa de Laborator la disciplina Fundamentele Programarii

Saptamanile 1-4 - Programare imperativa, pentru uz didactic, cu Rodin, actualmente RodinV081. Salvati pe un CD micile programe pe care reusiti sa le faceti. 1-2 structuri neiterative, 3-4 structuri repetitive.

Saptamanile 5-6 - Limbajul pseudocod Rodin, actualmente RodinV081. Folosirea functiilor anonime sub forma de lambda expresii. Aplicari, abstractii, asociere. Salvati pe un CD micile programe pe care reusiti sa le faceti. Structurile programarii structurate.

Saptamanile 7-8 - Lambda expresii, in Haskell.

Probabil vom continua sa lucram cu un limbaj functional adevarat: Haskell folosind GHC sau WinHUGS. Faceti download-urile de pe pagina principala Ro/Haskell


Programa oficiala la Fundamentele Programarii (prima versiune, criticata pentru modul de acordare a notelor, cu bonus nu cu procente), si datata 1 octombrie 2008 conform site-ului http://cursfs.ub.ro/programe_analitice/fundamentele_programarii5.pdf. (link actualmente inactiv)

Aceasta programa a fost disponibila si pe site-ul Catedrei de Matematica - Informatica: http://cursfs.ub.ro/programe_analitice/fundamentele_programarii5.pdf (actualmente retrasa - de cine, de ce ??)

... iar copia ei ....este aici ... [1]

...iar .pdf -ul cu versiunea revizuita din 21.nov.2008 [2] este aici.


Variante succesive ale programei cursului Fundamentele Programarii, predatate la date care se succed, in urma cerintelor de (re)scriere succesive. (Cu toate ca anuntarea initiala a modului de examinare este un contract nescris cu studentii nostri care trebuie respectat !).

[3]

[4]

Nota: Variantele au o minuscula greseala de tipar, Ed.1 trebuia citit Ed.2.

Completare facuta pe 17-18 martie 2009 la cererea Domnului lector dr. C.B.care a intrebat de existenta programei.


Pagina in dezvoltare. Click pe Back pentru a reveni. Browser recomandat Mozilla Firefox.


Pagina indexata la indexul Categories:Ro


<= Inapoi la pagina principala Ro/Haskell.

<- Inapoi la inceputul paginii 'Intrebarile incepatorului Ro/Haskell'.