COMPARATIVE LANGUAGES
Fall 2005
Key programming mechanisms
described independently of particular machines or languages including control,
binding, procedural abstraction and types.
Systematically surveys diverse high-level language capabilities.
Textbook: Concepts of Programming Languages, R. Sebesta, 6th edition, Addison-Wesley, 2003.
Other Recommended References:
Bruce Eckel, Thinking in Java, 3rd Edition Prentice Hall 2003. A complete copy of the book can be downloaded for free.
This class will cover theoretical foundations of features
found in modern programming languages.
- Evolution
of programming languages
- Language elements:
- Syntax and semantics representation,
- Control structures
- Types and Type Systems
- Procedural Abstraction
- Exception handling
- Concurrency,
- Garbage collection
- Language approaches such as imperative, object-oriented, functional and logic based programming languages.
Grading
- Programming
Assignments (70%)
- This
class will require you to write programs in several different programming
languages.
- Homework assignments (10%)
- Exams (20%)
Grades will be computed on a percentage basis, and the resulting percentage will
yield the letter grade for the term. The grading scale is that approved by
Fairfax County Public Schools:
A 94% - 100%
B+ 90% - 93%
B 84% - 89%
C 74% - 79%
C+ 80% - 83%
D 64% - 69%
D+ 70% - 73%
F BELOW 64%
At the end of the course, the final mark will be computed using an average
based on the two quarter grades earned.
Policies:
- Programming assignments are to be individual efforts, meaning no sharing of code or
discussion of problem solution allowed with anyone but me.
- You must turn in a working version of all programming assignments to pass the class (even if it receives no credit).
- ATTENDANCE: In accordance with TJ's policy, 3 unexecused absences results in an F for the quarter.
Also, 3 unexcused tardies to class = 1 unexcused absence.
Honor Code
You are expected to abide by the honor code. Programming assignments and
exams are individual efforts.