CSE 655: Introduction to the Principles of Programming Languages
Text (not required):
R. Sebesta, Concepts of Programming Languages, Addison-Wesley, 6th or later edition.
Course Material: Not all the material we cover will be from the
book, nor will the order in which we cover the material be the same as
in the book. You will have to refer to copies of the slides (which I
will give you), your own notes, as well as the book in order to keep
up with the course.
Do not miss classes. Do NOT miss classes.
Course newsgroup: Make it a habit to read the course
newsgroup cse.course.cse655
regularly. Important announcements regarding labs, exams, etc. will
often appear there.
Course homepage:
www.cse.ohio-state.edu/~neelam/courses/655
is the course
homepage and will contain most of the handouts distributed in class. It will also
contain other useful information.
Important: I will try to keep the web page up-to-date. But what I say
in class is what counts. Copies of assignments etc. once handed out in
class become official, independent of whether they are on the web page
or whether you are able to access the page etc.
Intended Learning Outcomes:
For details of terminology see http://www.cse.ohio-state.edu/cgi-bin/syllabus-view.cgi?cgi_state=loexpl
-
Master using syntax-related concepts including context-free grammars, parse trees, and recursive-descent parsing, printing, execution and code generation.
-
Master analyzing programming language design issues related to data types, expressions and control structures.
-
Master analyzing data abstraction-related issues.
-
Master implementation techniques for imperative languages.
-
Be familiar with analyzing variable binding and scope rules.
-
Be familiar with analyzing parameter passing methods.
-
Be familiar with principles of object-oriented languages.
-
Be familiar with implementing object-oriented languages.
-
Be familiar with using functional programming languages.
-
Be familiar with implementing functional programming languages.
Grading
: The distribution of weights below is tentative.