The program is designed to be flexible enough to accommodate the needs of two kinds of students: those who have recently completed an undergraduate degree in computer science and want to further their education, and those practicing professionals who want to acquire specific academic experience relevant to their work.