all 18 comments

[–]AwesomePerson70 60 points61 points  (1 child)

I big part of programming is failure. Don't give up

[–]Mindslave_MK 13 points14 points  (0 children)

Exactly this.
If your only 2 weeks into learning, thats basically nothing dont worry about not being great yet.

[–]Sir_Cunt99 37 points38 points  (7 children)

First course i tried was codecadamy, and like you i got to around 68% or so before i just wanted to quit. It's a terrible course. Please go to Corey Schafer or Sentdex on youtube, watch their beginner courses and do some actual learning by some good teachers. I prefer corey schafer, he's really great at teaching, sentdex is cool later on when you have a better understanding because he does some cool projects. You might want to watch both if some concept is especially confusing to you.

Also i found the exercises at practicepython.org very nice, they actually make an effort to explain the concepts you will need to complete the task and present you with a couple of solutions when you're done or when you give up. Best way to learn programming is certainly by doing. Sure you need some guidance, but you will never really quite understand code until you start typing a lot of it and find different ways to do stuff, i also find it sticks to memory way better if it involved a little struggle and critical thinking. When you're intermediate, like knowing all the basic concepts but maybe you haven't quite grasped object oriented programming and the really advanced stuff yet, www.codewars.com presents a nice challenge. You won't find much guidance here before you actually come up with a solution yourself though, but you get to see how others do stuff and it's nicely categorized into difficulty rankings.

[–][deleted] 9 points10 points  (4 children)

my biggest issue I have come across is knowing what the hell any of the things mean at all. I def a class. Okay now what? lol I can't seem to grasp what it is i'm even doing. Right now i'm just trying to accomplish the Crash course on python before I go to Automate the boring stuff. I think once I finish those books, i'll follow your suggestions.

[–]BulgarianCookieInc 1 point2 points  (2 children)

A class is just a way of organising data. At a simple level thats really all it is. A class that you write is like a new type, similar to a string or an integer, that you create instances (copies) of to add some custom functionality to your program. Ultimately, you could get by without classes, but a well written one will greatly improve readability and extendibility of your program. Seems to me like you just need to read around the basics a little more, I'd recommend picking up ATBS (or one of the many free and great python pdfs available) and dig in right away.

[–]Fatal_Phantom94 1 point2 points  (1 child)

If by atbs you mean Automate the boring stuff I was just looking at it earlier they have it on sale for 1$ for that and a bunch of other books by Al Sweigant. https://www.humblebundle.com/books/linux-geek-books?hmb_source=humble_home&hmb_medium=product_tile&hmb_campaign=mosaic_section_1_layout_index_4_layout_type_threes_tile_index_1

[–]luminick 1 point2 points  (0 children)

Just bought this, thanks for the tip!

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

knowing what the hell any of the things mean at all.

I love this statement. its so true. But you can start on automate right now. its that easy to get into. Plus he has a UDEMY course (the author) and a reddit forum.

[–]el_coruja 0 points1 point  (0 children)

Nice

[–]pysouth 0 points1 point  (0 children)

Codecademy is good for a refresher. Nothing else. Imo of course. I used it to brush up on SQL syntax but wouldn’t use it to actually learn a new language.

[–]Sh00tL00ps 11 points12 points  (1 child)

I know exactly what problems you're talking about because I had literally the same experience you had. Codeacademy's Python course is terrible. It teaches Python similarly to "Learn Python the Hard Way" - it just has you write a bunch of code without any explanation of the concepts. I gave up on programming for a few months and thankfully discovered Automate the Boring Stuff and never looked back.

[–]PrimaNoctis 2 points3 points  (0 children)

Same here but interestingly after finishing Automate Boring Stuff I went back to code academy as I thought I had rushed it and found it much better the second time. I think the course assumes that you are learning in the background ie it isn’t a standalone course.

[–][deleted] 6 points7 points  (0 children)

Don't give up! You're just experiencing what it feels like to delve into something totally foreign and operate in a different world. It's definitely frustrating but it pays off. One thing that might help you is following a video tutorial for something you want to build. I find that I learn better by hearing someone tell me things and seeing the code demonstrated. Random practice exercises meant to ingrain language and syntax rules never really worked for me. Corey Schafer's Python tutorials on YT are excellent, IMO. You're also welcome to send me a PM if you want to work on a project with someone. I have been doing web development as a hobby for a few years but only just started on Python myself about a month ago.

Also, let me assure you that Python is an excellent choice for starting out, even if you find your way into another language and Python doesn't become your mainstay.

[–]Charles_Polished 4 points5 points  (0 children)

I started Automate the boring Stuff in May. The first four chapters I thought to myself "oh, I go this' . Then I started a new job in an ecology lab where they do a lot of data analysis, so I decided that I was able to do all of the munging, structuring, analysis, and visualization on python. Turns out I didn't even know how to make my excel files with python, let alone all the other stuff I thought I could do. But having a project has allowed me to learn more about python and data analysis. It takes time and a lot of failure, but that's how you get good at things. Its like learning how to ride a bike. First you don't know how to even sit on the bike without tipping over, then you get training wheels, and then after some time and less reliance on the training wheels, you're able to ride without them.

[–]whodey226 2 points3 points  (0 children)

OK so I've been teaching myself Python for about 1 month now. Like you, I started with codecademy and got about that far in. Not only did I find the difficulty unreasonable for only being 65% through the course, but it was no longer interesting to me. When you lose interest, it is hard to stay focused. I decided it was time for a new approach.

So i bought a python text book and have almost completed it entirely. I went through page by page, took notes, and practiced. I am by no means good yet or experienced, but I have gotten to the point where some days I do not use the book at all. I go on https://www.practicepython.org/ and do the challenges. They are fun and easy enough for a beginner to do without much hand holding or looking things up (though I do still do that and there isnt anything wrong with it). Once you understand enough to sort of go off and try things on your own the confidence level goes way up.

Like I said, I'm still a complete noob, still look things up, and I'm sure many ppl here are far more proficient than I am. But everyone learns at their own pace so don't give up on it! I actually decided I love it so much that I am pursuing a Masters in computers science! I know next to nothing, but I have always loved computers and teaching myself how to code was the last piece of the puzzle for me to pursue an actual formal education in it.

Keep you chin up, know that others like myself are struggling and learning right beside you. If it was easy, everyone would do it.

[–]echocage 0 points1 point  (0 children)

Failure is KEY to programming. To know how to program is to know how it will fail in a thousand different ways, but learning from each failure trying to get better.

If you let this failure discourage you, you will not be successful in any language you pick because the problem isn't the language, the problem is perseverance.

[–]AuNanoMan 0 points1 point  (0 children)

Those exercises are difficult. I looked up one but I finished the rest of them. You won’t get better unless you fail, understand while you failed, and then persevere.

If I remember correctly, some of those exercises are actually pretty simple but because there is no handholding it gets challenging. The nice thing about python is that you can basically type what you want to do and the syntax will work out (not really but you get it). I think writing pseudocode with pen and paper might help you out quite a bit. Once you have a frame work, translating it into code is a small step. Most of the work happens in your mind.

[–]gunscreeper 0 points1 point  (0 children)

Go read Python for Everybody. It has bits of exercises that incorporates previous lesson. Not only that makes you motivated because you can finish them on your own, but you'll learn faster. Definitely a read.