Assignment 0: Submission Verification and Portfolio Creation

Operational Objectives: Create your CS account, set up Emacs, make the script submit.sh operational, and submit a simple text info.txt document created using Emacs.

Deliverables: One text file: info.txt.

This assignment serves three main goals: (1) Operationalizing your assignment submit process; (2) creation of your course assignments portfolio; and (3) putting contact info in the portfolio for use by instructors in case of urgent need for communication. An ancillary benefit is (4) the setup of your "clean" and "command-line compile" macros.

  1. Establish CS Account. If you have not obtained a CS account, do so now at http://system.cs.fsu.edu/ select "New User", and follow the instructions. Once you have your account established, go the URL cited above and familiarize yourself with the rules and facilities of the system. You are now officially a part of the FSUCS user community, and as such you have both rights and responsibilities.

  2. Set up Emacs. (Do this step only if you are new to Emacs or want to start with a fresh emacs setup.)
    Log into your account on shell or quake and copy some Emacs setup files that will make Emacs behave reasonably with respect to your keyboard:

    cp ~cop3330p/.emacs ~/
    cp -r ~cop3330p/.lisp/ ~/
    

    These files are intended to be publicly readable. Sometimes some of the permissions get changed by the system, so if you have an error copying all of .lisp/*, you can get by with just copying .lisp/startup.el. In that case, startup.el will be compiled the first time you invoke emacs, just invoke it once and things should work after that.

  3. Organize Account. Create your course directory and a separate subdirectory assign0 of your course directory with these commands:

    mkdir ~/[course_name]
    mkdir ~/[course_name]/assign0
    

    Change into the assignment directory and finish the assignment there:

    cd ~/[course_name]/assign0

  4. Create your info.txt file. Use Emacs to create a text file named info.txt containing the following information:

    Name:          (your official registration name at FSU)
    Nickname:      (examples: Bob, Harriet, Mr Smith, Ms Smith, Mrs Smith, Dr Smith)
    CS Username:   (your CS login name)
    FSU Username:  (your FSU login name)
    Phone:         (a phone number where you could be reached in case of emergency)
    Hours:         (hours when the number is valid, e.g., 9-5, evenings, weekends, ...)
    

    Note that this file will reside in your class portfolio, which is accessible only by the instruction staff. Here is an example of an info.txt file contents:

    Name:          RC Lacher
    Nickname:      Chris
    CS Username:   lacher
    FSU Username:  clacher
    Phone:         850-510-5575
    Hours:         24/7
    

    In particular, note that the data fields are not enclosed in parentheses.

  5. Get the course scripts. Copy the file submit.sh into your .bin directory:

    cp LIB/scripts/* ~/.bin/

    (This actually gets all of the distributed scripts - be sure to check what they are by reading them.) Note: "LIB" has a specific definition for your particular course and is defined in the organizer for your course.

  6. Make submit.sh and other scripts in .bin into executable commands. Change permissions:

    chmod 700 ~/.bin/*

    and then either log out and back in or run the command "rehash" to operationalize the commands. The items in /bin should all be commands executable from any place in your linprog, quake, or shell login.

  7. Get the assignment configuration file. Copy the file LIB/assign0/deliverables.sh into assign0 directory.

    cp LIB/assign0/deliverables.sh ~/[course_name]/assign0/

    (See Course Organizer for definition of "LIB".)

  8. Submit. Turn in the file info.txt, using the submit script. (Enter the command "submit.sh".) OBSERVE the screen and follow any instructions that appear.

    submit.sh

    or

    submit.sh deliverables.sh

    Warning: Submit scripts do not work on the program and linprog servers. Use shell.cs.fsu.edu or quake.cs.fsu.edu to submit projects. If you do not receive the second confirmation with the contents of your project, there has been a malfunction.

    We are currently using version 3.0 of the submit script.

About submit scripts. The submission process requires two things: (1) a submission engine that does the processing - gathering up the deliverable files, encoding them, and emailing them to the appropriate location. And (2) a configuration file that gives the details on what files are to be submitted, what the project name is, and what course should get the submission.

The submission engine is the same for all assignments and is named "submit.sh". This file is now in your .bin directory and made executable, effectively making "submit.sh" a command invokable anyhere in your login so that it will not require copying into various assignment directories.

The specifics for any given assignment are contained in the configuration file, required by submit.sh. The default name for the configuration file is "deliverables.sh". A submission configuration file should be supplied for each assignment.