CS331 : Programming Language Lab (L-T-P-C: 0-1-3-5)

Instructor : A. Sahu TA : Chinmaya Swain (chinmayaswain< at > iitg < dot > ac < dot > in)
Venue: Online [As there is tutorial components in this courses we will have 1 hr tutorial/week in either B1 or ML3 timing (Wednesday 8AM-12Nn). We will float assignments and you are supposed to code for the assignment and submit before the deadline of the assignments in MS Teams]
Course Contents: Programming paradigms: imperative and declarative (introduction); Concurrent programming: basic idea, Java language introduction, concurrent programming with Java (threads and libraries); Logic programming: basic idea, Prolog introduction, logic programming with Prolog; Functional programming: basic idea, introduction to LISP/Haskell, functional programming with LIST/Haskell;
Text/reference Book/Webreferences:
  1. Goetz, B. et al. Java concurrency in practice, Pearson 2006.
  2. Blackburn, Patrick, Johannes Bos, and Kristina Striegnitz. “Learn prolog now!”, Vol. 7. No. 7. Londres: College Publications, 2006.
  3. Hutton, G. “Programming in Haskell”, Cambridge University Press, 2016.
  4. https://docs.oracle.com/javase/tutorial/
  5. http://www.learnyouahaskell.com/
  6. https://www.tutorialspoint.com/lisp/index.htm,
  7. http://www.learnprolognow.org/lpnpage.php?pageid=online

There will be six programming assignments with weigtages 10,15,10,15,10 and 15
  1. Assignment I [10 Marks, Deadline ****]:
  2. Assignment II [15 Marks, Deadline ****]:
  3. Assignment III [10 Marks, Deadline ****]:
  4. Assignment IV [15 Marks, Deadline ****]:
  5. Assignment V [10 Marks, Deadline ****]:
  6. Assignment VI [15 Marks, Deadline ****]:

Guidelines for the assignment submission