CIS 122 FAQ

  1. What if I missed my week 1 lab? If possible, go to another lab this week; tell the GTF that you're not in the lab, and you can watch from the sidelines.

    Also, the GTF will hold two extra sessions in the lab during week 2 devoted to the same material covered in the week 1 lab. The times of these lab sessions will be announced in class and posted to the 122 email list so add your name to the list asap.

  2. How do I change labs?

    We are handling this informally. You do not have to use the DuckCall "exchange section" command (XS, 97) after it starts costing you $$ to do so. Here's what to do:

    Go to the lab you want and ask the GTF if there's room for you. If your GTF says Yes, make sure that s/he has your name removed from your original lab and added to the new one. If the GTF says No, you will have to attend a different lab.

  3. Should I bring my book to class each day? A good idea, since your instructor will frequently be covering examples taken from the book.

  4. How can I download a file from the 122 datafiles directory and print it at home (and avoid the cost of printing charges in B26 Kla)?

    Example:
    Using a browser on your home computer open the w1 (or w2, w3, ...) folder, then click-right on the name of the file you wish to download and choose Save Link As.. to save the file to your hard drive. The file may then be opened in TextPad (or any other text editor) and printed.

  5. Gladstone uses the Delete key to erase characters, but I prefer to use the Backspace key. How do I set it up?

  6. How can I get that cool prompt you have? How can I define useful aliases?

    Using Emacs, copy and paste these into your ~/.cshrc file:

    set prompt = "[$cwd]% "        #display current directory in prompt
    alias cd 'chdir \!* && set prompt = "[$cwd]% ";ls'    # this is also required for the custom prompt
    alias g 'chdir \!* && set prompt = "[$cwd]% ";ls'      # this alias is optional, sets g = cd
    alias j jobs
    alias c clear # clear the display
    alias cw 'chmod 664' # make an .html file web accessible
    alias cx 'chmod 755' # set the standard mode for a directory
    alias cp cp -i # Ask before overwriting a file
    alias ed emacs
    alias h history
    alias k logout # kill
    alias ls ls -F # Marks dirs w/, links w/@, executables w/*
    alias ll ls -l # long listing
    alias ld ls -dl # show status of directory not contents
    alias lsx "ls -CR | more" # shows all files in all directories
    alias q fg # resume most recently suspended job
    alias rme "rm *~;rm #*#; ls" # remove all emacs backup files
    alias rmb "rm *.bak; ls" # remove all textpad backup files
    alias 1 %1 #resume job id = 1
    alias 2 %2 #resume job id = 2
    alias 3 %3 #resume job id = 3

  7. What is an Emacs backup file?

    The emacs backup file If you accidentally destroy or remove a file you are working on, note that emacs automatically creates a backup file when you open a file. Emacs appends a '~' to the file name being edited; thus, the backup file for tempCon.cpp is tempCon.cpp~.

    Emacs makes a backup for a file only the first time the file is saved in each editing session. No matter how many times you save a file in Emacs, its backup file continues to contain the contents from before you started the current emacs session.

    If you damage or lose a file, simply open the backup file in emacs: "emacs tempCon.cpp~" and then write it out (cntrl-x cntrl-w) to the original name, tempCon.cpp (not tempCon.cpp~).

    Cancel Command: cntrl-g. If you type an emacs command you did not intend, the results are often mysterious. You can cancel a running or partially typed command with cntrl-g. Some commands take two successive c-g's to terminate.

    Redisplay the screen: cntrl-l ("el", not the digit "1"). If the data on the screen looks wrong, type cntrl-l.

  8. Why can't I use the name calc for an executable? Running "calc" starts a Unix program (unix calculator). Students can use the name "calc" if they run their program with the"./calc" command; or, by naming it something else like "myCalc".

  9. May I take CIS 122 P/N? Yes. 122 does not have to be taken for a grade to satisfy the B. Sci. math and computing requirement.

  10. How can I print the time in digital format?
    
    const char NUL = '\0';
    
    /* writeTime() ====================================
     * displays time in digital watch format
     */
    void writeTime(int hr, int min){
      cout << endl << ((hr < 10)?'0':NUL) << hr << ":"
           <<  ((min < 10)?'0':NUL) << min  << endl;
    }
    
    
    Note that this function is an exception to the general rule that functions do not use cout. Since the function is written specifically to perform output, it does use cout and the name of the function makes its purpose clear.

  11. How can I reverse the digits in a number?
    Algorithm dreverse
    
       prompt and read n
       reverse <- 0
    
       //reverse the order of digits in n
       while (n > 0)
          reverse <- reverse * 10	   // shift accumulator left
          digit <- n  % 10	           // copy rightmost digit of n
          reverse <- reverse + digit   // add digit on right end
          n <- n / 10		   // shift n right using INTEGER DIVISION
       od
    
    //display result
    print n, reverse
    
    End.