
|
|
Q: How do I set up for a class I'm teaching?
The purpose of this page is to assist those teaching CS classes
by providing a checklist of facilities-related things you may want
to do in preparation for the start of a new semester. If you need
assistance, have
questions, or would like to suggest additions to this list, please
let us know using the
standard question/problem reporting
mechanisms.
- Request a directory for a class homepage
Course homepages
on the CS Web server are created in /l/www/classes/COURSE. You
should
ask us to create a course
directory, which will be of the form /l/www/classes/COURSE-USERNAME
where COURSE is the course name (ie. c123) and USERNAME is your
CS username. So, if John Smith is teaching
C123, the directory /l/www/classes/c123-jsmith will be created.
In addition, we will create a symbolic link /l/www/classes/c123
that will point to the proper directory for the given semester.
You can create whatever files are needed in that directory, but
you should ensure that the top-level page is called "index.html".
You can access this directory using a URL like:
http://www.cs.indiana.edu/classes/c123
If you have a class that is taught under two different numbers
(such as a graduate and undergraduate course) we can link the
two together so you have a single classes directory for both.
Note that you can restrict access to all or part of this web
space
by user,
by hostname/domain, or
with a password
using the appropriate .htaccess files.
If you are having trouble accessing the course homepage, please
check the following:
- There ownership of the /l/www/classes/COURSE link must be the
same as the /l/www/classes/COURSE-USERNAME link. If this is not
correct, please report it.
- The /l/www/classes/COURSE-USERNAME directory must be accessible
by the web server. The easiest way to accomplish this is to
make sure this directory is world readable.
- There must be a file named index.html in the /l/www/classes/COURSE
directory and this file must be readable by the web server.
If you will also need cgi or php support for your class web pages,
please see the
CGI and
PHP FAQ
entries for more information.
If you would prefer to host your course homepage on another server (such
as the CGI/PHP server or some non-CS server) simply create an index.html
file in your /l/www/classes/COURSE directory that contains the following
line:
<meta http-equiv="refresh" content="0; url=REMOTEURL">
where you replace REMOTEURL with the URL you wish to use. For example, if
you set up your course pages using php3 on the CGI/PHP server, you might
use something like:
<meta http-equiv="refresh" content="0; url=http://www.cs.indiana.edu/cgi-pub/c123/index.php3">
- Verify that the link from the courses homepage works
Once you have your course homepage set up, go to the
CS Courses homepage and verify that the link for this
class works from this page. If not,
let us know.
- Request a class group
If you will need for a group
of people (ie. you and your AIs) to all be able to edit
common files (such as the course web pages), you can
request that a unix group be created. The group is
generally named after the course and can be created upon
request or updated if it already exists
from a previous semester.
Just send us the course number and the list
of users who will need to be members of the group.
- Class account
If you need an account for the class that can be shared
between you and your AIs, we can create the account or
grant you access to the account if it already exists.
Access to class accounts is granted via ssh authentication.
To set this up, you will first have to create your ssh
authentication key. If you do not have an ssh key, you
will have to run ssh-keygen to create one
as explained in the
OpenSSH FAQ entry. Once
this is done, we can set up the account so you can login
by running something like:
ssh sharks -l c123
If additional people need access to the account, you can
ask us to set it up or you can do it yourself by following
these steps:
- Have each person run ssh-keygen to create an ssh key
as described
in the
OpenSSH FAQ entry.
- Copy each user's public key (~/.ssh/id_dsa.pub by
default) and append the contents into the authorized_keys
file for the class account. For example:
cat ~robh/.ssh/id_dsa.pub >> ~c123/.ssh/authorized_keys
Once that is done, they should be able to ssh into the account.
If you are having trouble ssh'ing into the class account, please
check the following:
- Did you run ssh-keygen to create your key and does ~/.ssh/id_dsa exist?
- Has your ssh public key been appended to the ~/.ssh/authorized_keys file of the
class account?
- Are you being prompted for a "Passphrase"? If yes, are you using the
same passphrase you used when you generated your keys using ssh-keygen?
- Are the permissions on the account home directory and ~/.ssh correct?
The ssh daemon will not honor the authorized_keys file if the home directory
or .ssh directory are group or world writable (for security reasons). Also
check to be sure the .ssh directory and authorized_keys file are owned by
the class account.
If this class account existed for a previous semester, you may want to
ensure that unauthorized people do not still have access to the account.
You can check the following for users with access to the account:
- Check for the existance of a .rhosts file in the account
that may list users who can rsh or ssh into the account.
- Check for the existance of a .shosts file in the account
that may list users who can ssh into the account.
- Check for the existance of a .ssh/authorized_keys file
that may list users who can access the account via ssh.
- Vincent
Vincent is a web-based system that allows students to submit
homework assignments for a class. Please see the
Vincent Homepage
for more details. If you wish to use this system for your class,
you will need to:
- Make sure you have a class account, as described above.
- Make sure the class account is configured for CGI access. You
can do this by simply running makecgi while logged
in as the class account user.
- Request that Vincent be set up for the class using the
standard problem/request reporting mechanisms.
Once Vincent is activated for the class, the following URLs will be
used to access the system:
- Administrator Page - From this page you can control all aspects of the vincent setup.
https://www.cs.indiana.edu/cgi-pub/course/vincent3/admin.cgi
- Assistant Page - This page is used by course AIs and allows for the
downloading of assignments and grading.
https://www.cs.indiana.edu/cgi-pub/course/vincent3/assistant.cgi
- Student Page - This page is used by students and allows the uploading of
assignments and lets them see the status of their own assignments.
https://www.cs.indiana.edu/cgi-pub/course/vincent3/student.cgi
Be sure to replace course in the above URLs with the actual course
number for your class. Also, note that you MUST use https, as shown above,
and not http since only secure connections are permitted.
You will need to perform the following steps from the Administrator interface
once Vincent is activated:
- Set Class ID/Tagline - Under Global Course Configuration, select
Set Class ID/Tagline and click submit. You are strongly encouraged to
leave the Class ID as is (ie. of the form a110 or c211). If you do change the
Class ID, please note that it must not contain any spaces and can only contain
alphanumeric characters. You may wish to change
the tagline to be more description of the class. For example, you could use
something like "Introduction to Operating Systems".
- Set System-wide Defaults - Under Global Course Configuration, select
Set system-wide defaults for students, assistants, and admins and click
submit. This page includes a number of features that are rarely used and is
a source of much confusion. Here are the settings we recommend for most classes:
- Set Use Sliptime? to NO
- Set Allow IE Explorer> to YES
- Set Use Vincent's Gradebook to NO if you don't want to use
Vincent to keep track of grades. Set this to YES if you want to keep
assignment grades in vincent so that you and your AIs can enter
them and have students view them on-line. If you choose to use the
gradebook, you are strongly encouraged to keep another record of grades
outside of Vincent in case there is ever a problem and they need to be
recovered.
- Set Use Teams? to NO
- Set Allow Assistants to Edit Teams? to NO
- Set Allow student file download? to YES
- Set Let students see the class average in gradeviews? to NO
- Set Use Doneness to NO
- The All students expire on: setting should be reasonable for the current
semester by default. If you want to change this, please be sure to keep the format
exactly the same. Be sure to keep all fields the proper length. For example,
for a month of May, use '05' instead of '5'.
You are welcome to use other settings and features here, but only do
so if you know what you are doing.
- Edit the Administrator/Assistant list - Under Global Course Configuration, select
Edit the Administrator/Assistant list and click submit. From this page you can
list other administrators or assistants using a space-separated list of usernames.
Note that administrators have full control over vincent (can add and remove students
or assignments, download files, etc) while assistants can only do things like
download assignments that have been submitted and enter grades.
- Load your roster - In order to enter your students into Vincent, you are
encouraged to upload standard IU class rosters. These rosters come in
various
different formats and you need the format that includes usernames. This file will
generally include lines that look like:
303,BL,0171,999123456,JANE, DOE ,JDOE ,INDIANA.EDU
The file may contain lots of other stuff, which is fine since Vincent will
ignore everything except lines that look like this.
NOTICE: As of Fall 2004, the old format rosters are no longer available.
Please see the Vincent Roster System Notice
for information about getting your roster data into a format that Vincent can accept.
Under Roster/Student Maintenance, select
Submit a new Roster and click submit. You will just provide the
full path to the roster file and you are encouraged to use the Browse feature
to locate the file.
Note that you can reload the complete roster multiple times to pick up new
students.
You can also use the Add a student to the system and Modify an existing student's record
options to manually add and update entries.
- Add yourself as a student - By default, you will not be able to
use the student interface since you aren't a student. If you want to be
able to use the student interface (ie. to test things and see what your students
will see) you can manually add yourself. It is recommended that you use
a different section number (9999 is a common choice) if you do this so you
don't show up in the same section as the "valid" students.
- Create Assignments - Under Handling Assignments, you can create and modify
assignments. You can also Create a new grade mapping, which allows you to do
things like have an assignment worth 10 points where 9-10 is an A, 7-8 is a B, etc.
I would personally advise against using this feature unless you know what you are
doing.
To create a new assignment, just select Create a new assignment and clidk submit.
Here are the fields you need to set when creating an assignment:
- Assign. Type - The Assignment type should always be FILE.
- Assign. ID - The Assignment ID should be a short strings containing ONLY alphanumeric
characters like "Project1" or "Test2".
- The Description is a more general description of the assignment.
- Upload Msg. - This can be any message you want the student to see when they upload
this assignment.
- Max Val. - This is the numeric number of points this assignement is worth (ie. 10 or 100).
- Num. Files - This is the number of files that need to be uploaded for this assignment.
- Due Date - This is the date/time the assignment is due. Submittions will be accepted after
this time, but they will be flagged as late. Be sure to keep the format of
this date EXACTLY as it is. For example, for May use "05" and not "5".
- Grade Visible After - This is the date/time after which students will be able to see
grades for this assignment. Be sure to keep the format of
this date EXACTLY as it is. For example, for May use "05" and not "5".
- Naming Grep - The default value of "_ANYTHING_" means that there are no restrictions
on the names of the files being submitted. If you want to limit the filenames
you can use the Naming Grep. For example, if you just make this "a1.c" then they
can only submit a file named "a1.c". You can use the following in the Naming Grep:
- _OR_ - Contitional "or"
- _ANYTHING_ - Wildcard
- _DIGIT_ - Any single number
- _DIGITS_ - Multiple numbers
- _USERNAME_ - The student's username
- () - Grouping
So, for example, if the assignment has two files and you want to
require students to use the names File1.c and File2.c, you could
use "(File1_OR_File2).c".
- Grade Mapping - If you set up a grade mapping, you can select it here.
You probably won't be using this feature, so leave it as 'No Mapping'.
- Post Processor - You can set up arbitrary perl programs that assignments
are sent through when submitted. This is useful for things like
compiling code and displaying errors when a file is submitted.
If you want to do this, please ask for assistance.
There are a number of other features in Vincent, but this should get you started.
You may want to check out the
Vincent
Docs for more information about setting things up.
This documentation is rather old and out of date, but may still be useful.
- Disk quotas
All class accounts have disk quota for their regular account and the
cgi account if using Vincent. You should login under the class account
and run quota -v to check the current disk usage and availability
to ensure it will meet the needs for your class.
- WWWBoard Web-based message board
As an alternative to a Usenet Newsgroup, you can use the
Web-based message board system supported on the CS web server.
This system allows the posting and reading of messages via a web
interface and access can be restricted in a number of ways.
Please see the
FAQ entry for more information.
- Burrow accounts and access
If your class will be using the Burrow Cluster
of Linux machines in LH004, you should coordinate with
Caleb Hess to get card access for your students. Requests
for accounts should be sent to
accounts-admin.
In the request, please include the usernames of the
students needing accounts.
See an error in this FAQ entry? Please
report it.
[Return to the FAQ index]
|