Assignment 1, due Jan 20

Part of the homework for CS:2820, Spring 2017
by Douglas W. Jones
THE UNIVERSITY OF IOWA Department of Computer Science

On every assignment, write your name and section number. Write your name as it appears on your university ID card! Use the section number as it appears in your current registration! We will not do detective work to figure out who did what. Homework is due on paper at the start of your discussion section. Exceptions will be made only by advance arrangement with your TA (excepting "acts of God"). Never push homework under someone's door!

  1. A test of your understanding of the prerequisites: Consider this recursive integer function. All operators here are integer operations. This is an informal mathematical definition; it is not coded in a programming language:

    if i < 3, f( i ) = i
    otherwise f( i ) = f( i – 1 ) + f( i – 3 )

    A Question: Give the values of f(0) through f(9). (1.0 point)

  2. Background: If you do not have a CLAS Linux account, create one. The instructions are here:
      — http://www.divms.uiowa.edu/clas_linux/
    Follow the instructions there for "Create a CLAS Account". Note that this is easier from on campus, for example, in one of the Information Technology Centers, because if you are off campus, you will have to tunnel through the University's firewall using a VPN. (The link for how to set that up is there too, but it will take time, so don't let the VPN issue slow you down.)

    Use your account to sign in to linux.cs.uiowa.edu using either an SSH client or FastX

    You can get to FastX with the following link:
      — http://fastx.divms.uiowa.edu
    Note that FastX just opens a remote Linux desktop. If you use the XFCE desktop, you can open a terminal window to get to the same command line interface that you use with an SSH session.

    To make an SSH connection directly from a Mac or Linux system, open a terminal window locally (terminal is an application, a system utility), then type this command
        ssh linux.cs.uiowa.edu -l HawkID
    with your own HawkID substituted for HawkID in the command. Access from off-campus requires an additonal parameter. We will discuss this in class. It is almost as easy from a PC, where you must launch either the PuTTY or SecureCRT application and then fill in a form with the system name and HawkID.

    For additional guidance, see:
      — http://www.divms.uiowa.edu/clas_linux/help/start/remote.html

    A question: Use a shell window on the CS Linux machine. Type the following command:
      [HawkID@serv16 ~]$ ~dwjones/object
    (Boldface in the above is the command you type, non-bold is the prompt from the system; type the requested text verbatim, do not change a thing.) Report the output you got. If you did not make it all the way to the point where you could do the above, report how far you got. (1 point)

  3. Background: In the introduction to the textbook, there is a section entitled Source Code. There is a block quotation in this section that is almost 2 pages long.

    A question: What is it? (do not copy it, tell what it in just a few words.)