The graduate program is listed in the catalog and linked from the programs page. The present page contains advice and information about which order to take courses in, etc.
Graduate Advisor / Who to Get Advice From
Each student has an official advisor who should approve your selection of courses. For most current students this is Dr. Abhyankar. You can also contact the associate chairperson of CS, and can get unofficial advice from other CS faculty and other students.
There is also a graphical representation of the program requirements linked off of the programs page (link above).
Students should choose electives so that (a) a total of 18 credits of 600-level courses are completed, and (b) at least 3 courses combined in 600-level Algorithms/Theory and Systems are completed.
Students in each of the concentrations are advised to take courses in the following sequence. Note that most courses are only offered either fall or spring, so you need to check Courses for when courses are normally offered. Your schedule will be slightly different depending on whether you start in the fall or spring.
Students can take courses from multiple concentrations as long as you fulfill the requirements of one of the concentrations. If you are unsure which concentration is right for you, you should choose one as your best guess and potentially take one course your first term from one of the other concentrations. Of course, consult your advisor.
The recommended sequence to take the courses in - CS Course Sequences
Some notes for each concentration.
- First semester - all new MS students normally take CS 500 Programming Fundamentals and CS 501 Programming for Data Science as two of their courses. Taking these courses ensure you have the fundamentals of data structures and algorithms, C programming, Python programming. Most further CS courses require at least one of these skills as prerequisites. All MS students should also take CS 600 Concrete Mathematics during their first fall term.
- Academic - If required courses are not offered when needed, we regularly approve the following substitutions. In place of CS 558 Algorithms - CS 520 Theory of Computation or CS 600 Concrete Mathematics. In place of CS 556 Systems Programming - CS 571 Operating Systems or CS 573 Computer Networks. In place of CS 658 Algorithms - CS 620 Theory of Computation II or CS 621 Discrete Structures II. In place of CS 671 Operating Systems II - CS 670 Concurrent Programming or CS 673 Networking II.
- Bioinformatics - Note that CS 618 is not offered every year so should be taken whenever offered.
- Data Science - Note that to reach 18 credits of 600 level courses, all electives should be chosen from 600 level courses (due to there being 15 credits of required 500 level courses).
- Professional - Most students take CS 617 and CS 609 as two of their choices. Note that CS 617 Databases, Data Mining, and Big Data has a prerequisite of either CS 557 or CS 501, so would not be taken during your first semester. CS 617 is normally offered each fall. CS 609 Web Programming and Applications is taken by most students and is offered each spring. Note that to complete the professional concentration, at least one course is needed from CS 601-609, at least from CS 610-618, and at least three total from CS 601-618.
Declaring your Concentration
All students admitted starting in the spring of 2020 will have the Professional Concentration declared by default. If you wish to declare one of the other declarations you should consult with your advisor and then complete your portion of the CGPS Change of Program Form.
Policies and Regulations
Note that all policies and regulations listed in the Graduate Catalog (find it by searching for catalog in ISU A-Z) apply to all graduate programs. You should read through the policies to be aware of them (you can skip the policies related to PhD programs and to thesis since these do not apply to the CS MS).
400 versus 500 level courses
This applies if you did your BS at ISU. Note that you CANNOT count the 500 level version of a course if you have credit for the 400 level version of the course at ISU. For example, if you took CS 420 as an undergrad at ISU, you CANNOT take CS 520 to count it as part of the MS. Note that the registration system DOES allow you to register, and your advisor MIGHT not notice the problem, but nonetheless CS 520 would NOT count as part of your MS.
The normal courseload for master's students is 9 credit hours per semester (fall and spring); this is 3 courses since the courses in the program are each 3 hours. Some students choose to enroll for 12 hours in some semesters due to scheduling constraints. We do not generally recommend this, especially for students who are also working part time. Moreover, for students in their first semester at ISU or who are on academic probation, the department policy is that these students should register for only 9 hours.
Applying for Graduation
See https://www.indstate.edu/cgps/graduate/current-students/graduation-apply for instructions on applying for graduation. One form that is required that is not listed there is a "plan of study" that lists courses taken for the degree. For the plan of study, please download and fill out the following document, and have it signed by your advisor: https://cs.indstate.edu/info/files/MS_CS_plan_of_study_2020.docx. The form must have all courses taken (adding up to at least 33 credit hours) along with semester taken and grades earned. Please save the file with the name "CS_MS_plan_of_study-Last,First.docx" where you replace Last with your last name (according to ISU) and replace First with your first name. Send your approved plan of study to your advisor and the administrative assistant.
Students are encouraged to seek internships and part-time jobs related to computer science as early as possible in your education. These experiences can greatly increase your chances of finding a good job right after graduating. Note that students who are in the US on a student visa can only be employed off campus as part of a requirement for a course (depending on which visa you are in the US under). Undergraduate students can enroll in CS 399; graduate students can enroll in CS 699. Contact the associate chairperson of CS for more information.