CPSC 6129 Advanced Programming Languages


Instructor:Dr. David E. Woolbright

Office:CCT 439

Phone:(706) 507-8179

Web Site:

Web Site:

Office Hours

M-Th10-12 am

M-W†† 2-3 pm

And also by appointment

Catalog Description

CPSC 6129.  Advanced Programming Languages (3-0-3) Prerequisite: CPSC 5135. A study of the principles, concepts, and mechanisms of computer programming languages-their syntax, semantics, and pragmatics; the processing and interpretation of computer programs; programming paradigms; and language design. Additional topics will include language design principles and models of language implementation.



Programming Languages: Application and Interpretation by Shrirarm Krishnamurthi.

The text is also available free or with a contribution to the author, online at

Course Outcomes


After successfully completing this class:


1)      You will have written a variety of interpreters in Scheme/Racket.

2)      You will have written a variety of parsers in Scheme/Racket.

3)      You will implemented a language with symbols using substitution.

4)      You will have implemented a language with functions.

5)      You will have implemented a language with first-class functions.

6)      You will have explored the idea of programming with laziness in the Haskell programming language.

7)      You will have explored the idea of continuations in Scheme and how it can be applied to the problem of web programming.





Midterm Exam:25%

Programming Assignments:50%

Final Exam:25%


Web Sites


The main web site for this course is .This is the site that will contain the content of the course.


We will also use as a place to drop assignments, and as a place where I can post your grades.†† You can send me e-mail through webct, but the fastest way to contact me is at my regular!I have a son who is currently a CSU student and whose name is David Bret.Donít send your mail to him by mistake.


What to Expect


         I will post a weekly reading assignment for the book.

         I will post a weekly comment or question in a webct discussion.You can post questions or replies.The discussion area will be an opportunity for me to gauge how the class is doing, and also an opportunity for you to get answers to specific questions.This will be an open forum for discussion, and is is not for a grade.

         Occasionally Iíll post a video for you to watch or point you to one on the web that is relevant to our study.

         Occasionally Iíll ask you to implement an interpreter for a language in Scheme/Racket.

         Iíll post a review for the midterm and the final exams.

Policy on academic integrity

Students are encouraged to study together; however, each student must individually prepare his/her own submission. Cheating or plagiarism is not permitted and will be sanctioned according to the CSU policy on academic standards. You should carefully read the section on Academic Misconduct in the Student Handbook. Your continued enrollment in this course implies that you have read it, and that you subscribe to the principles stated therein.


Policy prohibiting sexual harassment††††††††††

As your instructor, one of my responsibilities is to treat all students fairly and equally and to abide by the policies and procedures governing faculty/student relationships, including those concerning sexual harassment as stated in the Faculty Handbook.


ADA information


Students with a documented disability as described by the Rehabilitation Act of 1973 (P.L. 933-112 Section 504) and Americans with Disabilities Act (ADA) that affect their ability to participate fully in class or to meet all course requirements are encouraged to bring this to the attention of the instructor so that appropriate accommodations can be arranged. Further information is available from the Office of Disability Services in the Center for Academic Support and Student Retention, Tucker Hall (706) 568-2330. Course requirements will not be waived but reasonable accommodations may be provided as appropriate.