Resources for CSC 2/454

Computers and Remote Access

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 CSB 735 (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 (CSB 633) are available only to CS majors.  Three of the lab machines (cycle1, cycle2, and cycle3.csug.rochester.edu) are dedicated to use as remote login servers for access across the campus network.  For most of the work we will be doing an ssh terminal window will suffice.  If you want to use graphical tools you’ll need to run an X server on your machine.  MacOS X includes an X implementation (note that the two meanings of ‘X’ have nothing to do with each other).  X implementations are also available for Windows; see for example Cygwin/X

Class tools will reside in the directory /u/cs254/bin; students should add this to their $path environment variable (this requires modifying your .profile [ksh/bash] or .cshrc [csh/tcsh] file; if you don’t know how, ask the TA).  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 develop elsewhere. 

Please be sure to change permissions on any directories 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 TA

Mail and On-line Forum

All students should read the 2/454 discussion group and announcements page in Blackboard.  Questions may be posted to the discussion group or sent directly to the instructor or the TA.  Any answer deemed useful to the class as a whole will be posted (with identifying information removed) back to the discussion group. 

If you don’t expect to log into your CSUG account every day, you should forward your mail to an account that you do read every day.  To forward an account under Linux, put the email address at which you want to receive your mail into a single-line file named .forward, and place this file in your home directory. 

Lecture Notes

The professor’s class notes are available on-line.  Please note that they are provided on an “as-is” basis. 

PLP cover art

Textbook

The text for this course is the third edition of Programming Language Pragmatics, by Michael L. Scott.  Note that the first or second edition will not suffice; too much has changed.  Copies are available from the River Campus bookstore or online.  Copies have also been placed on reserve at Carlson library. 

The textbook includes a list of short-answer review questions approximately every 10 pages.  I strongly recommend that you work these through each day before class.  There is no better way to prepare for 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 TA

Resources on the Web

A growing number of programming language resources are available on the Internet.  Two excellent starting points for searches are the DMOZ and Yahoo indices. 

A few particularly nice resources include:

If you have suggestions to add to this list, please mail the instructor

Supplemental texts

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 much longer list of links can be found on the textbook's companion CD.  Additional references appear in the bibliography. 

Getting Help

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. 

Past exams

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Last Change:  27 September 2012 / Michael Scott's email address