![]() |
CPSC 421: Compilers and Interpreters |
![]() |
|||||||||||||||
![]() |
![]() |
![]() |
![]() Instructor: Carsten Schürmann Department of Computer Science Yale University Time: MWF 1:30-2:20 Room: AKW200 |
![]() |
![]() |
||||||||||||
|
![]() |
NewsAll homework assignments are online now. The ML-Lex manual can be found here.TextbooksRequired Books
Optional Books (on reserve at the Becton Library)
GradesYour grade will be calculated as follows:
AttendenceAttendance at lectures is expected but will not be recorded. Students are, however, fully responsible for all material presented in lectures, even if some of it does not appear in the "official" lecture notes. Class attendance is recommended strongly. Lecture notes will be made available. Watch for an announcement of their availability.AssignmentsThere will be 7 programming assignments, Assignments are due at 11:59 PM on the date specified in the Schedule sheet.For each programming assignment, you must turn in two things: the code, and a writeup describing what you did and why, and how you tested your program. The writeup is an important part of your work and will contribute significantly to your assignment grade.
Late-Assignments PolicyEach student is given 100 discretionary late hours for programming assignments, but any one assignment may only be up to 72 hours late (this is because we will post the sample solution after then). These are calendar hours, not business hours. As the homework assignments are submitted electronically, the "write date" on the student's homework file will be considered the completion date for late assignments. After you use up all of your discretionary late hours, assignments turned in late will be graded according to the following formula: S = R * (1 - t / c), where S is the grade given, R is the grade the work would have gotten if turned in on time, t is the amount of time by which the work was late, and c is equal to four days. Thus, the value of a late assignment decays daily, with a half-life of just over two days. Examples: work turned in five minutes late gets 99.9% credit, one hour late gets 99.0% credit, six hours late gets 93.8% credit, one day late gets 75.0% credit, two days late gets 50.0%, and three days late gets 25.0%. Assignments submitted more than 72 hours late will not be accepted. There will be no extensions due to scheduling conflicts, computer downtime, or other such factors, except under truly extraordinary circumstances. Extensions will be granted only for university-sanctioned excuses such as illness, and then only with the proper documentation. You are responsible for planning ahead and managing your time so that you can complete the assignments on time. You must either finish on time or accept the consequences of doing otherwise.
Collaboration PolicyProgramming, like composition, is an individual creative process. Individuals must reach their own understanding of the problem and discover a path to its solution. During this time, discussions with friends are encouraged. However, when the time comes to write the code that solves the problem, such discussions are no longer appropriate -- the program must be your own work (although you may ask teaching assistants or lab assistants for help in debugging).Do not, under any circumstances, copy another person's program. Writing code for use by another or using another's code in any form violates the University's academic regulations and will be dealt with harshly.
How to Submit Programming AssignmentsFor each programming assignment, you must turn in two things: your programs; a README file for the writeup, the writeup is an important part of your work and will contribute significantly to your assignment grade.To submit your solutions to the programming assignments electronically, first change to the directory where your solutions are, and then use the following command. /c/cs421/bin/submit number filesnumber is the assignment number and files is the list of files for that assignment. For example, /c/cs421/bin/submit 3 README sources.cm tiger.lexsubmits the files README, sources.cm, and tiger.lex for a fictitious assignment 3. The submit command copies your files to the directory /c/cs421/SUBMIT/number/login and lists all the files that you have submitted for assignment number. Here, login is your user account name. There is also unsubmit, which allows you to retract one or more files. For example, /c/cs421/bin/unsubmit 3 tiger.lexwould remove your tiger.lex from the submission directory. You can also check what files you have submitted by using the check command. For example, /c/cs421/bin/check 3would list all the files your have submitted so far for assignment 3. Usually, you can omit the /c/cs421/bin/ prefix if /c/cs421/bin/ is already added to your PATH variable.
Keeping In TouchThe best way to contact the instructor and the TA is by electronic mail. To get help quickly, your best bet is to send email to cs421@cs.All the course-related information will be kept at the following World Wide Web site: http://zoo.cs.yale.edu/classes/cs421 You can access this home page by using netscape; just type netscape http://zoo.cs.yale.edu/classes/cs421If you are working on character-based terminals, you can use lynx; type lynx http://zoo.cs.yale.edu/classes/cs421Also, yale.cs.cs421 is a local newsgroup specifically for CS 421. You should read both the course home page and the newsgroup rather frequently as they appear for important information, such as lecture notes, instructions on submitting your assignments, clarifications and hints, last minute schedule changes, etc. You can use netscape to browse yale.cs.cs421, or you can use rn to read unread news. To view unread articles in yale.cs.cs421 using rn, just type "rn yale.cs.cs421". "man rn" will display the (very long) man page for rn. (The first time you use rn, it will display a brief introduction to its use.) If you add the line "rn -c yale.cs.cs421" to your .login file, you'll be advised of unread articles in yale.cs.cs421 every time you log in. You are invited to post articles to yale.cs.cs421 if you have something to tell the class. To post an article, just mail it to cs421@cs.
Office Hours
|
![]() |