CS2400: Principles of Programming Languages - I

October 2017 - December 2017

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

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

Discussion Google-group: popl1-aug15 AT iith DOT ac DOT in Join Group (only with IITH email-IDs)
Classes: Mon: 9:00am-10:30am, Wed: 1:30pm-3:00pm (Lunch Time); Room: 007 in Kandi Campus

Credits: CS2400:CS2401 1:1
Prerequisites: CS2400 and CS2401: 2nd year CS B.Techs who have completed IITH courses in C programming and data-structures; Also, a concurrent registration to both CS2400 and CS2401 is compulsory.

Course Description (CS2400)

The objective of CS2400 course is to learn basic principles of programming languages: their concepts, constructs, syntax, semantics and pragmatics. The course will focus on the classic programming language paradigms of Imperative and Object Oriented.

This course will focus on understanding some aspects of Imperative and Object Oriented paradigms using C/C++, Java and Python as languages.

Course Description (CS2401)

A large part of CS2401 lab would be in understanding the syntax or semantics of a variety of languages which fall under various paradigms like Imperative (C/C++), Object Oriented (C++, Java, Python). 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.

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

Lecture Schedule

26th-Oct-2015 Organization & Logistics,
An Overview of Programming Languages


Language References:

Some Class Links:

Some Miscellaneous/Fun Links:

Grading (CS2400)

Activity Weight
Class Participation and Attendance 10%
Written Homeworks 20%
End Term Exam 70%

Grading (CS2401)

Activity Weight
Programming Assignments 30%
Programming Exam 70%

Important: Plagiarism Policy of IITH-CSE Department.