CSCI 512 - Design and Implementation of Computer Programming Languages
Winter 2026

Time:
9:00 AM
Place:
CF 224
Instructor:
Phil Nelson
Office/Phone:
CF473, 650-3035
Web:
https://facultyweb.cs.wwu.edu/~phil
E-mail:
phil@wwu.edu

Office Hours:
10 AM, others by appointment. If you send me e-mail, please use plain text (no HTML please) messages and include ``CSCI 512'' in the subject of your e-mail to help your e-mail not be classified as spam.

Web Access:
I have information for this class on the web as well as on canvas. Assignments will be on Canvas and some documents may appear on the web. The class web page is https://facultyweb.cs.wwu.edu/~phil/classes/w26/512. Other information, for example lecture slides, will be provided via the web. If you see something missing from the web site, please let me know about it via e-mail.

Text:
Scott, Aldrich, Programming Language Pragmatics, Elsevier Inc, 2025.

Other Texts:
Other books and other resources, often very old, will be provided, either by URL or on canvas during the quarter.

Catalog Description:
Comprehensive study of the history and evolution of programming languages with reference to the best and most influential contributions to the art and science of language design. Pragmatics of implementing and using programming language features in view of compilation/interpretation and their mapping onto computer architectures and run-time environments.

Outcomes:
On competition of this course, students will demonstrate:

Graded Work:
3 Tests and Assignments.

Tests:
The all tests will be given in-person during class time or the scheduled final time. Test one is on Friday, January 30. Test two will be given on Friday, February 20. The final will be given at the regular final time of 8:00 AM on Thursday, March 19, 2026. Each test will be worth 15% of your final grade. To pass this class you must get at least 50% of the test points.

Assignments and a project:
There will be a number of assignments during the quarter. It is currently unknown how many assignments there will be. All assignment points will be grouped together and be worth 45% of your final grade. There will also be a ``term project'' that will have multiple turn-in dates, the final one being on the last day of ``prep week'', March 13, 2026. The final assignment will be dure during prep week, on Wednesday, March 11. Details on assignments and the project will be published either on canvas or the class web site.

Late Work:
Work is due at the beginning of class on the day due. Work will be accepted up to TWO class periods late, at which time the work will be worth 75% of the original value. A late final assignment is worth 75% of the original up until the start of the final test. Canvas will be set up to accept late work until the deadline.

Grading:
Final grading is done by a percentage of the top score. The following is an example grade scale.
A:
100% - 90%
B:
89% - 80%
C:
79% - 65%
D:
64% - 50%

Collaboration:
Each student MUST do their own work. Original work is required. Assume you should not see the source code or woark of any other student, past or present. You may discuss problems using diagrams on scratch paper, but you should not see source code or solutions. Even helping a fellow student debug their program so that source code is seen should be avoided. Students having problems should e-mail me or visit me in my office.

Cheating:
Is (obviously) not allowed. If you do cheat and are caught you will receive an F as your grade for the class. This includes ALL students knowingly involved in any cheating event. Not properly protecting your source code may be considered knowingly involved. I may use mechanical means to compare student work. These comparisons are used to raise the possibility of cheating, but all decisions about cheating will be made by me after inspecting the work of all students involved.

Final Assignment and Project:
Your final assignment will be due on March 11, the Wednesday of prep week. A late final assignment will be worth 75% of its original value until the start of the final test. Your final due date for the quarter project is March 13, the last day of prep week. A late project is also worth 75% of the initial value and may be turned in up to the start of the final test.

Western Syllabus Policies:
For generic syllabus policies of Western, visit
https://syllabi.wwu.edu.

Outline of Course:
Expected order:



Phil Nelson 2026-01-05