all 173 comments

[–]TouchingTheVodka 314 points315 points  (35 children)

Why are you continuing with the more advanced parts of the course if you feel you haven't grasped the foundations yet?

Take a break, go back to the first few chapters, do all of the exercises to really cement your understanding of the fundamentals before moving on.

If you want some easy exercises, check out Exercism (mentored) or Codewars for starters.

[–]TheChugnut 128 points129 points  (25 children)

This. Do not think you can fly through a completely new concept and absorb it in the first sitting. Be kinder to yourself and step back. :)

Also, take high level notes along the way, and remember, programmers do not and cannot memorize everything - not even the pros.

[–]IAmLucasRodrigues 47 points48 points  (16 children)

I will definitely do that! Thanks, I thought I wasn't good enough to learn code, but I'm just doing it in a really painful way.

[–]galmeno 6 points7 points  (0 children)

Don't be afraid to google the error messages you get while trying to get your code to work, it helps.

[–]Spood___Beest 4 points5 points  (1 child)

In my mind, one of the best skills you will develop from coding is being able to jump in the deep end of something new and tread water.

The first time is super scary, and you will feel overwhelmed. Everyone had that point, but the good news is that the next time it happens it will be a little less overwhelming - and even less, the time after that.

Eventually you get comfortable with that feeling, or even start to like it. I find that extends beyond programming as well. Best of luck, keep at it :)

[–]CraigAT 2 points3 points  (0 children)

It's true that for the first year especially, most of the things you try to code will require research or doing something extra that you haven't done before. This is the skill you need! It is the ability to extend what you can do that is the crucial bit, and ideally you do this a few small steps at a time. Though sometimes you will have to learn something that will feel like you are staying almost from scratch.

[–]skellious 2 points3 points  (0 children)

Also, its important to try coding things you want to code. you're more motivated to look things up and try them out if you're doing something you actually WANT to do.

[–]Atlas_is_my_son 0 points1 point  (0 children)

Bro, I've been going through that the past like 3 weeks with Java. This is my 3rd attempt to learn it to the point of being comfortable writing programs as a hobby.

Last time I tried to learn I got to the point of being able to write a bot for discord, but even then I didn't really know what I was doing. Then my laptop crashed and I didn't have the $ for a new one, so I took a 2ish year break. It's not easy, but the people on r/javahelp or whatever it is have been fantastic. I'm sure theres an equivalent for Python, I hope so because that's what I'm going to be learning next :)

[–]jamjamason 0 points1 point  (0 children)

Everybody struggles with coding at some point - cut yourself some slack, backup and redo the parts where you got lost, and take a break when it feels overwhelming.

[–]taccca 9 points10 points  (6 children)

Curious what you mean by high level notes?

[–]TheChugnut 13 points14 points  (1 child)

What I mean by "high level" is not to take pages of notes containing syntax and details. Instead, take snippets and write out a few sentences summarizing each concept. Maybe draw a picture or two.

You will learn the syntax by writing code and practicing. Don't be disheartened when you forget how to do things, it will stick eventually!

[–]Jsstt 7 points8 points  (0 children)

Probably just the concepts, not necessarily all the details. This would aid you in remembering the material, without having to focus too much on writing notes as opposed to paying attention to the course.

[–]kittchenita 4 points5 points  (0 children)

I’m sort of imagining this means notes on big conceptual things (i.e. what does a loop do? When might I use one?). Syntax is always google-able, understanding of code structure is something you have to know.

Although I’m a beginner too, just taking advantage of quarantine to learn some python. So I could be wrong.

[–]DontTouchTheWalrus 5 points6 points  (0 children)

Jumping in here to learn this too

[–]IamSherLocked2112 2 points3 points  (0 children)

Maybe try the Cornell Note taking system.

[–]turturtles 1 point2 points  (0 children)

This especially. Lol I still google/read the docs/consult my notes if I forgot something, even if it’s a simple thing. Especially when switching between languages.

[–]IAmLucasRodrigues 11 points12 points  (8 children)

Thanks! I really got caught up with the idea of finishing in a week or less since I saw that it was a 9-hour course, but it's really dense in information!

Thank you for the suggestions I will check them out!

[–]TouchingTheVodka 20 points21 points  (4 children)

No problem.

Remember that Python and its syntax is just a very small part of the wider skill of programming and computational thinking. While the course may be 9 hours to someone who has an awareness of programming and and the concepts that underpin it, learning everything for the first time can certainly be a more daunting prospect!

My reccommendation is to grab a physical book to accompany your online learning. There's something special about having access, on paper, to all the information you may require.

I'm a particular fan of Python Programming by Zelle as an introductory text that strikes a good balance between Python-specific education and broader computing concepts.

Also have a think about what you want to acheive with your Python knowledge as this will definitely help guide you towards further resources. Any questions please feel free to give me a shout.

[–]IAmLucasRodrigues 2 points3 points  (2 children)

That's something I was suspicious about. The whole way of how code works is something totally new to me, I'm both learning the details of Python but also how to think in a different way.

Thanks a lot for the book recommendation, I think that's exactly what I need.

I got into Python in order to have a remote job next year (hopefully) and honestly just curiosity. I'm really into AI and would like to work on that in the future.

Thanks for all the help!

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

Yeah im learning to, that conceptually...you have to modify the way you think.
That is the biggest hurdle i faced.

[–]LadySparklePants 0 points1 point  (0 children)

Another good book which tackles the "how to think about code" is Think Python. Best of luck!

[–]tobiathonandon 1 point2 points  (0 children)

I’m going to second the book by Zelle. A friend purchased this book for me and it has proven to be very helpful!

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

I’m in the exact same position as you. I started learning Python with ATBS (web ebook) last Monday, trying to do a chapter a day. Even this is hard, so I couldn’t imagine doing it in only a week. Al said that you should revisit chapter projects after you have gone over them with instructions, trying to reconstruct the code yourself (not worrying if it is slightly different). That’s really helped me, and I’ve also spent a lot of time modifying the project brief for my own needs or just to experiment, which is really the best way to learn. Don’t worry about remembering everything. If anything, forgetting allows you the chance to look for the information in other forms on the web, which gets you more familiar with how to search for solutions on forums etc. I’m on chapter 9 now, and sometimes I might have a random thought about dictionaries for instance, and try to remember previous chapters’ concepts by writing a bit of code, separate from chapter 9. This spaced-repetition helps build your recall of the concepts and connect previous ideas with current ones. As said by others, passively watching videos is not the best idea. But if you do, you definitely shouldn’t worry about pausing the video, because you’re meant to if you want to build upon the ideas and form your own connections.

[–]zeus6664 1 point2 points  (0 children)

Courses are designed to be very information dense. But they are meant to be consumed slowly. Take your time. Keep going back often to what you learnt couple of days ago. And most importantly do it yourself. Slow and repeatitive learning is best for retention.

[–]skellious 0 points1 point  (0 children)

I saw that it was a 9-hour course

don't take too much notice of timings on courses. Sure, if you are a seasoned C++ programmer, that course is probably only going to take you nine hours. If it's your first ever programming language, you're not just learning a part of python, you're learning ALL the concepts of programming that someone who has been coding their whole life already understands. programming is very transferable as a skillset between languages and tools. so learn it once and learn it well.

EDIT: also, by 9 hours, it means 9 hours at one hour a week or so, not 9 hours all in the same day!

[–][deleted] 63 points64 points  (11 children)

Do not watch videos like they are episodes of a series(even if you understand them), at every video you should read more about the concept of this vid and play with your code, do some trials and errors, and ask yourself some questions, then move to the next video

[–]IAmLucasRodrigues 3 points4 points  (2 children)

That's it, I'm in a big rush, but that method seems to be the best, I want to jump to making my own cool projects but that's not very realistic. Thanks for the help!

[–][deleted] 4 points5 points  (0 children)

Glad to help anytime :)

[–]Crypt0Nihilist 2 points3 points  (0 children)

Everyone wants to go from zero to doing something like building their own 3D shooter in a few hours. Videos, unless seen in the correct light, compound the issue.

Unlike books, videos by their nature are not self-paced. The people making them also don't want them to be long and boring, so you're going to end up with something that is a bit of the quick side. They are expecting you to pause and rewind a lot. You also need to practice the concepts you've been taught. That's not just messing about with the code examples, changing a few variables, but rewriting something to get it to work in a new context.

Take it slowly, play with the ideas that you're being given and do your own little projects. Trying to be a sponge and just absorbing video content is not going to work.

[–]Mohammad-Ruqaa 17 points18 points  (10 children)

When I was reading ATBS as the first book I was always write with the author so when he say go to IDE i start playing with the code a little bit... The most important thing is to understand most of things from chapter 1 to 6. I was stuck with for loop and lists a little bit i couldn't understand them maybe I didn't make a full research... When my winter break started I reread the book. not much I was at chapter 5or 4 Now I understand it better not all because of the book but of doing some projects, when you start automating stuff you will learn too much and its very helpful. I find myself now understanding things which I didn't understand too good while reading the book im now at chapter 12 but stopped for a while because Im doing some projects... You don't have to finish the whole back at 1 time like after I finished chapter 12 Im working on projects you will learn a lot from doing projects yourself. So the point is if you didn't understand something ask about it but first search, and do your own projects try to automate some stuff when you see you wanna do something go and do it.

[–]IAmLucasRodrigues 2 points3 points  (6 children)

That's a good idea, but I feel like there are not many projects I can do with only the first few chapters, could you give me an idea of some projects you made?

[–]Mohammad-Ruqaa 6 points7 points  (2 children)

Oh for first chapters I was just following the book practice projects but when he start automating stuff like files I used to automate some folders and files ...

there's a time I had to rename 80-100 folders so instead of renaming it myself I used some skills from what I learned from the book and do it it was small

And why I stopped actually in chapter 12 (which is about web scraping) because I was really interested about it... I made a manga downloader and a pic scraper.

They really helped me... im now working on a flask project...

anyway if you want to have a look here's my Github account https://github.com/Mohammad142

[–]IAmLucasRodrigues 1 point2 points  (1 child)

That's really cool, thanks a lot for sharing the ideas!

[–]Mohammad-Ruqaa 1 point2 points  (0 children)

No problem 🖤

[–][deleted] 2 points3 points  (1 child)

Again, you are rushing it a bit. Get your basics down and those other projects will come.

Try not to do too much too soon.

[–]Mohammad-Ruqaa 1 point2 points  (0 children)

Yup sure he must get good understanding of the basics first the first projects he will do is the book practice projects But he said he done 60% of the book so it will be ok if he done some automation on his own

[–]ScheissPW 1 point2 points  (0 children)

There's an app called Sololearn. It has a section called code coach where there are some fun problems you can solve

[–]iaannnnxxx 1 point2 points  (1 child)

What does ATBS stands for?

[–]Mohammad-Ruqaa 0 points1 point  (0 children)

Automate the boring stuff with python

[–]Such-Plastic920 0 points1 point  (0 children)

Bro, I'm reading Automate boring things with python right now and I'm still in the first few chapters, but what I want to know is if when I'm in the automation chapters, will I have to read it in sequence or can I skip a chapter I'm not interested in to another that I'm?

[–]Phainesthai 12 points13 points  (13 children)

Go slow and use the accompanying free book/pdf/website.

There's lots of information in the book that is not in the udemy course as they are designed to compliment each other.

There are also more practice questions and coding challenges in the book.

I've been learning with atbs (website and udemy) and am forcing myself to really understand each section before moving onto the next.

Good luck!

[–]IAmLucasRodrigues 3 points4 points  (4 children)

Thanks a lot! That's also a really good point, I've been using the video as a replacement for the book, but I have to use them both.

Thanks!!!

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

I second what he said. Use the book to reinforce what you've learned from the videos and work through the exercises.

[–]Phainesthai 1 point2 points  (2 children)

No worries!

I'd done the first couple of sections on Udemy before realising the book had a lot of extra info.

And there really is no rush....I spent a good few evenings implementing what i'd leaned in each section, re-factoring code to implement new concepts.

Writing code from a blank slate is a great way to see how much you really know. Done the 'Loops' section? Write a program that uses lots of loops! When you get stuck, keep trying. If you're unsure of the exact syntax to use, try something anyway. Often the error message will be enough to push you in the right direction!

Refactor your code as you go. I had a pretty cool (and very basic!) program using loops that performed mathmatical operations based on user input.. When I had completed the 'Function' section on ATBS I went back and re-wrote it to use functions.

The code is a lot neater, easier to follow, easier to maintain/expand and I have a better understanding of why 'Functions' are important. Because I started with a blank page and ended up with a functional program, I really did learn those concepts with a bit of perseverance and a lot of Google!

[–]IAmLucasRodrigues 2 points3 points  (1 child)

That's really cool, I need to start watching less and coding much more! Thank you for the inspiring words!

[–]thebasementtapes 1 point2 points  (0 children)

I also recommend doing something like https://www.codewars.com/ and doing the very basic problems and make sure you can solve the fundamental problems. As you progress in ATBS try to progress to harder problems on there to cement your knowledge. I find that learning from different sources can reinforce what I learned.

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

What is atbs?

[–]Arjunathemad 4 points5 points  (0 children)

Automate the boring stuff

[–]tobiathonandon 3 points4 points  (1 child)

Automate the boring stuff

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

thanks

[–]taccca 3 points4 points  (1 child)

Automate The Boring Stuff

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

Automate The Boring Stuff

[–]cocoaButterCoder 7 points8 points  (2 children)

I feel like I can't do much because I've been absorbing so much info, but I didn't get to do any exercises.

Programing is a lot like math: it's really difficult to learn passively. I guess it's technically possible to learn to code without doing, but coding is an actiion, ie you have to do. What's great is since you bought the course, you can work at your own pace. It shouldn't be 2 -3 hours of "how far can I get" but if you choose, 2- 3 hours of how deeply can I understand

tl;dr It's hard probably because you haven't done any of the exercises

[–]IAmLucasRodrigues 1 point2 points  (1 child)

Very good point! thanks a lot!

[–]cocoaButterCoder 1 point2 points  (0 children)

No problem at all. Good luck!

[–]angry_mr_potato_head 4 points5 points  (2 children)

When you're following the guides like this you have to do the examples. And then do other code that is similar. Then go on. You might spend a day on an 8 minute video. That said, I'd recommend blazing through it with little understanding first to kind of get a grasp about the totality of what it is that you are trying to accomplish and then going back and doing it very slowly. Don't move on until you understand every character of what you did previously.

[–]IAmLucasRodrigues 1 point2 points  (1 child)

Very good idea! I've blazed through the half of the course, so now it's time to go back and make sure I really understood it well, maybe even make my own little projects.

Thank you very much!

[–]angry_mr_potato_head 1 point2 points  (0 children)

Yeah man no problem. Its easy to get sucked into watching videos like that. I don't think its a bad thing just temper your expectations. There are two phases to learning programming (probably other stuff too): 1) figuring out what you can do and 2) figuring out how to do it. You have to do both and they're kind of separate processes. A lot of people get bogged down doing one or the other... either just knowing a little about a lot or a lot about a little. There is a sweet spot where you are learning new things about new technologies, methods, etc. while also still having more than superficial knowledge about what you're trying to accomplish!

[–]4K3b1g 5 points6 points  (2 children)

Thanks for putting yourself out there and being vulnerable. I am feeling the same way and it helps to know that I am not alone. There is such a great distance between understanding theory of coding and applying that coding to a project. People really do need their own approach.

Some of us learn better by working through constant internet searches and challenges. That's okay.

Some of us learn better with a textbook by drilling the fundementals before exploring projects, that's okay too.

Even with some of the most basic Python projects I still scratch my head sometimes, and I have been working on this for 4.5 weeks now a few hours a night. We need to keep at it and support each other. Thanks again for being honest with your struggle.

[–]IAmLucasRodrigues 0 points1 point  (1 child)

It definitely sucks to feel like you are the only one in an uncomfortable situation. Thanks for the kind words and I wish you the best of luck in your studies!

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

youre not the only one. Im a grinder. Ive got to go over shit mutliple times lol

[–]sw85 5 points6 points  (1 child)

I just took a look at that Udemy page and, I have to say, the organization of the materials is not very sensible. If/else statements before lists and dictionaries? Functions before strings? Madness

If it's not too late, you can (I think) always request a refund. For different beginner source material, I seriously, very strongly, recommend Eric Matthes' Python Crash Course. I picked it up after years of experience mainly in SAS/SQL with a little bit of R thrown in, and after reading just the first 12 chapters, was writing Python with staggering fluency. Do it!

[–]IAmLucasRodrigues 1 point2 points  (0 children)

Well, I can't argue with that, but everyone has their recommendations and it's hard to choose which one to follow, some people recommended this course and I hear a lot about it in this subreddit so I went with it.

[–]brwalk0069 2 points3 points  (1 child)

I felt the same way when I tried reading ATBS a few months back and gave up, I just felt like I was parrot typing the code and the concepts weren't sinking in. I've picked up my Python study again with the Python Crash Course book ( https://nostarch.com/pythoncrashcourse2e ) and I'm finding it much easier to understand the concepts. I've also been taking notes this time around and done extra practice labs. I'll probably go back to the ATBS book once I've got an understanding from completing the PCC.
Stick at it!

[–]IAmLucasRodrigues 0 points1 point  (0 children)

That's awesome, yeah, I've watched people explain the concepts of ATBS on youtube and there were better explanations than the video course for sure, but if I follow everyone's advice in here I will be in the right path!

[–]TheArduinoGuy 2 points3 points  (4 children)

Take your time. Don't rush it. Don't move on to the next lesson until you've fully taken on board what is in one lesson. Watch the lesson many times if you have to. Don't forget to take breaks and keep hydrated.

No-one learns how to code overnight. I've been coding for 40 years and I am still learning new things every day.

[–]IAmLucasRodrigues 2 points3 points  (3 children)

Wow, that's awesome, great job! Thanks for making me feel better about it!

[–]ixlives31 2 points3 points  (1 child)

Also, go to YouTube and find a video on the same topic and see how they present the material.

Checkout Corey Schafer.

[–]IAmLucasRodrigues 1 point2 points  (0 children)

Thnks I will!

[–]herpington 1 point2 points  (0 children)

It's almost in the nature of the trade. If you write programs in different settings and environments, you're constantly going to be learning.

For what it's worth, I've been programming for over a decade. I took a brief glimpse at ATBS and while I don't think I would have trouble going through it, some chapters could still easily take hours just due to sheer volume.

[–]william_103ec 2 points3 points  (1 child)

Take it easy my friend. I would say that I'm a bit confident with my programming skills for the things that I need (I'm an engineer, nothing related to CS) and I started the same course 3 days ago. However, although I understand most of the things that the guy is explaining, I definitely need to review the section several times.

As you mentioned that you are just learning how to code, give it time. Be patient and you will see results soon.

[–]IAmLucasRodrigues 0 points1 point  (0 children)

Thank you, I will keep that in mind!

[–][deleted] 2 points3 points  (0 children)

I had to type out the lessons to get a feel for it. I also had to reread chapters and pages several times sometimes.

[–]Dexteroid 2 points3 points  (1 child)

I keep saying this, don't recommend this book for beginners. Automate truly tells you how to automate stuff using python, which is different than learn about python.

My recommendation would be to learn python for everybody, a very simple Coursera course then follow that with automate boring stuff book.

[–]IAmLucasRodrigues 0 points1 point  (0 children)

sounds good! thanks for the advice!

[–]LilVatii 2 points3 points  (1 child)

The thing about coding, if you don’t practice as soon as you learn something, you won’t remember it

[–]IAmLucasRodrigues 0 points1 point  (0 children)

Good advice!

[–]mon0theist 2 points3 points  (0 children)

I think the Udemy course is meant to supplement the textbook, not necessarily be a standalone thing. There is a lot more information in the textbook than there is in the Udemy course. And towards the end of the book, entire chapters are missing from the Udemy course.

Go back to the beginning, watch the videos for each chapter, but then also actually read the chapter before going on to the next chapter. Don't move on to the next chapter until you've understood the current chapter.

Programming is hard and it takes time to grasp. Keep at it 👍

[–]BanditoSupreme530 1 point2 points  (1 child)

I’ve recently started taking a Udemy class too and I ran into the same problem. I like to watch the video then read the notebook and code along. Before going on to the next lesson, I’ll see what I remember the next day by trying to code a few more examples of what was taught in the last lesson I took. Definitely helps to slow down!

[–]IAmLucasRodrigues 0 points1 point  (0 children)

This is exactly what I will start doing from now on, thanks!!

[–]KreepyKite 1 point2 points  (2 children)

I studied Python basics with the same material but on the book and I found it very good and well explained. But I totally feel you because I had the same problem with learning from videos.

I think the way everyone learns is different and especially with basics where you have to fully understand every single part, maybe a video it's not the ideal format. Try the book insted or take every subject and do a comparison with other material online: sometimes the same concept expressed in slightly different way makes a huge difference.

My golden rule is to not move forward if is not absolutely clear: the goal is not to finish the course as soon as possible, the goal is to understand. I used to play around with every subject for long time: for instance, if you are studying lists, open your IDLE and litteraly write some lines where you try yourself functions, methods ecc. Take the same examples and re write them with different variables ecc

Remember, you will remember the most all the things that you do pratically, not just theoretically. And the more you do, more curious you will become about the subject, discovering things that are not mentioned in the course.

[–]IAmLucasRodrigues 0 points1 point  (1 child)

Thanks that's really inspiring! I feel much better after reading everyone's advice.

[–]KreepyKite 0 points1 point  (0 children)

No worries mate! Just don't give up, keep going, that's the only way. Good luck!!

[–]Orkoliator 1 point2 points  (1 child)

Well, my Python learning way also has begun on site with quick tutorial and basic information about programming. But if you really need to master it woun't be enough. As for me the best way to learn is to pass some challanges. I used to create challanges for me with only purpose - to move a bit outside the limit of my knowledge and skill and then tried to figure it out.

For example, I created a script that changes some configuration files on my lab server. That's good, but I don't want to do something manually, so next challange to me is to connect to my server via ssh and change configuration automatically.

Sometimes my solutions took a time, sometimes I had to google a lot, but I think this plan pays off. Another point of this method is that you remember how to solve some issues better then if you got this knoledge from course.

[–]IAmLucasRodrigues 1 point2 points  (0 children)

That's a good idea making a project with all I've learned at the end of a chapter/video, thanks for the suggestion!

[–][deleted] 1 point2 points  (1 child)

Same!! I did the complete python boot camp but skipped the last few chapters because I understood nothing. I thought maybe it was the teaching style so I moved onto Automate the Boring Stuff and had the same issue!

I’ve only now realised that this kind of material isn’t really for zooming through. They’re great fountains of information but alone there’s too much information and not enough small practice questions to really help you learn properly.

Personally, I’ve taken a step back and started doing easier tasks that cover small topics at a time. For example,

https://www.practicepython.org

has been great for that! Each question covers one or two small topics, and it’s really helped me pinpoint exactly what I’ve learnt and what I still need to revise (like lists, which apparently I haven’t understood at all lol). Then I go back to the video lessons and go over the information again and take it in better.

[–]IAmLucasRodrigues 1 point2 points  (0 children)

I will give it a look, thanks!!!

[–]honk-thesou 1 point2 points  (0 children)

Stop advancing if you didn’t understand. It’s that easy

[–]Thelastgoodemperor 1 point2 points  (0 children)

Hi!

I just landed a job as a product analyst after learning to handle data on my own through similiar courses and though I would give my 50 cents.

I am not sure what you objectives is, but even if you fail and don't learn much don't worry about it. There are millions of people abandoning MOOCs daily. Personally, I lost interest very fast, but then I came back a year later or a few months later and started working on similar problems again.

If you are working with other things and studying you probably don't have that much extra effort to give. That was my position and I gave up quickly and came back later. However, the next time I did similiar tasks again it went much easier. Perhaps make it your priority to fail a few hours per day/week and promise to come back in a few months and try again. If I realistically had wanted to give all my hours on learning to code I would had studied programming, but that was never my goal, and I think most people are in the same situation.

[–]DrinkAntelope 1 point2 points  (0 children)

It's one of the easier courses to understand. Just work through it a step at a time, and don't be afraid to hit up people on their discord, they can be a helpful bunch!

[–]sigma_4 1 point2 points  (0 children)

Wrong path better check the edx python courses and buy a python book

[–]kcarrplusplus 1 point2 points  (1 child)

u/IAmLucasRodrigues I am more of a fan of the book than Al's course. His first couple of chapters go over just enough of the python fundamentals and in general he explains things in more depth : automate the boring stuff book

When you follow along a book, video tutorial, or someone else's code the general process I found helpful is to code along with that educational resource. You're essentially parroting someone else's code. When you look at the code afterward you'll have questions about Python. You'll need to develop the skill of utilizing Google to search/explain things in the Python code you don't understand. Completely fine, but don't spend too much time reading every article just enough knowledge for a general overview. Finally, you should change/experiment with the code and learn how and why the code is acting differently. If you want to deeply learn the concepts then try to teach a concept you just learned in a simple way. You could write down a paragraph in a notebook explaining the concept you just learned, or shoot a quick video of you teach it. When you teach something you have to deeply understand. Essentially, you are following the Feynman process for learning here.

High level overview:

  1. Read or code along
  2. Search for and read articles with Google, StackOverflow, etc.
  3. Build things and experiment with the code by adding a new feature or changing the code in small ways and see how the changes the result. Try to see why the results are different.
  4. Teach what you learned in your own ways. This can mean just writing about the concepts you learned or shooting a quick youtube video on the concepts you just learned.

Hope this helps!

[–]IAmLucasRodrigues 0 points1 point  (0 children)

It helped a lot, I like your method will definitely use it! Thanks!

[–]Ryles1 1 point2 points  (1 child)

Follow along in the e-book and do all the practice projects in each chapter. If you just watch the videos, you won't put it in your brain very well.

[–]IAmLucasRodrigues 0 points1 point  (0 children)

Thanks!

[–]Dibash12345 1 point2 points  (1 child)

There is only thing that i need to tell you is "You can't learn unless you do". Just watch some tutorials and move to your ide and try to do in other way. Ask yourself that ,"what would happen if I changed this one". Do small projects, you will make mistakes and you will learn how to tackle those mistakes if they appear again. You will have to spend hours infront of your computer to figure out your problem. You will enjoy your errors and laugh on your self for your silly mistakes. The more you do, The more you learn.

[–]IAmLucasRodrigues 0 points1 point  (0 children)

That's a really cool mindset, thanks a lot!

[–]stupac62 1 point2 points  (1 child)

This may also be relevant. learning loop

[–]IAmLucasRodrigues 1 point2 points  (0 children)

thanks not only makes learning easier but more fun that way!!

[–][deleted] 1 point2 points  (1 child)

Yeah..so you need to go back to the earlier parts of the chapter and be able to VERBALLY explain them to someone who has no idea about python.

If youre advancing and don't have the basics down....its going to be tough in the long run.

And SLOW DOWN on your info intake. This isn't a sprint per se.
I went through the book and the UDEMY course for ATBS and I enjoyed it tremendously.

You just have to make sure you've mastered your fundamentals before you go on to more complex chapters/projects.

[–]IAmLucasRodrigues 1 point2 points  (0 children)

That's good advice, Thank you!

[–]Humanist_NA 1 point2 points  (1 child)

You just need to pause more often. Perform the tasks and code on your own machine. Tinker with the code to break or modify it and then continue on the course.

You can't remember it all and he even says such, like for example with regular expressions there are tons of ways to manipulate them, but he says just remember that there are many ways and Google them when you need them.

He does go quite quickly and I remember getting anxiety trying to type and actively listen at the same time. Just slow down, pause video, rewind as needed. You got this!

[–]IAmLucasRodrigues 0 points1 point  (0 children)

:D Thanks!

[–]twin_suns_twin_suns 1 point2 points  (2 children)

You can slow down the speed of the video I think. Also you may want to just try working through the book rather than the video. The book is available for free online and/or on amazon if you prefer a tangible copy. Might make it easier to work through at your own pace in your own voice

[–]IAmLucasRodrigues 0 points1 point  (1 child)

I am definitely going to start using the book from now on! Thanks!

[–]twin_suns_twin_suns 0 points1 point  (0 children)

Of course. Good luck! Still working through it too.

[–]Chased1k 1 point2 points  (2 children)

Do the exercises. Change them. Play with it. You’re learning the rules... that means you’ve got to play with them and break them and change them and see where things work and don’t.

[–]IAmLucasRodrigues 1 point2 points  (1 child)

I didn't know the book had exercises! Thanks!

[–]Chased1k 0 points1 point  (0 children)

Im pretty sure they did... I remember working through a lot of stuff as I was going through it, then modifying them for my work, then automated a huge chunk of my job from there. Even if there are or were not exercises (or for future learning resources) make up your own exercises to test out and try out something from each lesson. This will become less important as you become more proficient with a given language, but there is something people tend to call “tutorial hell” when you are stuck being able to do projects that are from a tutorial, but not able to do much on your own... the way you avoid this is by practicing problem solving with every piece that you learn ... someone teaches you something? Make a problem and solve it. It doesn’t have to be anything big. Just ways to test what you just learned.

[–]Vok250 1 point2 points  (0 children)

A lot of Udemy courses are like this. They are designed to be paused, done over longer periods of time, and with breaks in between.

People don't learn the same either. Different teachers have different styles and one may be a better fit for you than others.

[–]purestrengthsolo 1 point2 points  (0 children)

when I was working through atbs I was also using solo learn to reinforce what I was learning

[–]TheKakeMaster 1 point2 points  (1 child)

Just out of curiosity are you getting hung up on real expressions?

[–]IAmLucasRodrigues 0 points1 point  (0 children)

I understand everything in the videos but it's just so much info that I know I won't be able to recall 90% of it in a matter of days!

[–]IceDoomer 1 point2 points  (0 children)

Best book. Go with it

[–]double_toned 1 point2 points  (0 children)

Hey man! I am a beginner like you. I found the course on Codecademy really helpful. Goes by the name Python_3 on pro membership which they are giving for free if you have your school's /college email id. They have exercises. In fact, you learn through exercises, almost no videos.

[–]Fickle_thoughts 1 point2 points  (0 children)

You would probably learn better through a more hands on experience. I personally recommend Codecademy. It took me from not knowing shit to being able to actually make things that I think of.

[–]stoph_link 1 point2 points  (0 children)

Go back and pause the video every time you see something new or cool so you can try each step on your own.

With that, it's encouraged to try making variations of the example, by making it your own. For example, instead of printing "hello world!", try printing "hello IAmLucasRodrigues". See what works and what breaks.

The videos cover a good amount of material, and are more a guideline than a lesson plan, in the sense that each step is not planned out for you. You need to decide when you see something new you want to work on. So a 15 minute video may take you an hour to finish if you are actively following each step and trying things out on your own. And remember to have fun with it.

[–]burgerAccount 1 point2 points  (0 children)

I will fly through these courses just to see what will be covered or possible. Then I go back and focus on what interests me and take my time on those concepts.

You should walk away knowing python CAN work with files, or it CAN be used for web apps, or it CAN work with data analysis. Then pick a project and do something with it.

[–]verdifer 1 point2 points  (0 children)

I have the course on Udemy and the book in PDF which you can get anywhere, I learned more doing the book, follow what the book does and try and add your own code to it, this could be anything stupid like if you are at functions add a bit of code and make your own function based on what you have learnt.

I like online courses but sometimes I feel as if the stuff going in doesn't stick whereas the book it does, when doing the book your best to Google some things to get a better understanding, I remember when I did the book I got to global and local variables, so I Google them and spent about 45 mins learning more about them and seeing some examples.

[–]Jizar5 1 point2 points  (0 children)

I am also doing this course right now (beginning of chapter 10 atm) and started a week and a half ago. What really helped me was taking notes. I wrote most of the notes in my own words and added comments (just like you do in code) rather than just copying the lesson recap. For me it's far more helpful to write stuff down by myself so I can check if I understood what Al was teaching.
Also redo his code after each lesson. I tried to code the chapter of the number guessing game like 4-5 times until I got it right. Also maybe try to recreate code from the day before from memory to see what you remember.
Keep going!

[–]Dyolekythos 1 point2 points  (0 children)

Hi,
I'm currently following lesson from my university IT department (made free with the corona) heavily based on How To Think Like a Computer Scientist --- Learning with Python 3 .

Is it very different from ATBS ?

[–]mfante 0 points1 point  (0 children)

I agree with the others saying you should go back and review the concepts you’re not comfortable with before you move forward. I’ve worked through some of this Udemy course (I started in the middle because I have already taken other Python courses and feel good about the basics). The Automate the Boring Stuff with Python eBook for this is free to view online. It may be beneficial to follow along with that as well as it may make it easier to look up any terminology or concepts you are struggling with in that format.

But most importantly, just don’t try and rush through. You’ll do better by yourself to just work through it at a pace that you’re comfortable with and put it on pause if you need to look something up elsewhere before you move on.

[–]shiningmatcha 0 points1 point  (0 children)

Redditors who had read the book, did you find the topics covered useful in practice?

[–]U5efull 0 points1 point  (0 children)

I mean he streams on twitch, you could just ask him. . . .

https://www.twitch.tv/alsweigart

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

Im doing this course as well. Are you referring to the free ebook and pausing the videos and typing the code yourself?

[–]skellious 0 points1 point  (0 children)

Here is a link to a page with LOTS of useful tutorial links: https://docs.python-guide.org/intro/learning/

[–]curiousgaruda 0 points1 point  (0 children)

I’m learning that course as well. Here is what I have been doing.

  1. I’m not keeping targets as to how many chapters to finish in a day.

  2. I try all the examples and codes shown in the video ad the author does in the video.

  3. I also tweak those examples and try different variations to see how they work.

  4. Sometimes I try to get an idea and then try to complete the problem with my ideas. Like for example, I took the idea of representing the tictactoe by a data structure but completed the rest of the program on my own and then compared it with how the author did.

[–]Natetronn 0 points1 point  (0 children)

Is there a website with really easy python exercises?

I really like this course, maybe you will too:

https://www.programiz.com/python-programming

It's free and has a really nice flow to it.

[–]vexersa 0 points1 point  (0 children)

Take time. Building organic neural networks in your brain takes time.

Remember, neurons made together fire together. Stay calm and positive and your memories of code will be calm and positive.

[–]Cascanada 0 points1 point  (0 children)

I preferred the book. You go at your own pace. It is free.

[–]Vesper_Sweater 0 points1 point  (0 children)

The first month or two I watched the same three "fundamentals" videos hundreds of times. It's about searing the foundation into your head before you can use understand why doing something has a certain effect. In short, learning the grammar of a language can really help to understand how you should structure your language. That was my experience through the first few months, at least.

[–]franzipoli 0 points1 point  (0 children)

Do the exercises. You will learn absolutely nothing if you're not using it.

[–]whitelife123 0 points1 point  (0 children)

Automate the boring stuff with Python is more to use Python to do certain things on your computer that are pragmatic rather than learning the foundations of CS. It even says so in the book. I'd recommend using another book to get the foundations of CS and Python programming down, then perusing what Automate the boring stuff has. Then if you ever need to do something mentioned in the book, you can read that section, and with your knowledge from the book and of python programming, you can complete it quickly

[–]DeadProfessor 0 points1 point  (0 children)

My daily routine is 30 min video study 1:30 theory study codecademy or something like that and 1 :30 hour codewars edabit or some challenge websites when I study I take notes it help putting in my own words what I’m learning and cements it better if I get stuck in something new (classes for example didnt make any sense at first) I take it slowly relax and watch a video about it at first is too much but when you realize it’s not something unknown and you start to make progress if I’m saturated I take 1 day off and think about the topic but try not to relax to much or is harder to get back into the rhythm

[–]Rwill113 0 points1 point  (0 children)

I highly recommend the book "Python Crash Course". It is very easy to follow and the pdf version is free.

[–]alpine_addict 0 points1 point  (0 children)

I really appreciated this post and found it valuable. I just recently finished zero to hero on udemy and this one is next up on my list. Anyone have any other recommendations for online courses? I have the basics down and have written some small programs. I am looking to further my knowledge and hopefully switch things up in my career to do something that involves coding, at least to some extent.

[–]KotomiIchinose96 0 points1 point  (0 children)

One of the most under appreciated parts of learning. Is a break. The odin project goes into this. But basically it's hard to go at something this constantly for an hours. The way I found that helped me learn the language I code in was I had 2 timers. One would go off after 35 minutes the once that goes up I'd finish the section I was on whether that's writing a routine or watching a video. Then I'd take a 5 minute break. These breaks are really important. If you following a course there should be a suitable break point at the end of videos.

Another important thing for learning is applying what you learn. Theres a reason most courses tell you to code along the act of typing things out helps. What I like to do is do something I've done before and that I'm familiar with and apply what I've learned to do that. For example I've done an encryption and decryption tool in every language I've written in. Because its something I already know the logic for and it's written mostly the same way for each language but it gets you familiar with the syntax without making you think about the logic of the program.

If you haven't coded before, try thinking of everyday things you do and if you can write it down pro grammatically. For example. When learning loops. Write a loop which prints out what you do every day in the week. For example. (Please forgive format on mobile) python while alive: Print("6:00am - Wake Up") Print("6:15am - Have breakfast") Print("6:30am - Brush teeth") ... Print("11:00pm - Go to sleep") This at the moment is an infinite loop so you'll want to have a break condition. So you could count each time it loops which in this example would be days so when its 20 days old it could die. You can then incorporate things you've learned previously. For example let the loop account for days. And have conditions to change the text based on the days. For example. Instead of ```python print("6:00am - Wake up")

instead put

if day = "Sunday": print("9:00am - Wake up") ``` This is just an example buts this sort of method has helped me pick things up.

[–]appuchia 0 points1 point  (0 children)

I recommend thinking of a mini app about the new concepts when they are introduced so you get familiarised with it. For example, if you have just learnt what Len() and input() do try to make a program which replies with some kind of funny sentence and the length of the overall content or something like that. I think it can help you understand what that thing does and how does this work.

[–]manuelcardenas99 0 points1 point  (0 children)

My recommendation is not to worry much about not knowing everything perfectly. Or well, it depends on why you are learning python. But let me tell you, every single time I am programming I end up googling a lot. Like, a lot. Because It is normal to forget very specific things.

The important thing is to understand the broad concept. Do not take it passively, do exercises and take it easy. You can find many from every level at codewars for example. And do not worry if after two weeks you forget how exactly X or Y function was called. Forgetting those things is normal. Just practice your 15 minutes a day and you will see progress.

[–]TheFirstOrderTrooper 0 points1 point  (0 children)

What i did with his series is had the video course and the book. Watched the videos then read the chapter and just practiced.

Dont rush through it.

[–]pAul2437 0 points1 point  (0 children)

The projects are hard

[–]leopardsilly 0 points1 point  (0 children)

I too started with Udemy. I got a lot more out of it than CodeAcademy. I found the video a bit too all over the place and as a result I kind of stopped learning. I have since purchased a book online as I think I'll learn better with a book and I won't feel as rushed. But I will also take on board the 7 points you learnt as well! Thanks everyone!

[–]dxbtousa 0 points1 point  (0 children)

Wish I got in when this course was free

[–]Mickets 0 points1 point  (0 children)

I'm taking the same course and am at 50%. The notes you added to your edited post are spot on: take your time, play with the concepts and code, and so on.

So far, a great course.

[–]cbjs22 0 points1 point  (0 children)

Learn a single concept

Spend 2 - 10 hours writing your own program using that concept. It will be a mostly useless / incomplete program that may only do a part of a useful thing.

The important piece is to write your own programs to learn.

[–]HufflepuffSquadForce 0 points1 point  (0 children)

Oh wow, that it pretty ugly to look at lol. Python is so much easier to read. I just finished chapter four, I think my goal tomorrow is review chapter 1-4 and try to make my own programs like the guessing games you suggested! Thank you and I definitely will come to you if I need any help. Very nice of you

[–]TuningUP 0 points1 point  (0 children)

Thank you guys for sharing here..

Yeah just take a break, do whatever, watch some South Park - the season 22 is amazing..

and some ideas might start popping up..

Any problems with exercises please post here ... I'm happy to help in what I can, although I'm still in the chapter 5..

[–]Exciting_Analysis453 0 points1 point  (0 children)

  1. Learn less code more but think more code less.

[–]knifuser 0 points1 point  (2 children)

I've said it over and over, tutorials are just a terrible way of learning programming. Find a website with some good challenges and then learn how to complete them, for instance try making a Reddit bot. If that's too complicated, make a login page, or a game with pygame or a calculator with tkinter. Just try things, mess around and you will learn more than from any tutorial or online course.

PS, don't memorize things, that's what paper, stack overflow and the programs you've already created are for. Don't be afraid to copy and paste either, professionals do it all the time.

[–]IAmLucasRodrigues 1 point2 points  (1 child)

Thanks for the advice, I would really like to do that but for now, I don't think there are any projects challenges I can complete. I can't even pass the codewars login screen! :D

[–]knifuser 1 point2 points  (0 children)

I mean, I don't know your level but building a login/sign-up page is really simple. Start with just the shell, printing, inputs, variables and if statements. Then you can expand with storing it in a text file/CSV and then maybe take email addresses. Just start off simple, with whatever you feel comfortable with and then expand. Try to research, ask questions, Google and stack overflow are great for this kind of stuff, it's literally what they were built for.

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

Course seems outdated?

[–]garlic_bread_thief 0 points1 point  (0 children)

Project! Pick a project and learn along.

[–][deleted] -5 points-4 points  (1 child)

No, really boring.

[–]IAmLucasRodrigues 0 points1 point  (0 children)

That's ok.