CSE3322

Programming languages and implementation

(IT)

6 points + Two 1-hour lectures per week + Second semester + Clayton + Prerequisites: CSC2030 or CSE2303, CSC2040 or CSE2304, and CSC2050 or CSE2305 and one of Lisp programming (CSC2940/CSC3940 or CSE2394/CSE3394) or Prolog programming (CSC2930/CSC3930 or CSE2393/CSE3393) or equivalent + Prohibitions: CFR3160, CSC3220, CSE2207, SFT2207, SFT 3207

Synopsis: The four main programming language paradigms: imperative, functional, logic and object oriented. Example languages and their applications. The implementation of programming languages by means of interpreters and translators will be discussed. This will include parsing techniques, compiler construction and implementation techniques for language features which are paradigm specific.

Assessment: Examination (3 hours): 70% + Practical work: 30%