1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Other Self-learning Data science

  1. Dec 21, 2017 #1
    Greetings people from PF!

    I want to start my journey as a Data Scientist and currently I'm doing baby steps. I heard from people that every Data Scientist should learn Python, but problem is that I'm currently learning Java from the book Head First Java where they intuitively explain object oriented concepts. I'm really satisfied with the way they're explain them! Searching a bit through Google I've found out that Python is object oriented too. Short story, should I keep learning Java+OO concepts from the book Head First Java and at the same time start learning Python and incorporating those OO ideas into it, or should I first learn Java from that book and then start learning Python? Also, I would be really thankful if you could give me some advices and list of prerequisites for thoroughly learning Data Science. I come from mechanical engineering background (B.Sc) but I would really like in future to be good at cutting edge of Data Science.

    Thank you!
     
  2. jcsd
  3. Dec 21, 2017 #2

    phinds

    User Avatar
    Gold Member

    Learn C first. Ignore OO completely until you have mastered sequential programming.
     
  4. Dec 21, 2017 #3
    Hey, thanks for the advice! Can you elaborate a bit more on that? I heard advices that it was better to first learn C, because Java later would be easy-peasy but I found this book I'm currently reading and I was hooked onto it. I have some background experience in programming (IF statements, FOR, While etc.) but I don't understand concept of sequential programming, so a bit of an explanation would be awesome! Any good book you recommend for learning C properly? I presume you are experienced professional in all off this but there are so many different opinions on the Google about what should I learn that now I feel I don't know whose opinion I should follow. I came on this forum because I think people here are real signals in the "Internet information" noise, so I think you are pointing me to the right way. I would be thankful if you could tell me a bit more about this so I can have a bigger picture in my mind.
     
  5. Dec 21, 2017 #4

    phinds

    User Avatar
    Gold Member

    (1) Many modern programming languages have syntax that is based on C
    (2) C is closer to actual machine language than any other high level language
    (3) OOP concepts are REALLY great, BUT ... they are advanced concepts that are best learned as a layer on top of a solid foundation of "normal" programming, which is what C is.

    I recommend the "white book" https://www.amazon.com/s/?ie=UTF8&k...694963:kwd-18069405317&ref=pd_sl_87ckgegfbo_b

    Also, see here, my discussion of languages:
    https://www.physicsforums.com/insights/computer-language-primer-part-1/
     
    Last edited: Dec 21, 2017
  6. Dec 21, 2017 #5
    Ahhh prerequisites I see, thanks for the advice! Any opinions about other non-programming prerequisites for future Data Scientist?
     
  7. Dec 21, 2017 #6

    phinds

    User Avatar
    Gold Member

    math. lots of math. Finite math in particular. Where are you now in math?
     
  8. Dec 21, 2017 #7
    Undergraduate maths but would definitely need a good refresher on it. Finite math?
     
  9. Dec 21, 2017 #8

    phinds

    User Avatar
    Gold Member

    Do you know how to use Google?
     
  10. Dec 21, 2017 #9
    okay, okay no hard feelings just want to be sure wikipedia covers it all! any good insights here about learning finite math?
     
  11. Dec 21, 2017 #10

    phinds

    User Avatar
    Gold Member

    Anything that looks to be useful towards understanding (1) data structures, (2) logic, and (3) statistics.

    Depending on the type of programming you end up doing, statistics may not be directly applicable but I find that it exercises programming type brain muscles.
     
  12. Dec 21, 2017 #11
    That's neat, thanks!
     
  13. Dec 21, 2017 #12

    StoneTemplePython

    User Avatar
    Science Advisor
    Gold Member

    Do you want to be a data scientists or a machine learning engineer (i.e. programmer)? The advice you've gotten is heavily skewed toward the latter.
     
  14. Dec 21, 2017 #13
    Data scientist, but the story unfolded towards "programming prerequisites for learning Python" which I must master in order to start learning Python, and that would I presume be one of the steps of becoming DS. Also, I presume I have to learn those math concepts along the way whether I want to become ML Engineer or Data Scientist. Any tips, opinions, advices?
     
  15. Dec 21, 2017 #14

    StoneTemplePython

    User Avatar
    Science Advisor
    Gold Member

    My view on starting programming is here:

    https://www.physicsforums.com/threads/where-to-start-computer-science.903126/#post-5687288

    depending on what you want to do, starting with C (esp if you want to be an ML engineer at a bigish company as you'll end up doing an awful lot in C++) could be smart.

    If you're not going to be quite as deep in the weeds in final product coding, you could just start with Python. This would be more toward data science end of things and startups. A fair amount of startups run only in Python + Cython (which is basically a light form of C running via python in more of a python style).

    At some point you should check out things like 6.00.1x and 6.00.2x on edx.

    key math to hit is calculus up through multivariable, and hit linear algebra hard, and take a probability course (6.041x from MIT on edx is excellent). This is for data science. There are a lot of ML engineers who don't know this stuff, from what I can tell.

    After you have all the pre-reqs, check out Learning from Data here: http://work.caltech.edu/ (the edx version is offered once every 1 - 3 years and is really great).

    It's kind of shocking how many really great free resources are available on the Internet. (This forum is one of them, btw.)
     
  16. Dec 21, 2017 #15
    and also how people are helpful and willing to show you how to pave the road which leads to something you want to become in the long run, so thanks!
     
  17. Dec 22, 2017 #16
    IMHO C is being over emphasized in this thread. I work with a lot of data scientists, and very few of them know C. Very few people in my network at other companies know C.

    C is just not necessary for 99% of data science work.

    If your goal is to be a programmer, go learn C. If it's to be a data scientist, you're better off using that time to learn something else.
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Loading...
Similar Threads for Self learning Data Date
Job Skills Is age 40 too old to enter the AI/Machine Learning field Mar 1, 2018
Job Skills Best fields for self-education Feb 27, 2018
Job Skills Can self-study/teaching count as credentials? Feb 13, 2018
Engineering Safeguarding Self Against Automation in Career Jul 20, 2017
Engineering Self-teaching for a specific application Sep 28, 2016