CMSC 10100 HOMEWORK 0:  
Due THIS Thursday of first week:  Get a classes Account and set up
your directories for homeworks.

Request a CS account at: https://www.cs.uchicago.edu/info/services/account_request.  
(Other information can be found at:   http://www.cs.uchicago.edu/info/services. )
Register with the TA grading process at: 
http://people.cs.uchicago.edu/~hai/courses/cmsc10100/cgi-bin/register.cgi.


There will be 6 homework assignments during the course of the class.  
For delivery, each assignment must be placed in its own directory 
within the html directory of your CS account. The graders will look 
for assignments in specific directories. Hence, the assignment 
directories must have prescribed names, namely, 
hw1, hw2 ... hw6.  If they are not where they are supposed to be, they CANNOT 
be graded.

Naming conventions are important.  If you are asked to name a directory 
or homework file a certain way, it is your responsibility to follow the 
instructions exactly.  Do not count on the graders browsing through 
your directories and files to locate your assignment. Also, your grader 
may not look at your homework personally but use a program.  Chances 
are the program will not be smart enough to check for typos.

Note that there will be introductions to unix I and 2 offered at the MacLab 
the end of first week and the beginning of second.  Go and find out what all the 
cryptic commands in unix mean!  Check 
http://www.maclab.cs.uchicago.edu/index.php?swap=minicourses for times and days.


General Submission Instructions:

Homework will be turned in by placing all your files on the Computer Science server 
in the proper location by the deadline. Each homework should be in a directory:

    ~/html/cs101/hwx

where  x is the number of the assignment, and ~ indicates your home directory path. 
The final project will be placed in:  

    ~/html/cs101/final. 

Make sure that the permissions are properly set so that we can enter the directories, 
view the files, and execute any scripts that we need to.  (See below.)

The following is the detailed description of how to create the above directories:

	1.  	Create a directory named html in your home directory, which would
look like: 
    /home/sterner
You can always find your current directory with the pwd command.)

 Command:
    mkdir html

	2.  	Make sure html directory has 755 permissions (i.e.,  drwxr-xr-x, 
which gives you the ability to edit, and the world the ability to see and execute). 
(d = directory; r = read; w = write; x = execute. In groups of 3 after "d" for
owner/subgroup/world.)

 Commands: 
	ls -ld html   to list the permissions of the directory you just created. 
	chmod 755 html  to change the permission to 755 if the permissions are 
not correct.

	3.  	Change directory into the html directory.  Then create a cs101
directory.

 Commands: 
    cd html
    mkdir cs101

	4.  	Again, make sure  cs101 directory has 755 permissions.

 Commands:  
    ls -ld cs101  to list the current permissions.
    chmod 755 cs101  to change the permissions to 755 if not correct.

	5.  	 In the cs101 directory, for each assignment, create corresponding 
directory (for example, hw1 for assignment 1.  See below on how to generate 
directories for the other assignments.)

 Commands: 
    cd html/cs101
    mkdir hw1

	6.  	Make sure hw1 directory has 755 permissions.

 Command: 
    ls -ld hw1 to list the current permission
Use chmod 755 hw1 to change the permission to 755 if not correct.

	 7  Using a text editor (e.g., emacs, vi, or upload from your local machine's 
wordprocessor), create an HTML page called 'index.html' in the hw1 directory.  For 
now, this page will just serve as a template. It should not contain any content but 
only the basic structural tags of an HTML page. (See Pence.)

	8.  Move back up into the cs101 directory.  Now make three copies of the hw1 
directory, named hw2, through hw6 respectively.  Directories cannot be copied 
like simple files with the 'cp' command.  They need the '-r' flag (recursive) 
to copy the content of the directory as well. For example, to create the directory 
for the second assignment, enter the following on the command line:
   
    cp -r hw1 hw2

Eventually you should now have six subdirectories in your cs101 directory, hw1 
through hw6,  and each of these directories should contain a blank HTML page, 
called 'index.html'. Go ahead and do this one more time with "final" as the 
last new directory name.

9.  	 Put all your solutions into the corresponding homework directory (if you are 
submitting an HTML document, make sure index.html file is present in the directory). 

	10.  	Make sure ALL the HTML documents you submitted have permissions 744 
(-rwxr--r--) or 644 (i.e., -rw-r--r--)  .  This allows you to edit, and everyone 
else to read it without editing).

The figure below shows the final directory hierarchy. (Make sure there is an 
index.html file in each homework directory). Also, path names are case sensitive. 
Please keep all names of your directories in lowercase letters 
(hw1 not HW1, etc.)

                                      /  <-- root 
                                      /
                                     home
                                      /
                                    <your cs account>
                                      /
                                     html
                                      /
                                     cs101
                                     _/_________...___
                                    /     /          /
                                   hw1   hw2  ...  final
 
So the full path to hw2 would be: /home/your-account/html/cs101/hw2, etc.
       
    

Valid XHTML 1.0 Strict