Not even on the 2nd part of the Andrew Ng's Machine Learing course do I feel my lack of math expertise hindering my understanding =(.
Background
I really slacked off during my middle school / high school days. Prime example of a procrastinator. Failed AP Calc, passed Calc and Stats in college, and never took another math class again. I really did enjoy stats, much more practical in day to day life.
There are gaping holes in my math abilities. I usually did well enough to pass, but that's horrible since this left me with a swiss cheese foundation. Probably didn't retain 90%+ of what I "learned" in school. I think the biggest problem is that there was no connection to how applicable this is to the "real world", most likely why I liked stats, I saw that it was useful in determining bias with data that we're constantly bombarded with.
May Goal
Utilizing Khan Academy I plan to get through Algebra II, maybe even Probability and Statistics, by the end of May. Courses I'm going to skip include Geometry and Trig since I consider them vastly difference than what I think is relavent for Machine Learning, unless I'm going to concentrate on Computer Vision. I have to consider whether or not to do Calculus, this will largely depend on what the Prob/Stats course will cover.
Did I mention that I love MOOCs? Well I do! <3.
Monday, April 28, 2014
Saturday, April 26, 2014
Google's Making Sense Of Data = Fusion Table Tutorial?
Finished all 3 units of Google's Making Sense of Data course today. It took about a week to finish without doing the final projects.
What I was expecting: Introduction to data science and learning statistical methods.
What I got: Introduction on how to read graphs, empirical research, and Fusion Table.
This was a super basic course. I wouldn't recommend to anyone that has taken basic stats already. This course really acts as a tutorial for Fusion Tables, a Google product that's an extension of their Spreadsheet. Fusion Table feels clunky, but the I love how easy it was to visualize the data, I mean, we even get heat maps. =D
I like how they UI of the course probably better than the Edx course, but the layout is practically identical.
Gonna see if Andrew Ng's ML class has a stats prereq so I can start diving in and create that Singularity.
What I was expecting: Introduction to data science and learning statistical methods.
What I got: Introduction on how to read graphs, empirical research, and Fusion Table.
This was a super basic course. I wouldn't recommend to anyone that has taken basic stats already. This course really acts as a tutorial for Fusion Tables, a Google product that's an extension of their Spreadsheet. Fusion Table feels clunky, but the I love how easy it was to visualize the data, I mean, we even get heat maps. =D
I like how they UI of the course probably better than the Edx course, but the layout is practically identical.
Gonna see if Andrew Ng's ML class has a stats prereq so I can start diving in and create that Singularity.
Saturday, April 19, 2014
April Goals Completed (...Somewhat lol) / Testing Careers
MITx
One the big things I wanted to pick up from the MITx course was how to determine O notation (time complexity). The course did a fairly good job of explaining it and I passed most of the quizzes on it, though my n log n understanding still needs work.
The last weeks of the course covered decision trees. I'm going to agree with commenters that this section feels rushed and was quite confusing for me to understand what it is suppose to do to writing code for it.
I did skip a few things like classes and object oriented programming since I did most of it during the bootcamp I attended.
Overall: This is a solid overview of python and how to develop time efficient algorithms. I think this covers a lot more detail than just the Codeacademy course on Python.
Testing Careers
I think going through the bootcamp was a great way to figure out if I wanted to do software development as a career, to a lesser extent I think this course helps with that decision as well. For me, these types of courses helps connect the dots that traditional school wasn't able to do. I learned skills from the courses, then was made to complete assignments that can be applied to real world situations right away.
The next courses I'm looking to take are in Machine Learning and Data Science. Since most investments/decisions are data driven these days, having knowledge of stats is super important. I enjoyed statistics when in school because it seemed so practical, especially in reading studies that we're bombarded with everyday and knowing what the conclusions actually mean and questioning methods that a study uses.
The bright side for me is, a lot of Machine Learning and Data Science in companies require programming skills as well. To develop the tools to analyze information, storing and pulling data from databases, and parsing documents.
One the big things I wanted to pick up from the MITx course was how to determine O notation (time complexity). The course did a fairly good job of explaining it and I passed most of the quizzes on it, though my n log n understanding still needs work.
The last weeks of the course covered decision trees. I'm going to agree with commenters that this section feels rushed and was quite confusing for me to understand what it is suppose to do to writing code for it.
I did skip a few things like classes and object oriented programming since I did most of it during the bootcamp I attended.
Overall: This is a solid overview of python and how to develop time efficient algorithms. I think this covers a lot more detail than just the Codeacademy course on Python.
Testing Careers
I think going through the bootcamp was a great way to figure out if I wanted to do software development as a career, to a lesser extent I think this course helps with that decision as well. For me, these types of courses helps connect the dots that traditional school wasn't able to do. I learned skills from the courses, then was made to complete assignments that can be applied to real world situations right away.
The next courses I'm looking to take are in Machine Learning and Data Science. Since most investments/decisions are data driven these days, having knowledge of stats is super important. I enjoyed statistics when in school because it seemed so practical, especially in reading studies that we're bombarded with everyday and knowing what the conclusions actually mean and questioning methods that a study uses.
The bright side for me is, a lot of Machine Learning and Data Science in companies require programming skills as well. To develop the tools to analyze information, storing and pulling data from databases, and parsing documents.
Sunday, March 30, 2014
April Goals And The Past Few Months
Let's get started with all that has happened since the end of the bootcamp.
- Coding Dojo
- Self-learning (April Goals)
Coding Dojo
After the bootcamp I got a part-time offer from the school to be a Student Advisor. Created some recruiting courses/videos and also meeting with individual students on how to write resumes, interpret interview processes, and how to handle salary negotiations.
Facebook
At the end, about wooing Google and Facebook. Funny thing, got in process for both of these companies for Sourcer roles. Facebook was super fast in getting the interview set up and got the offer same day =). As a Sourcer/Recruiter seeing how fast a company moves in the candidate stage is really important because it will be something I will be a part of. Didn't get to the on-site interviews with Google before accepting the offer from FB, maybe in the future.
I'm currently on a 1 year contract with Facebook, started this January. It has been an amazing here. Everyone is super communicative and helpful. The level of access to hiring teams is incredibile, I can literally walk to up to their desks. I've already had meetings with managers, directors, and heads of departments. Just a great experience.
April Goals: Self-learning
Haven't done goals in quite a while. Self-learning has definitely been slacking. So for April goals I'm looking to complete Mitx Intro to Computer Science and Programming to build more of a foundation in creating algorithms. It's an 8 week course, but I think I should be able to do it in half the time if I really dedicate myself.
Thursday, December 19, 2013
Should I Learn Google Dart As A First Language?: Swallowing The JavaScript Pill
Let’s get this out of the way. I’m an indecisive person. I’m the guy that’ll be in store looking at 2-10 different bottles of sunblock for an hour while one of my best friends is standing there with his hand freezing because he got a gallon of milk (thanks Kyle for always putting up with me!!!). All the while thinking this would have been much easier if I had only done the 2-4 weeks of research I usually do before buying a product (not joking).
Knowing the above, the world of programming is my own little level of Dante’s Inferno. So many choices from languages to frameworks. I went to a coding bootcamp and I took a very shallow dive into several languages, now it’s time to take a deep dive into a stack (frontend and backend). This came down to JavaScript, JavaScript/Python, or Google’s new language Dart.
It has been utter turmoil for me the past few weeks as I took a shallow look at these languages. The real decision was between JavaScript and its new competitor Dart. I’m a calculated risk type of guy and Dart is definitely a high risk / high reward scenario for Google, but what about the common man? This is where practicality wins out. I’m going to be learning JavaScript, for how long? Until I make something presentable for a project!! So months at least.
There are a lot of reasons to pick JavaScript over Dart, but the main reason for me, legacy code (ewww). Like it or not most of the web has some sort of JavaScript in it and it’s still worth learning now even as Ecmascript 6 is soon to be released, and all the frameworks that came out in the past few years are gaining traction. While learning Dart is something I still plan to do it isn’t worth being the first language I take a deep dive into because when I look for a position as a programmer I will most likely still need to deal with JavaScript code and it will be expected that I know it.
So for all the new programmers out there trying to make this decision I hope you found this helpful. I only stated one reason to learn JavaScript, but I think it’s the most important one when picking a first language. A language you will have to deal with anyways. Right now choosing to not learn JavaScript is like choosing to not learn HTML/CSS.
What Is Eloquent Code?
This post explains what is eloquent code to me and why. Note that I am still within my first year of learning to code when writing this so take it with a mountain of salt.
Before learning how to program I kept hearing about the concept of eloquent code.The word eloquent by itself vague so understandably it will mean different things to different people. Most commonly, it can mean readability, maintainability, pretty (aka syntactic sugar), well commented, efficiency (code that executes a function the fastest), or having the least lines possible to run a program.
During my bootcamp the class had algorithms to solve and we would present our answers. This gave us a chance to see how each person thinks, represented by their code. When comparing my answers to others I noticed mine was simple and straightforward, maybe that’s because I’m simple minded. I have a tendency to minimize the amount of methods already available within the language, didn’t include regex (regular expressions), and didn’t get fancy with manipulating attributes, though I understand these are needed to complete certain tasks more efficiently (time to code and runtime).
My concept of eloquent code derives from understandability. It is as follows understandable->readable->well structured->maintainable.
- Understandable code is:
- Readable: A person should be able to look at the code and understand what is trying to be accomplished. Preferably, this is by reading the actual code instead of just the comments.
- Well Structured: To obtain readability overtime the code base must be well organized. This means a person can find what they are looking for within a code base.
- Maintainable: Because the code base is readable and well structured it is going to be more maintainable (updating/editing current code base).
Well, that wasn’t vague at all (/sarcasm). This is my general concept of eloquent code. What it means to be understandable and its derivatives will be up to each person and company to define. Just make sure to document so people don’t forget.
There are definite limitations to this concept. For instance, maintaining legacy code millions of lines long. This concept will only work when starting out or if the person/company have the ability to re-write the entire code base.
A friend once told me great code will look like only one person has written it, no matter how many people collaborated. There’s a lot of information in that one statement, and hopefully I unpacked it well in this post.
Sunday, October 13, 2013
Coding Dojo Review: Days 28 & 29 Matz and More
Got into the Matz meetup at Mozilla. Defintely a great experience for my first time. Here are some pics of the event.
How we know we're at Mozilla
Buffet table!
Open Bar!
And of course me and Matz
There's going to be the Uncubed job fair next week and the Railsbridge workshop at Tapjoy on Saturday.
Overall: Great end of the week and it's going to be the same this week as well =). Starting on Ruby tomorrow.
Subscribe to:
Posts (Atom)




