next up previous


INF8541 Paradigmes de programmation
Syllabus


Automne 2001

Professeur:
Guy Tremblay
Local:
PK-4435
Téléphone:
987-3000 poste 8213#
Email:
tremblay.guy@uqam.ca



Horaire du cours: Mardi 18:00 - 21:00 (local SH-2540)



Description (selon l'annuaire)

Étude comparative et critique des divers paradigmes. Langages procéduraux. Programmation fonctionnelle, logique, parallèle et orientée-objet. Méthodologies de programmation. Propriétés formelles des paradigmes.



Objectifs

Général:
Initier les étudiant-e-s aux principaux paradigmes de la programmation parallèle.


Spécifiques:
À la fin du cours, l'étudiant-e devrait être capable ...



Formules pédagogiques



Contenu du cours

1.
Introduction:
2.
Aperçu des architectures parallèles

3.
Programmation impérative

4.
Programmation fonctionnelle
  • Caractéristiques générales de la programmation fonctionnelle et fondements théoriques ($\lambda$-calcul)
  • Les divers types de langages fonctionnels: stricts, paresseux, indulgents
  • Exemples de langages: Haskell/pH, Erlang

5.
Programmation logique
  • Caractéristiques générale de la programmation logique et fondements théoriques
  • Les principaux types de langages logique
  • Exemples de langages: PARLOG, CCP.

6.
Exposés par les étudiant-e-s



Évaluation (à discuter)

+ Travaux de programmation parallèle (en Threaded-C):

$\textstyle\parbox{5in}{Petit travail d'initiation \`a la programmation en
Threaded-C}$ $\textstyle\parbox{2in}{\hfill$\Rightarrow$\space \
\mbox{\hspace{1cm}}\ ~\%\mbox{\hspace{1cm}}}$

$\textstyle\parbox{5in}{Parall\'elisation d'une application (\'ecrite en C) \`a l'aide
de Threaded-C}$ $\textstyle\parbox{2in}{\hfill$\Rightarrow$\space \
\mbox{\hspace{1cm}}\ ~\%\mbox{\hspace{1cm}}}$

+ Exercices:

$\textstyle\parbox{5in}{Exercices \`a faire \`a la maison et \`a remettre la semaine
suivante ($n$~parmi $m$, $n <\hspace{-0.15cm}< m$)}$ $\textstyle\parbox{2in}{\hfill$\Rightarrow$\space \
\mbox{\hspace{1cm}}\ ~\%\mbox{\hspace{1cm}}}$

+ Exposé et résumé

$\textstyle\parbox{5in}{Pr\'esentation sur un sujet au choix (approuv\'e par le
professeur) li\'e aux paradigmes et langages de programmation
parall\`ele}$ $\textstyle\parbox{2in}{\hfill$\Rightarrow$\space \
\mbox{\hspace{1cm}}\ ~\%\mbox{\hspace{1cm}}}$

$\textstyle\parbox{5in}{R\'esum\'e \'ecrit (2 pages) sur le sujet pr\'esent\'e}$ $\textstyle\parbox{2in}{\hfill$\Rightarrow$\space \
\mbox{\hspace{1cm}}\ ~\%\mbox{\hspace{1cm}}}$

Remarques

* Les travaux, les exercices, l'exposé et le résumé écrit devront être faits individuellement.


* Une pénalité de 10 % par jour de retard sera appliquée pour la remise des travaux.


* La qualité du français sera prise en considération, tant dans l'examen que dans l'exposé et le résumé écrit (jusqu'à 10 % de pénalité).




Manuel (obligatoire)

Foundations of Multithreaded, Parallel, and Distributed Programming , G.R. Andrews, Addison-Wesley, 2000. Disponible à la COOP-UQAM (Sciences).



Site web

Certains éléments utiles pour le cours seront mis à la disposition des étudiants par l'intermédiaire du site suivant:

   http://www.labunix.uqam.ca/~tremblay_gu/INF8541/

References

AVWW93
J. Armstrong, R. Virding, C. Wikstrom, and M. Williams.
Concurrent Programming in ERLANG (Second Edition).
Prentice-Hall, 1993.

CG90
N. Carriero and D. Gelernter.
How to Write Parallel Programs -- A First Course.
The MIT Press, 1990.

CS99
D.E. Culler and J.P. Singh.
Parallel Computer Architecture -- A Hardware/Software Interface.
Morgan Kaufmann Publishers, 1999.

Dav92
A.J.T. Davie.
Introduction to functional programming systems using Haskell.
Cambridge University Press, 1992.
[QA76.62D39].

FH88
A.J. Field and P.G. Harrison.
Functional Programming.
Addison-Wesley Publishers Ltd., 1988.
[QA76.6 F477].

Fos95
I. Foster.
Designing and Building Parallel Programs.
Addison-Wesley, 1995.

Kel89
P. Kelly.
Functional Programming for Loosely-Coupled Multiprocessors.
Research Monographs in Parallel and Distributed Computing. The MIT Press, 1989.

Lea00
D. Lea.
Concurrent Programming in Java -- Design Principles and Patterns (Second Edition).
Addison-Wesley, 2000.

MK99
J. Magee and J. Kramer.
Concurrency -- State Models & Java Programs.
John Wiley & Sons, 1999.

Pac97
P.S. Pacheco.
Parallel Programming with MPI.
Morgan Kaufman Publ., 1997.

ST95
D.B. Skillicorn and D. Talia.
Programming Languages for Parallel Processing.
IEEE Computer Society Press, 1995.

Tho96
S. Thompson.
Haskell -- The Craft of Functional Programming.
Addison-Wesley, 1996.

TTM+00
G. Tremblay, K.B. Theobald, C.J. Morrone, M.D. Butala, J.N. Amaral, and G.R. Gao.
Threaded-C language reference manual (release 2.0).
CAPSL Technical Memo 39, Univ. of Delaware, Sept. 2000.
http://www.capsl.udel.edu/EARTH/threaded-C-ref-manual.ps.gz.

WA99
B. Wilkinson and M. Allen.
Parallel Programming -- Techniques and Applications Using Networked Workstations and Parallel Computers.
Prentice-Hall, 1999.

Wil95
G.V. Wilson.
Practical Parallel Programming.
The MIT Press Scientific and Enginerring Computing Series, 1995.

Remarque: Une bibliographie plus détaillée est disponible à l'URL suivant:

    http://www.labunix.uqam.ca/~tremblay_gu/chercher-reference.cgi

About this document ...

INF8541 Paradigmes de programmation
Syllabus

This document was generated using the LaTeX2HTML translator Version 97.1 (release) (July 13th, 1997)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split +0 -auto_navigation syllabus.tex.

The translation was initiated by Tremblay Guy on 8/29/2001


next up previous
Tremblay Guy
8/29/2001