The main computers for the course will be the machines of the
Undergraduate CS Labs.
If you don’t have an account, see Marty Guenther in Wegmans
2513 (this goes for grads as well as undergrads).
Machines in the Hylan Lab (room 301) are available to all
students in the course.
Machines in the Majors Lab (Wegmans 2009) are available only to
undergraduate CS majors.
Three of the lab machines (
dedicated to use as remote login servers for access across the campus
For most of the work we will be doing an
ssh terminal window
to one of these machines
will suffice. If you want to use graphical tools
you’ll need to run
an X11 server on your machine. For MacOS, download the XQuartz package;
for Windows, you might consider
Class tools will reside in the directory /u/cs254/bin;
students should append this to their
variable (this requires modifying your
.cshrc [csh/tcsh] file; if you don’t know how, ask
You are welcome to work on other machines if you like, but we do not
plan to assist in porting any courseware. Moreover all
assignments must run on the CSUG Linux machines, and will be graded
only on those machines.
Be sure to leave time to test your code on those machines if you
Please be sure to change permissions on any directories or on-line repositories in which you are doing class work, to make sure they aren’t readable by others. Again, if you don’t know how, ask the TAs.
All students should read the 2/454 discussion board and announcements page in Blackboard. Questions may be posted to the discussion board or sent directly to the instructor or the TAs. Any answer deemed useful to the class as a whole will be posted (with identifying information removed) back to the discussion board.
The professor’s class notes are available on-line. Please note that they are provided on an “as-is” basis.
The text for this course is the fourth edition of Programming Language Pragmatics, by Michael L. Scott. Please do not try to make do with a previous edition of the text; too much has changed. A few copies will be placed on reserve at Carlson Library, for those who prefer not to buy their own (in my defense, at $75 and nearly 1000 pages, the book is 25% longer and 45% cheaper than the leading competitor). Some 360 pages of additional content (the “In More Depth” sections) is openly available on the publisher’s web site (also the “PLP CS” link in the navigation bar at left). Errata for both the printed book and the companion site are available HERE.
The textbook includes a list of short-answer review questions approximately every 10 pages. I strongly recommend that you work through these each day before class. There is no better way to prepare for quizes and class discussions—or exams. Note: these questions are not intended to be difficult; they simply help to ensure that you have read the material. If you can’t easily find the answer in the assigned reading, please ask the instructor or TAs. -->
Moriana Garcia is our assigned course librarian. She can help you find articles, books and online resources related to this course and familiarize you with the research process. To set up an appointment with her, go to http://libcal.lib.rochester.edu/appointments/ and select her name from the list, or send her an email at firstname.lastname@example.org. Her office is in Carlson 313D.
Most of these texts are available from Carlson Library. Most of them will be on reserve. If you find one that isn’t on reserve, please don’t hog it forever. Also, please note that this list is far from exhaustive.
A growing number of programming language resources are available on the Internet. A few particularly nice resources include:
If you have suggestions to add to this list, please mail the instructor.
CSC 2/454 is not a course you can coast through. It’s also not a course with a whole lot of “hand-holding.” You will need to take responsibility for your own success. Do not wait until you’re drowning before you ask for help.
Many of the programming assignments will require that you become an expert user of certain tools, notably the GNU assembler and debugger. These tools will be not be covered thoroughly in class. You are expected to read the manuals and then attend TA office hours for hands-on help.