The objective of this course is to give the student a better understanding of non-imperative programming, and other non-traditional programming paradigms. Various concepts and principles underlying the design and use of modern programming languages are considered. We will take a detailed look at a pure functional programming language, Haskell, and a logic programming language, Prolog, and introduce a range of other programming languages.
As a primary reference, we will be using the book Programming Languages: Principles and Paradigms, Allen B. Tucker and Robert E. Noonan, McGraw Hill, 2007.
I will also use twitter for course related updates.
Plagiarism and academic dishonesty are serious offences, and will be treated in accordance with SFU policies. Please visit http://www.lib.sfu.ca/help/tutorials/plagiarism-tutorial to remind yourself of the various issues.