We review applications holistically in order to determine applicant’s suitability. The admissions committee considers several factors when making admission decisions; academic performance at prior institutions (GPA), experience, background, GRE test scores, statement of purpose, and letters of recommendation. In general, we expect students who enter the program to be very comfortable working with multiple programming languages such as C, Java, and Python (there is no provision within the program for make-up any deficiencies) and to have taken several more advanced topics, such as Advanced OS, Networking, Theory, and/or Algorithms.
The following is what we recommend for applicants without a strong undergraduate background in computer science: Must know how to program, C programming (proficient), Java, Algorithms. You can gain this knowledge through undergrad classes, MOOC, or learn it through work experience.
Students entering the program must demonstrate a core competency in computing equivalent to undergraduate-level courses in the following areas: systems, design and analysis of algorithms, formal languages and automata theory, databases, networking and communications, computer architecture, human-computer interaction.