The Japanese have a word, mitomeru (認める), a verb which roughly translates into "to acknowledge" or "to recognize." Like when Naruto wants to become Hokage, he wants everyone in the village to mitomeru him. Below I'll describe how to get those pesky CS master's programs to mitomeru the hell out of you, from scratch in under a year.
Naruto believes in my dream!
If you recall my previous post about graduate schools, I came up with questions to ask Master of Computer Science (MCS) programs to get an idea of what application requirements I need to prepare for. Here are those questions again, with some minor tweaks from last time.
- Dates: What are your admission dates and application deadlines for Fall, Spring, and Summer?
- Application: What do I need to prepare in order to apply (general GRE, subject GRE, pre-requisite courses, official transcripts, letters of recommendation, statement of purpose, application fee, etc.)?
- Pre-reqs: If there are pre-requisite courses, do you offer proficiency exams? Is there a way to pre-approve those pre-req courses to be accepted from a community college, an online university, or another institution? Can I be currently enrolled in the final pre-reqs when I apply?
- Pros: Do you offer pathways suited toward professionals, such as online or night courses? If so, how long do most students take to complete that path?
- Other: Is there anything else you can suggest to a prospective student who has no background in computer science? How should I contact in the future if I have any further questions?
After some research, I decided on the 6 schools in the area that provide the strongest MCS or related programs: Johns Hopkins University, University of Maryland Baltimore County (where I went to undergrad), University of Maryland University College Global Campus, University of Maryland (College Park), Towson, and Georgia Tech (online). Here are their answers to the above questions, obtained through calls and emails to the respective program departments (often multiple times). In some cases, information has been added or tweaked or otherwise updated since my last post.
NOTE: Some details may have changed since obtaining in 2016.
John Hopkins University Engineering for Professionals (410-516-2300 eleanorchlan@jhuapl.edu): MCS, Cybersecurity, IS Engineering
- Dates: Rolling applications are accepted year-round. The Fall application deadline is around June 1, and Spring is around November 1, but you want to apply early if possible. Summer courses are also available.
- Application: You just need to complete the online application and submit official transcripts. No GRE or application fees are required, and they don't look at job experience unless your GPA is lower than 3.0.
- Pre-reqs: They require the following courses: (1) 1 year / 3 semesters of calculus (2 semesters if 4-5 credits each), (2) a mathematics course beyond calculus (e.g., discrete mathematics, linear algebra, or differential equations), (3) a course in data structures, (4) a course in computer organization, and (5) a course in programming using a modern programming language such as Java or C++. They offer free proficiency exams for some courses which you can take one time, or they can pre-approve transfer courses. You can even apply to the program first and they will send you a letter with conditional acceptance (good for 1 year) and a list of courses you need to take prior to official acceptance.
- Pros: This path is geared toward professionals, so all courses are online or at night and require around 2.5-3 years.
- Other: It's possible to convert to or from a graduate certificate along the way.
- Dates: The Fall application deadline is June 1 (January 1 for financial consideration), and Spring is November 1 (June 1 for financial consideration). No Summer semester is available.
- Application: They require an official transcript, 3 letters of recommendation, a statement of purpose, General GRE scores (from the last 5 years, though you can do a waiver request), and a $50 fee.
- Pre-reqs: They require the following courses: (1) CMSC 203: Discrete Structures, (2) CMSC 313: Computer Organization & Assembly Languages, (3) CMSC 331: Principles of Programming Languages, (4) CMSC 341: Data Structures, (5) CMSC 411: Computer Architecture, (6) CMSC 421: Principles of Operating Systems, (7) CMSC 441: Algorithm Design and Analysis, (8) MATH 151: Calculus I, (9) MATH 152: Calculus II, (10) MATH 221: Introduction to Linear Algebra, (11) at least 1 more advanced math course, (12) at least 1 course from the following list: CMSC 435: Computer Graphics, CMSC 451: Automata Theory & Formal Languages, CMSC 455: Numerical Computations, CMSC 461: Database Management Systems, CMSC 471: Artificial Intelligence, CMSC 481: Computer Networks. There are no proficiency exams, and you can check the Course Articulation Database to see which courses can transfer from which university. If you are applying in your final pre-req semester they may be able to offer you conditional acceptance.
- Pros: There are no online courses, but you can take part-time courses at night (though that path could take 3-4 years).
- Other: N/A
University of Maryland Global Campus (800-888-8682, CS: 240-684-2840 cite@umuc.edu): NO MCS, Cybersecurity Technology, IT: Software Engineering
- Dates: There are multiple sessions running every semester.
- Application: In addition to the $50 application fee, you need to complete the online application and submit your transcripts. No GRE is required.
- Pre-reqs: All courses are taught from the bottom-up with no pre-requisites (though there are non-credit optional prep courses available in coding and IT).
- Pros: All courses are online and can be completed in about 1.5 years or 6 semesters.
- Other: N/A
- Dates: The Fall application deadline is December 15, and Spring is only for UMD students. There are limited summer courses.
- Application: They require transcripts, a resume, recommendation letters, and General GRE scores (average scores are: Verbal - 158, Quantitative - 163, and Analytical - 5.0). More information can be found at http://www.cs.umd.edu/grad/catalog.
- Pre-reqs: (1) CMSC 330: Organization of Programming Languages, (2) CMSC 420: Data Structures, (3) CMSC 451: Design and Analysis of Computer Algorithms, (4) MATH 140: Calculus I, (5) MATH 141: Calculus II, (6) MATH 240: Linear Algebra. There are no proficiency exams, but there may be a way to pre-approve courses to be transferred. You would be highly unlikely to be admitted without completing the pre-reqs first.
- Pros: Their website notes that full-time students who start with a B.S. degree take around 2-2.5 years to complete the program, so part-time must take longer. There are no professional pathways.
- Other: N/A
- Dates: The Fall application deadline is August 1, Spring is January 1, and Summer is May 1.
- Application: They require transcripts (with GPA above 3.0), email address for letters of recommendation, and a $45 application fee. GRE is not required.
- Pre-reqs: (1) MATH 263 DISCRETE MATHEMATICS, (2) COSC 501 FUNDAMENTALS OF DATA STRUCTURES AND ALGORITHM (or Fundamentals of Data Structures, Fundamentals of Algorithm Analysis, CS I, CS II from another institution), (3) COSC 502 COMPUTER ORGANIZATIONAL AND ASSEMBLY LANGUAGE FOR NON CS/CIS MAJOR (or Computer Organization & Assembly Languages from another institution). (2) and (3) can be taken together in the same term and are designed for non-CS students who have already been accepted into the MCS program. (1) can be taken at another institution. There are no proficiency exams.
- Pros: there are no online classes, but all courses are offered in the evening.
- Other: N/A
- Dates: Applications are accepted year-round. The Spring application deadline is early September.
- Application: They require transcripts, background essay, statement of purpose, resume, and list of recommendations. GRE is not required.
- Pre-reqs: There are no pre-requisite courses. However, applicants should have knowledge of (1) multiple programming languages (i.e. C, Java, Python, including object-oriented), and several more advanced topics such as (2) Advanced OS (CS6210), (3) Networking, (4) Theory, and/or (5) Algorithms. These courses should have a grade or percentile as part of the evaluation.
- Pros: All courses are online.
- Other: Applicants who don't have a bachelor's in the chosen field will be evaluated on a case-by-case basis; work experience won't take the place of a degree. They recommend taking the brief diagnostic preparedness test, and checking pre-reqs for CS6210 Advanced OS. For more information see the FAQ and Program Information.
They work closely with Udacity which you can take free courses for online(they stopped this while I was studying there). The program involves the working professionals creating their own curriculum based on their research of what they want to learn.
Now we have a pretty good idea of what to prepare for admission to each school. Out of the 6 schools, I will apply to half of them, and save UMGC (with their Master of Cybersecurity Technology program) as a backup in case all 3 reject me. In order to get a clearer look at pre-requisite courses and to make an informed decision about which 2 schools to eliminate, I put together a useful spreadsheet.
After data dumping, I analyzed the information a bit. If all 5 schools required knowledge of a given topic, or if the topic was a pre-req for one that all 5 schools required, then I highlighted it red. If 4/5 schools required a topic I highlighted it orange, and for 3/5 schools I highlighted it yellow. That way, since I plan to apply to 3/5 schools anyway, anything that's highlighted with those colors would be a mandatory course to take through AACC or UMGC. With me so far? For those topics required by 1-2/5 schools (highlighted in grey), I examined each one and in some cases was able to combine it with another topic/course or eliminate it entirely after speaking with the MCS program departments.
At this point, you are free to draw your own conclusions from the data I've collected. Here are mine:
- The 8 courses that are highlighted in yellow, orange, or red are the only ones I will take.
- I will take all courses through UMGC, which is not only convenient due to being online but can be done quickly since they offer multiple sessions per semester.
- By taking 2 courses at a time, according to UMGC's undergraduate schedule I can complete all 8 courses by May 2017 for around
$7668$8372 (or $2093 per semester). - My projected start date for a master's program is now Fall 2017.
- I already have 2 schools I can eliminate: UMBC which asks me to take more than 8 courses (that would require more semesters), and UMD which asks me to apply for Fall 2017 by December 2016 (before I would have completed my pre-reqs).
- The 3 schools I will apply to are: Johns Hopkins, Towson, and Georgia Tech.
Taking all of these pre-requisite courses, you may be wondering why I don't just get another degree. In fact, I can get a CS minor at UMGC (they may have since removed this) by taking CMIS 141: Introductory Programming and CMIS 242: Intermediate Programming and 9 credits at the 300-level. If I wasn't so stubborn thinking I can test out of CMIS 141 and 242, perhaps I'd go for it. But as it stands, I'm not willing to waste energy on a minor if my ultimate goal is a master's. Plus, getting a minor would only be possible if I were to have a separate major, which I do not.
So what's the next step? Well, my first 2 pre-requisite courses will begin on August 22. One is MATH 140: Calculus I (4 credits) and the other... is CMIS 310: Computer Systems and Architecture (3 credits). Yes, I'll be jumping right into a 300-level CS course, one with a pre-requisite of Java proficiency no less! Well it looks like I have a busy summer ahead of me to work towards my dream of becoming Hokage! Er... I mean, to get people to mitomeru my CS ninja skills. :)
UPDATE: I've started taking classes! Here is my post with more details.
So what's the next step? Well, my first 2 pre-requisite courses will begin on August 22. One is MATH 140: Calculus I (4 credits) and the other... is CMIS 310: Computer Systems and Architecture (3 credits). Yes, I'll be jumping right into a 300-level CS course, one with a pre-requisite of Java proficiency no less! Well it looks like I have a busy summer ahead of me to work towards my dream of becoming Hokage! Er... I mean, to get people to mitomeru my CS ninja skills. :)
UPDATE: I've started taking classes! Here is my post with more details.



No comments:
Post a Comment