CIS 425 Spring 2003
Principles of Programming Languages
CRN 31119
[
Details |
Objectives |
Honesty |
Syllabus |
Assignments |
Announcements
]
Last updated 2003/04/07 08:41:37
- Class Times
- Lecture: MWF 9:00 - 9:50, 106 Deady
- Discussions:
- Wednesday 12:00 - 12:50 166 Lawrence
- Friday 12:00 - 12:50 154 Straub
-
Instructor: David Atkins
- Office: Deschutes 358, 346-4413
- Office Hours: 11:00-12:00 MWF, and by appointment
- Email: datkins@cs.uoregon.edu
-
GTF: Aaron Bohannon
- Office: Deschutes 232, 346-4469
- Office Hours: 10:00-12:00 M, 2:00-4:00 W, and by appointment
- Email: bohannon@cs.uoregon.edu
- Reference Material
- Required Text:
Concepts of Programming Languages, 5th Edition, by Robert Sebesta, Addison Wesley, 2002. [Available at the bookstore and on reserve in the Science Library]
- Optional Book:
-
Elements of ML Programming, by Jeffrey Ullman, Prentice Hall, 1997. [Available at the bookstore and on reserve in Science Library]
Good reference for ML programming.
- Some C++ References
-
The Design and Evolution of C++, by Bjarne Stroustrup, Addison Wesley, 1994. [On reserve in the Science Library]
Narrative of issues in real world language design.
- The C++ Programming Language, Bjarne Stroustrup, Addison-Wesley, 2001. [Second Edition on reserve at Science Library]
Useful online excerpt from the book: A Tour of C++.
- The Annotated C++ Reference Manual, Ellis & Stroustrup, Addison-Wesley, 1990.
[On reserve at the Science Library]
- ...and hundreds of other books on C++...
- Some online C++ references:
Operator syntax and precedence,
Operator overloading,
Templates
- Grading and Policy
- Approximate weighting: Assignments 25%, Midterm 30%, Final 35%, 10% quizzes and class participation
-
The primary objective of this course is to become familiar with the
properties of programming languages in general and examine some of
these concepts for specific languages. The main categories of languages
will be covered along with the characteristics that distinguish them from
each other. These categories include imperative, object oriented, functional,
and logic languages; in each category we will examine one or more example
languages. This course is not intended to make you an expert in all of these
languages, but you will get to see some languages and programming paradigms
that you may not have seen before, and will develop the ability to quickly
assess and learn new languages.
Some time will also be spent discussing practical constraints on
programming language design. We will also take a look at an example of a
domain specific language designed for a specific application domain.
-
All assignments turned in for the course must be your own work.
Copying from other class members or other sources
is not acceptable. If you collaborate with someone else (not on your team) on any
assignment, you must indicate such on the work you turn in,
and partial credit may be given.
-
The exception to the above is that you may work on assignments in teams of two.
If you are working as a team, both team members' names must be clearly indicated
on the work turned for proper credit to be given.
-
Academic honesty is expected and cases of suspected dishonesty will be handled
according to university
policy. In particular, copying someone else's work (including material
found on the web) will not be tolerated. If solutions to assignments are
obtained from outside sources, the source must be cited.
-
You are also responsible for protecting your work. That is, you must
take reasonable precautions to prevent your work from being copied.
datkins@cs.uoregon.edu
Last updated 2003/04/07 08:41:37