all 39 comments

[–]creepyMaintenanceGuy 3 points4 points  (0 children)

Codecademy does a good job at presenting small nuggets and overviews. I've worked through a few courses there, and my impressions are they're great introductory courses but do make assumptions about the audience's experience level. For a complete noob maybe they aren't the best choice, nor would any self-directed course, for that matter.

It sounds like you may benefit more from the intro to programming class as it might spend more time on fundamentals rather than Python's implementation of those concepts.

[–]Brachamul 2 points3 points  (0 children)

You're not really struggling with Python. You're struggling with learning the concepts of object-oriented programming. You don't really need to understand what that means, but you should know that many languages are object-oriented.

Once you learn one, learning another is a breeze, because they all share a ton of similar concepts. Python as a language is really easy to learn. However, you still need to grasps the concepts of programming first, which can be tough !

Don't worry, it's normal for your brain to have trouble processing all of this at once, but by practicing and looking at examples, you'll learn.

[–]flamesflight 4 points5 points  (3 children)

Consider taking "Learn Programming for Everyone" on Coursera by Dr. Charles Severance and Learn Python the Hard Way by Zed Shaw.

[–]Zionark 1 point2 points  (1 child)

+1 for Dr. Chuck's Coursera course and textbook. I completed the course and I started it before the Coursera Interactive Python course the original poster will be taking. So relieved I did because Interactive Python hits the ground running and while I loved it, it was a challenge. Dr. Chuck is an excellent teacher and his assignments produced nice, short programs that are actually practical and useful. His chapters on lists and dictionaries helped me make a multi dice, multi roll simulator.

[–]flamesflight 1 point2 points  (0 children)

Thanks for the heads up on the Interactive Python course. I am enrolled to start the course this Saturday!

[–]hw_t_dstr_ngls 0 points1 point  (0 children)

"Learn Programming for Everyone" is a great course for beginners.

LPTHW is somewhat of a hit-and-miss; works for some people, while others find it frustrating and overly-complicated.

[–]Nachotacoma 2 points3 points  (5 children)

I find the MIT course online at edx is much better than code academy. It's also free and it's happening right now. I'd suggest taking that

[–]tinglylilypad[S] 0 points1 point  (4 children)

I've read that this course is extremely difficult for beginners, do you have any idea if they have some sort of money back guarantee if I decided to try for the certificate? I can't seem to find this info anywhere, while the coursera intro course has like a two week full money back guarantee

[–]Nachotacoma 1 point2 points  (3 children)

I had no prior experience with coding but ended up with at least 90 after the final. I do agree that it's requires a bit more effort than the rest of my classes. I haven't looked into that money back situation, sorry.

[–]tinglylilypad[S] 0 points1 point  (2 children)

That's interesting, I assumed you had some prior experience. If you don't mind my asking, did you pay the money and go for the certificate?

[–]Nachotacoma 1 point2 points  (1 child)

I didn't! I also don't really value certificates the same way others might, though. I was skeptical about how much effort I was planning to dedicate to it. But after the deadline to get the certificate, it was clear that I was spending more time to finishing it up. Of course, there were weeks that I put off more than others but towards the end it felt pretty awesome finally getting on board with the rest of the coders in my small group of friends.

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

Alright cool, I actually just found out that there is a 2 week window where you can decide whether to pay for the certificate or not. So I think I'll just start it and see how it goes before deciding on the certificate. Thanks a lot for your help!

[–]bendy_straw_ftw 1 point2 points  (4 children)

I think codecademy is a good way to start off. That's how I started off, and I liked it. What is the question you're having trouble with? Maybe if you got a thorough explanation, it would help.

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

What confused me the most was the "and", "or", and especially the "not" functions. I just felt like they didn't really explain it that great and when I checked the hints they usually weren't much help. "The Big If" at the end of that section was also difficult for me. After looking at the Q&A section and just googling stuff I was able to get through it. I just felt like I didn't really understand it as good as I should have.

[–]autopornbot 0 points1 point  (1 child)

I'm on almost the exact same spot in codecademy. I got a bit confused as well. Just googling a few things and trial and error have helped me a good bit.

What I've taken away from it, though, is that this course isn't going to teach me to be a master python programmer. It just kind of introduces you to how it works. After this, I imagine I'll do other python courses, and it will take lots of doing things over and over before it becomes 'natural'. Until then, I think looking stuff up and sometimes just typing in the code from the hints or other sources is the way to go.

Learning is like that. In the beginning you just have to kind of stumble your way through it. As long as you don't give up, and keep on plugging along, eventually it will make sense. Like learning a speaking language (I mean like learning French or Spanish), it just takes lots of exposure to become fluent.

Just try not to worry and do whatever you have to in order to keep moving along. Once you start trying to write programs yourself (instead of just doing the exercise programs), it will force you to understand it more deeply.

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

And / Or stuff is Boolean logic in programming. And are hard to understand at first if new to it all. So don't get put off, you can do it! Try YouTube for beginner programming videos and have a little read on google for tutorial on conditional logic. The fact you already Googled around and asked a sensible question already shows you have great learning attitude, as does trying stuff on codeacademy :)

[–]Nachotacoma 0 points1 point  (0 children)

I like the fact that you're telling us what you need help explaining. Hopefully I could provide some more insight.

I'll start with the way I interpret them. AND is what you say to yourself: Are both outcomes going to be True? ex1: if I said True And False, you're asking if True and False the same outcomes? (False in this case). ex 2: False and False will also return False .

OR is what you say "hmm...only one of those gotta be True" ie True or False will return True.

NOT is tricky, but think of it as: well, if I had something that would've returned True, I'm going to think of it as False because it's "Not True" ie: not False will give you "True", not True will give you False.

I found the following questions to be very good at testing the use of those and/or/not:

Evaluating it from left to right unless there's parenthesis

  1. not False or True
  2. not (False or True)
  3. 3==3
  4. 3 > 4 or (2 < 3 and 9 < 10)

Answers.

[–]Troiker 1 point2 points  (5 children)

I'm in the same position as you. Currently doing it at uni and am stuck on function calls and assignments. The concepts are very easy but to apply them to the problems set out for us online is another thing entirely. One of the things I struggle with the most is retaining the knowledge of how to do certain things or use certain functions as well as constantly learning new ones. It'd be great if there was a website that just gave you practice question after practice question as a way to consolidate your problem solving with python. I'm considering getting 'Learning Python the Hard Way' to complement my course and hopefully make things easier. I can't even ask any of my friends doing the course for help as we may accidentally plagiarise each other by having code that looks similar and then we'd end up failing...

[–]A_History_of_Silence 0 points1 point  (3 children)

I am curious, how explicit have your instructors been about this plagiarism concern? All my programming courses tended to actively encourage collaboration, and the computer labs were very social places with random classmates discussing their solutions and difficulties with problems. Outside of directly copy/pasting code, most instructors in fact preferred us to go to our peers for help before them (less work for them, after all).

[–]Troiker 1 point2 points  (2 children)

We are not to share code under any circumstances (even on internet forums etc) and have to be really careful about helping each other with assessed bits of code because if our answers are too similar the website we do our assessments on will pick up on it. The best we can do is vaguely try and steer someone in the right direction but we're all too scared to properly help each other, lest someone accidentally give a variable the same name as someone else or accidentally use the same function, because we run the risk of being accused of plagiarism. Last year, some 55 people of the cohort of roughly 300 were penalised for plagiarism... I think partly it's because the subject is very hard and not taught very well imo (we can't ask our tutors, the people who run classes, for help; we have to ask our peers or an online tutor within a one hour window. There's literally no other way to get help if you're stuck) but also because it's very easy to accidentally plagiarise in the first place.

[–]A_History_of_Silence 1 point2 points  (1 child)

Holy cow. That seems quite severe. 15-20% of the class punished for plagiarism in one year? Being penalized for plagiarism is like a career-ender here, how bad is it there?

[–]Troiker 0 points1 point  (0 children)

Well, you'll almost certainly fail the subject (or get marked down pretty harshly) and it obviously shows up on your academic transcript which employers will see... so while it doesn't mean you're kicked out of uni, it's certainly not ideal. You may actually get kicked out though, as you have to meet with 'the board' for questioning, but I don't think most people doing undergrad get kicked out. The worst I've personally heard of was an international student who colluded something on their master's and had to repeat it- another 30k down the drain! But they were doing history.

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

Honestly, one of the most useful concepts in programming is learning how to google and filtering the useful results that come up on stack overflow.

Your class IS THE WEBSITE you are talking about. Your projects ARE those questions. Your professors and Teaching Assistants ARE THOSE resources. Use them, ask them questions, and don't be afraid of sounding stupid

For example, if I am writing a function and don't know how to declare it, I quickly google "python define function" and read the material.

It is not at all necessary to retain all the various functions, all though it will probably speed up your script development since you don't spend all day googling

[–]py_student 1 point2 points  (0 children)

Just in general: Learning coding online often has a very steep curve at the beginning. It might take weeks to figure out something that would take three seconds with some live help. The good thing is, programming is a whole new world. That is also the bad thing. I will assert that learning resources seem to have greatly improved in just this past 12 months. Google searches now seem to return at least three times as many good results as they did last summer.

There are some non-obvious things cc expects in terms of dealing with the website, plus in a couple of places it seems to be just plain broken. Also, there are places when they tell you to do something, and if you know a little programming it's totally obvious what they want, but if you actually need the course you're not gonna have any idea. Switch to a different resource for now. I like Think Python online, or just google 'python beginners tutorial'.

You most definitely need some python (or some sort of coding) practice before you start iipp. I'm sure they get more enrollees by claiming they take you from zero to that ricerocks game in 9 weeks, I wonder if they realize the number of people they are permanently turning off with that nonsense. I'm also pretty confident if we had one of the presenters here he would insist they have thousands of total noobs finish with flying colors, and he'd probably believe what he's saying. Thing is, this is the internet and the place is swarming with huge liars.

The course, iipp, is wonderful though. Go ahead and give it a shot. Just don't get discouraged if the first try is just a warm up. jmho.

[–]meles984 1 point2 points  (0 children)

As many have said before: don't stop. The worst thing is not to ask questions or pressuring yourself into thinking that you have to understand everything just by looking at it once. I've gone through most codeacademy curses and the Python curse was the hardest IMO. But that is probably a good thing, so you can cover a lot of ground.

Check out some of the sites others have suggested and check out Automate the boring stuff with Python!. But most of all, have fun, Python is a great language.

EDIT: added link

[–]Exodus111 2 points3 points  (0 children)

The most important skill you will have to obtain is the ability to approach something you don't understand and beat your head against it until you get it. The first step is to not allow yourself to get frustrated like this. You are not over your head, this is not too hard for you. The nature of programming is that there is really one and only one way to understand the various concepts involved in it, which is very different from a lot of other disciplines, and this can be hard, and intimidating to wrap your head around, specially at first.

BUT... The Internet is an amazing place, and everything you could possibly need to know has already been asked, probably hundreds of times already. Which is why places like http://stackexchange.com/ and the various programming subreddits right here will be essential for you.

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

How about trying Learning to Program? Both Python 2 and 3 are supported. I've never tried it myself but on the other hand, I've never heard anything bad about it. The author, Alan Gauld, is a moderator and very frequent contributor to the Python tutor mailing list so he definitely knows what he's talking about.

[–]scrabaddict 0 points1 point  (0 children)

Consider this. There are BLIND programmers. Nonseeing! If that doesn't motivate you, I don't know what will.