minus plus magnify speech newspaper atomic biology chemistry computer-science earth-science forensic-services globe info math matrix molecule neuroscience pencil physics pin psychology email share atsign clock double-left-chevron double-right-chevron envelope fax phone tumblr googleplus pinterest twitter facebook feed linkedin youtube flickr instagram
Computer science alumnus at coffee shop

Why choose this program?

In 2018, almost 75% of new science and engineering jobs will be in Computer Science.

With a degree in Computer Science from IUPUI, you'll be prepared for these jobs and for a lifetime of interesting and important work. From medicine and industry to the arts, you'll know how to collaborate with the best minds and how to turn theory into reality.

And because you'll graduate with a deep understanding of the fundamentals that underlie all computr technology, you will also be ready to adapt to changes in the marketplace.

Committed to having real impact in their work and community, our graduates emerge armed with the technical proficiency, project management skills, communication expertise and analytical skills needed to develop working solutions for computing challenges.

A maximum of 12 credits hours (500 level and above) earned prior to admission to the M.S. in the Computer Science Program can be listed on the Plan of Study.

Degree Requirements

MS Program: 

  • The applicant must be admitted as a graduate student without provisions and  complete 30 semester-credit hours of study in CSCI courses numbered 500 or above
  • There is a core/required course component which must be satisfied as part of the 30 credit hour program; these requirements are listed below, and differ according to semester of initial admission.
    • Core Course Requirement (for those admitted before the Fall 2013 semester) 
      • At least 6 of the 30 required hours must be from the following Core Courses: CSC1 503, Operating Systems; CSCI 504, Concepts in Computer Organization; CSCI 565, Programming Languages; CSCI 580, Algorithm Design, Analysis and Implementation.
    • New Required Course Guidelines (effective beginning with those admitted for the Fall 2013 semester)
      • Of the 30 required hours, students must select 1 course each from 4 different "foundational" categories for a total of 12 credit hours. There are 6 categories from which to select the 4, as listed below:
        1. Networking and Security -- CSCI 53600, CSCI 55500
        2. Databases and Intelligent Systems -- CSCI 54100, CSCI 54900, CSCI 57300
        3. Visualization and Graphics -- CSCI 55000, CSCI 55200, CSCI 55700*
        4. Software Engineering -- CSCI 50600, CSCI 50700, CSCI 59000 (Software Quality Assurance)
        5. Theory -- CSCI 52000, CSCI 56500, CSCI 58000
        6. Systems -- CSCI 50200, CSCI 50300, CSCI 50400, CSCI 53700
          • *If this course was taken as CSCI 59000 prior to permanent course number assignment, it will still count toward the requirement


Existing M.S. students may choose to continue in the current requirements, or may officially switch to the new requirements by submitted a petition to the department's Graduate Committee.

Resident Study Requirements

The total number of hours of academic credit used ot satisfy degree requirements consist of all course credit hours that paper on the plan of study, other graduate course credit hours with grades of C or better that paper on the IUPUI/Purdue transcript and research hours that appear on the IUPUI/Purdue transcript.

For a Master of Science in Computer Science at IUPUI, at least one-half of the total credit hours sued to satisfy degree requirements must be earned in residence n the IUPUI campus. Transfer credits used to satisfy degree must also appear on the plan of study. Course credits obtained via televised instruction from a campus shall be considered to have been obtained in residence on that campus. At least 30 total credits hors of 500 level or above courses are required. In fulfilling these requirements, a maximum of 15 credit hour will be allowed from any one semester (total 15 for summer I and II combined).

Transfer Credit

Credit earned for graduate study at other universities may be applied toward the Master of Science in Computer Science with approval fo the Advisory Committee, the Graduate Committee and the Graduate School. Such credits may not have been sued to meet other degree requirements. Transfer credits are normally limited ot six- semester-hours. Application for the transfer of credit is made when the plan of study is presented for approval. This should be done as soon as possible. Only credit hours associated with graduate course for which grades of a B or better were obtained will be eligible for transfer.

Non-Departmental Courses

Non-Departmental courses are limited to 3 credits (1 course) for course-only students, selected from the pre-approved list below. Up to 3 additional credits (for a total of 6) may be allowed for M.S. Thesis or M.S. Project students for courses related to research area; prior approval of the Advisory and Graduate Committees are required for the registration. 

NEW Pre-Approved List (effective Summer 2018 and beyond)

  • INFO-I 643: Natural Language Processing for Biomedical Records and Reports
  • MATH 51100: Linear Algebra with Applications
  • MATH 53700: Applied Mathematics for Scientist and Engineers I
  • STAT 52900: Applied Decision Theory and Bayesian Analysis

Students who took a course form the old list prior to the Summer 2018 session which is not on the new list will still be permitted to include it i on the ir plan of study. Beginning with Summer 2018, only the 4 courses listed above are preapproved.

Request to include any course which is not on this new list must be approved in advance(prior to registration) by the Department's Graduate Committee by submitting a petition. Please contact the Department's Graduate Advisor for information on submitting a petition.

Graduate Non-Degree Credit Hours

A maximum of 12 credits hors (500 level and above) earned prior to admission to the M.S. in the Computer Science Program can be listed on the Plan of Study.

Overall Student Performance

The objective of this type of assessment is to determine whether or not a given student is satisfactorily progressing towards, and finally achieves, the performance objectives that the Graduate Faculty has set for the Program.

  • The instructor in each class will evaluate the progress of each student through the course and the final achievement by using the mechanisms and objectives stated in the course syllabus. These vary by course. The mechanisms are typically evaluations of exercises, written and oral examinations, and projects, collaboratively or individually executed. The general outcomes are that the student will understand the theoretical concepts and be proficient in applying them within the context of the course's subject.
  • The student must accumulate individual and cumulative performance ratings for all courses taken that satisfy the minimum acceptable standards the department establishes. The outcome here is that the graduate will have a uniformly high technical capability across a broad spectrum of subjects in computer science.
  • Each student must demonstrate satisfactory accomplishment in a fundamental domain of knowledge, which the group of Core Courses provides. The outcome of this requirement is that the student will possess solid knowledge of the theoretical bases of computer science.
  • Every student must achieve sufficiently deep command of a specialization area to successfully complete a thesis or project. The evaluations from the specialization courses combined with the evaluation by the student's thesis or project supervisors measure this. The outcome of the student's preparation for this will be that she or he will possess expertise in a specific research or application area for future use in the profession.
  • Finally, each student must make a written and public presentation of the thesis or project work, which the student's Examination Committee evaluates. This measures and sets a minimum standard on the student's capability to:
    • Integrate appropriately new knowledge with he knowledge and skills presented in the taken courses in ways sufficient to engage in research  or the solution of problems arising in practice.
    • Communicate effectively, orally and in writing, with colleagues or team mates while solving problems and in presenting the solution
    • Think analytically and critically and apply a variety of logical and computational tools as aids in  this process.
    • Articulate the relationships between the area expertise and other discipline area and society in general.

What it's like being a CS major, according to Zach Reynolds

Zachary Reynolds M.S. Student, Computer Science