This course is designed to provide the students of the basic concepts related to PLD. Theoretical concepts such as virtual computer, firmware, syntax, semantic, Grammar description method are fully described. The main issues related to design and implementation of programming language such as data type, sequence control, data control, run time environment are covered in details. Case studies of some available programming languages are also provided.