Procedures and CS 473: Difference between pages

From Computer Science at Indiana State University
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
=For Faculty and GAs=
CS 473/573 Computer Networks is required in the academic concentration of the CS BS and can be taken as an elective for others.
The items in this section are related to managing courses, etc. for faculty and GAs.  For CS faculty and administrative assistant, the following is the link to the shared OneDriver folder with files related to CS students and faculty: [https://cs.indstate.edu/CS-files CS Files OneDrive Folder]


==Entering Grades and Attendance==
This page contains the syllabus for CS 473/573 for the most recent offering (fall 2025). Previous terms - [https://cs.indstate.edu/info/syllabi/cs473-f2022-cox.pdf fall 2022 Cox], [https://cs.indstate.edu/info/syllabi/cs473-f2021-kinne.pdf fall 2021 Kinne], [https://cs.indstate.edu/info/syllabi/cs473-s2019-baker.pdf fall 2019 Baker].
Note that the deadlines for entering grades and attendance are '''hard''' deadlines. It is not possible to submit these late. You 100% need to have these done on time, since this is very important to the administration (for purposes of federal reporting, etc.).


===3 Week Attendance===
Note that all sections of the course will use the same homeworks and lab assignments. Quizzes and exams may be slightly different for the online versus face to face students.
The instructor of record is required to enter 3 week attendance to the university. You get to this by doing -
* ISU portal, then Faculty Self Service, then Reporting Services, then Attendance Reporting, then select the term, then select each course.
You enter "Attended" if the student has participated in any way in the course. The fastest way to do this is to select Attended for everyone by repeatedly typing "tab tab a, tab tab a, tab tab a, ..." and then going back to change any that never attended.  


This must normally be done during the 4th week of classes and by 4pm on the Friday of the 4th week. It is not possible to submit attendance after that time, so this is a hard deadline.
=General Information=
'''Course website''' - https://cs.indstate.edu/web/index.php/CS_473


===Interim Grades===
'''Important''' - If you are a graduate student who took CS 473 as an undergraduate, or had transfer credit for CS 473, then you should NOT take CS 573. The system would let you register, but the course would not count towards your MS degree.
Interim grades are entered in a similar way to attendance. This is after the 6th week of class, and is only for undergraduate courses. You can decide how exactly you will calculate the interim grades, you just need to let the students know. It is good if it is a best guess of what their grade would be in the term ended now, but this is not required.  


===Final Grades===
'''Your Instructor'''
Final grades are entered in a similar way to attendance. These are due by noon on the Tuesday after final exams.


==Graduate Admissions==
[https://kinnejeff.com Jeff Kinne], [http://mailto:jkinne@indstate.edu jkinne@indstate.edu] <br>
===Entering Decisions===
''Office:'' Myers Technology Center (TC) 301D and in Microsoft Teams, phone 812-237-3394 <br>
Entering admissions decisions (for faculty member in charge of this). Note that you will need to choose an advisor for the student and need that advisor's id #.  Note also that you need to know the student's undergraduate GPA.
''Instructor Office Hours:'' normally in my office - MW 10:30-1pm, R 9-11am, 12:30-3pm, F 9am-3pm; normally available for online meetings - MTWRF 8am-4pm, SMTWR 8-10pm if I am not in class or a meeting<br>
* Start at: https://apply.indstate.edu/manage/
''Meeting:'' https://cs.indstate.edu/jkinne-meeting
* Hover over icon that looks like a document with a bell, click on Slate Reader.
* Click on Queue on the left, select the applicant you want to put a decision for.
* Once that person is selected, click on "Review Form / Send to Bin" in the bottom right.
* Put in the decision and click through the form. Note that after you have entered the decision, you won't see this applicant in Slate anymore.


===Applicant Data===
'''Graduate assistant help''' - TBD. See https://cs.indstate.edu/web/index.php/ISU_CS_People#CS_Departmental_Graduate_Assistants
* Undergraduate GPA - can be found in Banner with SHATERM (for those who went to ISU as an undergrad) or SOAPCOQ (for those who were undergrads at a different university).
* General application information - Banner screen SAAADMS.


==GAs - Administrative Things ==
'''Lecture, Exam'''
'''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 [https://www.indstate.edu/faculty-staff/jessica-markle 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''' -  
''Lecture:'' TR 11am-12:15pm in Myers Technology Center (TC) 308, over Zoom (link in Canvas, see below), and recorded<br>
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 CS faculty member who is managing the ISU CS People page.
''Exams:'' every three weeks on Thursdays (Sep 4, Sep 25, Oct 16, Nov 6) during lecture time (11am-12:15pm).  ''(For those with another class at that time, we will arrange the time after the term starts.)''<br>
''Final exam:'' Thursday, Dec 11, 10-11:50am. ''(For those with another class at that time, your exam time will be decided after the term starts.)''<br>


'''Zoom Lab Hour''' -  
'''Prerequisites''' - For CS 473 the prereq is: A grade of C or better in CS 203 or CS 303, and in CS 351. For CS 573 the prereq is: C or better in CS 456 or CS 556 or A- or better in CS 500.
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 the faculty member supervising the GAs.


'''Lab hours''' -  
'''CRN numbers''' - 52629 (CS 473-001), 51234 (CS 473-301), 53103 (CS 573-003), 51235 (CS 573-301).
Send to the CS faculty member supervising the GAs 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''' -
'''Required text'''
Send to the CS faculty member managing the CS wiki 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)).
We will use selections from the following free online sources. We may add to this list as needed.
* [http://beej.us/guide/bgnet/ Beej's Guide to Network Programming], [https://beej.us/guide/bgnet0/ Beej's Guide to Networking Concepts]
* [https://en.wikipedia.org/wiki/Internet_protocol_suite Internet Protocol], [https://en.wikipedia.org/wiki/Transmission_Control_Protocol TCP Protocol], [https://en.wikipedia.org/wiki/IPv4 IPv4], [https://en.wikipedia.org/wiki/Ethernet_frame#Ethernet_II Ethernet II], [https://en.wikipedia.org/wiki/HTTP HTTP on Wikipedia], [https://developer.mozilla.org/en-US/docs/Web/HTTP HTTP on MDN], [https://datatracker.ietf.org/doc/html/rfc2616 HTTP 1.1 definition]
* [https://docs.freebsd.org/44doc/psd/20.ipctut/paper.pdf An Introductory 4.4BSD Interprocess Communication Tutorial]
* Unix Network Programming, Volume 1: The Sockets Networking API 3rd Edition by W. Richard Stevens (Author), Bill Fenner (Author), Andrew M. Rudoff (Author)  
* The Unix Manual Pages (man)


==FERPA==
'''Software/Programs'''
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).  
* [https://www.wireshark.org/download.html WireShark]
* Programming - probably some in Python and some in C
* Telnet: [https://blog.mrkeyshop.com/en/guides/how-to-enable-and-use-telnet-on-windows-11-and-10/ install/enable on Windows]. For Mac OS, first install [https://brew.sh/ homebrew] and then [https://formulae.brew.sh/formula/telnet#default brew install telnet].
** If using the builtin Windows 10/11 telnet client, open a command prompt, then type telnet and Enter to start telnet. To open a connection, type something like: <code>open cs.indstate.edu 47300</code> and enter. The display is a little quirky - when you type it will overwrite characters already on the screen.
* Putty: can also be used as a telnet client on Windows. [https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html Download]. To use as a telnet client, when you run Putty, set the Hostname (e.g., cs.indstate.edu) and Port as desired (e.g., 47300), select Other for Connection Type, and click to change "Telnet" to "Raw", then click Open.
* Netcat: there are various versions. One cross-platform version is: https://nmap.org/ncat/.  


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.
'''Class notes''' - Notes during class will mostly be kept in the documents in '''[https://sycamoresindstate-my.sharepoint.com/:f:/g/personal/jeffrey_kinne_indstate_edu/EiJJbQVND3FMr25IAoHydnUBADrC7z-tZH_OTaD1h_A8Ow this OneDrive folder]'''.  Note that you will need to authenticate with your ISU account to view the folder. Some files from lecture may be kept at https://cs.indstate.edu/~cs473/ which can also be seen when you are logged into the terminal by doing: <code>cd ~cs473/public_html/</code>.


==Course Setup, Jeff Kinne==
=Announcements/Assignments/Quizzes/Exams=
Some notes on how Jeff Kinne sets up his most of his courses...
'''HW'''
* Merge sections: If there are multiple sections of the course, merge them in Canvas (see https://cs.indstate.edu/web/index.php/Procedures#Canvas_-_Merge.2FCombine_Sections).
These are posted in Canvas or on the CS server. Some HWs are due the next lecture day, some are due a week after assigned. All times are Eastern US time.
* Syllabus: Use whatever you like (document, webpage, CS wiki) to make the syllabus. You either upload it into Canvas, or put a link in Canvas to the syllabus. You can use someone else's previous syllabus as a starting point (so it contains all of the required items in it).
* Zoom lectures: In Canvas, make a module called "Zoom for lectures", and add the Zoom tool in the module (see https://cs.indstate.edu/web/index.php/Procedures#Canvas_-_Setting_up_Zoom). Click into the zoom module, and schedule a zoom meeting that is the regular days and times of the lecture. When you do a lecture, open the zoom meeting through Canvas, share your screen (or turn on video if using a document camera/webcam to show the board or notes on paper, but don't do both share screen and video [because one or the other becomes too small to see in the recording]), and record to the cloud. Recordings to the cloud will show up as "Cloud recordings" in the zoom tool in the course after some amount of time (normally within 15-45 minutes), and you need to go into the Cloud recordings and click a button to publish the recording. Once you do this, students can go here to watch the recording.
* Drawing: In the CS classrooms, there are drawing tablets that can be used to draw on the screen.
* Powerpoint notes: Start a new powerpoint presentation for each week of the class, named "Week __ - main topic" (e.g., Week 1 - Linux and Python getting started). Share your screen, and the powerpoint slides are what everyone sees. In the presentation for the week, put more details on announcements as needed. Use the presentation as the "board" for the lecture. You can type as you would write on the board. You can use the drawing tablet to draw (click on Draw at the top) things (e.g., math, data structures, whatever you would draw on a board). You can also put hints on assignments, solutions to assignments, anything that would go on the board. Try to keep the presentation notes organized with headings that make sense.
* Announcements: Each day there is a lecture, make a new announcement entry for the day in Canvas (e.g., Jan 13 class) with bullet points of announcements (upcoming assignments, things that have been graded recently, brief description of what the lecture plan is for the day, anything else that is important to keep in mind). Set the date for the announcement in the future if you want to type in notes that aren't available to the students yet, and then clear the date once class is over so students will be able to see the announcement (and probably get an email with the announcement, depending on their settings).
* Class documents: Make a OneDrive folder that you will put files into for the class. Keep the powerpoint slides here, and any other files you might want to share with the students. Make settings so the folder has read access for anyone at ISU and publish the link in the syllabus, so students can get back to these files if they want to.
* Programming assignments: Either use the handin system on the CS server for assignments (see [[Handin]] and https://cs.indstate.edu/web/index.php/Procedures#Handin_and_Class_accounts), or you can make the assignments in Canvas and have them turn in the assignments there (you can download a zip of all of the submitted files from all of the students).
* Math-ish assignments: Have them handed in with Canvas (so you don't have to deal with papers). Note that for most file types that they would hand in, you can highlight/draw on/make comments on their submitted files (may be easier/faster than typing in comments).
* Grading: All items that have grades should be in Canvas. You can use something else to have the assignment details, but the grades should be put into Canvas. After grading something, update the assignment information in Canvas to have some notes on what you took off for (e.g., -1 for no name in file, -10 program doesn't run, etc.). Canvas does not give a lot of options in how to calculate final grades. You can have grade categories that get a certain percentage of the total (e.g., Exams worth 50%), and that's it. Within a grade category it just adds up the total points, so you have to pick the number of points for assignments, quizzes, etc. so that the breakdown is about right.
* CS server accounts: See [[CS Accounts and CS Lab Computers]].
* Quizzes and exams: See https://cs.indstate.edu/web/index.php/Jeff_Kinne_Course_Policies#Quizzes
* Attendance: I don't take attendance or count it for anything. For attendance reporting, I use the last activity in the course in Cavnas as the date of last attendance.


==Class Picture Roster==
'''Rules'''
For an instructor to get pictures of students in their classes (to help remember names), you can do the following.
Rules for HWs, quizzes, exams are in the course policies below.
* Login to the ISU portal, then Faculty Self Service, then Faculty Services, then Class List. Select a section of a course, and it should show small pictures next to each student. You can screen capture blocks of them and paste into a document, which can then be printed.


Note that you can also see a student's major in the Class List (hover over their name, or select the Detailed View near the top).
'''Announcements'''
Announcements will normally be posted to the course in Canvas (and will probably be emailed to your ISU email address if you have the default settings for notifications in Canvas).


==Lockdown Browser==
=Course Description and Content=
To require the lockdown browser for a quiz or exam in Canvas, you need to do this...
* Go to the course in Canvas, then Settings, then Navigation. Find Lockdown Browser in the list, and drag it to the ones that are visible to students. Save.
* On the left, you should now see Lockdown Browser in the menu on the left. Click on it. Then you can click the settings for each quiz or exam.


==Textbook Adoptions==
'''Course Description'''
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 official description of this course from the catalog is 
The steps are outlined here: https://indstate.teamdynamix.com/TDClient/1851/Portal/KB/ArticleDet?ID=139949


Note that the destination course needs to be published before you can crosslist/merge.
"The course is an introduction to networking and includes detailed study of Internet protocols and socket programming. Topics include a study of IP, UDP, and TCP protocols, as well as application layer protocols such as HTTP and SMTP. Students learn to program both a client and a server."


==Canvas - Setting up Zoom==
'''Course Outline'''
The steps are outlined here: https://indstate.teamdynamix.com/TDClient/1851/Portal/KB/ArticleDet?ID=140452


==Canvas - Creating MS Teams Team==
This course outline is subject to change.   
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 teamIf 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==
Unit 1 Network protocols, the Internet
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.
* IPv4, IPv6, UDP, TCP
* Routing
* Client/server, ARP, DNS, HTTP, SSL
* Security, encryption
* How all of that works, and tools for looking at it


==Canvas - Adding People==
Unit 2 Network Programming
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.
* Interprocess communication (BSD IPC paper)
* Processes, pipes, signals, socketpairs, asynch I/O
* Threads, shared memory, etc.  


==Canvas - Email the class==
Unit 3 Selected topics
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==
'''Learning Outcomes'''
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.
* Able to use Linux systems and terminal - managing files, running code, using utility programs.
* Understanding of data flow on the internet.
** Can give precise details (diagrams, trace through examples, explain tradeoffs) of how data is transmitted between programs on a single machine and on different machines via the Internet.
* Understanding the fundamentals of network security and encryption.
* Ability to write client and server programs.
** Completed multiple different client/server and related programs independently, can explain the overall design of the programs and the details of how they are implemented.


==Student Course Evaluations==
=Assignments=
Student end of course evaluations are available for students to complete at the end of the term. The deadline for students is the last Friday of classes (before exam week). Faculty will be able to see them after final grades are turned in (after the Tuesday after exam week). For faculty to see the evaluations, go to the ISU Portal, then open Faculty Activity Database (use the search, or click around on the menu on the left), then click on Course Evaluations & Surveys.


==TC 307, TC 308 - CS room setup==
'''Start Assignments and Exam Studying Early''' -  
To connect your laptop or use the CS system that is at the sympodium, do the following.
I suggest attempting an assignment the day it is given, or the day after, so that if you have a problem you can ask early. If you continue to have problems in trying to complete the assignment, you will have time to ask again. Many of the assignments require thought and problem solving, which takes "time on the calendar" not just "time on the clock". By that I mean that spending an hour on 3 consecutive days is likely to be more productive than trying to spend 3 hours at once on the assignment.
* In TC 307 and TC 308, 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.  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.
'''Expected Amount of Work''' -
* Unplug each cable going into the KVM switch and plug back in.
If you take this class seriously and get what you should out of it, some weeks you will likely be spending around '''6-10 hours or more''' on the class. The students who get A’s in their CS courses and have an easier time finding jobs do spend this much time on this course. Not everyone would need to spend this much time and not all weeks will be the same, but you should plan on putting in whatever time it takes.  Note that the federal government definition of 1 credit hour as requiring 2 hours worth of time on the course for each credit hour of lecture, so you should think of this as the default for all of your courses.  
* 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.


==Zoom==
'''Note - your classes in your major should ideally be more important than your part-time job.'''
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 https://indstate.teamdynamix.com/TDClient/1851/Portal/KB/ArticleDet?ID=109823 from OIT and a quick tour video https://youtu.be/zTuIN5SsjQA from Jeff Kinne.


Some notes -
'''Each week''', you will normally have at least one assignment, often more than one (in particular at the beginning when the assignments are pretty small).
* '''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 https://support.zoom.us/hc/en-us/articles/360027397692
* '''Configuration''' - there are some configuration options that you can get to at http://indstate-edu.zoom.us 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 http://indstate-edu.zoom.us 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., Jeffrey.Kinne@indstate.edu, randomGA@sycamores.indstate.edu).
* '''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 indstate-edu.zoom.us.  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 http://tuftsedtech.screenstepslive.com/s/19028/m/94934/l/1231030-how-do-i-share-my-zoom-windows-and-control-bar.  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 - https://chrome.google.com/webstore/detail/zoom/hmbjbjdpkobdjplfobhljndfdfdipjhg?hl=en-US


For a comparison of what different types of users can do during a meeting, see https://support.zoom.us/hc/en-us/articles/360040324512-Roles-in-a-meeting and https://support.zoom.us/hc/en-us/articles/206330935.
=Grade Meanings=
The letter grades are intended to have the following rough meaning. For letter grades I will use the usual breakdown as a starting point (90 is A-, 80 is B-, etc.), but will raise letter grades above this if I think it is needed (e.g., if assignments, exams, and quizzes are really tough).
* A+/A: You understand everything and probably could teach the course yourself.
* B+/A-: You understand nearly everything, and should be all set to use this knowledge in other courses or in a job.
* C/C+/B-/B: Some things you understand very well and others you don't (more towards the former for a B and more towards the latter for a C).
* D-/D+/C-: You did put some effort in, and understand many things at a high level, but you haven't mastered the details well enough to be able to use this knowledge in the future.
* F: Normally, students that get an F simply stopped doing the required work at some point, or cheated on something in the course.


==Zoom - Attendance==
{{:Jeff Kinne Course Policies}}
To see who was in a meeting after the fact, you can: go to https://indstate-edu.zoom.us, login with your ISU email and password, go to Reports, click Usage, pick a date range.  You will see a list of past meetings. Each row has a link on the last column that you can click to see who was in the meeting (and for what duration).


==Course Websites==
{{:Policies}}
Using Steve's course website system (for faculty) -
<pre>
cd ~/public_html
mkdir csXYZ
cd csXYZ
cp -R ~sbaker/public_html/cst/* .
</pre>
Then edit the files in ~/public_html/csXYZ.


Some notes...
{{:ISU Syllabus Items}}
* 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
<pre>
"courseDesc" : "This is a description\
of the course.  Is it not\
wonderful?"
</pre>
* Note - strings are interpreted with [https://github.com/erusev/parsedown parsedown markdown] which seems to follow the syntax of [https://daringfireball.net/projects/markdown/basics this], see [https://parsedown.org/tests/ parsedown tests] for examples of each supported markdown feature, the file as a whole is [https://json5.org/ 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.
 
# Oversite - Include another CS faculty member the blackboard site and any other systems, as a student.
# Email - Reply to emails within 24 hours during the work week, within 48 hours otherwise.
# 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 [https://judy.indstate.edu/ CS's mattermost server].
# Course management template - Use the CS course management template (blackboard, syllabus, anything else that is included) that the CS faculty have agreed on.
# 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).
# Assignments - assignments are well documented in text, and proper solutions and hints are demo’ed (either by a video demo, good powerpoint, etc.).
# Final exam - is proctored by the [https://www.indstate.edu/online/resources/faculty/online-proctoring university-standard proctoring service].
# Phone - talk on the phone/skype/etc. with each student at least once.
# Content and assignments - cover the same content and use the same types of assignments as the face-to-face version of the course.
# 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).
# 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.).
# Grading turnaround - items graded within 1 week of due date.
# CS policies - abide by all standard CS course policies
# Abide by university guidelines
 
=== The following are suggestions from students ===
# Keep videos 20 minutes or shorter
# Make sure students have a way to interact with each other and instructor.  Make it not for many points.
# Keep regular assignments (daily even) to keep students engaged and working on the course.
# Have enough videos and/or simulation/demos since people are mainly visual learners.
 
=== Suggestions from someone who has taught online at other universities ===
# Consistency - types of assignments, lecture content, off-line information, short web casts are the best
# 8 weeks or 16 or something else - 8 weeks can work, more pressure to stay on track
# Cheating - usual things, also can do live presentations, narrated powerpoints
# 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
# Training for students - yes for how to navigate courses, use the system, etc.
# Standards - actively taking care of the course (answering questions, etc.) at least 4 out of 6 days, peer review is important
# Requiring attendance at live sessions - could offer to let students who do this not be required to do discussion posts, etc.
# 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
# Something - having GA/Steve help on checking for cheating, running auto-graders, etc.
 
== Syllabi ==
The following link is the standard template used for the syllabus for CS courses - https://docs.google.com/document/d/1cqXZZp0JOg0FOlGOBpMhffbDMiWBV-hw6VkV2KnwBO4/edit?usp=sharing
 
==Student information==
Advisors can do the following for any student (whether it is your advisee or not)...
* ISU portal, then Faculty Self Service, then Advisor Services, then Advisee Search. Put in the current term and the information you have (id #, name, or email). After you click on a student you can look at their unofficial transcript (and click around for some other information - class schedule, etc.).
 
Useful banner screens...
* SHATERM - undergrad GPA (at ISU), course grades, transfer courses
* SOAPCOQ - undergrad incoming GPA (from outside ISU)
* SOATEST - test scores (Maple TA, SAT)
* 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.
 
==Faculty review==
For full time regular faculty, the college guidelines are here: [https://www.indstate.edu/policy-library/faculty-appointment-promotion-and-tenure-policies university guidelines], [https://www.indstate.edu/technology/sites/technology.indstate.edu/files/COT%20PTE%20Policy%20approved%20by%20COTFC-%2002142018.pdf BCET college guidelines], [https://cs.indstate.edu/info/files/ECET_P_and_T.pdf ECET department P&T guidelines 2018 version], [https://cs.indstate.edu/info/files/ECET%20TE%20DOCUMENT%20%20Approved%204.9.21.pdf ECET department faculty performance evaluation evaluation (triennial evaluation) 2021 version].
 
= 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.
 
Another generic plan is to have the student work on more challenging problems/assignments throughout the semester. Each time there is an assignment for the course, the instructor would give some additional problems/requirements for the honors conversion students.
 
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 =
# 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.
# When the applicant replies with their contact information, current resume, and answers to programming problems, this is forwarded to a CS faculty member.  The faculty member 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.
# When the CS faculty member reports back after the interview, either Admit, Deny, or Postpone the decision. Send the decision to the faculty member who puts the decisions into the system.
# 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 administrative assistant merges these updates into the applicant list.
 
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 - https://cs.indstate.edu/web/index.php/Unix_Lab_and_Help#Lab_Assistant_Duties
 
''Choosing GAs''  See https://cs.indstate.edu/web/index.php/Graduate_Admissions#Assistantships_and_Funding 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 http://cs.indstate.edu/acm/
 
= 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 CS faculty member that deals with academic misconduct.  This should normally done BEFORE discussing with the student or notifying the student there is a problem.  The faculty member gives advice on how to deal with the situation and is a second opinion to confirm that the activity is indeed cheating/plagiarism.
 
= Assessment =
An exit survey is sent to graduating students.  The CS programs committee 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
 
Body:
 
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.<br>
https://indstate.instructure.com/courses/12565/pages/cs-ms-admissions-instructions
 
Once you have completed these tasks, you will send the information to me at Brenda.Lower@indstate.edu.
 
Second, we will schedule an online technical interview with you. Information about the technical interview itself is here: https://cs.indstate.edu/web/index.php/Graduate_Admissions_Interview
 
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 <br>
see http://cs.indstate.edu/info/programs.html#grad
 
Best regards,<br>
''Signature''
 
===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 --
<blockquote>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.</blockquote>
 
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
 
Body:
 
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 https://cs.indstate.edu/web/index.php/Graduate_Admissions#Applying 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 admissions@indstate.edu.
 
''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 https://cs.indstate.edu/mailman/listinfo/cs-chat/ and using the form to add your @sycamores.indstate.edu email address to the cs-chat email address.  Once your ISU email address has been added you can write to cs-chat@cs.indstate.edu from your @sycamores.indstate.edu 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 -
  https://cs.indstate.edu/web/index.php/For_New_Graduate_Students
  http://cs.indstate.edu/info/programs.html
  https://cs.indstate.edu/web/index.php/Graduate_Advising
 
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 cs-chat@cs.indstate.edu list from your @sycamores.indstate.edu 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 - https://www.indstate.edu/global
 
If you have issues setting up your ISU accounts, contact the OIT help desk at 1-812-237-2910 oit-help@indstate.edu
 
==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 https://cs.indstate.edu/web/index.php/Graduate_Admissions.  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.
 
''Salutation''

Latest revision as of 01:38, 21 October 2025

CS 473/573 Computer Networks is required in the academic concentration of the CS BS and can be taken as an elective for others.

This page contains the syllabus for CS 473/573 for the most recent offering (fall 2025). Previous terms - fall 2022 Cox, fall 2021 Kinne, fall 2019 Baker.

Note that all sections of the course will use the same homeworks and lab assignments. Quizzes and exams may be slightly different for the online versus face to face students.

General Information

Course website - https://cs.indstate.edu/web/index.php/CS_473

Important - If you are a graduate student who took CS 473 as an undergraduate, or had transfer credit for CS 473, then you should NOT take CS 573. The system would let you register, but the course would not count towards your MS degree.

Your Instructor

Jeff Kinne, jkinne@indstate.edu
Office: Myers Technology Center (TC) 301D and in Microsoft Teams, phone 812-237-3394
Instructor Office Hours: normally in my office - MW 10:30-1pm, R 9-11am, 12:30-3pm, F 9am-3pm; normally available for online meetings - MTWRF 8am-4pm, SMTWR 8-10pm if I am not in class or a meeting
Meeting: https://cs.indstate.edu/jkinne-meeting

Graduate assistant help - TBD. See https://cs.indstate.edu/web/index.php/ISU_CS_People#CS_Departmental_Graduate_Assistants

Lecture, Exam

Lecture: TR 11am-12:15pm in Myers Technology Center (TC) 308, over Zoom (link in Canvas, see below), and recorded
Exams: every three weeks on Thursdays (Sep 4, Sep 25, Oct 16, Nov 6) during lecture time (11am-12:15pm). (For those with another class at that time, we will arrange the time after the term starts.)
Final exam: Thursday, Dec 11, 10-11:50am. (For those with another class at that time, your exam time will be decided after the term starts.)

Prerequisites - For CS 473 the prereq is: A grade of C or better in CS 203 or CS 303, and in CS 351. For CS 573 the prereq is: C or better in CS 456 or CS 556 or A- or better in CS 500.

CRN numbers - 52629 (CS 473-001), 51234 (CS 473-301), 53103 (CS 573-003), 51235 (CS 573-301).

Required text We will use selections from the following free online sources. We may add to this list as needed.

Software/Programs

  • WireShark
  • Programming - probably some in Python and some in C
  • Telnet: install/enable on Windows. For Mac OS, first install homebrew and then brew install telnet.
    • If using the builtin Windows 10/11 telnet client, open a command prompt, then type telnet and Enter to start telnet. To open a connection, type something like: open cs.indstate.edu 47300 and enter. The display is a little quirky - when you type it will overwrite characters already on the screen.
  • Putty: can also be used as a telnet client on Windows. Download. To use as a telnet client, when you run Putty, set the Hostname (e.g., cs.indstate.edu) and Port as desired (e.g., 47300), select Other for Connection Type, and click to change "Telnet" to "Raw", then click Open.
  • Netcat: there are various versions. One cross-platform version is: https://nmap.org/ncat/.

Class notes - Notes during class will mostly be kept in the documents in this OneDrive folder. Note that you will need to authenticate with your ISU account to view the folder. Some files from lecture may be kept at https://cs.indstate.edu/~cs473/ which can also be seen when you are logged into the terminal by doing: cd ~cs473/public_html/.

Announcements/Assignments/Quizzes/Exams

HW These are posted in Canvas or on the CS server. Some HWs are due the next lecture day, some are due a week after assigned. All times are Eastern US time.

Rules Rules for HWs, quizzes, exams are in the course policies below.

Announcements Announcements will normally be posted to the course in Canvas (and will probably be emailed to your ISU email address if you have the default settings for notifications in Canvas).

Course Description and Content

Course Description

The official description of this course from the catalog is

"The course is an introduction to networking and includes detailed study of Internet protocols and socket programming. Topics include a study of IP, UDP, and TCP protocols, as well as application layer protocols such as HTTP and SMTP. Students learn to program both a client and a server."

Course Outline

This course outline is subject to change.

Unit 1 Network protocols, the Internet

  • IPv4, IPv6, UDP, TCP
  • Routing
  • Client/server, ARP, DNS, HTTP, SSL
  • Security, encryption
  • How all of that works, and tools for looking at it

Unit 2 Network Programming

  • Interprocess communication (BSD IPC paper)
  • Processes, pipes, signals, socketpairs, asynch I/O
  • Threads, shared memory, etc.

Unit 3 Selected topics


Learning Outcomes

  • Able to use Linux systems and terminal - managing files, running code, using utility programs.
  • Understanding of data flow on the internet.
    • Can give precise details (diagrams, trace through examples, explain tradeoffs) of how data is transmitted between programs on a single machine and on different machines via the Internet.
  • Understanding the fundamentals of network security and encryption.
  • Ability to write client and server programs.
    • Completed multiple different client/server and related programs independently, can explain the overall design of the programs and the details of how they are implemented.

Assignments

Start Assignments and Exam Studying Early - I suggest attempting an assignment the day it is given, or the day after, so that if you have a problem you can ask early. If you continue to have problems in trying to complete the assignment, you will have time to ask again. Many of the assignments require thought and problem solving, which takes "time on the calendar" not just "time on the clock". By that I mean that spending an hour on 3 consecutive days is likely to be more productive than trying to spend 3 hours at once on the assignment.

Expected Amount of Work - If you take this class seriously and get what you should out of it, some weeks you will likely be spending around 6-10 hours or more on the class. The students who get A’s in their CS courses and have an easier time finding jobs do spend this much time on this course. Not everyone would need to spend this much time and not all weeks will be the same, but you should plan on putting in whatever time it takes. Note that the federal government definition of 1 credit hour as requiring 2 hours worth of time on the course for each credit hour of lecture, so you should think of this as the default for all of your courses.

Note - your classes in your major should ideally be more important than your part-time job.

Each week, you will normally have at least one assignment, often more than one (in particular at the beginning when the assignments are pretty small).

Grade Meanings

The letter grades are intended to have the following rough meaning. For letter grades I will use the usual breakdown as a starting point (90 is A-, 80 is B-, etc.), but will raise letter grades above this if I think it is needed (e.g., if assignments, exams, and quizzes are really tough).

  • A+/A: You understand everything and probably could teach the course yourself.
  • B+/A-: You understand nearly everything, and should be all set to use this knowledge in other courses or in a job.
  • C/C+/B-/B: Some things you understand very well and others you don't (more towards the former for a B and more towards the latter for a C).
  • D-/D+/C-: You did put some effort in, and understand many things at a high level, but you haven't mastered the details well enough to be able to use this knowledge in the future.
  • F: Normally, students that get an F simply stopped doing the required work at some point, or cheated on something in the course.

Jeff Kinne Course Policies

Note that many of my course policies are changing for the 2025-2026 academic year. In particular, I will be trying out allowing the use of AI on assignments, but then also focusing a much higher percentage of points on exams and interviews / demonstrations.

To see what my course policies were previously, see Jeff Kinne Course Policies 2024.

Summary

  • Assignments - frequent, required header section with citations (0 credit if missing), allowed to use AI or work together (but you will not be prepared for exams if you don't do your own work), graded pass/fail for participation (but with some comments on your code/solutions). I will go through my solutions soon after the assignment is due (many times, the next lecture day). The focus is on you learning quickly; the focus is not the grades.
  • Exams - every 3 weeks, on paper for face to face students, lockdown browser with follow-up interview for distance students, very much based on assignments (so if you understand how to do the assignments, you should do well).
  • Code review / demo - at least every few weeks, maybe more frequent - will be based on submitted assignments and will explain to the class and/or during office hours. You will do well if you can do the assignments on your own.
  • Project - at least one per semester, multiple check points, required header section with citations (0 credit if missing), graded based on code review / demo. The goal is to do something "real", interesting, and/or exciting, and have something you can use in your portfolio (i.e., github).
  • Academic misconduct - leaving out a citation from assignment or project, using anything not allowed on exams (not allowed to use anything other than paper/pencil on the exams). Penalty - F for the course and academic misconduct form filed.
  • AI - allowed for assignments and projects, you will get 0 points for code review/demo if you don't actually understand what you are handing in. Some assignments may require using AI, learning using AI, finding and fixing problems with AI solutions. The goal is to learn to use AI responsibly and see potential pitfalls.
  • Total course grade - will be 60% exams, 30% code review/demos, 10% participation (assignments marked pass/fail). The goal is to assign a grade based on what you can do on your own (fine to learn using AI or others, but the grade should be what you can do on your own after all of that). (Note: for ECT 437, the breakdown is different - 40% exams, 50% code review/demos, 10% participation.)
  • 400/500 level courses - courses that are offered as a combined section with a 400 level for undergraduates and a 500 level for graduates (e.g., CS 473 and CS 573) will have some learning outcomes that are required for graduate students that are not required for undergraduates.

Note - all CS Policies are in effect (assuming those are re-approved before the Fall 2026 term starts).

More details are in the rest of this page.

400/500 Level Courses

For courses that are offered simultaneously at the 400 and 500 level (e.g., CS 473 and CS 573), the course is normally managed as a single course. The 400 level course is for undergraduates, and the 500 level course is for graduate students.

Note that graduate students who previously took the 400 level version should NOT take the corresponding 500 level version because in this case the 500 level course does NOT count as credits towards graduating.

For 400/500 level courses, the course is supposed to have some content/learning outcomes/assignments/etc. that are for the graduate students and not required for the undergraduate students. The course syllabus will indicate course learning outcomes that are for the graduate students. These outcomes will be assessed by having some assignments (or parts of assignments) that are required for graduate students and not for undergraduates (undergraduates might be able to complete them for extra credit).

Grades

Your overall course grade will be computed as: exams 60%, participation 10%, demonstrations/interviews 30%. (Note: for ECT 437, the breakdown is different - 40% exams, 50% code review/demos, 10% participation.)

Exams - These will be roughly every 3 weeks (so about 5 total). Each exam will normally be worth a little bit more than the previous one. The lowest exam score will be dropped. There will be no makeup exams; if you miss an exam, then that is your dropped exam. Online students will take the exam at the same time as the rest of the class, in a lockdown browser, and will schedule an interview followup soon after the exam to confirm that this was your own work. For all students (online and face to face), for exams you are not allowed to use anything except yourself - no internet, phone, calculator, AI, communicating with other people, etc.

Participation - There will be frequent assignments. For most assignments, they will be graded strictly pass/fail based on whether you made some reasonable attempt to complete the assignment. Late work will not be accepted. My solutions will be shared with the class soon after the due date. The goal is to have frequent assignments that you do your best on, and then see my solutions so that you can more quickly learn. I will not do detailed grading on these assignments so that more of our time is spent working new problems than focusing too much on grading them. After you see my solution to a problem, you should go back to your work after class and fix your work so it is also correct.

Demonstrations/interviews/projects - Some assignments will be to demonstrate your code/solutions to the class. For some assignments, I will interview you to confirm your solutions. Some assignments will be to work on a project that is more open-ended or in-depth (and that will have a demo or interview). These are all things that give you practice on soft skills, and also allow me to confirm your understanding. You will be graded based on the understanding that is demonstrated during the demo/interview.

For each of the above categories, the total grade for that category will just be the sum of all the points in that category.

Assignments

Attribution and Comments

For all assignments that are handed in (this includes assignments, projects, or anything else that you submit for the course), you are required to have at the top of the submission a summary that includes the following elements.

  • Author: your name
  • 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".

Missing - if this summary is missing, you get a 0 for the assignment.

Inaccurate attribution - if you give an inaccurate attribution (failing to cite that you used AI, failure to indicate that you talked with someone or showed someone your code, etc.), this is academic misconduct.

Very limited effort - if I determine that you put forth very little effort on any assignment, you will get a 0 for the assignment. For example, if all you did was ask an AI for the answer and then provide the AI's response. Or, if all you did was copy code from the internet or another student.

Schedule

The default schedule for my courses is the following.

  • Exams - every third week on Wednesdays. Online students take the exam at the same time as the face to face students, and should schedule a 15 minute online meeting with me for the same day as the exam at a time that is after the exam.
  • Assignments - most weeks there will be multiple assignments that are graded for participation. Normally, the recommended due date is the next lecture, and my solution will be shared at the beginning of the next lecture.
  • Demonstrations - we will normally have around 10 minutes per lecture that is allocated for demonstrations. Depending on the number of students in the course, each student should expect to give a demo to the class roughly every few weeks.
  • Interviews - these will be conducted during office hours. These may be about once/week if I have enough time for that. Interviews for assignments will be short (5-10 minutes).
  • Projects - there will normally be one or two projects per course. They will normally have multiple check points that are graded. For each check point you will meet with me for a code review.

Exam Content

Most exams will be over just the content from that period in the course. So they are cumulative only in so far as earlier content is still needed for doing the later content in the course. The final exam will be cumulative.

Exam questions will be similar to those that were given as assignments in the class. Some questions will be identical to what was given as an assignment. Some questions will be an extension/modification of an assignment. Those who do what you are supposed to on the assignments (do them on your own as much as possible, only go to AI or others for help after you have struggled on your own, really understand the model solutions) should do well on the exams.

There will normally be a few exam questions that are a challenge even for the top students in the class. There will normally be a few questions that are easy even for the bottom students in the class. The goal is to have a broad range of scores so that the exam accurately measures your skills/knowledge.

Academic Misconduct

What is considered academic misconduct in this course -

  • Assignments/projects - lack of citation. All assignments and projects require to have a header section that includes citations to anything used (AI, internet sites, etc.) or anyone you discussed the assignment with. If this section is missing, the assignment is worth 0 points. If the citation section is present but is not accurate (i.e., you leave out a source that you used), that is academic misconduct.
  • Quiz/exam - using anything that is not allowed. For quizzes/exams, you are not allowed to use anything except pen/pencil and paper. No calculators, no phones, no notes, no internet, no AI, no communicating with other people. Using any of these is academic misconduct.
  • Quiz/exam - distance students will take the quiz/exam in a lockdown browser and otherwise have the same rules (no internet, no notes, etc.). Distance students are not allowed to take the quiz/exam on the same computer as another student in the course; doing so would be academic misconduct.

Penalty for academic misconduct -

Grading Programs and Problems

  • Programs: sometimes will be given scores for correctness, style, and being safe/secure code. By default, 1/2 of the points are for correctness, 1/4 for style, 1/4 for being safe/secure. Sometimes only the correctness will be graded. For programming style, see Programming Style - Generic. For safe/secure code, see Programming safe and secure code - generic.
  • Math/proofs/essays: sometimes will be given scores for correctness and style. By default, 2/3 of the points are for correctness and 1/3 for style. Points are subtracted for any statement that you include that is false - so you should avoid a brain dump of every thought that you have because I will take off for things that you say that are not correct. For style in writing math/proofs/essay responses, see CS Writing Style - Generic.

Complaints or Questions

If you have any complaints or questions about anything in a course, you should always communicate with the instructor first. If you skip communicating with the instructor and go straight to complaining to someone else (your advisor, the department chairperson, the dean, the university president, etc.), they will generally tell you that you need to talk to the instructor first.

Course Announcements

Announcements regarding the course will be made both during class and in Canvas. You should make sure your settings are such that you will be notified of these announcements (e.g., by email). You should regularly check your ISU email account or have it forwarded to an account that you check regularly. You can set the account to forward by logging into your indstate.edu email online (if you aren't able to find the option, try a different browser or search online for things like - outlook online forward email setting).

Classroom Conduct

You may not use cell phones, iPods/music players, etc. during class. You should be civil and respectful to both the instructor and your classmates, and you should arrive to class a few minutes before the scheduled lecture so you are ready for lecture to begin on time. You may use your computer during class if you are using it to follow along with the examples that are being discussed. You should avoid spending time on email, Facebook, work on other courses, etc. during the lecture for this class (be fully present wherever you are, make the most of each experience).

Office hours

You can contact me by email or Teams or come to my office during the hours I am normally there. If you want to be sure I am there you can sign up for an appointment. Note that I normally am available for online meetings SMTWR 8-10pm as well. If you would like to meet in person you should reserve an appointment using http://cs.indstate.edu/jkinne-meeting to reserve an in person meeting with Jeff Kinne. I am normally in my office during my listed office hours, but by making an appointment you can be more certain.

Canvas

The course has a canvas site. Click https://indstate.instructure.com/ to go to canvas. You should see this course listed under your courses for the current term. If you don't you may need to click on the Courses icon and then click the "All courses" link. The canvas site is used for giving you your grades, for quizzes/exams, for getting to online lectures (which are done using Zoom), and for posting announcements.

Lectures (using Zoom)

Here at ISU section numbers starting with the number 3 (e.g.3xx: 301, 302, etc.) are generally online sections. There are 2 types of online sections, synchronous online and asynchronous online. Sections that are synchronous should be joined at the regularly scheduled time of the course, whereas sections that are asynchronous generally keep up with the material independently without regularly scheduled meetings. In general async sections are more difficult to stay on top of, and require a great deal of self-discipline (it is much easier to think "I can watch the videos tomorrow" and just get behind). So if you are in one of these sections make sure you get off to a strong start, and ask for help sooner rather than later. If you are in an online section, check your course schedule for course meeting times; if you have a meeting time, then your section is synchronous, otherwise it is asynchronous (or there is an error in the system).

For ISU's links to information on getting started with Zoom, see https://indstate.teamdynamix.com/TDClient/1851/Portal/KB/ArticleDet?ID=107534. You will get to the lectures for this course by going to Canvas, select this course, click Modules on the menu on the left, and click on the Zoom module. Once there you should see a schedule of lectures and be able to view recorded lectures. Note that you should install the Zoom application for your computer, and you will need to be logged into to Zoom with your ISU credentials to be able to connect. Also note that the lectures are recorded and only available to those in our class. Recorded lectures normally appear later the same day as the lecture.

Note that if you have not used Zoom with your ISU account previously, you need to go to https://indstate-edu.zoom.us and login with your ISU email address and password to get it setup.

Participating online

If you are participating online, you are expected to either join lectures live through Zoom or watch the recordings once they are available. You will complete assignments, quizzes, and exams on the same schedule as the rest of the class. For most of my courses, you can join the lecture live at the same time as the face to face students (as long as you don't have a time conflict). If you do this, then you can ask questions during lecture. Or, if you choose to watch the lecture recordings (so you can pause as needed, or watch at 1.5x or 2x), then you should send me questions you have before the next scheduled lecture.

Note that exams are required to be taken at the same time as the face to face students. These dates and times are given near the top of the syllabus.

For attendance when you are not in the room... If joining by Zoom, you should post a comment in the chat to say if you have any questions about the current assignments, reading, the last lecture, etc. If watching the lecture later, you should watch it before the next lecture and send me a message by Teams or email saying if you have any questions or want any more examples about a particular topic. So, if not in the room, you should participate at least as much as "no questions from me right now".

Course Policies Quiz

The following is a quiz over Jeff Kinne's course policies: sample quiz. The link is to a practice quiz that you can try out. Those enrolled in the course need to take the quiz within the course for it to count. For Jeff Kinne's courses, you are required to score a 100% on this quiz within the first week of classes in order to continue in the course. Note that you will be able to take the quiz multiple times. If you choose not to score 100% on this quiz you should drop the course.

This page contains common CS course policies that all faculty teaching CS courses should follow. Note that this page is written from the perspective of the faculty member (i.e., the faculty member should do ___).

CS Common Course Policies

Note: as of August 6, 2025, these policies are a draft and need to be approved by the CS faculty still.

Evaluation

All courses receive student evaluations at the end of the term. In addition to the student evaluations, each faculty member is normally evaluated in each of their courses at least once per year. This Word document is a template for the evaluation of a course. Please pay attention to each aspect of the course that will be evaluated.

Part Time Faculty

Part time faculty are assigned a full time CS faculty member as a "support faculty member". The support faculty member should be added to the canvas course, should review the course syllabus/plan, should have a brief discussion about the course before the term starts, should visit the class some time within the first week or two of the course to make sure everything is going along properly, and will write up an evaluation of the course

Talk About Academic Integrity in the First Class

Please take a few minutes during your first session to explain clearly to students:

  • Using AI tools (or any kind of cheating) without permission will lead to an automatic F in the course.
  • A formal academic misconduct report will also be filed.
  • There are no second chances; this applies whether it happens early or late in the semester.

Include in the Syllabus

Make sure your course syllabus clearly states:

  • Whether or not AI tools are allowed (and in what context).
  • What counts as academic dishonesty.
  • What the penalties are (e.g., failing grade, official report).

Design Assignments That Encourage Real Learning

Try to create assignments that:

  • Require students to think through the course material, not just paste questions into ChatGPT.
  • Ask for short explanations or reflections along with code.
  • Pull from class content that may not be handled well by AI tools (make it a little harder for someone to rely entirely on AI without understanding what they are doing).

Keep Exams Secure

For exams, we ask that you:

  • Hold them in person whenever possible, using pen and paper.
  • If the exam is online or needs to be submitted to Canvas, please use a Lockdown Browser, and consider quick follow-ups (like asking a few students to explain their answers).
  • Do not allow phones, laptops, or any smart devices during the test (This helps make sure students are actually doing the work themselves).

Encourage Learning Over Shortcuts

Throughout the term, remind students that:

  • Sticking to the material in the course is enough to succeed.
  • Relying too much on AI now can hurt them later (especially in interviews or real jobs).
  • Practicing with their own code or answer, even when it is messy or incomplete, is still the best way to learn.

What to Do If Someone Cheats

If you discover that a student has used AI or cheated:

  • Please report it right away and assign the student an F in the course.
  • Let the chair know what happened.
  • Submit an academic misconduct form (we can help with that if needed).

Projects

Courses should have students do work that is more than "just" vocab, multiple choice questions, etc. For the majority of courses this will involve programming. For some courses this will be proofs/algorithms, system analysis/design, or other work of this nature. Courses should generally have a number of these types of assignments, with students working on these types of assignments at least half of the weeks in the semester.

University Policies

Reminder of some key university policies: respond to student questions with 2 business days (at most), submitted work is graded within 2 weeks (though faster is better), syllabus submitted to department chairperson and admin by the first day of lecture, 3 week attendance reporting, interim grades after the 6th week, no exams during study week.

Interim Grades

Interim grades are assigned after the 6th week of class. This means that there should normally be a significant number of assigned and graded work by the end of the 6th week. These should not be all bunched up in the 6th week; normally there should be graded work by the 3rd week of classes (preferably sooner).

Online courses

  • Courses that are asynchronous online should have videos for some of the content, normally at least 1/2 as many hours as there would be lecture hours (at least 1/2 of 45 hours for a 3 credit course). Exceptions should be discussed with the support faculty and approved by the chairperson.
  • Faculty should respond to student questions within 24 hours during the work week.
  • Faculty should be available to meet with students by appointment (and respond promptly to requests).
  • Only the following are approved to take CS courses online: distance students, face to face student who needs to take another course that is at the same time as the CS course (and cannot avoid taking both courses in the given term).

Face to Face Courses

  • Students in face to face courses are required to take exams in the classroom.

Lab Help

See https://cs.indstate.edu/web/index.php/Unix_Lab_and_Help

ISU Required Course Information Items

The items in this section are required and are the same for every ISU course.

Americans with Disabilities Act (ADA) Statement

Indiana State University recognizes that students with disabilities may have special needs that must be met to give them equal access to college programs and facilities. If you need course adaptations or accommodations because of a disability, please contact us as soon as possible in a confidential setting either after class or in my office. All conversations regarding your disability will be kept in strict confidence.

Indiana State’s Accessibility & Advocacy Resources Office coordinates services for students with disabilities: documentation of a disability needs to be on file in that office before any accommodations can be provided. The Accessibility & Advocacy Resources Office is located at HMSU room 816. They can be contacted at 812-237-3829 or isu-aaro@indstate.edu. Appointments to discuss accommodations with the Accessibility Resources Office staff are encouraged.

Once a faculty member is notified by the Accessibility Resources Office that a student is qualified to receive academic accommodations, a faculty member is obligated to provide or allow a reasonable classroom accommodation under ADA.

Non-Discrimination, Harassment, and Sexual Misconduct

Standard ISU language required in all syllabi...

Indiana State University is committed to inclusive excellence. To further this goal, the university does not tolerate discrimination in its programs or activities on the basis of: race, color, national origin, gender, age, sexual orientation, gender identity or expression, disability, veteran status, or any other protected class. Title IX of the Educational Amendments of 1972 in particular prohibits discrimination based on sex in any educational institution that receives federal funding. This includes sexual violence, sexual misconduct, sexual harassment, dating violence, domestic violence, and stalking. If you witness or experience any form of the above discrimination, you are asked to report the incident immediately to Public Safety: 812-237-5555 or to The Office of Equal Opportunity & Title IX: 812-237-8954. With respect to sexual discrimination, instructors, faculty, and some staff are required by law and institutional policy to report what you share with them to The Office of Equal Opportunity & Title IX. You do, however, have the option of sharing your information with the following confidential resources on campus:

  • Student Counseling Center: 812-237-3939; Gillum Hall, 2nd Floor
  • Victim Advocate: 812-237-3849 or 812-243-7272 (cell); HMSU 8th Floor

For more information about discrimination and the support resources available to you visit the Office of Equal Opportunity and Title IX website. Please direct any questions or concerns to: Title IX Coordinator; 812-237-8954; Rankin Hall 426; ISU-equalopportunity-titleix@indstate.edu.

TimelyCare

The ISU dean of students asked faculty and staff to spread the word about this, so I am including it here in the syllabus.

Attention all faculty and staff! Indiana State University is now partnered with TimelyCare to deliver a new virtual health and well-being platform for students. This service is in addition to the in-person counseling services offered in the Student Counseling Center, 2nd floor Gillum Hall. The service provides 24/7 access to virtual care at no cost! Remind your students to take advantage of the TimelyCare services when they feel stressed or overwhelmed. We’ve included a slide that you can attach to emails, input in Canvas and present to students before and after class.

In addition to services for students, TimelyCare offers Faculty Support — a service for faculty and staff that is designed to equip you with information to help students who may be struggling. It’s available 24/7/365 for free so you can get the guidance on how to support a student in need of care. Access Faculty Support by calling 833-4-TIMELY, ext. 2.

How can students access TimelyCare? Students can go to https://timelycare.com/indianastate or directly download the TimelyCare app from the app store to register with their school email address by clicking the "Get registered" link. It is important that our students all register in advance on the platform-- and this is where you can help us! Students can then start visits from any web-enabled device – smartphone, tablet, laptop, or desktop – anywhere in the United States.

Who can use TimelyCare? Any enrolled student.

What services are available? TalkNow - 24/7, on-demand emotional support. Scheduled Counseling - Select the day, time, and mental health provider of your choice. (6 visits per year). Self-Care Content - 24/7 access to self-care tools and resources, such as meditation and yoga sessions, helpful videos, and short articles from experts.

How much does a visit cost? TimelyCare services are available at no cost to students.

Getting Help

You are also strongly encouraged to take advantage of Indiana State’s Writing Center. The Writing Center offers a variety of services designed to help students succeed in their classes and careers. The Writing Center is available to assist all registered ISU students with any area of reading or writing for any class. They can also help with personal projects like short stories or personal statements. They offer one-on-one consultations, drop-in services, and online appointments as well as group study tables. All services are free of charge. Students can make appointments by calling (812) 237-2989 or by using the link on the Writing Center website. Please prepare for your appointment by bringing your textbook, relevant notes and materials, and a printed copy of the writing you have attempted so far.

The Math Lab provides free tutoring for math students through on-campus and virtual meetings. By providing a judgement-free environment, students can build their confidence and view learning math as positive and rewarding. The Math Lab is located in Root Hall, room A009. The hours vary so be sure to check the Math Lab’s website (current link still needed, after website refresh in fall 2024) to see when tutoring hours are available for your particular math course. If you have any questions, email ISU-MathLab@indstate.edu or call (812) 237-2130.

Student support and accountability: https://sycamoresindstate.sharepoint.com/sites/STU-StudentSupportandAccountability

Accessibility and Resource Office: https://indianastate.edu/life-state/dean-students/aaro#request-accommodations

Student Affairs: https://indianastate.edu/life-state/dean-students

Writing Center: https://sycamoresindstate.sharepoint.com/sites/STU-WritingCenter

Commitment to Career Readiness

The administration, faculty, and staff at Indiana State University believe that in addition to educating students in academic content, it is important to prepare them to be professional and competent employees in the job market. We are committed to incorporating the eight career competencies outlined by the National Association of Colleges and Employers (NACE) as being necessary to success in the job search and workplace. Many of these eight career readiness competencies will be taught and integrated into your classroom learning:

Critical Thinking/Problem Solving, Oral/Written Communications, Teamwork/Collaboration, Digital Technology Application, Leadership, Professionalism/Work Ethic, Career Management, Global/Intercultural Fluency.

For additional assistance with your career development and preparation, please contact the Career Center (ISU-Career-Center@indstate.edu) or visit the Career Center's website.

Artificial Intelligence in the Classroom

Indiana State University recognizes the transformative potential of generative artificial intelligence programs and encourages faculty and students to develop literacy regarding these programs.

Your instructor may decide how to best pursue that goal within the following levels:

Most Restrictive: AI use not permitted. Any use of generative AI without explicit permission will be considered academic misconduct and may result in disciplinary action, including but not limited to failing the assignment, course, or even expulsion from the university.

Moderately Restrictive: AI use permitted, but all usage must be documented. Students must follow their assigned citation method for attributing ideas from outside sources, including generative AI. Failure to document AI usage may result in incomplete assignments, a lower grade, or a requirement to re-do the assignment. Assignments that rely too heavily on AI without sufficient student input may receive reduced grades.

Least Restrictive: AI use required for some course assignments. Some assignments will require students to explore generative AI tools and platforms.

Please note that the Indiana State University Office of Information Technology cannot provide support for artificial intelligence platforms, so faculty should carefully consider how to respond to students in the event of technical problems.

Your instructor may provide more explicit instructions regarding AI usage as part of the course syllabus and assignment descriptions.

As a student, you need to assess the validity and applicability of any generative AI output you use; you bear the final responsibility for all work you submit.

Policies clarifying methods of enforcement against the use of AI tools should be made available in the syllabus. Faculty are discouraged from relying solely on AI-detection programs since such programs can be unreliable and prone to bias.

Several programs and applications have options to view the edit history of a file. If a student is suspected of using an AI tool in violation of course policy, they should be given the opportunity to present this history as evidence. Additionally, students should be able to explain their work and reasoning on the assignment during an in-person meeting with their instructor.

You should always protect your data when using generative AI platforms. Do not share what you do not want easily found by others; this includes but is not limited to: private information, sensitive material, any text protected by copyright, or any course content (lecture notes, assignment descriptions, etc.) without the explicit permission of your instructor.

Generative AI platforms are part of a rapidly developing field, and policies listed here may need to change to reflect those technological advances.