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.
- 1 Graduate Advisor / Who to Get Advice From
- 2 Course Sequencing
- 3 Advising Notes
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.
- First term - CS 500 Programming Fundamentals
- First fall - CS 558 Algorithms
- First spring - CS 556 Systems Programming
- Spring after first fall - CS 658 Algorithms II
- Fall after first spring - CS 671 Operating Systems II
- Last term - CS 695 Computer Science Research
If the above 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.
You complete your schedule with electives, making sure to have at least 18 hours of 600 level courses.
- First term - CS 500 Programming Fundamentals or CS 501 Programming for Data Science,
- First fall - CS 600 Concrete Mathematics
- First fall - BIO 581 Genome Science
- Fall (but not first term) - CS 557 Database Systems or CS 617 Databases, Data Mining, and Big Data,
- First spring offered - CS 618 Computational Biology
- First or second spring - BIO 587 Bioinformatics
- Spring (after taking BIO 581) - BIO 680 Seminar: Evolution and Genetics
- Last term - Culminating experience (BIO 692, 699, or CS 685, 695, or 699)
If starting in the fall, you would normally take CS 500, CS 600, BIO 581 for the first term, and then BIO 587, BIO 680, and a CS elective in the second term. If starting in the spring, you would normally take CS 500, BIO 587, and a CS elective in the first term, and then CS 557 or 617, BIO 581, and a CS elective in the second term. Note that CS 618 is not offered every year so should be taken whenever offered.
Data Science Concentration
- First term - CS 501 Programming for Data Science
- First fall - CS 557 Database Systems
- First spring after taking CS 501 - CS 601 Programming for Data Science II* First fall - CS 557 Database Systems
- Second fall - CS 617 Databases, Data Mining, and Big Data
- First spring - CS 575 Artificial Intelligence
- Spring - MATH 540 Statistics for Data Science
- First fall offered - MATH 503 Linear Algebra and Modeling for Data Science
- Last term - culminating experience (CS 685, 695, or 699)
For those starting in the fall, the normal first term is CS 501, CS 557, and MATH 503 if offered, and the second term would be CS 601, CS 575, and MATH 540. For those starting in the spring, the normal first term is CS 501, MATH 540, and CS 575, and the second term would be CS 557, MATH 503 if offered, and a CS elective.
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).
- First term - CS 500 Programming Fundamentals, CS 501 Programming for Data Science
- First fall - CS 600 Concrete Mathematics
- Last term - culminating experience (CS 685, CS 695, or CS 699)
The remainder of the courses depends on which courses are chosen as concentration electives. 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.
For students starting in the fall, the most common schedule has a first term of CS 500, CS 600, CS 557 or CS 501, and second term of CS 609, CS 501 if not taken during the first term, and a CS elective. For students starting in the spring, the most common schedule has a first term of CS 500, CS 501, and CS 609.
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. If you started before spring 2020, please get in touch with your advisor as well to fill out the 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: http://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.xlsx" 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.