90 likes | 227 Views
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
E N D
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: • http://people.cis.ksu.edu/~tamtoft/505f10/ • http://people.cis.ksu.edu/~xou/505f10/ • Check the website often for updates
Textbooks • Simon will use David Schmidt’s online textbook at: • http://people.cis.ksu.edu/~schmidt/505f10/ • Torben will use Ullman’s textbook • Elements of ML Programming, ML97 edition, Prentice Hall 1998
Software • Python • Standard ML of NJ • XSB Prolog system