# My learning journey towards data science

I am a data science enthusiast and a non tech person who fell in love with Data Science domain and was clueless about how to start at the first later after doing some research found out some good info.

Basic skills needed :

- Mathematics - Statistics,Linear Algebra,Calculus
- Programming language- Python/R

Programming:

So now got confused whether i should go with R or Python but after going through python syntax it really felt easy and user friendly when compared with R and python has huge library support when compared to R which makes lot of stuff easier.

Mathematics:

For data science math plays major role in most of the concepts and ML/AI algorithms so learning basic statistics and hypothesis testing ,also basics of probability,basics of calculus would really help a lot in Data Science.

Experience with python

I did face trouble with python initially when i started learning it but with practice it felt easier day by day.I used to practice a lot and main thing is its not just learning syntax with practice your problem solving also goes up if you try to solve a problem with different approaches .I learned the basics of python and also i am still practicing them even now and also learning new topics and new approaches because learning is something you need to do everyday .Discipline is needed because you can’t be motivated every time.

How I started learning python?

Well if you are a beginner with absolutely no idea on programming it will take a little bit of time more than some one from programming background.

- Data types- numerical data type(int,float) and string data type(string)
- keywords and appropriate variable naming guidelines
- Numerical data type operations- Read PEMDAS rule and modulus and floor division
- Arithmetic operators,Logical operators,Comparison operators
- Data type conversion
- String data type basic methods:Indexing and Slicing
- Basic data structures:Lists,Sets,Tuples,Dictionary
- List basics:Indexing,Slicing,List comprehension
- Tuple basics:Indexing ,Slicing
- Set basics: set operations
- Dictionary basics : getting key -value pairs and read about .get() for dictionary and its good to use .get() to access value for a key from dictionary.
- Practice above points and concepts from w3schools or hackerrank.com.
- Conditional Statements:if,elif and else statements
- Loops : for loop and while loop
- Stuff to know to use loops efficiently :usage of break,return and continue statements
- Practice pattern problems to improve knowledge of loops also learn about split and join methods.
- Exception handling :Sometimes you might run into error or there might be a exception in your data but you don’t want your code to crash there so learn about try,except and finally blocks
- Code reuse- Functional programming is important and it comes really handy in most of the cases
- lambdas- anonymous functions but lot useful especially when used with map,filter,reduce

Do some research on above terms you don’t understand because its not possible to put all these concepts into few words and i am also learner like all of you looking forward to learn even more.The above mentioned stuff are like the very basics there is a lot more to learn .

Happy learning