CIS 505: Programming- Language Paradigms Torben Amtoft Xinming (Simon) Ou Aug 23, 2010
What is this course about It is not about any specific programming languages – Although we will learn to use a few languages you may not have used before We will learn how programming languages are designed, implemented, and compiled – In particular, we will introduce three “paradigms” of programming languages
Why do you want to take this course? To let computers do things for us, we must speak computers’ languages – Computers’ languages are designed by humans – Whether you realize it or not, you are designing languages to be used by computer programs all the time – A “good” language is fundamental to getting the task accomplished
How the course is organized Simon will cover the first quarter of the course – Basic concepts in language design – The imperative paradigm Torben will cover the middle half – The functional paradigm Simon will wrap up the last quarter – The logical paradigm
How will the course be graded? There will be a number of homeworks which are mostly programming assignments – You earn points for each assignment – Total points from assignments constitute 95% of the final points 5% Class participation – We will ask some of you to do exercises in each class. – If I often cannot find you in the classroom, your class participation points will suffer. – The quality of the answers is not a factor, as long as you try your best.
Collaboration Policy Pairing with another student in assignments is encouraged – You learn how to work with your teammate, in addition to the course knowledge. – When you submit the assignment, it must be the case that each of you could individually produce the solution by yourself alone. – You have the option of working by yourself, but you will not earn any extra credit for doing so.
Course web site All course materials (slides, assignments, examples, announcements, etc.) can be found at the following urls: – – Check the website often for updates
Textbooks Simon will use David Schmidt’s online textbook at: – Torben will use Ullman’s textbook – Elements of ML Programming, ML97 edition, Prentice Hall 1998 Elements of ML Programming
Software Python Standard ML of NJ XSB Prolog system