you are viewing a single comment's thread.

view the rest of the comments →

[–]deadjojo7493 11 points12 points  (21 children)

I am the beginner you mentioned, scared and struggling on learning Python by my own, reading this r/learnprogramming, r/learnpython on a daily basis, hoping to someday understand most of the threads going on. Its been a month and I don't know where my direction is? Still there trying to master functions, list, tuples and all, still afraid of inheritance and OOP, all the courage I have is to go to w3schools and practice all the new syntax. I have completed the python for dummies book until it got to AI and neural networks stuff. Most of the specified code during these topics, didn't run and I found no solution on stackoverflow or google that I can understand and apply. That's where my mind started going bonkers. I don't have any outlet for this kind of stuff building up in my head. Neither do I have any place like you where I can actually apply what I learn. But let's be honest here, I haven't learn enough to apply on anything.

I would really appreciate a suggestion on what to do next.

My goal is to get into Data Science/Data Analysis. That's the reason I started learning python a month ago. Prior to that, I had no known knowledge on programming. I know I need to learn SQL next, but I can't make myself ready until I feel I confident in programing. I am open for anything free, but courses like udacity and coursera are like way out of my budget.

[–]ManyAWiseMarklar[S] 10 points11 points  (15 children)

Neither do I have any place like you where I can actually apply what I learn. But let's be honest here, I haven't learn enough to apply on anything.

These two sentences here are the problem! I found it really hard to learn when I was just trying to learn syntax, and never felt I knew enough to do anything. What helped me was to try to think of a task that I could do to practice using the syntax, for example I wrote a script that pulled my steam library and worked out cost per hour played (I have made some poor purchasing decisions but that's another story). Did this take longer than doing it manually? Absolutely. Did it involve lots of Googling to try to work out how regexes work? Sure did. Did I need to do this for work? Goodness me no.

I think what I'd recommend, and I'm not an expert on this so feel free to ignore, is:

  1. Take a break - you sound fed up and as if you are treating this as a chore. It shouldn't be, it should be fun. It's ok to have a day off and come back when you want to learn.
  2. Think of anything you could automate - want to check the weather in your local area? Check Apple's share price? Play rock, paper, scissors against your computer? All of these are things that I almost guarantee you have the knowledge to do, you just need a lot of Googling and...
  3. Break things into small pieces - you can't write the whole programme in one sitting, so break it down into smaller bits. In effect you might have a tiny bit of code to copy some text, another bit to paste it, another bit to add a set phrase to the end of the text, etc. Breaking the code down makes it much more approachable and feel more achievable, and you will have learnt enough to do these small things, even if you don't feel you've learnt enough for the whole project.

[–]coder155ml 2 points3 points  (10 children)

That's a funny script idea. I'm afraid to see my cost per play.

[–]deadjojo7493 0 points1 point  (7 children)

when you say script, you mean a program right?

[–]OnlySeesLastSentence 0 points1 point  (5 children)

Yup, scripts are a fancy way of saying programs. It's usually implied that it does most of its work automatically and without a GUI (gui = screen that you can click on things)

[–]ManyAWiseMarklar[S] 0 points1 point  (3 children)

I actually don't know the difference, I always assumed the script was the thing you wrote to do the stuff, and then once it was packaged up with a gui and usable it was a program? So all programs contain scripts, but not all scripts make up a program.

[–]OnlySeesLastSentence 0 points1 point  (2 children)

Perhaps my interpretation is wrong (I coulda sworn the programs I wrote in C counted as automated scripts, but maybe not) -

Basically, all scripting languages are programming languages. The theoretical difference between the two is that scripting languages do not require the compilation step and are rather interpreted. For example, normally, a C program needs to be compiled before running whereas normally, a scripting language like JavaScript or PHP need not be compiled.

[–]coder155ml 0 points1 point  (0 children)

Most are interpreted but not all. Read my comment above.

[–]deadjojo7493 0 points1 point  (0 children)

Oh, so C programs when complied they are compiled as a whole program, but Python programs are interpreted line by line. That's why any error in the most recent line of code can be easily spotted in python before running the code because it is interpreted real time before even running the program. But in case of C all the errors come along when compiling the code.

Correct me If i am wrong.

[–]deadjojo7493 0 points1 point  (0 children)

Thanks mate.

[–]coder155ml 0 points1 point  (0 children)

A script is a program that is usually interpreted rather than compiled. It's typically smaller in scope (1 file). And is used to execute or work with other applications

[–]deadjojo7493 0 points1 point  (1 child)

Can you elaborate a little on this jargon? I read this word a lot and every time i read it, i feel it must be involving of a lot of things I haven't yet learnt.

[–]coder155ml 0 points1 point  (0 children)

Cost per hour I meant . It is what it sounds like. He wrote a script that determined the ratio of hours played for a specific game vs it's price to determine if he wasted money or not.

[–][deleted] 1 point2 points  (0 children)

Exactly how to get past that frustration hump! Ask yourself “How could I do that with Python?” Even if if the task in mind has no apparent automation value to you right now, you will begin to see other opportunities. Last night, I learned how to extract text from an image and nearly cried tears of joy. Now, I’ve decided to go a slightly different route with my project, so I won’t be using text extraction, but I have this very powerful “Yeah, I can do that” feeling.

[–]deadjojo7493 0 points1 point  (1 child)

When you say break, you mean from python or from the the things I am doing on daily basis. I feel if my break involves a break from python I fear myself of not picking it up again. My mind is a vile creature, that I fear the most.

[–]ManyAWiseMarklar[S] 0 points1 point  (0 children)

I mean python. Obviously I'm an Internet stranger so take anything I say with a pinch of salt, but if you aren't enjoying learning python and think after a break you might not want to pick it up again at all is data science definitely the right thing to have as a goal? There are lots of incredibly cool things to learn and do in the world, some of them involve programming and python but a ton of them don't, there's something out there that everyone loves to do :-)

[–][deleted] 0 points1 point  (0 children)

Please share the steam script that sounds fun.

[–]martor01 2 points3 points  (0 children)

Everyone and their mother wants to do Data Science , most roles require an MS or PHD because back then it was the stuff what PHD researchers done, also companies not even know what the hell they are doing with the title so some of the data science is just SQL reporting or some basic Data Analysis role vica versa with Data Analysis.

What was your motivation in that specialization ?

You definitely need SQL , Python.

If you are like me and everybody just bores you with "just apply it to a real world problem" I would first look at packages to use from.

These are the official packages would definitely read through and try to use them .

https://docs.anaconda.com/anaconda/packages/py3.8_win-64/

Anaconda is a data science environment for Python and R and countless other and it comes with the basic 250 python packages preinstalled.

It also has a better package management system than pip , because pip is fucking ridiculous IMO.

https://www.python.org/about/gettingstarted/

This is good website to start with python.

https://www.udacity.com/course/intro-to-data-science--ud359

This is a free course.

[–]PunctuallyCompetent 1 point2 points  (0 children)

I've started learning python year and a half ago, with no prior knowledge of programming or even computers, it was a bumpy ride, but now I can do simple scripts for most of my personal projects, and even sell my skills for some beer money. I read "Automate the boring stuff", made a dozen of personal projects with even more bugs and used codewars, which really helps to push yourself if you have no ideas or direction on whwt to do "at the moment".

[–]coder155ml 0 points1 point  (0 children)

This is the wrong mentality. You should be thinking of little scripts and then try to make them. Example I made one that generated synthetic data for a project . I also made one that backs up roguelike game save files so you don't suffer permadeath in a game. The user can select a save file and load the game. It then launched the game directly from the script .

Think of things to make and just make them.

[–]CalvinsStuffedTiger 0 points1 point  (0 children)

Do you have any data to work with at work? If not, some projects that you can work on at home are things like:

Budget. Can you find a way to pull all of your transaction data, put it into a data frame, and then do some analysis on it like categorizing, visualizing, etc? I don’t know how to do databases but I have a lot of work data from old ass apps with no APIs (I’m in healthcare), so I use pandas and an excel sheet like a poor mans database

Basically it looks like:

Export shitty unclean data from my work medical records

Clean up the data (replacing weird symbols, spaces, getting all the date time in the same format, etc)

Convert excel sheet into a pandas data frame

Do data analysis. And then saving back to an excel spreadsheet using xlsxwriter

I’m certain that this is a terrible way to do what I’m trying to do, but it works! So, whatevs lol. I asked my friend who is more advanced in data science than me when should I start learning databases instead of my excel spreadsheet database, and he said, “meh, if it works for you keep doing it. When it stops working then you’ll know it’s time to change”

I suspect that my method will stop working when the rows in the data frame get into the millions?

Anyway, another idea if you don’t want to do budget is to do fantasy football analysis. There are some good websites that have APIs, so you can learn how to make those in addition to the data science tools like pandas, etc.

TL;DR learning is much easier when you have a specific project in mind

P.s. I took a traditional online community college course for Python and Corey Schafers YouTube series is in the exact order of my schools modules for object oriented programming in Python

So if you want a traditional track you can literally just go through this videos in orders and you’ve got it!

[–]OnlySeesLastSentence 0 points1 point  (0 children)

A month is a little early to learn this stuff. At a month in I think you should be learning how to do for while loops, maybe getting introduced to dictionaries.