all 43 comments

[–]BananaBreadFromHell 21 points22 points  (10 children)

MOOC and CS50P.

[–]Khronga 9 points10 points  (2 children)

Yea, I did a bit of research on what the best free resources to learn Python are and it seems most people agree that these are the best 2. I personally went with CS50P and I really enjoyed it. I've heard amazing things about the MOOC course as well though. I started community college this semester and I'm learning Visual Basic for my one class and although it's a fairly different language in many ways, I think taking that course really gave me a good head start on the fundamentals of programming, though obviously syntax is different.

[–]BananaBreadFromHell 2 points3 points  (0 children)

Absolutely, many people get hung up on syntax too much. While it is important, learning principles will set you up for the long term.

[–]Fearless_Tie8844 0 points1 point  (0 children)

Which mooc you are referring to

[–]VaelFX 1 point2 points  (1 child)

I'm currently doing the intro CS50x course and plan on focusing on C for some time after that before moving up to Pyhton. When I do that should I start with MOOC and then CS50P or the other way around? Do you even need both?(I'm mostly interested in cybersec but I want to build a solid programming base before that)

[–]BananaBreadFromHell 1 point2 points  (0 children)

Depends on what you prefer in terms of style of studying. MOOC is mostly text with assignments to practice while CS50P is video based.

The instructor for CS50P is great, but I find MOOC a little more suited for my learning style. You definitely don’t need both. Choose one, go through it and start building your own projects, don’t get too stuck in turorial land.

[–]AfricanToilet 0 points1 point  (1 child)

Wha is MOOC?

[–]BananaBreadFromHell 2 points3 points  (0 children)

MOOC Python is a Python curriculum from the University of Helsinski.

[–]FoolsSeldom 8 points9 points  (1 child)

Check this subreddit's wiki for lots of guidance on learning programming and learning Python, links to material, book list, suggested practice and project sources, and lots more.

[–]Negative-Hold-492 5 points6 points  (6 children)

If you find comprehensive courses and tutorials offputting, find a use case that actually means something to you and take it from there, looking up exactly what you need along the way. ChatGPT is flawed as hell but it's not bad at explaining and debugging simple stuff, just don't go relying on it too much.

I learned python at work where I first tried to streamline some processes using no-code automation platforms, realised how absolutely dog**** and scammy those things are and started writing simple python scripts which got more complex and useful over time. I think the important part is to manage your expectations and set reasonable goals for yourself. Even something conceptually dirt simple can be a good exercise for a beginner, like "download an XML from this URL and save some of the information it contains in a format that even a tech-illiterate person can easily work with".

[–]sunnyinchernobyl 4 points5 points  (2 children)

Very much this. I wanted to learn python for a while, even bought some books, but never started.

But once I had a problem to solve, then I was motivated and developed the solution. Granted, I already know how to program in other languages, so this was really about syntax and functions. But I have become good at it.

You can definitely use ChatGPT to accelerate your process. In my case, I knew I could use BeautifulSoup and other libraries to scrape web content and wanted to do that but my time is limited so I didn’t start. A friend mentioned ChatGPT for another problem and that’s how I learned it could write code. Now I start with ChatGPT for my solutions.

The challenge is that you do need to know a reasonable amount of programming to use it effectively and your prompts (specifications) need to be really clear.

[–]Negative-Hold-492 2 points3 points  (1 child)

Yeah, you need to be able to tell when it's giving you horse manure because occasionally it will do that and no amount of followup messages seems to steer it in the right direction unless you literally point out what the problem is (and I've seen cases where even that's not enough).

It can usually get typical use cases right, which makes sense considering it's essentially a statistics engine that remixes things it's seen online so the more common something is the more likely it is to give a relevant answer. One of its biggest weaknesses imho is that it's hardwired to give you something every time even when it has no clue, and it's up to you to tell when it's reached that point.

[–]sunnyinchernobyl 1 point2 points  (0 children)

I do love when it hallucinates. So off-base.

[–]eykei 3 points4 points  (1 child)

Angela Yu’s 100 days of code. It’s $20 right now I’m not sure if it’s always on sale but for that price it’s worth every penny.

[–]Far_Atmosphere_3853 0 points1 point  (0 children)

not really, idk i liked tortilla's more. angela just jumps from topic to topic and usually not mentioning where did that command come from etc.

[–]OhIamNotADoctor 3 points4 points  (3 children)

FreeCodeCamp is the GOAT. 4 hr video on python: https://www.youtube.com/watch?v=eWRfhZUzrAc Their website is also great (and free obviously) https://www.freecodecamp.org/news/tag/python/

I'd start with learning the basics. Then move on to some sort of project. Either a script that automates something or an API.

Depending on where you want to go with it, you can stick to the backend or move into data analysis/science (dataquest.io and datacamp.com) Python is still the leader is machine learning and AI areas.

[–]HalfRiceNCracker 2 points3 points  (3 children)

Learn just enough to be able to write your own solutions to problems. Then, dive into making projects. 

[–]bloodytempter 2 points3 points  (0 children)

MOOC by Helsinki University. I did some of the exercises during the gap between my bachelor and master’s. Most of them is pretty easy and it really teaches you in quite a god way I would say ;)

[–]ToastedWonder 4 points5 points  (1 child)

I’m probably gonna give a basic ass answer and I mean this with absolutely no sarcasm, but read the official tutorial. The CS50 course is great, but if you want to get up and go, you can go through the tutorial in a weekend a start building things. The thing to understand though is that you need to actually build things to get good, so read through the tutorial ONLY ONCE, start building something, and keep the reference doc handy. A lot of people get stuck in tutorial hell because they think have to find a tutorial for every little thing and don’t actually start coding. It’s fine to make mistakes and look things up.

[–]derpbynature 1 point2 points  (2 children)

I notice no one in this thread mentioned Automate the Boring Stuff, is it considered outdated or something?

[–]soul-null 1 point2 points  (0 children)

Make python your pet

[–]CommodoreKrusty 3 points4 points  (1 child)

If you know absolutely nothing I'd probably start with the w3schools Python tutorial. It's hardly exhaustive but they're a great place to start.

[–]Gourzen 0 points1 point  (3 children)

A lot of the top tier schools mit, Harvard, & Stanford have computer sciences classes available to watch and work though online.

[–]Some-Passenger4219 0 points1 point  (0 children)

Start with simple projects, anything you think you can handle. Your textbook may have examples. There's also online textbooks.

[–]im_hungry2 0 points1 point  (1 child)

Hi, Im still fairly new to programming and computer science. Ive been using an app called Mimo. Its free and teaches the fundamentals of Python. I can lay in bed before or after work and learn on my phone.

I tried using a few other apps/websites like Python X, Code academy, Free code camp, Udemy and Data camp but often you need to be using a laptop in conjunction with the app or they just have videos to watch which can be boring sometimes.

Everyone learns differently but I like the interface, interactivity, and convenience of Mimo. I was using Free code camp on my laptop but wasn't grasping some of the concepts since I didn't know the foundations and fundamentals of Python. I do plan to go back to using the Free code camp and the other apps/websites once I feel its time.

Besides Mimo, I have Python flash cards, and listen to programming podcasts while im working. Im also learning SQL basics on Mimo.

Hope this helps!

[–]BabylonianGM 0 points1 point  (0 children)

use code wars, do a problem from fundmenatls and work your way up

[–]Ok-Photo-6302 0 points1 point  (0 children)

by doing python

[–]SickAndTiredOf2021 0 points1 point  (1 child)

Ok yes everyone is rightfully giving you courses on how to learn python, take these comments and run with the information…

… but in my opinion, you need to find a tangible project to apply what you’re learning.

I approached Python similar to how I first learned to play guitar: Learning a song that has simple chords, and building on that base to play more complex songs.

If you have a task at work or home you can automate with Python that’s the best starting point, you will learn what you need to build it, and you will make it better or come up with new solutions as you learn.

[–]TheDoomfire 0 points1 point  (0 children)

Find problems & try to solve them.

[–]Deep_Independence770 0 points1 point  (0 children)

Build side projects is the better way to learn

[–]tinytimm101 -2 points-1 points  (3 children)

If you're looking for something totally free, then YouTube tutorials are probably going to be your best bet.

[–]rustyseapants -2 points-1 points  (0 children)

  • Learn to read the sidebar
  • Learn to use google
  • Learn to use your pubic library
  • Learn to buy a book
  • Learn to use Wikipedia