CS Writing Style - Generic and CS class accounts - faculty: Difference between pages

From Computer Science at Indiana State University
(Difference between pages)
Jump to navigation Jump to search
m 1 revision imported
 
wiki_previous>Jkinne
 
Line 1: Line 1:
This page contains some general rules on good writing style in CS courses.
This page is for faculty teaching CS courses that will use class accounts on the CS server. If you are a student, see [[CS Accounts and CS Lab Computers]].


=Attribution and File Header=
=Getting Started=
Each file should have comments at the top of the file giving a summary of what the file is. This should include the following elements.
For each CS course that uses the CS server, there will be a separate account for each student. The usernames start with the course number. For example, the accounts for CS 151 are cs15100, cs15101, cs15102, etc. The instructor account to manage assignments is just the course number (so for CS 151, the instructor account to manage assignments is cs151). You should normally be given more student accounts (cs15100, cs15101, etc.) than there are students in the class.  


* Author: your name
It is normal to reserve one of the student accounts for instructor use, so that you can test things out the way things are for students. For example, for CS 151, the account cs15100 might be reserved for use by the instructor.
* Contents: what is this file for (e.g., hw 1 cs 500)
* Date: date handed in
* Summary: summary of a sentence or few - what does the program do or what is the file about, what changes did you make, etc.
* Attributions: list of sources you used. If you used AI you need to list the prompts you used, which AI was used, and if possible a link back to the AI's responses. If you discussed with anyone, list their names and the amount of discussion. If anyone looked at your code, you need to list that. If you copy/pasted code from anywhere, you need to indicate that and give a link to where you got it from. If you started with a file from class, you list that as well. If you have no attributions to list, then just put "none".


=General Rules=
=Account Logins=
* '''Proofreading''': you should proofread your work to check for spelling, typos, etc. You should also reorganize as seems appropriate while you proofread: your first draft may be a complete solution, but when reading through it you may see a clearer or more direct way to organize your work.
The scripts that the CS sys admin runs to create the accounts will leave the login names and passwords in the instructor's permanent CS account. For example, Jeff Kinne's permanent CS account is jkinne; if Jeff Kinne is teaching CS 151, then the login information for the cs151 class accounts will be left in ~jkinne/accts/. The file ~jkinne/accts/cs151.out contains login name and password for all of the cs151 class accounts (cs151 is the instructor account, and the student accounts are cs15100, cs15101, etc.).
* '''Be concise''': be as concise as possible while still giving as much detail as the instructor wants. A general rule is to include a little more detail than the instructor does for in-class examples. An instructor might choose to return your assignment without reading it if it is too long. Being concise is valued in computer science (and in math and the sciences in general).  
 
* '''Write for the intended audience''': you should generally assume your intended audience is a CS student who has been in the lectures for your course but has not completed the assignment themself. In particular, this means you need to justify your answers and your work and explain it well.
=Assigning Accounts to Students=
* '''Complete sentences''': for essays, short answer questions, and proofs you should write in complete sentences using good grammar.
The instructor can assign accounts to students however they like. The usual way is to assign them in alphabetical order (so cs15101 would be assigned to the first student in the gradebook, cs15102 for the next, and so on). Note that students can change their course schedule up to 7 days after the start of term, so if you assign accounts before that point, you may need to assign additional ones as students add the course to their schedule.
* '''Show your work''': as mentioned above, you should include as much detail as the instructor does in class. Note that you are being graded on your understanding, not ''just'' for finding the correct answer. So you need to be convincing the instructor that you know how to do this problem.
 
* '''Plagiarism''': see CS course [[Policies]] and additional details in [[Jeff Kinne Course Policies]].
Once you have decided how to assign the accounts, you need to share the username and initial password with each student. Options for how to do this... One option - create a 0 point assignment in the course in Canvas, and leave the username and password as a comment to the grade. Another option - store the usernames and password in a spreadsheet that also has the student name and email addresses, and make a script to email the initial username and password to each student.
* '''Handwriting''': if turning in something that is hand written, your handwriting needs to be legible. If you turn in something that is not legible, it may be given a grade of 0.
 
* '''Page/problem order''': turn in your work with the problems in the order they were assigned (e.g. 1, 2, 3) to make it easier for the instructor to find your answers to each problem. If scanning in work, make sure the pages are rotated properly in the file.
=Student First Time Logging in=
Students will connect to the server the first time using ssh, putty, or some other ssh client. Students can see here for options - [[Linux - System Setup]].
 
The first time each student logs into the system, it will ask for the password an additional time and then ask for their name, office, etc. You should have them type in their real name (just like it shows up in Canvas), and leave the other fields blank.
 
You should have the students change their password to something they will remember. They use the passwd command to do this.
 
=Handin=
The handin system is a series of scripts that can be used for students to handin assignments on the server. The assignments get copied into the instructor account (i.e., for CS 151 they get copied into the cs151 account). To understand how this works, read [[Handin]], and then read the man pages on the server: handin, handin.config, ccu, igf.
 
=Student Forgets Password=
If a student changes their password and forgets it, the CS sys admin can reset their password to what it was originally (which the instructor will also have from when the accounts were created).
 
=TA or Second Faculty Member=
If you will have a TA or second faculty member that needs access to the instructor account for the course, you can edit the bin/.config file in the instructor account (so for CS 151, this would be ~cs151/bin/.config). For example, if the user SOME_USER is the TA for CS 151, then the ~cs151/bin/.config file would be edited to contain "SOME_USER" in the list that is in that file. Any users that are listed in ~cs151/bin/.config are able to run the command ~cs151/bin/ccu, which makes the user become the cs151 instructor user (so we don't need to do password sharing for the instructor accounts).
 
=Read Access to Student Accounts=
The instructor account for the course can be giving rx access to the student accounts. This might be done by default, but if it is not, you can ask the CS sys admin to do this. So, if Jeff Kinne is teaching CS 151, the permissions can be set so that the user cs151 has rx access to cs15100, cs15101, etc.

Revision as of 13:46, 9 January 2025

This page is for faculty teaching CS courses that will use class accounts on the CS server. If you are a student, see CS Accounts and CS Lab Computers.

Getting Started

For each CS course that uses the CS server, there will be a separate account for each student. The usernames start with the course number. For example, the accounts for CS 151 are cs15100, cs15101, cs15102, etc. The instructor account to manage assignments is just the course number (so for CS 151, the instructor account to manage assignments is cs151). You should normally be given more student accounts (cs15100, cs15101, etc.) than there are students in the class.

It is normal to reserve one of the student accounts for instructor use, so that you can test things out the way things are for students. For example, for CS 151, the account cs15100 might be reserved for use by the instructor.

Account Logins

The scripts that the CS sys admin runs to create the accounts will leave the login names and passwords in the instructor's permanent CS account. For example, Jeff Kinne's permanent CS account is jkinne; if Jeff Kinne is teaching CS 151, then the login information for the cs151 class accounts will be left in ~jkinne/accts/. The file ~jkinne/accts/cs151.out contains login name and password for all of the cs151 class accounts (cs151 is the instructor account, and the student accounts are cs15100, cs15101, etc.).

Assigning Accounts to Students

The instructor can assign accounts to students however they like. The usual way is to assign them in alphabetical order (so cs15101 would be assigned to the first student in the gradebook, cs15102 for the next, and so on). Note that students can change their course schedule up to 7 days after the start of term, so if you assign accounts before that point, you may need to assign additional ones as students add the course to their schedule.

Once you have decided how to assign the accounts, you need to share the username and initial password with each student. Options for how to do this... One option - create a 0 point assignment in the course in Canvas, and leave the username and password as a comment to the grade. Another option - store the usernames and password in a spreadsheet that also has the student name and email addresses, and make a script to email the initial username and password to each student.

Student First Time Logging in

Students will connect to the server the first time using ssh, putty, or some other ssh client. Students can see here for options - Linux - System Setup.

The first time each student logs into the system, it will ask for the password an additional time and then ask for their name, office, etc. You should have them type in their real name (just like it shows up in Canvas), and leave the other fields blank.

You should have the students change their password to something they will remember. They use the passwd command to do this.

Handin

The handin system is a series of scripts that can be used for students to handin assignments on the server. The assignments get copied into the instructor account (i.e., for CS 151 they get copied into the cs151 account). To understand how this works, read Handin, and then read the man pages on the server: handin, handin.config, ccu, igf.

Student Forgets Password

If a student changes their password and forgets it, the CS sys admin can reset their password to what it was originally (which the instructor will also have from when the accounts were created).

TA or Second Faculty Member

If you will have a TA or second faculty member that needs access to the instructor account for the course, you can edit the bin/.config file in the instructor account (so for CS 151, this would be ~cs151/bin/.config). For example, if the user SOME_USER is the TA for CS 151, then the ~cs151/bin/.config file would be edited to contain "SOME_USER" in the list that is in that file. Any users that are listed in ~cs151/bin/.config are able to run the command ~cs151/bin/ccu, which makes the user become the cs151 instructor user (so we don't need to do password sharing for the instructor accounts).

Read Access to Student Accounts

The instructor account for the course can be giving rx access to the student accounts. This might be done by default, but if it is not, you can ask the CS sys admin to do this. So, if Jeff Kinne is teaching CS 151, the permissions can be set so that the user cs151 has rx access to cs15100, cs15101, etc.