Resources for CSC 2/454

Computers and Remote Access

The main computers for the course will be the machines of the Undergraduate CS Labs.  All CS majors and grad students should already have an account.  Others should visit accounts.csug.rochester.edu and follow the instructions (please don’t use this if you are a CS major or grad student).  If you have trouble, the TAs can help you interface to department lab staff to sort things out.  Machines in the Majors Lab (Wegmans 2009) are available only to undergraduate 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 to access lab machines.  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 Cygwin/X).  Some students recommend the Remote SSH Extension for Visual Studio instead. 

Class tools will reside in the directory /u/cs254/bin on the csug machines; students should append this to their $path environment variable (this requires modifying your .profile [ksh/bash] or .cshrc [csh/tcsh] file; if you don’t know how to do that, ask the TAs).  You are welcome to work on other machines (e.g., your personal laptop) 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 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

Mail and On-line Forum

All students should read the 2/454 discussion board and announcements page in Blackboard.  In general, the discussion board is the best place to ask questions.  If you can help with a question you see there, please post an answer or a clarification.  Particularly urgent or confidential questions can be sent directly to the instructor or the TAs via email (please do this sparingly).  Any answer deemed useful to the class as a whole will be posted (with identifying information removed) back to the discussion board. 

Lecture Notes

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

Recordings of lectures will be posted automatically to Panopto.  In addition, I am making available a set of recordings that I created for the online version of this course in the fall of 2020.  Links to all of these will be available in Blackboard.  Note, however, that

  1. the lecture recordings may be difficult to follow;
  2. the 2020 recordings are not entirely up-to-date, and may not track this year’s version of the course;
  3. physical attendance in lecture is required, and will count toward your grade. 

PLP cover art

Textbook

The text for this course is the fifth edition of Programming Language Pragmatics, by Michael L. Scott and Jonathan Aldrich.  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.  Over 400 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.  The TAs will be placing a subset of these on Blackboard; you are expected to answer them before coming to the class in which the material will be covered (see the schedule).  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

Course Librarian

Arjay Romanowski is the University's designated Computer Science Librarian.  He 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, visit his webpage.  More CS-specific library resources can be found at libguides.lib.rochester.edu/CSC

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. 

Resources on the Web

An ever growing number of programming language resources are available on the Internet.  A few potentially useful resources include:

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. 


Last Change:  19 December 2024 / Michael Scott's email address