As of this writing I am 4 weeks into my first 8 week semester, which means I'm well on my way to completing Sub-Goal 2 (I will prepare for applying to graduate school)!
Here are the conclusions that I drew from the data in the last post:
- The 8 courses that are highlighted in yellow, orange, or red are the only ones I will take.
- I will take all courses through UMUC, 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 UMUC'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.
Following these conclusions, I enrolled in UMUC and began taking courses as of last month, in order to be eligible to begin any graduate program by Fall 2017. To stay on track, I carefully planned each semester so that it would logically fulfill the requirements of the following semesters until all 8 courses were fulfilled. I also made sure to look up each course in the schedule of classes to verify that it was offered during a given semester, and sure enough some courses are only offered during Fall OR Spring. Here is my projected schedule:
2016 Fall Online Session 1 (8/22-10/16)
- MATH 140: Calculus I (4 credits)
- Pre-reqs: MATH 108 or MATH 115
- aka Pre Calc (passed AP exam in high school)
- CMIS 310: Computer Systems and Architecture (3)
- Pre-req
s:CMIS 115, CMIS 125, orCMIS 141 - aka Java proficiency
2016 Fall Online Session 4 (10/24-12/18)
- MATH 240: Introduction to Linear Algebra (4)
- Pre-req: MATH 140
- CMSC 150: Introduction to Discrete Structures (3)
- Pre-req: MATH 140
2017 Spring Online Session 1 (01/09-03/05)
- MATH 141: Calculus II (4)
- Pre-req: MATH 140
- CMSC 350: Data Structures and Analysis (3)
- Pre-reqs: CMSC 150 and CMIS 242
- aka Java proficiency
2017 Spring Online Session 4 (03/13-05/07)
- CMSC 330: Advanced Programming Languages (3)
- Pre-req: CMSC 230 or CMSC 350
- CMSC 451: Design and Analysis of Computer Algorithms (3)
- Pre-reqs: CMSC 150 and CMSC 350 (or 230)
Java Challenge
You may have noticed that I listed "Java proficiency" under a couple of courses in addition to the pre-req(s). In other words, I don't have the pre-reqs for those pre-reqs (lol), such as CMIS 141 (Introductory Programming) for CMIS 310 in my first semester. I reached out to the head of the Computer Science department at UMUC, and was told "you are welcome to test out of, or provide sufficient evidence of detailed programming skills you possess in Java for entry into these courses... The best way to demonstrate Java skills is to show provide programs you have specifically written. They don't have to be very complex- just something you wrote yourself and are comfortable with discussing." In so many words I told him, "no sweat, I know Java, and I'll write you a program to prove it." Then I realized what I'd done and went, oh shit I gotta (re-)learn Java!
Full disclosure: I have a passing familiarity with Java programming, having taken it 11+ years ago in high school. But my memory is terrible and I never kept up with it, so when I checked a Computer Science AP practice test from the same time period the only thing I recognized was the existence of "If, Else" statements. Not how to do them, just that they exist... this was going to be rough. I started by checking the schedule of classes and finding the syllabus for CMIS 141 (the only difference between syllabi is the professor's contact info at the top). Then I compiled a list of Java concepts that the course covered:
- Standard I/O
Full disclosure: I have a passing familiarity with Java programming, having taken it 11+ years ago in high school. But my memory is terrible and I never kept up with it, so when I checked a Computer Science AP practice test from the same time period the only thing I recognized was the existence of "If, Else" statements. Not how to do them, just that they exist... this was going to be rough. I started by checking the schedule of classes and finding the syllabus for CMIS 141 (the only difference between syllabi is the professor's contact info at the top). Then I compiled a list of Java concepts that the course covered:
- Standard I/O
- Selection Statements
- Loops
- Nested Loops
- Methods
- Objects
- Arrays
- ArrayLists
- Classes
- Class Methods and Variables
- Strings
- StringBuffers
- Command Line Arguments
- File I/O
Before you start programming in Java, you will need the Java SE Development Kit (JDK) and Eclipse IDE for Java Developers running on your computer. If you need assistance, Windows 10 users can check this video, and Mac users... try your best; my brother had to redirect the Java directory in Terminal, but maybe you'll have better luck. With my tools and list of concepts to learn, I went to my list of free resources and made my way through the Java courses on Codecademy, SoloLearn, and Udacity (though the last one required more time than I was willing to commit).
Before you start programming in Java, you will need the Java SE Development Kit (JDK) and Eclipse IDE for Java Developers running on your computer. If you need assistance, Windows 10 users can check this video, and Mac users... try your best; my brother had to redirect the Java directory in Terminal, but maybe you'll have better luck. With my tools and list of concepts to learn, I went to my list of free resources and made my way through the Java courses on Codecademy, SoloLearn, and Udacity (though the last one required more time than I was willing to commit).
Once I programmed my Hello World and tested each of the above concepts, I was ready to write a complete project that would encompass all of them. My (very simple) project was for a fictional gym called Ideal Fitness LLC (since I was looking for a new gym at the time) - managing memberships as well as different gym locations and the available equipment at each. I figured this wouldn't be a program that the typical computer scientist would think to write. :p My brother was an incredible resource for writing this program, and he helped me to think through the structure of a programming project and how to fit it all together. He also patiently explained any concepts I was having trouble grasping, and showed me how to implement them.
Keep in mind that this was all happening while studying for the IT certifications, and I ultimately prepared to submit the project with enough time to register for classes. After approximately 44 hours of preparation in learning Java basics and writing the project code, I sent it in to the CS department chair on 7/22 ("see, told you I know Java") and was informed that it was "more than sufficient for entry into CMIS 310." Wahoo!! Now I just need to do it one more time with CMIS 242 to get into CMSC 350: Data Structures and Analysis in January (so I'll probably aim to submit it in late November).
Current Classes
Fast forward to now. I'm currently taking Calculus I and Computer Systems and Architecture, and these first 4 weeks have been... an adjustment period. It's been 11 years since my last dose of math and CS courses, and 7 years since any courses at all. Week 1: woke up at 9am on Saturday and worked until 5am that night, completely ruining my social plans; week 2: finally finished and submitted homework 30 minutes before it was due on Sunday night; week 3: officially the most boring person during our family weekend at the beach. Finally, in week 4, I think I've started to get the hang of these classes with Monday-Sunday weekly assignments:
-Monday-Wednesday: Readings and videos
-Thursday: Discussion posts
-Saturday morning: Homework
-Sunday: Study and prep
Current Classes
Fast forward to now. I'm currently taking Calculus I and Computer Systems and Architecture, and these first 4 weeks have been... an adjustment period. It's been 11 years since my last dose of math and CS courses, and 7 years since any courses at all. Week 1: woke up at 9am on Saturday and worked until 5am that night, completely ruining my social plans; week 2: finally finished and submitted homework 30 minutes before it was due on Sunday night; week 3: officially the most boring person during our family weekend at the beach. Finally, in week 4, I think I've started to get the hang of these classes with Monday-Sunday weekly assignments:
-Monday-Wednesday: Readings and videos
-Thursday: Discussion posts
-Saturday morning: Homework
-Sunday: Study and prep
To all my friends who feel like I've been blowing them off lately, this is why. Sorry guys! I'm hoping to have Fridays and Saturday nights available to hang out in weeks and months to come.
After these classes are complete in May 2017, I will have earned the equivalent of a minor in Computer Science. Unfortunately, I've been told that unless I go back for another Bachelor's degree I cannot actually get said minor, but damn it I'll be putting "Minor equivalent in CS" on my resume. And then, graduate school applications here I come!
Now if you'll excuse me, these job applications won't send themselves.
UPDATE: I've finished my classes, and here are my reflections!
After these classes are complete in May 2017, I will have earned the equivalent of a minor in Computer Science. Unfortunately, I've been told that unless I go back for another Bachelor's degree I cannot actually get said minor, but damn it I'll be putting "Minor equivalent in CS" on my resume. And then, graduate school applications here I come!
Now if you'll excuse me, these job applications won't send themselves.
UPDATE: I've finished my classes, and here are my reflections!
No comments:
Post a Comment