| CS431 | Programming Language Lab | July-Nov 2013 | Instructor: Dr A Sahu |

TAs: [PhD Debanjan Sadhukhan], [M Tech II: R Kakarala, T K Agrawal, Pratik Agrawal]

Course Structure:
Thanks to authors of Book (Art of Multiprocessor Programming: Shavit and Herlihy) for providing PPT slide openly.
Labs and Tutorial hours
05th Aug Lab 1: Installation of SML, GProlog , Java and MIT Cilk
In SML: mkdir /usr/local/sml; export INSTALLDIR=/usr/local/sml
Tutorial: ML Programming PDF Slides Other Resources: SML Examples
12th Aug Lab 2: Assignment 1 using ML Tutorial : ML Programming PDF Slides
19th Aug Lab 3: Part of Assignment 2 using ML Tutorial : ML + Lambda Calculus PDF Slides
26th Aug Lab 4: Part of Assignment 2 using ML Tutorial Postponed..
02th Sep Lab 5: Assignment 3 using Prolog Tutorial : Prolog Programming PDF Slides
09th Sep Lab 6: Part of Assignment 4 using Prolog Tutorial : Prolog Programming PDF Slides
16th Sep Lab 7: Part of Assignment 4 using Prolog Tutorial : Prolog Programming PDF Slides
-------- MID SEM BREAK------ -----------------
30th Sep Lab 9: Test program running Tutorial : Concurrent Programming PDF Slides
07th Oct Lab 10: Assignment 5 (Impl of Manual Parallelisation of Application) Tutorial : Concurrent Programming PDF Slides
21th Oct Lab 11: Assignment 5 Tutorial : Concurrent Programming PDF Slides
Concurrent List (Chapter 9 AMP Book) Java Code JAVACODE
Resources of Art of Multi Prog Book @ Books Resources
28th Oct Lab 12: Use of CDS Last Tutorial on Concurrent Programming PDF Slides
04th Nov Lab 13: Use of CDS
11th Nov Lab 13: Use of CDS .................
15th Nov Lab 13: Project Demo .................

Assignments Marks and Submission Procedure
Submission Procedure: Email to asahu AT iitg.ernet.in with subject as (CS431.ASSGN(ASSGNNUMBER).ROLLNUMBER) and attachment file name as CS431.ASSGN(ASSGNNUMBER).ROLLNUMBER.(EXTN)
Statement Deadline Marks
Assignments 1 (ML Basic): Assignment 1 11.55PM 15 Aug 2013 10%
Assignments 2 (ML Advance): Assignment 2 11.55PM 28 Aug 2013 15%
Assignments 3 (Prolog Basic): Assignment 3 11.55PM 18 Sep 2013 10%
Assignments 4 (Prolog Advanced): Assignment 4 generateMaze.cpp 11.55PM 08 Oct 2013 15%
Assignments 5 (Basic Parallelization): Assignment 5,
Application lbm.c, cilktool cilk-5.4.6.tar.gz,
How to Install Cilk HowtoInstallCilk.txt
Testprogram matmul.cilk and Makefile for cilk Makefile
CilkMannualAndResources at Cilk@MIT
11.55PM 28 Oct 15 13 20%
Assignment 6 (Use of CDS)
Performance of various Concurrent Priority Queues in Discrete Event Simulation Assignment 6
*************Serial Version of DES in Java SerialDESTest.java******
11.55PM 16 Nov 2013 30%

Text Books
  1. Jeffrey D. Ullman Elements of ML Programming, Prentice Hall, 1994
  2. W. F Clocksin, C. S. Mellish Programming in Prolog: Using the ISO Standard , 5th Ed, Springer (2004)
  3. Maurice Herlihy, Nir Shavit, Art of Multiprocessor Programming, Elsevier 2009
Reference Books
  1. Ravi Sethi, K.V. Vishwanatha, Programming Languages: Concepts and Constructs, 2/e, Pearson Education, 2007
  2. Anthony Williams, C++ Concurrency in Action: Practical Multithreading , Dreamtech Publication, 2012 PDF Book
  3. Michael A. Covington, Donald Nute, and Andre Vellino, Prolog Programming in Depth. Prentice-Hall, 1997. FreeEBook

Lab Class timing, Venue and Rules