338 Grader - Evan Markensohn
ECES 338 - Introduction to Operating Systems
Evan Markensohn - ECES 338 Grader, Spring 2001
Page Last Modified: 04/22/2001
Class Hours: TR 4:10 - 5:30
Office Hours: TR 2:45 - 3:45, W 3:15 - 4:15 in Olin Unix lab, Olin 403
My student 338 homepage is located at http://vorlon.cwru.edu/~erm6/338/338.2000.
Broken Websites
As Tekin announced in class, the following holds regarding broken websites.
If your website is broken for assignment 6, there will be a 25 point
deduction. If your website is broken for assignment 7, there will be a
50 point deduction. If your website is broken for assignment 8, you will
recieve no credit for the assignment. I need your binaries to grade your
assignment. This is why the deductions are so great.
How I will grade assignments 5 and up
I have always followed Tekin's grading policy. The difference between
what I will do and what I was doing goes as follows. Before, I was
starting at 100 and going down. This meant that I was being very
lenient with the 20% that is up to me. Now, I will grade your assignment
up to 80 (as specified by Tekin's grading policy), and grade the 20%
(which is up to me) up from 80, as opposed having it included when going
down from 100. Basically, this means that the grading issues listed
below will a stronger impact on your assignment. Here is a list of
helpful things I've noticed in the assignments:
- I must have all input and output files available on the web such that I can run your programs.
- I must have all input and output files in your handed in hardcopy.
- You must script the run of your sessions and turn it in as hardcopy and post it to the web.
- You must use relative paths in your programs such that I can run them
- Do not include old code in your assignments. I shouldn't see utility functions from assignment 1 in any other assignment, unless of course they are needed.
- Be sure to label in your output which process prints what.
- I will no longer regrade assignments with no output provided.
- You must wait() on all fork()ed children.
- Only use pclose() in pairs with popen()
- Everything handed in must correspond to a set of code, binaries, and output that are associated with the Unix lab.
- In regards to the previous point, I don't want to see Linux code and output, nor do I want to see code and output from any OS besides Solaris in the Olin unix lab.
- Besure to read the grading policy below to understand how to gain all of my 20%.
Assignment Backgrounds:
- CGI: As described in the assignment, CGI stands for Common
Gateway Interface. The is a means for creating a web application through
a browser interface. It works by passing data to the CGI binary, and
have the output of the CGI binary go to your browser. The CGI binary
receives its data through environment variables. The developer must
then parse through the environment variables, perform something using
them, and then output return data. This assignment gives you an inside
look of both what the web server must accomplish to spawn the CGI binary,
and a look at how to write a CGI binary. As you can tell, writing CGI
binaries is a pain because all of the string parsing. As always, students
are taught the hard way, and then the easy way. Luckily, many generous
souls have written CGI libraries which parse all that data for you, and
let you work with it easily, much like a well written class(C++). (Modified: 02/01/2000)
Grading Policy:
Please read Tekin's
grading policy first! His grading policy overrules any such
policy I choose to take. My policy mostly applies to the "remaining 20%
of the grade."
In regard to the "remaining 20% of the grade," ( most of which ) as noted
on Tekin's grading policy, I will be focusing on readability, comments,
instructions on the environment needed to run the assignment, output,
error-handling, and course procedure.
- Readability: It shouldn't be necessary for me to run your code.
Your code should written well enough that I can follow a hard copy. Such
code should implement good use of functions, consistent and tasteful use
of indentation( we will not require you to adhere to a specific style of
indentation, but use good judgement ), and descriptive naming of
identifiers.
(Modified: 02/01/2000)
- Comments: Comments are good! They allow me to easily read your
code and show me that you knew what you were doing. Comments may include
( but not all are required ) comments at the top of each file to describe what it is for, comments for functions, and comments on specific lines.
Comments go hand in hand with readability. Use good judgement.
(Modified: 02/01/2000)
- Intructions on Environment: I shouldn't have to think all too
hard to run your program! Please include instructions on how to run your
program if it is not just executing a binary. Things I may need to know
include, but are not limited to, files created, command line arguments,
and other user input. Of course, we are all conforming to the Solaris
machines in the Olin 403 Unix lab, so environment specific instructions
should not be necessary.
(Modified: 02/01/2000)
- Output: This is an easy one. It should be easy to read. This
includes meaningful headers and lables, nice formatting, and anything else
to make it look good.
(Modified: 02/01/2000)
- Error-handling: Please check the return values of your function
calls for errors! Make sure to print out something meaningful on error.
This will make developing easier for you because you will know exactly what
goes wrong. This makes grading easier for me. For instance, a function
call may attempt to allocate system resources which are exhausted, and
we won't know what is wrong.
(Modified: 02/01/2000)
- Course Procedure: Please follow all course procedures! It will
make life a lot easier for the both of us. If you are told to email
something, email something. If you are told to use certain functions or
generate specific output, do it. Don't forget your name, id, and
recitation!
(Modified: 02/01/2000)
I will issue warnings for issues which I believe may warrant deductions
in the grade of your assignment. If the same warnings are issued for
different assignments, they will become deductions of an amount to be
determined on an individual basis. Deductions for specific warnings
will increase with the reoccurences of such warnings. Each deduction
and warning from your grade will have an accompanied explanation.
(Modified: 02/05/2000)
Contact Information:
- Email: erm6@po.cwru.edu. Please include "[ECES 338]" in your subject line.
- Res Hall: Storrs 206
- Phone: 754 - 1442
- ICQ: 8469983
- AIM: EvyRoss2
338 Links:
If you notice anything wrong with this web page, please email me.