CS 441G-001Professor Craig C. DouglasTuesday-Thursday 12:30-1:45 RMB 323
http://www.mgnet.org/~douglas/Classes/cs441g-f05 Please fill out the Survey if you have not done so already.
|
HomeworkReading AssignmentsThere is one traditional textbook, which you are expected to read cover to cover and other suggested reading that is optional.
A good idea is to first sit down for a set period of time (e.g., 60 minutes) and read the textbook like a comic book. Do not really read anything, but look at every single page (in order): skim a little, look a little. Your mind will subconsciously remember things later when you have to read the books in detail. The table below lists what you are required to read by what date:
Homework AssignmentsHomework will typically be done individually when textbook assignments are given and by your group when I give a programming exercise.
Resources of InterestLex, flex, yacc, byacc, and bison can easily be found on Linux, FreeBSD, and Mac OS X systems. Some of these tools can work with C++, not just C. Tools like jlex and jyacc work with Java. Searching on the web will find them for various operating systems (e.g., Cygwin for Windows. Class ProjectDuring this semester, students will be paired off into groups. Each group will will write a complete compiler for the class language in C or C++ (see the Language link at the top of any class web page). If you do not know either of these languages, learn one right away or drop the class immediately. This is going to be a heavy programming course. Swapping codes with other groups is expressly forbidden unless authorized by me in advance. If in doubt, contact me first. Otherwise you might find yourself in deep, deep trouble legally. Due dates will be on this page in this section as the semester progresses. You are under no obligation to turn your project in at the last minute. If you can finish it in October, you might discover that you are done with the course. Warning: The due dates are currently approximate. Watch this page for the exact dates. Once a part is due and graded, I will post a solution. You will have the option of using your own part(s) or the posted one(s). I strongly urge you to evaluate the posted solutions and see if you can do better by modifying your own work. If so, I might post yours instead. Note that the code generator takes a good bit of time to do. It is much trickier than you think it is. You had better get right on it once your parser is done or you will never finish it by the due date. If you wait until December to start, you are really sunk. Warning: I do not plan on giving any Incompletes. GroupsThe programming/project groups are as follows:
See or contact me immediately if there is a problem with your group. |
|
Cheers, Last modified: |