# Graduate Programs

Advising Coordinator: Dr. Katherine Herbert, Associate Professor

The Department of Computer Science offers a Master of Science Degree in Computer Science, and a Master of Science Degree in Computer Science with Concentrations in Applied Statistics, Applied Mathematics, or Informatics. The Department of Mathematical Sciences in conjunction with the Department of Computer Science offers the Master of Science Degree in Mathematics with a concentration in Computer Science.

The graduate program in computer science is designed for students interested in pursuing computer science theoretically as well as practically at an advanced level.Three concentrations within the M.S. in Computer Science allows for the study of complementary areas that are computer intensive. (Concentrations within the M.S. in Computer Science are discussed below.) The program is designed to emphasize the foundations and concepts of computer science as well as to introduce students to the new and developing areas of computer science. Concepts are developed rather than just routine programming skills. The program prepares students for professional work in the design and implementation of software systems, data base systems, operating systems, artificial intelligence, graphics, image processing, parallel processing, simulation, and algorithms for discrete and continuous structures that will aid in the solution of problems in science and business.The curriculum is designed to allow students to develop the skills needed to achieve leadership positions in business, industry, and government in computer science or related fields where computer science has become an important tool.The program is also designed to prepare teachers of computer science at the middle school, high school and two year college levels.

In addition to offering the M.S. in Computer Science, the Department of Computer Science also offers an M.S. in Computer Science with concentrations.These concentrations consist of taking courses in a specialized area complementary to computer science, or in a computer intensive area.The Department offers Concentrations in Applied Statistics, Applied Mathematics and Informatics.

The graduate program in computer science began in 1978.At present there are fourteen full time faculty members teaching computer science courses. The special interests of the faculty include algorithms, artificial intelligence, automata theory, chaos theory, complexity theory, data bases, data mining, data warehousing, expert systems, graphics, image processing, machine organization, architecture and hardware, design and management information systems, neural networks, operating systems, object-oriented programming, parallel processing, program verification, robotics, scientific computing, security, software engineering, and telecommunications.The department has the advantage of having professional computer scientists as both faculty and visiting specialists.The visiting specialists are drawn from the aerospace, chemical and pharmaceutical industries.This mix of faculty affords the students the opportunity to obtain an education in practical and theoretical aspects of computer science.

Download the Graduate Booklet for more information regarding graduate courses in computer science.

## Master's Degrees

- MS in Computer Science (CPSC)
- MS in Computer Science, Information Technology Concentration (CPIT)
- MS in Computer Science, Applied Information Technology Concentration (CPSC)

## Certificates

## Core Knowledge

CODE | COURSE NAME | CREDITS |
---|---|---|

CMPT505 | Fundamentals of Computer Science I | 4 |

Fundamentals of Computer Science I. Prerequisites: Graduate coordinator's permission. An introduction to programming using a structured high level language, design of algorithms, character strings, recursion, data structures, numerical computing. May not be used for credit by Mathematics or Computer Science majors. 4 hours lecture. | ||

CMPT506 | Fundamentals of Computer Science II | 4 |

Fundamentals of Computer Science II. Prerequisites: CMPT 505 and permission of graduate coordinator. A continuation of CMPT 505. Introduction to assembly language, addressing techniques, subroutine linkage, input/output and macros. Introduction to computer organization including memory, logic design and computer architecture. May not be used for credit by Mathematics and Computer Science majors. 4 hours lecture. | ||

CMPT507 | Fundamentals of Computer Science III | 4 |

Fundamentals of Computer Science III. Prerequisites: MATH 501, and CMPT 505 and permission of graduate coordinator. A continuation of CMPT 505. Design and analysis of data structures, pointers, linked representations, object oriented programming (OOP), classes, inheritance, programming in the large. May not be used for credit by Mathematics and Computer Science majors. 4 hours lecture. | ||

MATH-501 | Mathematics for Computer Science I | 4 |

Mathematics for Computer Science I. Prerequisites: Graduate program coordinators permission. Sets, relations, functions, graphs, trees, propositional calculus, induction and recursion, applications to computer science. May not be used for credit by Mathematics or Computer Science majors. 4 hours lecture. | ||

MATH-503 | Mathematics for Computer Science III | 3 |

Differential and integral calculus, infinite series, applications to computer science. May not be used for credit by Mathematics and Computer Science majors. Prerequisites: Graduate program coordinator's permission. 3 hours lecture. |

## Core Knowledge Program for PSM

The department welcomes students from different disciplines who desire an MSCS degree and students who have not been involved with computing in some time but want to come back to the field.. If a student does not meet the minimum computing requirements, the department has created a Core Knowledge sequence, shown in the table below, to address the minimum requirements needed in order to continue in the program. A student can complete this program in one year prior to starting Master's Course Work. If students need more extensive preparation, we will work with the student to develop a program that meets their needs to prepare them for either the MSCS, MSCS-IT and MSCS - Applied IT programs.

CODE | COURSE NAME | CREDITS |
---|---|---|

Fall Semester | ||

CMPT-505 | Fundamentals of CS I (Java) | 3 |

Fundamentals of Computer Science I. Prerequisites: Graduate coordinator's permission. An introduction to programming using a structured high level language, design of algorithms, character strings, recursion, data structures, numerical computing. May not be used for credit by Mathematics or Computer Science majors. 4 hours lecture. | ||

CMPT-506 | Fundamentals of CS II (Computer Hardware) | 3 |

Fundamentals of Computer Science II. Prerequisites: CMPT 505 and permission of graduate coordinator. A continuation of CMPT 505. Introduction to assembly language, addressing techniques, subroutine linkage, input/output and macros. Introduction to computer organization including memory, logic design and computer architecture. May not be used for credit by Mathematics and Computer Science majors. 4 hours lecture. | ||

Spring Semester | ||

MATH-501 | Math for CS I (Discrete Math) | 3 |

Mathematics for Computer Science I. Prerequisites: Graduate program coordinators permission. Sets, relations, functions, graphs, trees, propositional calculus, induction and recursion, applications to computer science. May not be used for credit by Mathematics or Computer Science majors. 4 hours lecture. | ||

CMPT-507 | Fundamentals of CS III (Data Structures and Algorithms) | 3 |

Fundamentals of Computer Science III. Prerequisites: MATH 501, and CMPT 505 and permission of graduate coordinator. A continuation of CMPT 505. Design and analysis of data structures, pointers, linked representations, object oriented programming (OOP), classes, inheritance, programming in the large. May not be used for credit by Mathematics and Computer Science majors. 4 hours lecture.> |

## Culminating Experience

CODE | COURSE NAME | CREDITS |
---|---|---|

CMPT-698 | Master's Thesis | 3 |

Special fee. Independent research project done under faculty advisement. Students must follow the MSU Thesis Guidelines, which may be obtained from the Graduate School. Students should take CMPT 699 if they don't complete CMPT 698 within the semester. Students must work with a faculty mentor through an independent study on such projects. Offered in Spring, Fall and Summer sessions. Students must have a 3.3 or higher in the required core courses to register for the Thesis. Submit completed Thesis Original and one copy to the Graduate Office. See Thesis Guidelines. |
||

CMPT-697 | Master's Project in Computer Science | 3 |

Special fee. Analysis of a significant problem related to computing and design of a solution. Where appropriate, implementation and testing as well as documentation of the solution. 3 hours lecture. Students must work with a faculty mentor through an independent study on such projects. Offered in Spring, Fall and Summer sessions. |
||

CMPT-696 | Literature Survey in Computer Science | 3 |

Significant investigation of an area of computing research or practice, culminating in the creation of a comprehensive survey or tutorial. Surveys summarize and organize research results in a novel way that integrates and adds understanding to work in the field by classifying existing literature,developing a perspective on the area, and/or evaluating trends. A tutorial paper organizes and introduces work in the field by emphasizing the basic concepts of a field and providing concrete examples that embody these concepts. 3 hours lecture. Experience is offered only in Spring semester in a course format. |