CS2430: Principles of Programming Languages - II and CS2431: Principles of Programming Languages Laboratory - II

January 2016 - March 2016

Instructor: Ramakrishna Upadrasta (U. Ramakrishna)
Email: Ramakrishna AT iith DOT ac DOT in

TAs (IITH email-IDs: <ID> AT iith DOT ac DOT in) : Ajay Brahmakshatriya (CS12B1004), Bhatu Pratik (CS12B1010), Keyur Joshi (cs13b1014)...

Discussion Google-group: popl2-jan16 AT iith DOT ac DOT in Join Group (only with IITH email-IDs)
Classes: Mon: 11:00am-12:00noon, Wed: 10:00pm-11:00am, Thu: 9:00am-10:00am; Room: CL#317

Credits: CS2430:CS2431 2:2
Prerequisites: CS2430 and CS2431: CS2400 and CS2401; Also, a concurrent registration to both CS2430 and CS2431 is compulsory.

Course Description (CS2430)

The objective of CS2430 course is to learn basic principles of programming languages: their concepts, constructs, syntax, semantics and pragmatics. The course will focus on the alternate classic programming language paradigms of Functional, Logic and Scripting paragigms.

More precisely, the focus would be the Functional paradigm using Scheme/Racket and ML/Haskell as languages followed by quickly covering the Logic paradigm using Prolog. Finally, the focus would shift to Scripting paradigm using Python and Javascript as languages.

Course Description (CS2431)

A large part of CS2431 lab would be in understanding the syntax or semantics of a variety of languages which fall under various paradigms like Functional (Lisp/Scheme/Racket, ML/Haskell) and Scripting (Python, Javascript). It would be a hands on approach involving writing programs in new programming languages. There would also be projects that involve writing mini-translators for some of the above languages.

CS2431 is the B.Tech lab accompanying the corresponding B.Tech course CS2430. For registrants of CS2430, a registration to CS2431 is compulsory. A major means of evaluation of CS2431 would be the above programming assignments.

Lecture Schedule

30th-Dec-2015 Organization & Logistics,
An Overview of Programming Languages


Language References:

Some Class Links:

Some Miscellaneous/Fun Links:

Grading (CS2430)

Activity Weight
Class Participation and Attendance 10%
Quizzes (in class) 15%
Written Homeworks 15%
End Term Exam (Comprehensive including POPL1 syllabus) 60%

Grading (CS2431)

Activity Weight
Programming Assignments 45%
Programming Exam 55%

Important: Plagiarism Policy of IITH-CSE Department.