From Computer Science
Revision as of 12:16, 29 September 2022 by Jkinne (talk | contribs) (Canvas - Email the class)
Jump to: navigation, search

For Faculty and GAs

The items in this section are related to managing courses, etc. for faculty and GAs.

GAs - Administrative Things

Kronos - GA time should be reported in Kronos. There is information about how to do this in the grad school's GA orientation. The departmental staff person who signs off on your time is Jessica Markle. You should normally report 20 hours worked, and make sure this is entered by Friday morning by the end of the 2 week pay period. You should put a repeating calendar reminder for yourself so you will remember to do this on time.

Picture - A picture of you will be posted to ISU CS People and posted in the lab. If you want something other than your ISU id photo used, send it to the associate chairperson and whoever is managing the ISU CS People page.

Zoom Lab Hour - For your lab hours, you will have Zoom running so that people can come online for help as well. You need to create a Zoom meeting with your ISU zoom account and set it so it is only open to ISU zoom accounts. Test the link with someone else to make sure it works, and then send the zoom id the associate chairperson.

Lab hours - Send to the associate chairperson your preferred hours (e.g., mostly afternoon, or give specifics) and hours you cannot do (e.g., classes, or recurring appointments).

Programming languages and operating systems - Send to the associate chairperson which programming languages you can help students with (should include at least C and python since those are covered in your first term in the CS MS), and which operating systems you can help students with (should at least include the OS of your own personal computer(s)).


All graduate assistants and faculty members are required to be informed about FERPA (Family Educational Rights and Privacy Act) and agree to abide by it. This basically entails keeping all information about students (their grades, which courses they are in, etc.) private and not disclosing to anyone else (e.g., including their family members, unless the student has followed the process to grant anyone else access).

To indicate your agreement, do the following: ISU portal / Employee self service / FERPA Acknowledgement, and then click the check box that you agree and Submit.

Textbook Adoptions

Instructors are supposed to indicate to the book store what materials are required (i.e., textbook) or if none are required. You get to this by logging in to the ISU Portal and then finding the "Textbook Adoptions" app/link.

Canvas - Merge/Combine Sections

The steps are outlined here:

Note that the destination course needs to be published before you can crosslist/merge.

Canvas - Setting up Zoom

The steps are outlined here:

Canvas - Creating MS Teams Team

To create a MS Teams team for a course, do the following. Note that the team will automatically contain all of the students, so you don't need to worry about adding students to the team. If you are merging multiple sections, you should do that first before enabling the team.

  • In the canvas site for the course, click Settings on the left menu.
  • Click Integrations on the tab options on the top.
  • Under Microsoft Sync, enable the push button and then click the Sync Now button.

Canvas - Importing

To import course content, you go to the course you want to import into, click Settings at the bottom of the menu on the left, then Import Course Content on the right.

Canvas - Adding People

Note that the +People button to add people to a course may be greyed out if it is past the end of the course's term. To be able to add someone, you need to go to the Settings and set it so the end of availability for the courses is in the future, and after adding a person you can then change it back to how it was.

Canvas - Email the class

From canvas, click the Inbox icon on the left (that looks kind of like a printer), then click the icon that looks like a pencil for writing a new message. From there it's relatively clear.

Note that if you have cross-listed sections (merged) this is likely the easiest way to write a message to the whole class.

Canvas - Let Students View Roster

The roster in Canvas is under the "People" link on the left. By default this is not visible to students. So you need to go to Settings, then Navigation, and drag People up to the part top area where the tools are that are visible to students.

A-017, A-019, A-186, A-015 - CS room setup

To connect your laptop or use the CS system that is at the sympodium, do the following.

  • In A-017 and A-019, press the On button on the podium, and press the PC button on the podium.
  • For CS system, set the KVM switch to 1.
  • For laptop use, set the KVM switch to 2. You should plug in the usb-c cable coming as the output from the KVM switch into your laptop. Depending on your laptop connections, you might need to unplug the HDMI USB cables from the usb-c dongle and plug the HDMI and USB cables directly into your laptop.
  • Once things are going through the projector properly, check the audio. In A-017 and A-019 you may need to adjust the volume knob on the top of the podium.
  • You should also confirm that your microphone is working.

If the connection is not working, some troubleshooting steps that sometimes work.

  • Unplug each cable going into the KVM switch and plug back in.
  • Unplug HDMI cables going into the wall and plug back in.
  • Sometimes, powering off the entire podium and powering it on again is needed. Note, though, that this also powers off the CS system in the podium, so make sure it comes back on.

Class Attendance is a script that can be used to extract attendance for CS courses that take place in A-017 and A-019. It will count a student as present as long as they logged in within 10 minutes of the start of class and logged out within 10 minutes of the end of class. To get started with you can do the following.

mkdir ~/csXYZ
cd ~/csXYZ
cp ~cs151/attendance/murali/.attendance .

Note - for this to work you need to have an ssh key installed. For that you can run

mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t ecdsa
cp authorized_keys


As of 2020 ISU has a site license for Zoom so you can use your ISU credentials to login to Zoom and have "professional" features (no limits on meeting length, etc.). For getting started info, see from OIT and a quick tour video from Jeff Kinne.

Some notes -

  • Use Application - the application in Windows/Mac (and probably Linux) has some features that the web version and phone/tablet/chromebook app do not. If you can you should use the application on Windows/Mac. For a comparison, see
  • Configuration - there are some configuration options that you can get to at that you cannot through the application. If you don't see something you think you should, look for it here.
  • Limiting access - in the advanced settings for a meeting, you can limit access to ISU Accounts only. You can also use a different meeting id for each meeting and require a password. It is recommended to do all of these.
  • Attendance - if you login to with your ISU credentials, you can click on Reports and then Usage, and you can get an attendance report for each meeting. You can also ask participants to type "here" into the meeting chat, and select a setting for the meeting that will automatically save the chat when the meeting is done.
  • Host vs coHost - a host can manage breakout rooms and some other features that a cohost cannot. There can be only one host at a time. In the advanced settings you can designate possible alternate hosts (e.g., GAs) that can also start the meeting as hosts. Alternate hosts have to be ISU email addresses (e.g.,,
  • Breakout rooms - you can put people into breakout rooms, and the host can jump around between them. You can upload preset breakout rooms by clicking the right settings for the meeting in Or you can do it manually during the meeting, or let it assign at random.
  • Polls - you can create a poll with multiple choice questions ahead of time (csv, click around in the meeting settings), or create it on the fly during the meeting. Results are anonymous and not saved after the meeting.
  • Click yes/no/raise-hand/etc. - on the participant list users can click yes/no (if you ask a question, then you'll see how many said yes), they can raise their hand, or click a few other things.
  • Recording - you can set a meeting to auto-record (but then it will start recording when the first person joins) either to the local computer (in which case you'll get an mp4) or to the cloud (a link to see it on zoom, and you can download the mp4 if you want to). You can also start recording whenever you like, and can pause and start the recording again.
  • Share screens - works like in Teams, Skype, etc.
  • Shared whiteboard - is cute, could be used as the whiteboard for the class. You can save it as a jpg, and click between pages during the meeting.
  • Waiting room - a setting available for each meeting. You can let others join the meeting before you do, or make them wait in a waiting room until you join the meeting. You can also send participants to the waiting room during a meeting (e.g., during lab hours GAs might do this if helping one student and having the next wait in the waiting room until ready).
  • Share screen - zoom controls - to show the zoom controls while doing a screen share, see This allows the attendees to see what you are clicking on with the zoom controls (useful when explaining how to use zoom).
  • Zoom App on CS Systems - it might work for you to use the Zoom App on Chrome from the CS systems. You would need to add the Zoom extension and then launch the Zoom app/extension from here -

For a comparison of what different types of users can do during a meeting, see and


Documentation is in man on the system. Read through the following

man handin
man handin.config
man ccu
man igf

You need to have a course that was created for you with class accounts by Steve.

A short howto geared towards students is in the wiki at this link.

Course Websites

Using Steve's course website system (for faculty) -

cd ~/public_html
mkdir csXYZ
cd csXYZ
cp -R ~sbaker/public_html/cst/* .

Then edit the files in ~/public_html/csXYZ.

Some notes...

  • The information about the course will be in ~/public_html/csXYZ/config.json. You edit that file and make changes to individualize it to your course.
  • This file is a json file - contains a javascript dictionary that contains all of the course information.
  • Note that if you have syntax errors in config.json, the webpage won't render properly.
  • config.json can have multiline strings, newlines _do not_ need to be escaped (a local modification to the JSON5 interpreter), but may be escaped with a backslash \, like
"courseDesc" : "This is a description\
of the course.  Is it not\
  • Note - strings are interpreted with parsedown markdown which seems to follow the syntax of this, see parsedown tests for examples of each supported markdown feature, the file as a whole is JSON5. Note that JSON5 does allow some things that JSON does not.
  • The config.json file can have C style multi-line comments as well.
  • The config can be validated on the CS server using the command 'json5 -v config.json'. Note that un-escaped newlines in strings will cause it to fail validation.

CS Online Teaching

Proposal for minimum standards and requirements for CS online courses.

  1. Oversite - Include associate chairperson of CS in the blackboard site and any other systems, as a student.
  2. Email - Reply to emails within 24 hours during the work week, within 48 hours otherwise.
  3. Discussion - Use some discussion system where students can post questions, answer each other’s questions, and the instructor can do the same. The standard discussion system used is CS's mattermost server.
  4. Course management template - Use the CS course management template (blackboard, syllabus, anything else that is included) that the CS faculty have agreed on.
  5. Lecture content - lecture content (asynchronous videos and/or synchronous) must be at least half as many hours as the total # of lecture-credit-hours (½ of 45, for a 3 credit hour course).
  6. Assignments - assignments are well documented in text, and proper solutions and hints are demo’ed (either by a video demo, good powerpoint, etc.).
  7. Final exam - is proctored by the university-standard proctoring service.
  8. Phone - talk on the phone/skype/etc. with each student at least once.
  9. Content and assignments - cover the same content and use the same types of assignments as the face-to-face version of the course.
  10. Regular schedule - decide during the first week of classes what the regular schedule will be for the course and stick with it. Preferred - pick two days per week when assignments can be due, and give at least 48 hours notice before any due date. Preferred - pick a few different times per week to hold live-chat office hours (using some live-text-chat system).
  11. Absence - notify students and department when you will be absent from the normal course schedule (not available for email, not delivering content on normal schedule, etc.).
  12. Grading turnaround - items graded within 1 week of due date.
  13. CS policies - abide by all standard CS course policies
  14. Abide by university guidelines

The following are suggestions from students

  1. Keep videos 20 minutes or shorter
  2. Make sure students have a way to interact with each other and instructor. Make it not for many points.
  3. Keep regular assignments (daily even) to keep students engaged and working on the course.
  4. Have enough videos and/or simulation/demos since people are mainly visual learners.

Suggestions from someone who has taught online at other universities

  1. Consistency - types of assignments, lecture content, off-line information, short web casts are the best
  2. 8 weeks or 16 or something else - 8 weeks can work, more pressure to stay on track
  3. Cheating - usual things, also can do live presentations, narrated powerpoints
  4. Training for faculty - similar to our OICC, not quite as heavyweight, have a peer review / mentor helping with first time doing one, require faculty to use each of the possible options so they know how to do it
  5. Training for students - yes for how to navigate courses, use the system, etc.
  6. Standards - actively taking care of the course (answering questions, etc.) at least 4 out of 6 days, peer review is important
  7. Requiring attendance at live sessions - could offer to let students who do this not be required to do discussion posts, etc.
  8. Hints/tips - due dates on Sunday/Saturday for flexibility, use group work, ability to get asynchronous help is very important, early assignments to get everyone on track
  9. Something - having GA/Steve help on checking for cheating, running auto-graders, etc.


The following link is the standard template used for the syllabus for CS courses -

CS Programs Committee

The associate chairperson of CS is normally the chairperson of the CS Programs Committee and takes care of calling meetings, etc. When the associate chairperson is on sabbatical the CS Programs Committee may be convened by the chairperson and asked to choose a chairperson for the duration of the sabbatical.

Student information

Useful banner screens...

  • SHATERM - undergrad GPA (at ISU)
  • SOAPCOQ - undergrad incoming GPA (from outside ISU)
  • SPAAPIN - advising pin
  • SAAADMS - student admission information
  • SOAHOLD - information on holds

Printers and Supplies

GAs have a key to the CS work room. GAs can use the printers, copier/scanner, and supplies in the work room - for your use as students and lab assistants / TAs. You will be told how to add these to their computers and the code needed for using the copier. If you notice any supplies being low, let the administrative assistant know.

Email Lists

See Email Lists.

Honors Conversions

Students in the honors program often decide to do an "honors conversion" for some of the courses in the major. It is up to the instructor and student to agree on an extra project or additional work to be done to count for the conversion.

One generic plan that can be given is the following: A significant project related to course material. This will be agreed upon at the mid-term. Possible options include: paper and presentations on the historical development of BLANK (whatever the course is) with a focus on key figures, paper and presentations highlighting applications of BLANK (whatever the course is) to computer science and beyond, tutorial materials that show how to solve more challenging problems within BLANK (whatever the course is). This is fairly open-ended and has the student making connections between the course and something outside of the course.

The instructor also needs to put on the honors conversion form how the project or additional work will be evaluated. One option is the following: The project will be given a letter grade, and the overall course grade given cannot be higher than the grade of the project. The rubric for the project grading will be agreed upon when the particular project is finalized. Note that this sets higher than "just" a pass/fail standard for the project, so is likely to provide more motivation to the student.

Graduate admissions

  1. When the department receives an email “Admission Status Recommendation” email from ISU-GradInfo, the administrative assistant writes to the email listed for the applicant with the “MS Applicant with a Complete Application” message below.
  2. When the applicant replies with their contact information, current resume, and answers to programming problems, this is forwarded to the associate chairperson. The associate chairperson picks one of the faculty to be responsible for the technical interview and replies to that faculty member and the applicant, and updates a spreadsheet that keeps track of status for each applicant.
  3. When the CS faculty member reports back after the interview, either Admit, Deny, or Postpone the decision.
    1. Admit - if you are admitting the student, reply to the original message from ISU-GradInfo with the decision “Admit” and give the name and id # of who their advisor will be (R.B.). Include the associate chairperson on the message.
    2. Deny - reply to the original message from ISU-GradInfo giving the decision as Deny. Include the associate chairperson on the message.
    3. Postpone - to give the applicant another chance to do better in the technical interview, reply to the student with the “MS Applicant Decision - Postpone” message below.
  4. A few times during the semester, write to all applicants in the admissions spreadsheet, and let them know what their status is (some do not know their application is missing something). You can use the “MS Application Status” message below. Applicant status comes to the department automatically once per week. The associate chairperson runs a script to combine this with department status information.

Requests from applicants.

  • Change of term requests
    • If more than one year since original application, need to create a new application but should not be charged an application fee a second time.
    • Within one calendar year: if referred application then department can update term, if admitted or incomplete application then department asks CGPS to update term.
  • Unofficial transcripts
    • Unofficial transcripts can be used for international students for their application, but they also need to have official transcripts sent. For domestic students, only official transcripts will be accepted.
    • Test scores - only official test score reports will be accepted, these need to be sent directly from the testing company.

Graduate student probation and dismissals

Graduate students with below 3.0 GPA are put on probation and by default retained. Having below 3.0 GPA for a second semester in a row by default results in a dismissal. Students on the dismissal list can be retained if the department recommends this. First semester students with below 3.0 GPA after the first semester can be dismissed if the department recommends this. Our standard policy has been to dismiss students with below 3.0 GPA who have an F due to cheating or plagiarism. The dean of the graduate school writes with a probation and dismissal list in the week after final grades are due, and the department needs to respond promptly if we want any of the default options changed for any of the students. Plan on checking email and replying to the dean’s message during the week that final grades are due.

CS graduate assistants

Advising current GAs First time GAs should be observed if they are teaching or lecturing. First time GAs should also have their grading checked if they are grading for the first time. GAs should be encouraged to observe each other, and check each other’s grading, and offer advice to each other.

Beginning of semester meeting The faculty member supervising the GAs normally meets with them as a group before or near the beginning of the semester to discuss expectations, answer questions, etc.

Weekly meeting The supervisor of the GAs can hold a brief weekly meeting with the GAs during the first part of the semester to make sure everyone is doing what they’re supposed to and to answer questions. GAs should look at all the information linked off the CS homepage.

Website One of the GAs can be chosen to make sure information on the website is current and get the GA schedule into the calendar that shows on the CS homepage.

Other GA duties Note -

Choosing GAs See for deadlines and discussion.

ACM Club

The advisor to the club signs reimbursement forms for the club treasurer (normally for pizza). The advisor should check out the normal Friday noon meeting every once in a while. The advisor might have a meeting with the officers to discuss how things are going, etc. The advisor may choose to have the officers help in running a programming contest or other events during the semester. See also

Transfer credit

See Undergraduate Transfer Credit and Graduate Transfer Credit.

Academic Misconduct

See Policies. For any cheating or plagiarism, the case should be discussed with the associate chairperson. This should normally done BEFORE discussing with the student or notifying the student there is a problem. The associate chairperson gives advice on how to deal with the situation and is a second opinion to confirm that the activity is indeed cheating/plagiarism.


An exit survey is sent to graduating students. The associate chairperson and administrative assistant use Blue Reports to get a list of students that includes all CS majors (whether it is listed as primary or not), and can check on which are planning to graduate a given term. The exit survey is sent through Qualtrics.

See also CS Program Assessment.

Programming assessment

See Policies for details.

Email Messages

The following are templates for email messages to send for various things.

MS Applicant with a Complete Application

Subject: your application to the CS MS program at Indiana State University


Cheers. I am writing regarding your application to the MS in Computer Science at Indiana State University.

You have submitted the documents required by the university (normally, transcripts demonstrating a four-year university degree or equivalent, and English language proficiency, if required).

Your application is now with Computer Science. To move your application forward, it is require that you are competent in programming in some programming language and have a good knowledge of basic data structures and algorithms. If you have completed a degree in computer science, you, hopefully, have these skills already. If you do not have a degree in computer science, you should have done some additional training/study to get these skills.

We evaluate your computer science skills in two stages. First, you need to complete a series of quizzes/challenges. For this step, complete the quizzes at this link and follow the instructions.

Once you have completed these tasks, you will send the information to me at

Second, we will schedule an online technical interview with you. Information about the technical interview itself is here:

If you have any questions about the process please be in touch.

Note - to view our curriculum, which courses we offer, and new updates to our program (including a new concentration in data science) please

Best regards,

Applicant has replied with solutions to programming problems

If applicant replies to the above message with insufficient quiz scores or without attaching the programs and resume, reply with --

  • We don't schedule the interview until you complete the quizzes at the required score and send your programs as instructed. Since you only get one chance for the interview we want you to have the best chance. Please send the solutions when you have them ready.

When applicant replies with sufficient quiz scores and the solutions attached, reply with --

Great, thank you! You will have your technical interview with one of our computer science faculty. Note that the technical interview will require you to share your screen to show your solutions to the programming problems. You will need to be on a reliable internet connection on a desktop or laptop so that you can share your screen. The interview will be in Microsoft Teams, so please make sure you are able to use this software (you can use a free microsoft account), including using it to screen share during a meeting.

When applicant replies with options for dates/time, reply/forward (with their solutions to the programming problems) and include faculty member who will do the interview (alternate through all of the technical interviewers). Update admissions spreadsheet to indicate which faculty member is talking to the applicant and the date that assignment was made.

MS Application Status

Subject: Status - Application to CS MS program at Indiana State University


I am writing to let you know the status of your application to the CS MS program at Indiana State University.

For Incomplete Application, use the following.

Your application status is: Incomplete Application

See for what this status means. Note that our normal application deadline for the spring is Nov 15 and for the fall is June 15. Our normal deadlines for consideration for department assistantship positions is March 15 for fall intake and Oct 15 for spring intake. For all deadlines, a complete application and everything we have asked for should be in before the deadline.

If you have any questions, feel free to be in touch. If you have a question about what is missing in your application, please first check your online application, and if you are still unsure then write to

For Referred to Department, use the following.

Your application status is: Referred to Department.

You should have received the message below from computer science administrative assistant Brenda Lower. If you have already replied to her with the required items and have not heard from me about scheduling an interview, please reply to Brenda to let her know. If you have not submitted the required items yet, please send those to Brenda when you have them complete. Note that the required items are designed so that if you complete them in good faith (on your own) successfully you are likely to pass the technical interview.

Note that our normal application deadline for the spring is Nov 15 and for the fall is June 15 (though can often take domestic students past this deadline as long as seats are available). Our normal deadlines for consideration for department assistantship positions is March 15 for fall intake and Oct 15 for spring intake. For all deadlines, a complete application and everything we have asked for should be in before the deadline.

For Admitted, use the following.

Reply to welcome email, and use the following for the email body.

Cheers again to those admitted to the CS MS program to start in the fall.

I am writing to ask that you please register for courses if you plan to start in the fall (if you have not already). If something changes you can drop the courses before the term starts and will not be charged. It looks like we may have a larger incoming group than normal, so I would like people to get registered so we can plan accordingly.

Please see the links below about getting registered for courses. For those of you starting full time, you should be registering for CS 500, CS 501, and CS 600 - unless you have been given approval otherwise from your advisor (either Dr. Rafiey or Dr. Abhyankar). If you have any questions, you can be in touch with your advisor or myself about courses and concentrations, and Brenda about registering, etc.

MS New Admits - Welcome, etc.

Subject: Indiana State University Computer Science - Welcome!

Cheers. You are receiving this message because you have been admitted to the CS MS at Indiana State University. Information on signing up for courses is below. See also the three linked webpages which contain answers to many of your questions. Please read them all before replying to ask any questions.

Make sure to start making arrangements for where you will live in Terre Haute. My only recommendation in that regard is to not live in University Apartments unless you will have a roommate - it is pretty expensive. You should add your ISU email address to the cs-chat email list by going to and using the form to add your email address to the cs-chat email address. Once your ISU email address has been added you can write to from your email address for recommendations from other students.

Note also that the registration system opens for registering for courses in early November for the spring classes and early April for the summer and fall classes.

Best regards, signature...

Please begin by reading the following pages completely -

By default all students are put into the professional concentration. If you want to consider the academic concentration, the main requirement is that you want to work hard to be a good programmer and algorithms designer. If you are not sure, take a course from each concentration the first semester. The advising-grad page linked above has recommendations of which courses to sign up for. All new students take CS 500 (except for those who earned their BS at ISU - ISU BS students are only required to take CS 500 if you choose the professional concentration) regardless of concentration.

Follow the instructions on the graduates-new page linked above to get your ISU id and sign up for courses. Note that you can only sign up for 500 and 600 level courses.

Note that most 500 level courses (except CS 500) have prerequisites, so the system will not let you register. Please go ahead and register for the courses you can, and then write an email to me with your list of courses you would like and which you need a prerequisite override for. Include your id number in the email.

Note that adding/dropping classes on or after the first day of classes results in a fee.

You can write to the list from your email address (see link above to add your email address to the cs-chat email list) for advice from current and recent students. Feel free to write back to me with questions as well.

If you still need assistance in ordering an I-20, contact the Center for Global Engagement -

If you have issues setting up your ISU accounts, contact the OIT help desk at 1-812-237-2910

MS Application - Rejection

Subject: your application - Indiana State University Computer Science

Hello. I am writing to inform you of the decision on your application to the MS in Computer Science at Indiana State University. I am sorry to inform you that your application is being declined.

Please note that you are welcome to apply for a future term if you work on your basic programming skills and data structures & algorithms. If you have not done so, you should check the sample questions at the end of the interview evaluation form linked from the Skype Interview section of If you work on solving these questions and would like to know if your solutions are correct please be in touch.

We wish you the best, and feel free to be in touch if you have any remaining questions.


Facility Use

CS offices are in the process of moving from the northwest of Root Hall to the southwest of Root Hall. We will be sharing the southwest wing with the Department of Languages, Literatures, and Linguistics. The following are LLL policies that we will abide by (as of fall 2020 during the Covid-19 pandemic).

  • Office hours - face to face office hours by appointment only. Students should not enter the LLL wing, which will remain normally locked.
  • Kitchen
    • Refrigerator for 1-day use only, please do not leave anything in there overnight. Label anything in the fridge with your name.
    • No shared coffee pot, please do not put one in there. Feel free to keep one in your office and dump the grounds in the kitchen.
    • No storage in cabinets, etc. this year.
    • Microwave and water heater - use at your own risk.