CSC 8400 Computer Organization Spring 2007

Frequently Asked Questions


Sections

CSC Sun network

  • What is my username?
    There are 12 choices for a new login name:
    
      1) First Character of First Name + Last Name (first 7 chars)
      2) First Char of First Name + Initial + Last Name (first 6 chars)
         (if no initial, the second char of first name will be used)
      3) First and Last Char of First Name + Last Name (first 6 chars)
      4) First Char of First Name + 1 + Last Name (first 6 chars)
      5) First Char of First Name + 2 + Last Name (first 6 chars)
      6) First Char of First Name + 3 + Last Name (first 6 chars)
      7) First Char of First Name + 4 + Last Name (first 6 chars)
      8) First Char of First Name + 5 + Last Name (first 6 chars)
      9) First Char of First Name + 6 + Last Name (first 6 chars)
     10) First Char of First Name + 7 + Last Name (first 6 chars)
     11) First Char of First Name + 8 + Last Name (first 6 chars)
     12) First Char of First Name + 9 + Last Name (first 6 chars)
  • What is my initial password?
    There is an algorithm used each semester that combines two letters indicating the current semester (e.g. SG for Spring), followed by the student's Villanova ID number.  The algorithm changes slightly from time to time, so it is best to check with your professor if the issue of your default, or initial, password arises.
     
  • How do I log in from a PC in the lab?
    Look for a folder in the Start menu called "Communication" or something like that (or possibly "Utilities").  Within that there will probably be a number of choices.  Simpler choices are QVTerm or Telnet, while better security or more features are available using SSHWin or SecureSH or Putty or other similar sounding programs.  Initial login from the lab can be done to any of the machines on the network: monet, renoir, rodin, cezanne, matisse, gauguin, cassatt, picasso, cezanne, etc.  The best source of the latest "best" machine to use is available from your fellow students, usually.  More information is available about this from the department support web page and from our class Resources page.
     
  • How do I log in from my PC at home or work?
    See the department "Accessing the Unix Network" web page our information on our class Resources page.
     
  • Where can I find out more about our Unix system?
    General information is available from the department web site Facilities information page.
     
  • What was in that email that Prof. Nadi sent out for Spring 2007 again?
    A new UNIX account has been created for each student
    enrolled for the first time in a CS graduate course
    or undergraduate course requiring a UNIX account.
    The following information has been emailed to all the 
    students with these new accounts:
    
    -------------------------------------------------------
    
    A Unix account has been created for you on the Computing
    Sciences department's systems.
    
    This account will give you access to the CS UNIX machines.
    
    your username is: The_Student_Username
    The password is set to the letters 'SG' followed by your
    Villanova student id number (not social security number).
    
    For technical help and information about accessing the system,
    you may check:
    
     http://csc.villanova.edu/support/technical/unix
    
    A copy of the secure shell, a software that will allow you remote
    access to the CS Unix machines, may be downloaded from the CS site at
    
      http://csc.villanova.edu/do/login
    
    Use your email VU username/password to login this site (not your
    Unix username/password).
    
    You may also stop by the CS help desk in room M292 where you
    will find the teaching assistants (TA) that will help you
    with basic system issues. The TAs schedule for the current
    semester is located at:
    
      http://csc.villanova.edu/support/cscHelpDesk
    
    Please make sure to read the school policy on using
    the computer facilities, by typing the word policy
    after logging in.

Readings

  • Questions about readings
    Nothing yet.

Workshops in general

  • How do I edit and save my C program?
    Editing your C program is most easily done using "pico", a simple text-based editor.  To run it type "pico" at the Unix prompt.  If the file you are editing is "program.c" then to open and edit it type "pico program.c".  With pico you don't use the mouse.  Instead move the cursor around using the arrow keys.  Check out this online information about using pico.
     
  • How do I compile my C program?
    To compile the program to an executable called "a.out", type:  gcc program.c
    To specify the name of the executable output file, type:  gcc -o execname program.c
     
  • How can I see the assembly language for my C program?
    To generate the assembly language for a C program, type:  gcc -S program.c
    The assembly will be in "program.s".

    Inspecting the assembly language for a simple C program can often help determine where problems lie or illustrate what is going on in the program at a lower level.  For example, for the Workshops in CSC 8400, it is often helpful to determine what type and how many of the assembly instructions are being timed, when an accurate timing of a specific instruction is desired.  Looking at the assembly code shows this.
     
  • What Unix command provides information about the processor?
    To get processor information, type:  psrinfo -v 0
     
  • What Unix command provides information about the cache configuration?
    prtconf -vp | grep cache
     
  • What Unix command provides information about other Unix commands?
    To read the manual or "man" page for a Unix command, type:  man commandname
    Examples:
      man psrinfo
      man prtconf
      man man
  • How can I time a procedure call?
    When using the high-resolution timer to attempt to time precisely how long a procedure call takes (that is, just the invocation of the procedure and nothing else), the following approach may be worth considering.
    1) Start the timer
    2) Call the procedure (function)
    3) Stop the timer first thing inside the called procedure
     
  • My timings seem way off.  What could be the reason?
    If you are timing things using the high-resolution timer (i.e., for a Workshop) and you are getting unexpectedly long times for things, consider the following:
    1) Are you timing what you think you're timing?
    2) Are you timing anything you should be timing, such as print statements or function calls?
    3) Are you printing out the result correctly?
    4) Are you getting messed up by implicit type casting?  The high-res timer is type "long long int" but things can print wrong if you try to print a regular "int" instead.
  • How to a print out the high-resolution timer value?
    The high-resolution timer is of type "hrtime_t" which is a "long long int".  This requires a peculiar format in the printf statement:

    hrtime_t start;
    hrtime_t finish;

    start = gethrtime();
    // do something
    finish = gethrtime();

    // format for long long int is "percent little-L little-L little-d"
    printf("total: %lld nanosecs\n", finish - start);

     

Workshop 1

  • No questions yet

Workshop 2

  • No questions yet

Workshop 3

  • No questions yet

Homeworks

  • No questions yet

Exam

  • What is the best way to prepare for the exam?
    Base your preparation on the study guide, which is handed out in class and is also available for download from the class Schedule page.  Prepare a study guide of your own where you compile the brief definition or answer for each item and question on the official study guide.  In the process of gathering this information from the lecture slides, your notes, handouts and the textbook, you will gain a broad knowledge of the topics being covered.  Reviewing the study guide a number of times can help in the preparation, but quite often it is the activity of putting it together over the course of a week or two that really cements your familiarity with the terminology and a deeper understanding of the ideas.
     
  • How long will the exam be?
    The final exam is designed to take approximately 90 minutes, although students are permitted to use the entire final exam period.  During summer sessions, there is a final (but no midterm) exam, and it is typically open-book and open-note, but is quite rigorous, lasting 2.5 hours.  Students often find they must think so quickly that the value of having the open-book style of exam cannot make up for a lack of understanding of the material.

Research Paper

  • Question: I am concerned with my writing ability.  Can I copy and paste material from the web into my paper, because the material I can find is much better than anything I could write?

    Answer: No copy and paste, please.  You will fail the assignment and maybe even course if you do.  The goal of the research paper is to stretch the limits of what you know. The sophistication of your writing style is not a major component of your grade.  Gathering and explaining new and interesting information about your topic is.  Some students in the past have fallen into the trap of copying and pasting material from web sites, word for word, and unfortunately it cost them a good grade.  To maximize your learning, it is much better to make notes on what you read, explaining it in your own words.  By the end of writing your research paper, you should be able to explain the topic to another computer science student.

Last updated: 1/22/07