From Computer Science
Revision as of 14:16, 22 October 2020 by Jkinne (talk | contribs) (MS New Admits - Welcome, etc.)
Jump to: navigation, search

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.

Email Lists

See Email Lists.

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.

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, we require that you have good basic programming skills and have 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 then you should have done some additional training/study to get these skills.

We evaluate your computer science skills in two stages. First, we want you to solve a few standard programming problems. Second, once you have solved these problems we want you to send us the solutions and we will schedule a Skype interview with you. Please see for information about the interview; that link also contains the programming problems we want you to solve first and a very helpful youtube video giving advice for you at this stage of your application.

When you have solved the programming problems and have studied for the interview, please reply to this message with your solutions to the programming problems attached. If you worked on the problems in your browser you will need to download your solutions to attach them. In order to process your application we ask that you reply to this message within 2 weeks. 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 see

Best regards,

Applicant has replied with solutions to programming problems

If applicant replies to the above message without attaching solutions to the programming problems, reply with --

  • We don't schedule the interview until we see your solutions to the programming problems and know that you have been studying data structures and algorithms. 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 the solutions attached, reply with --

Great, thank you! You will have your Skype interview with one of our computer science faculty. So that we can schedule your interview please reply with dates and blocks of time from the following that would work for you.

  • Weekdays 9am - noon
  • Weekdays 8pm - 11pm

Note that the Skype 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. Please make sure to test your Skype account and screen sharing before the interview.

When applicant replies with options for dates/time, reply/forward (with their solutions to the programming problems) and include faculty member who will likely be able to talk on that date asking the faculty member if they can arrange a time to talk. Update admissions spreadsheet to indicate which faculty member is talking to the applicant.

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.

You should have received the message below from computer science administrative assistant Brenda Lower. If you have already submitted the solutions to the programming problems and do not yet have an interview scheduled, please reply to Brenda to let her know. If you have not yet submitted the solutions to programming problems, please send those to Brenda when you have them complete.

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.

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.