CSci 4607 Computer Language Processing.

[Home] [Syllabus] [Project and other assignments] [Resources]

On this page you will find the following information:

Course description

The goal of the course is to design and implement a "little language". Little languages are simple languages for accomplishing particular tasks, for instance file management. Students will work on a project in which they will come up with a task, develop a language suitable for this task, and implement it using existing parsing and (possibly) code generating tools. We will use XML as the target data format. The textbook is "Constructing Language Processors for Little Languages" by Randy Kaplan, it's available at the university bookstore. The book uses C as the programming language, but no prior knowledge of C is required for the course, as long as you know Java. The course can be viewed as the "practical side" of some theoretical material in 4651 (Programming Languages) and you probably will get the most of both courses if you take them in parallel, but it's perfectly OK to take one course without the other.

This is a new course. A significant part of the material will be determined as the project progresses. Please feel free to suggest topics, references on the course material, etc.

Class meetings

When: Tu, Th 11:00am -- 11:50pm
Where: Sci 2185.


Elena Machkasova
Office: Sci 2325, Phone: 6308
Office hours: M,F 1:30-2:45pm, Tu 12:15-1:30pm

Textbook and other resources

The textbook for the course is Randy M. Kaplan "Constructing Language Processors for Little Languages". The book uses C as the main programming language. You might want to get a C reference book from the library to help you understand the examples in the book.

In addition to the book we will use online manials and other resources located on this page.

I will also give out handouts for material not covered in the book. Online versions of these handouts (if exist) will be available on the resources page. If there is no online version of a handout, then xerox copies will be given out in class.


The grade for this course will be based (approximately) on the following:
Project 60%
Midterm exam 20%
Non-project problem sets 15%
Class participation 5%
Class participation portion of the grade includes questions asked during the class, participation in discussion of the assigned reading materials (the textbook and the articles), and answering the instructor's questions during the class.

Grading policies

Basic Grading Scheme: (100-90)% A; (90-80)% B; (80-70)% C; (70-60)% D; below 60% F. Small adjustments may be made for particularly good final exams, class average and other signs of individual effort.

Official Grading Policies:
A achievement that is outstanding relative to the level necessary to meet course requirements.
B achievement that is significantly above the level necessary to meet course requirements.
C achievement that meets the course requirements in every respect.
D achievement that is worthy of credit even though it fails to meet fully the course requirements.
S achievement that is satisfactory, which is equivalent to a C- or better (achievement required for an S is at the discretion of the instructor but may be no lower than a C-).
F (or N) Represents failure (or no credit) and signifies that the work was either (1) completed but at a level of achievement that is not worthy of credit or (2) was not completed and there was no agreement between the instructor and the student that the student would be awarded an I (see also I)
I Incomplete. Assigned at the discretion of the instructor when, due to extraordinary circumstances, e.g., hospitalization, a student is prevented from completing the work of the course on time. Requires a written agreement between instructor and student.

Other class policies

No make-up tests will be given unless prior arrangements have been made.

Academic dishonesty:
Academic dishonesty in any portion of the academic work for a course shall be grounds for awarding a grade of F or N for the entire course.

One credit is defined as equivalent to an average of three hours of learning effort per week (over a full semester) necessary for an average student to achieve an average grade in the course. For example, a student taking a four credit course that meets for three hours a week should expect to spend an additional nine hours a week on coursework outside the classroom.

It is University policy to provide reasonable accommodations to students with disabilities. This publication/material is available in alternative formats to persons with disabilities upon request. Please contact the instructor or the Disability Services office, 589-6178, Room 362 Briggs Library to discuss accommodation needs.

The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.