B-237 Parkview Campus
The master’s program in computer science emphasizes both computer software development and the theoretical foundations of computer science. It is designed to prepare students for professional positions in business, industry, and government and to provide preparation for graduate work at the doctoral level.
Areas of faculty specialization include algorithmic complexity theory; artificial intelligence; bioinformatics; cloud computing; compiler optimization; computational science (biology, chemistry, finance, mathematics/statistics, medicine, physics); computer architecture; computer graphics; computer networking; computer security; cyber physical systems/internet of things; data analytics; data driven security analytics; data warehousing and mining; distributed and mobile data bases; embedded systems; human-computer interaction and visualization; high-performance computing; knowledge-based systems; language and automata theory; mathematical and computer modeling; multimedia databases and systems; neural networks; parallel and distributed algorithms; pattern recognition and image processing; scientific computing and numerical analysis; simulation; smart connected communities; software engineering and web applications.
The master’s program is designed to allow a full-time student entering with a strong undergraduate background in computer science to complete all degree requirements within 16 months; however, it is common for a student to take longer.
A successful applicant to the master’s program in computer science must satisfy:
- All of the general admission criteria identified in the Graduate Catalog.
- Submission of transcripts of prior higher education. Applicants should have earned or are expected to earn an undergraduate degree in a program with significant computer science and mathematics contents that cover the following subjects:
a. In computer science: computer assembly language, computer organization, data and file structures, logic design, systems programming concepts, object-oriented and structured programming.
b. In mathematics: calculus, probability or statistics, and discrete structures.
The program welcomes applications from strong students who do not have a computer science undergraduate degree but have completed at least one calculus course and two programming courses at the university level prior to applying.
An applicant who did not take the subjects listed above may be given conditional admission with prerequisites and asked to complete designated undergraduate courses with a grade of “B” or better from the following list:
CS 1110 Computer Science I
CS 1120 Computer Science II
CS 1310 Foundations of Computer Science
CS 2230 Computer Organization and Assembly Language
CS 3240 Systems Programming Concepts
CS 3310 Data and File Structures
MATH 1220 Calculus I
College level probability or statistics (2000-level or higher)
Due to the sequential order in which some of the prerequisite courses must be taken, students admitted on a conditional basis might not initially be able to take a full-time course load in only computer science courses.
- While Graduate Record Examination scores are not required for admission to the master’s program, applicants are encouraged to submit them.
- The TOEFL or an equivalent English examination result is required for international students.
- At least three reference letters.
Prerequisite admission requirements
A student having prerequisite requirements as a condition of admission must complete all designated prerequisites:
- Before registering for any 6000-level computer science courses, and
- Before being considered as a candidate for the master’s program.
Students who feel they have the background in a listed prerequisite should contact the Director of Graduate Programs and provide documentation. With adequate documentation, a prerequisite can be waived.
A successful candidate of the master’s degree in Computer Science is responsible for all the general requirements for a master’s degree as stated in the Graduate Catalog. At least 50 percent of the credit hours counted toward the master’s degree must be at the 6000-level or higher and be taken in computer science at Western Michigan University. Prerequisite courses must be taken in the proper sequence. Once a 6000-level course, which is to be counted in the program of study, has been successfully completed, any prerequisite of that course taken later cannot be included in the program of study.
The program consists of 30 credit hours, including three foundation courses: CS 5310 (Algorithms), CS 5541 (Computer Systems) and CS 5800 (Theory Foundations), each for 3 credit hours (taught as two hours lecture and two recitation hours). These foundation courses must be taken at the first offering in a student’s master’s program. The remaining 21 elective credits include regularly offered courses and individually selected independent study/research/thesis credit as follows:
• Up to 6 credit hours (total) of: CS 5990 (Independent Study), CS 7100 (Independent Research), CS 7120 (Professional Field Experience), and CS 6970 (Master’s Project). Thus if students select 6 hours of independent study/research credit, their program will consist of: 3 foundation courses, 6 hours of independent study/research courses and 15 other remaining elective hours.
CS 7120 (Professional Field Experience) requires prior approval of the department, and credit is not given for past experience.
CS 6970 (Master’s Project) is performed by the student under the supervision of a (faculty) project director, and the completed research is documented in a technical report. The report must be approved by the project director and the Department Chair, and presented by the student at a public seminar.
• CS 7000 (Master’s Thesis) may be selected for 6 credit hours and is recommended for students pursuing doctoral studies. Up to 3 hours of independent study/research credit may be taken in addition to the Master’s Thesis. Under this option, therefore, the student’s program may consist of: 3 foundation courses, 6 hours of Master’s Thesis credit, 3 hours of independent study/research and 12 other remaining elective hours.
The thesis study is done under the supervision of a thesis director and thesis committee. A thesis director is appointed by the department upon petition by the student. A master’s thesis committee is approved by the Graduate College based on the petition of the student, the agreement of the proposed committee members, and the appointment and recommendation of the Department Chair. The master’s thesis committee is comprised of the thesis director and at least two other members of the graduate faculty in computer science. The committee members facilitate and guide the student’s academic and research development. Before a student is awarded the master’s degree, each member of the master’s thesis committee must approve the thesis. The completed thesis is presented by the student at a public seminar and oral defense.
A student may transfer up to 6 credit hours taken outside of the Computer Science Department at WMU. Such credit requires prior approval by their advisor and the department graduate committee.
Students accepted into the master’s program may apply for one of the department’s graduate teaching and research assistantships. Graduate internship opportunities with local industries are also available. Applications for teaching and research assistantships should be sent directly to the Department of Computer Science. Application forms and instructions for financial assistance can be obtained from the department. Information about non-departmental assistantships and fellowships, tuition remission, special assistance for minority graduate students, general research funds, and tuition grants is available from the Graduate College. Information about student loans and other federal, state, and University need-based financial aid programs is available from the Office of Student Financial Aid and Scholarships.