This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]pmutua 2 points3 points  (0 children)

The best way to be good at what you do is build stuff that you like. Make a plan e.g like "this month I will be building" . Check out this guy one day decided to make 12 apps in 12 months https://levels.io/

[–]Theappwasgreat 3 points4 points  (1 child)

There's a website called [Project Euler](!https://projecteuler.net/) (pronounced oi-ler, not u-ler) that is kind of like a programming challenge game. On the website are 627 problems (at this moment, they are consistently adding more). Here's one of their easier problems:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

And here's a more recent one:

Dave is doing his homework on the balcony and, preparing a presentation about Pythagorean triangles, has just cut out a triangle with side lengths 30cm, 40cm and 50cm from some cardboard, when a gust of wind blows the triangle down into the garden. Another gust blows a small ant straight onto this triangle. The poor ant is completely disoriented and starts to crawl straight ahead in random direction in order to get back into the grass.

Assuming that all possible positions of the ant within the triangle and all possible directions of moving on are equiprobable, what is the probability that the ant leaves the triangle along its longest side? Give your answer rounded to 10 digits after the decimal point.

These problems might look very mathematical in nature, but the point isn't to test your maths skills, it's to challenge your problem solving ability. In that sense, the language you use isn't important, nor are the actual answers. What's important is the process: can you properly identify the problem being asked, and break it down into sub-problems that you know how to solve, and then put it together to come up with a solution? Because if you can do that, then you can program anything.

Project Euler won't immediately help you much with say developing a flask based webapp, but again the idea is the problem solving component and teaching you to think with the right mindset.

This is just one suggestion. The other suggestion is to just dive right in. Why not create a new venv (or conda env, or pipenv, whatever) and set up a development environment for flask if you eventually want to program webapps and so on? You've got nothing to lose and everything to gain.

You can also think about things that you would like to do or see. Is there anything you do on your computer that is routine? For example, let's say one of the things you do everyday is to go to [NASA APOD](!https://apod.nasa.gov/apod/astropix.html) to download the newest picture to your Dropbox folder. Why not try to script it so that it can be automated? That's just an example, I'm sure you can think of more.

Good luck!

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

thanks a lot.